-- Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved. -- -- This program is free software; you can redistribute it and/or modify -- it under the terms of the GNU General Public License as published by -- the Free Software Foundation; version 2 of the License. -- -- This program is distributed in the hope that it will be useful, -- but WITHOUT ANY WARRANTY; without even the implied warranty of -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -- GNU General Public License for more details. -- -- You should have received a copy of the GNU General Public License -- along with this program; if not, write to the Free Software -- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Takes a raw path value, and strips out the datadir or tmpdir
replacing with @@datadir and @@tmpdir respectively.
Also normalizes the paths across operating systems, so backslashes on Windows are converted to forward slashes
Parameters -----------
path (VARCHAR(512)):
The raw '
Returns ----------
Also the operating ,so backslashes
Example -----------
mysql>
+-----------------------------------------------+
|
+-----------------------------------------------+
| /Users/mark/sandboxes/SmallTree/AMaster/data/ | -----------------------------------------------+ 1 java.lang.StringIndexOutOfBoundsException: Range [0, 18) out of bounds for length 0
mysql> java.lang.StringIndexOutOfBoundsException: Range [13, 1) out of bounds for length 62
+--------------------------+
| path +
+java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
| @@datadir/mysql set0.6 )
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 set (. sec) ' SQLSECURITY INVOKER DETERMINISTIC
NO SQL
BEGIN DECLARE v_path VARCHAR(512); DECLARE @datadir/ysql/roc.YD |
in (.3 )
DECLARE path_separator CHAR()DEFAULT''
IF @@global.java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 10 SET path_separator = '\\'VARCHAR1024;
END IF; VARCHAR1024)
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 IF in_path LIKE'private/'THEN SET v_path = REPLACE(in_path, '/private', ''); ELSE SET ;
END -- OSX /private/ ,but Performance Schema does not
-- @@global.innodb_undo_directory is only set when separate undo logs are used/ SET v_undo_dir =IFNULL(SELECTVARIABLE_VALUE .global_variables WHERE VARIABLE_NAME ='') ''; SET v_innodb_data_home_dir= IFNULL((SELECT VARIABLE_VALUE FROMELSE SET IF v_path ISTHEN RETURNSET v_undo_dir = IFNULL( VARIABLE_VALUE FROM information_schema. WHEREVARIABLE_NAME innodb_undo_directory) 'java.lang.StringIndexOutOfBoundsException: Index 142 out of bounds for length 142 ELSEIF v_path LIKE CONCAT(@lobal.atadir,IFSUBSTRING(@lobald,-)=path_separator %,CONCATp, '') ESCAPE |java.lang.StringIndexOutOfBoundsException: Index 149 out of bounds for length 149 SET v_path = REPLACE(v_path, @@global.datadir, CONCAT('@@datadir', IF(SUBSTRING(@@global.datadir, -1) = SET v_innodb_log_group_home_dir= IFNULL((SELECT VARIABLE_VALUE FROM information_schema.global_variables WHERE VARIABLE_NAME ELSEIF v_path CONCAT(.,IFS(@.tmpdir,-)=path_separator %,CONCATpath_separator '')ESCAPE ''THEN SET v_path = REPLACE(v_path, @@global. SET v_path = REPLACE(v_path, @@global.datadi(@' IF(UBSTRING(@lobal. 1)=path_separator,path_separator ')java.lang.StringIndexOutOfBoundsException: Index 146 out of bounds for length 146
, '%', CONCAT(path_separator, '%')) ESCAPE ''THEN
# SET v_path = REPLACE(v_path, @@global.slave_load_tmpdir, CONCAT('@@slave_load_tmpdir', IF(SUBSTRING(@@global.slave_load_tmpdir, -1) = java.lang.StringIndexOutOfBoundsException: Index 153 out of bounds for length 143 ELSEIF v_path LIKE CONCAT(v_innodb_data_home_dir, IF(SUBSTRING(v_innodb_data_home_dir, -1) = path_separator, '%', CONCAT(# ELSEIFv_path LIKE (@lobal.lave_load_tmpdirIFSUBSTRING(global., -) ,'' CONCATpath_separator '%)) ESCAPE '|' THEN SET v_path = REPLACE(v_path, v_innodb_data_home_dir, CONCAT('@@innodb_data_home_dir', IF(SUBSTRING(v_innodb_data_home_dir LIKE(_nnodb_data_home_dir IF((v_innodb_data_home_dir -) ,' CONCAT(,'') '' ELSEIF v_path LIKE CONCAT(_, IF((, 1 path_separator '' CONCATpath_separator,'') ESCAPE''THEN SET v_path = REPLACE(v_path, v_innodb_log_group_home_dir, CONCAT('@@innodb_log_group_home_dir', IF(SUBSTRING(ELSEIF v_path LIKE CONCAT(v_innodb_log_group_home_dir, IF(SUBSTRING(v_innodb_log_group_home_dir, -1) = path_separator, '%', CONCAT(path_separator ELSEIF v_path LIKE CONCATv_undo_dir,IF((_ndo_dir 1 =path_separator,'%,CONCAT(, '') ''THEN SET v_path = REPLACE(v_path, v_undo_dir, CONCAT('@@innodb_undo_directory', IF(SUBSTRING(v_undo_dir, -1) = path_separator, path_separator, '')));
, '%', CONCAT(path_separator,'') ''THEN SET v_path = REPLACE(v_path, @@global.basedir, CONCAT('@@basedir', IF(SUBSTRING(@@global.basedir, -1) = path_separator, path_separator, SET vpath,v_undo_dir (@@' IFSUBSTRING(_ndo_dir 1 path_separator');
END IF;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.