403Webshell
Server IP : 172.67.216.182  /  Your IP : 162.158.189.218
Web Server : Apache
System : Linux krdc-ubuntu-s-2vcpu-4gb-amd-blr1-01.localdomain 5.15.0-142-generic #152-Ubuntu SMP Mon May 19 10:54:31 UTC 2025 x86_64
User : www ( 1000)
PHP Version : 7.4.33
Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /www/server/mysql/src/mysql-test/suite/innodb_fts/r/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /www/server/mysql/src/mysql-test/suite/innodb_fts/r/compatibility_win.result
# Bug #18285007	COPY OF TABLES WITH INNODB FTS
#	FROM WINDOWS TO LINUX CAUSES CRASH
# Simulating old non-windows(< 5.6.16) data directory
SET GLOBAL DEBUG='+d,innodb_test_wrong_fts_aux_table_name';
SET GLOBAL DEBUG='+d,innodb_test_wrong_non_windows_fts_aux_table_name';
CREATE TABLE t1(a TEXT, b TEXT, FULLTEXT(a, b))engine=innodb;
INSERT INTO t1 VALUES('TEST1', 'TEST2');
INSERT INTO t1 VALUES('TEXT1', 'TEXT2');
SELECT * FROM t1 WHERE MATCH(a, b) AGAINST ('TEST2');
a	b
TEST1	TEST2
SELECT SUBSTRING(name, LOCATE('_', name) - 3, 5) AS prefix, name
FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES
WHERE name LIKE '%FTS_%' ORDER BY 1, 2;
prefix	name
FTS_0	test/FTS_AUX_INDEX_1
FTS_0	test/FTS_AUX_INDEX_2
FTS_0	test/FTS_AUX_INDEX_3
FTS_0	test/FTS_AUX_INDEX_4
FTS_0	test/FTS_AUX_INDEX_5
FTS_0	test/FTS_AUX_INDEX_6
FTS_0	test/FTS_AUX_BEING_DELETED
FTS_0	test/FTS_AUX_BEING_DELETED_CACHE
FTS_0	test/FTS_AUX_CONFIG
FTS_0	test/FTS_AUX_DELETED
FTS_0	test/FTS_AUX_DELETED_CACHE
# restart
SELECT * FROM t1 WHERE MATCH(a, b) AGAINST ('TEST2');
a	b
TEST1	TEST2
SELECT SUBSTRING(name, LOCATE('_', name) - 3, 5) AS prefix, name
FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES
WHERE name LIKE '%FTS_%' ORDER BY 1, 2;
prefix	name
FTS_0	test/FTS_AUX_INDEX_1
FTS_0	test/FTS_AUX_INDEX_2
FTS_0	test/FTS_AUX_INDEX_3
FTS_0	test/FTS_AUX_INDEX_4
FTS_0	test/FTS_AUX_INDEX_5
FTS_0	test/FTS_AUX_INDEX_6
FTS_0	test/FTS_AUX_BEING_DELETED
FTS_0	test/FTS_AUX_BEING_DELETED_CACHE
FTS_0	test/FTS_AUX_CONFIG
FTS_0	test/FTS_AUX_DELETED
FTS_0	test/FTS_AUX_DELETED_CACHE
DROP TABLE t1;
# Simulating old windows (< 5.6.16) data directory
SET GLOBAL DEBUG='+d,innodb_test_wrong_fts_aux_table_name';
CREATE TABLE t1(a TEXT, b TEXT, FULLTEXT(a, b))engine=innodb;
INSERT INTO t1 VALUES('TEST1', 'TEST2');
INSERT INTO t1 VALUES('TEXT1', 'TEXT2');
SELECT * FROM t1 WHERE MATCH(a, b) AGAINST ('TEST2');
a	b
TEST1	TEST2
SELECT SUBSTRING(name, LOCATE('_', name) - 3, 5) AS prefix, name
FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES
WHERE name LIKE '%FTS_%' ORDER BY 1, 2;
prefix	name
FTS_0	test/FTS_AUX_INDEX_1
FTS_0	test/FTS_AUX_INDEX_2
FTS_0	test/FTS_AUX_INDEX_3
FTS_0	test/FTS_AUX_INDEX_4
FTS_0	test/FTS_AUX_INDEX_5
FTS_0	test/FTS_AUX_INDEX_6
FTS_0	test/FTS_AUX_BEING_DELETED
FTS_0	test/FTS_AUX_BEING_DELETED_CACHE
FTS_0	test/FTS_AUX_CONFIG
FTS_0	test/FTS_AUX_DELETED
FTS_0	test/FTS_AUX_DELETED_CACHE
# restart
SELECT * FROM t1 WHERE MATCH(a, b) AGAINST ('TEST2');
a	b
TEST1	TEST2
SELECT SUBSTRING(name, LOCATE('_', name) - 3, 5) AS prefix, name
FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES
WHERE name LIKE '%FTS_%' ORDER BY 1, 2;
prefix	name
FTS_0	test/FTS_AUX_INDEX_1
FTS_0	test/FTS_AUX_INDEX_2
FTS_0	test/FTS_AUX_INDEX_3
FTS_0	test/FTS_AUX_INDEX_4
FTS_0	test/FTS_AUX_INDEX_5
FTS_0	test/FTS_AUX_INDEX_6
FTS_0	test/FTS_AUX_BEING_DELETED
FTS_0	test/FTS_AUX_BEING_DELETED_CACHE
FTS_0	test/FTS_AUX_CONFIG
FTS_0	test/FTS_AUX_DELETED
FTS_0	test/FTS_AUX_DELETED_CACHE
DROP TABLE t1;
# Simulation current windows data directory
CREATE TABLE t1(a TEXT, b TEXT, FULLTEXT(a, b))engine=innodb;
INSERT INTO t1 VALUES('TEST1', 'TEST2');
INSERT INTO t1 VALUES('TEXT1', 'TEXT2');
SELECT * FROM t1 WHERE MATCH(a, b) AGAINST ('TEST2');
a	b
TEST1	TEST2
SELECT SUBSTRING(name, LOCATE('_', name) - 3, 5) AS prefix, name
FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES
WHERE name LIKE '%FTS_%' ORDER BY 1, 2;
prefix	name
FTS_0	test/FTS_AUX_INDEX_1
FTS_0	test/FTS_AUX_INDEX_2
FTS_0	test/FTS_AUX_INDEX_3
FTS_0	test/FTS_AUX_INDEX_4
FTS_0	test/FTS_AUX_INDEX_5
FTS_0	test/FTS_AUX_INDEX_6
FTS_0	test/FTS_AUX_BEING_DELETED
FTS_0	test/FTS_AUX_BEING_DELETED_CACHE
FTS_0	test/FTS_AUX_CONFIG
FTS_0	test/FTS_AUX_DELETED
FTS_0	test/FTS_AUX_DELETED_CACHE
# restart
SELECT * FROM t1 WHERE MATCH(a, b) AGAINST ('TEST2');
a	b
TEST1	TEST2
SELECT SUBSTRING(name, LOCATE('_', name) - 3, 5) AS prefix, name
FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES
WHERE name LIKE '%FTS_%' ORDER BY 1, 2;
prefix	name
FTS_0	test/FTS_AUX_INDEX_1
FTS_0	test/FTS_AUX_INDEX_2
FTS_0	test/FTS_AUX_INDEX_3
FTS_0	test/FTS_AUX_INDEX_4
FTS_0	test/FTS_AUX_INDEX_5
FTS_0	test/FTS_AUX_INDEX_6
FTS_0	test/FTS_AUX_BEING_DELETED
FTS_0	test/FTS_AUX_BEING_DELETED_CACHE
FTS_0	test/FTS_AUX_CONFIG
FTS_0	test/FTS_AUX_DELETED
FTS_0	test/FTS_AUX_DELETED_CACHE
DROP TABLE t1;
# Non windows aux table flag failure and rebuild the corrupted index.
call mtr.add_suppression("\\[Warning\\] InnoDB: Parent table of FTS auxiliary table .* not found.");
call mtr.add_suppression("\\[Warning\\] InnoDB: Setting aux table .* to hex format failed.");
call mtr.add_suppression("\\[ERROR\\] InnoDB: Index .* of table .* is corrupted");
SET GLOBAL DEBUG='+d,innodb_test_wrong_fts_aux_table_name';
SET GLOBAL DEBUG='+d,innodb_test_wrong_non_windows_fts_aux_table_name';
CREATE TABLE t1(a TEXT, b TEXT, c TEXT, FULLTEXT `AB` (a, b), FULLTEXT `C1`(c));
INSERT INTO t1 VALUES('TEST1', 'TEST2', 'TEXT3');
INSERT INTO t1 VALUES('TEXT1', 'TEXT2', 'TEXT5');
SELECT * FROM t1 WHERE MATCH(a, b) AGAINST ('TEST2');
a	b	c
TEST1	TEST2	TEXT3
SELECT * FROM t1 WHERE MATCH(c) AGAINST ('TEXT5');
a	b	c
TEXT1	TEXT2	TEXT5
# restart: --debug=d,aux_table_flag_fail
SELECT * FROM t1 WHERE MATCH(a, b) AGAINST ('TEST2');
ERROR HY000: The table does not have FULLTEXT index to support this query
SELECT * FROM t1 WHERE MATCH(c) AGAINST ('TEXT5');
ERROR HY000: The table does not have FULLTEXT index to support this query
CHECK TABLE t1;
Table	Op	Msg_type	Msg_text
test.t1	check	Warning	InnoDB: Index AB is marked as corrupted
test.t1	check	Warning	InnoDB: Index C1 is marked as corrupted
test.t1	check	error	Corrupt
ALTER TABLE t1 ADD FULLTEXT(b);
ERROR HY000: Index corrupt: Fulltext index 'AB' is corrupt. you should drop this index first.
# restart
SELECT * FROM t1 WHERE MATCH(a, b) AGAINST ('TEST2');
ERROR HY000: The table does not have FULLTEXT index to support this query
SELECT * FROM t1 WHERE MATCH(c) AGAINST ('TEXT5');
ERROR HY000: The table does not have FULLTEXT index to support this query
# Drop the corrupted index.
ALTER TABLE t1 DROP INDEX `AB`;
ALTER TABLE t1 DROP INDEX `C1`;
# Rebuild the index.
ALTER TABLE t1 ADD FULLTEXT(a, b);
ALTER TABLE t1 ADD FULLTEXT(c);
# Read the record using fts index.
SELECT * FROM t1 WHERE MATCH(a, b) AGAINST ('TEST2');
a	b	c
TEST1	TEST2	TEXT3
SELECT * FROM t1 WHERE MATCH(c) AGAINST ('TEXT5');
a	b	c
TEXT1	TEXT2	TEXT5
DROP TABLE t1;
# Non windows parent table flag failure.
SET GLOBAL DEBUG='+d,innodb_test_wrong_fts_aux_table_name';
SET GLOBAL DEBUG='+d,innodb_test_wrong_non_windows_fts_aux_table_name';
CREATE TABLE t1(a TEXT, b TEXT, c TEXT, FULLTEXT(a, b), FULLTEXT(c));
INSERT INTO t1 VALUES('TEST1', 'TEST2', 'TEXT3');
INSERT INTO t1 VALUES('TEXT1', 'TEXT2', 'TEXT5');
SELECT * FROM t1 WHERE MATCH(a, b) AGAINST ('TEST2');
a	b	c
TEST1	TEST2	TEXT3
SELECT * FROM t1 WHERE MATCH(c) AGAINST ('TEXT5');
a	b	c
TEXT1	TEXT2	TEXT5
# restart
SELECT * FROM t1 WHERE MATCH(a, b) AGAINST ('TEST2');
a	b	c
TEST1	TEST2	TEXT3
SELECT * FROM t1 WHERE MATCH(c) AGAINST ('TEXT5');
a	b	c
TEXT1	TEXT2	TEXT5
DROP TABLE t1;
# Drop FTS table and rename the common tables.
# restart
SET GLOBAL DEBUG='+d,innodb_test_wrong_fts_aux_table_name';
CREATE TABLE t1(a TEXT, b TEXT, c TEXT, FULLTEXT f1(a, b));
INSERT INTO t1 VALUES('TEST1', 'TEST2', 'TEXT3');
INSERT INTO t1 VALUES('TEXT1', 'TEXT2', 'TEXT5');
SELECT * FROM t1 WHERE MATCH(a, b) AGAINST ('TEST2');
a	b	c
TEST1	TEST2	TEXT3
alter table t1 drop index f1;
SET SESSION debug='-d,innodb_test_wrong_fts_sys_table_name';
SELECT SUBSTRING(name, LOCATE('_', name) - 3, 5) AS prefix, name
FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES
WHERE name LIKE '%FTS_%' ORDER BY 1, 2;
prefix	name
FTS_0	test/FTS_AUX_BEING_DELETED
FTS_0	test/FTS_AUX_BEING_DELETED_CACHE
FTS_0	test/FTS_AUX_CONFIG
FTS_0	test/FTS_AUX_DELETED
FTS_0	test/FTS_AUX_DELETED_CACHE
# restart
SELECT SUBSTRING(name, LOCATE('_', name) - 3, 5) AS prefix, name
FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES
WHERE name LIKE '%FTS_%' ORDER BY 1, 2;
prefix	name
FTS_0	test/FTS_AUX_BEING_DELETED
FTS_0	test/FTS_AUX_BEING_DELETED_CACHE
FTS_0	test/FTS_AUX_CONFIG
FTS_0	test/FTS_AUX_DELETED
FTS_0	test/FTS_AUX_DELETED_CACHE
SELECT * FROM t1;
a	b	c
TEST1	TEST2	TEXT3
TEXT1	TEXT2	TEXT5
DROP TABLE t1;
# Rename failure for old windows data directory and rebuild the
# corrupted index
call mtr.add_suppression("\\[Warning\\] InnoDB: Failed to rename one aux table .* Will revert all successful rename operations.");
call mtr.add_suppression("\\[Warning\\] InnoDB: Rollback operations on all aux tables of table .* All the fts index associated with the table are marked as corrupted. Please rebuild the index again.");
call mtr.add_suppression("\\[ERROR\\] InnoDB: Flagged corruption of .* in table .* in DROP ORPHANED TABLE");
SET GLOBAL DEBUG='+d,innodb_test_wrong_fts_aux_table_name';
CREATE TABLE t1(a TEXT, b TEXT, c TEXT, FULLTEXT `AB`(a, b), FULLTEXT `C1`(c));
INSERT INTO t1 VALUES('TEST1', 'TEST2', 'TEXT3');
INSERT INTO t1 VALUES('TEXT1', 'TEXT2', 'TEXT5');
SELECT * FROM t1 WHERE MATCH(a, b) AGAINST ('TEST2');
a	b	c
TEST1	TEST2	TEXT3
SELECT * FROM t1 WHERE MATCH(c) AGAINST ('TEXT5');
a	b	c
TEXT1	TEXT2	TEXT5
# restart: --debug=d,rename_aux_table_fail
ALTER TABLE t1 ADD FULLTEXT(b);
ERROR HY000: Upgrade index name failed, please use create index(alter table) algorithm copy to rebuild index.
SELECT * FROM t1 WHERE MATCH(a, b) AGAINST ('TEST2');
ERROR HY000: The table does not have FULLTEXT index to support this query
# restart
SELECT * FROM t1 WHERE MATCH(a, b) AGAINST ('TEST2');
ERROR HY000: The table does not have FULLTEXT index to support this query
SELECT * FROM t1 WHERE MATCH(c) AGAINST ('TEXT5');
ERROR HY000: The table does not have FULLTEXT index to support this query
# Drop the corrupted index.
ALTER TABLE t1 DROP INDEX `AB`;
ALTER TABLE t1 DROP INDEX `C1`;
# Rebuild the index.
ALTER TABLE t1 ADD FULLTEXT(a, b);
ALTER TABLE t1 ADD FULLTEXT(c);
# Read the record using fts index.
SELECT * FROM t1 WHERE MATCH(a, b) AGAINST ('TEST2');
a	b	c
TEST1	TEST2	TEXT3
SELECT * FROM t1 WHERE MATCH(c) AGAINST ('TEXT5');
a	b	c
TEXT1	TEXT2	TEXT5
TRUNCATE TABLE t1;
DROP TABLE t1;
# restart

Youez - 2016 - github.com/yon3zu
LinuXploit