mirror of
https://github.com/MariaDB/server.git
synced 2025-10-19 21:09:40 +03:00
Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.1-build
into quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/jun14/51 configure.in: Auto merged BitKeeper/deleted/.del-ctype_cp932_notembedded.test~3047e508460cef42: Auto merged mysql-test/extra/binlog_tests/binlog.test: Auto merged mysql-test/extra/binlog_tests/blackhole.test: Auto merged mysql-test/extra/binlog_tests/ctype_cp932_binlog.test: Auto merged mysql-test/extra/binlog_tests/ctype_ucs_binlog.test: Auto merged mysql-test/extra/binlog_tests/drop_temp_table.test: Auto merged mysql-test/extra/binlog_tests/insert_select-binlog.test: Auto merged mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test: Auto merged mysql-test/include/mix1.inc: Auto merged mysql-test/mysql-test-run.pl: Auto merged mysql-test/r/binlog_stm_binlog.result: Auto merged mysql-test/r/binlog_stm_mix_innodb_myisam.result: Auto merged mysql-test/r/have_log_bin.require: Auto merged mysql-test/t/flush_block_commit_notembedded.test: Auto merged mysql-test/t/insert_update.test: Auto merged mysql-test/t/mysqlbinlog-cp932.test: Auto merged mysql-test/t/mysqlbinlog2.test: Auto merged mysql-test/t/mysqldump.test: Auto merged mysql-test/t/ps.test: Auto merged mysql-test/t/sp_trans.test: Auto merged sql/handler.cc: Auto merged sql/sql_parse.cc: Auto merged sql/sql_select.cc: Auto merged mysql-test/r/date_formats.result: Use local mysql-test/r/partition.result: SCCS merged mysql-test/t/date_formats.test: Use local mysql-test/t/ndb_basic.test: manual merge mysql-test/t/partition.test: manual merge mysql-test/t/user_var-binlog.test: use local
This commit is contained in:
@@ -71,7 +71,7 @@ dist-hook:
|
||||
$(INSTALL_DATA) $(srcdir)/std_data/ndb_backup50/BACKUP* $(distdir)/std_data/ndb_backup50
|
||||
$(INSTALL_DATA) $(srcdir)/std_data/ndb_backup51/BACKUP* $(distdir)/std_data/ndb_backup51
|
||||
$(INSTALL_DATA) $(srcdir)/lib/*.pl $(distdir)/lib
|
||||
-rm -rf `find $(distdir)/suite -type d -name SCCS`
|
||||
-rm -rf `find $(distdir)/suite -type d -name SCCS` $(distdir)/suite/row_lock
|
||||
|
||||
install-data-local:
|
||||
$(mkinstalldirs) \
|
||||
@@ -113,7 +113,7 @@ install-data-local:
|
||||
$(INSTALL_DATA) $(srcdir)/std_data/ndb_backup50/BACKUP* $(DESTDIR)$(testdir)/std_data/ndb_backup50
|
||||
$(INSTALL_DATA) $(srcdir)/std_data/ndb_backup51/BACKUP* $(DESTDIR)$(testdir)/std_data/ndb_backup51
|
||||
$(INSTALL_DATA) $(srcdir)/lib/*.pl $(DESTDIR)$(testdir)/lib
|
||||
for f in `(cd $(srcdir); find suite -type f | grep -v SCCS)`; \
|
||||
for f in `(cd $(srcdir); find suite -type f | egrep -v 'SCCS|row_lock')`; \
|
||||
do \
|
||||
d=$(DESTDIR)$(testdir)/`dirname $$f`; \
|
||||
mkdir -p $$d ; \
|
||||
|
@@ -1,3 +1,4 @@
|
||||
--source include/have_log_bin.inc
|
||||
--source include/not_embedded.inc
|
||||
--source ./include/have_federated_db.inc
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
--disable_query_log
|
||||
--require r/true.require
|
||||
select support = 'Enabled' as `TRUE` from information_schema.engines where engine = 'archive';
|
||||
select (support = 'YES' or support = 'DEFAULT') as `TRUE` from information_schema.engines where engine = 'archive';
|
||||
--enable_query_log
|
||||
|
@@ -1,4 +1,4 @@
|
||||
disable_query_log;
|
||||
--require r/true.require
|
||||
select support = 'Enabled' as `TRUE` from information_schema.engines where engine = 'blackhole';
|
||||
select (support = 'YES' or support = 'DEFAULT') as `TRUE` from information_schema.engines where engine = 'blackhole';
|
||||
enable_query_log;
|
||||
|
@@ -1,4 +1,4 @@
|
||||
disable_query_log;
|
||||
--require r/true.require
|
||||
select support = 'Enabled' as `TRUE` from information_schema.engines where engine = 'csv';
|
||||
select (support = 'YES' or support = 'DEFAULT') as `TRUE` from information_schema.engines where engine = 'csv';
|
||||
enable_query_log;
|
||||
|
@@ -1,4 +1,4 @@
|
||||
disable_query_log;
|
||||
--require r/true.require
|
||||
select support = 'Enabled' as `TRUE` from information_schema.engines where engine = 'example';
|
||||
select (support = 'YES' or support = 'DEFAULT') as `TRUE` from information_schema.engines where engine = 'example';
|
||||
enable_query_log;
|
||||
|
@@ -1,4 +1,4 @@
|
||||
disable_query_log;
|
||||
--require r/true.require
|
||||
select support = 'Enabled' as `TRUE` from information_schema.engines where engine = 'federated';
|
||||
select (support = 'YES' or support = 'DEFAULT') as `TRUE` from information_schema.engines where engine = 'federated';
|
||||
enable_query_log;
|
||||
|
@@ -1,4 +1,4 @@
|
||||
disable_query_log;
|
||||
--require r/true.require
|
||||
select support = 'Enabled' as `TRUE` from information_schema.engines where engine = 'innodb';
|
||||
select (support = 'YES' or support = 'DEFAULT') as `TRUE` from information_schema.engines where engine = 'innodb';
|
||||
enable_query_log;
|
||||
|
@@ -10,7 +10,7 @@ drop table if exists t1, t2;
|
||||
--enable_warnings
|
||||
flush tables;
|
||||
--require r/true.require
|
||||
select support = 'Enabled' as `TRUE` from information_schema.engines where engine = 'ndbcluster';
|
||||
select (support = 'YES' or support = 'DEFAULT') as `TRUE` from information_schema.engines where engine = 'ndbcluster';
|
||||
enable_query_log;
|
||||
|
||||
# Check that server2 has NDB support
|
||||
@@ -21,7 +21,7 @@ drop table if exists t1, t2;
|
||||
--enable_warnings
|
||||
flush tables;
|
||||
--require r/true.require
|
||||
select support = 'Enabled' as `TRUE` from information_schema.engines where engine = 'ndbcluster';
|
||||
select (support = 'YES' or support = 'DEFAULT') as `TRUE` from information_schema.engines where engine = 'ndbcluster';
|
||||
enable_query_log;
|
||||
|
||||
# Check should be here as well...
|
||||
|
@@ -1,7 +1,7 @@
|
||||
# Check that server is compiled and started with support for NDB
|
||||
disable_query_log;
|
||||
--require r/true.require
|
||||
select support = 'Enabled' as `TRUE` from information_schema.engines where engine = 'ndbcluster';
|
||||
select (support = 'YES' or support = 'DEFAULT') as `TRUE` from information_schema.engines where engine = 'ndbcluster';
|
||||
enable_query_log;
|
||||
|
||||
|
||||
|
@@ -641,6 +641,37 @@ alter table t1 comment '123';
|
||||
show create table t1;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Bug #25866: Getting "#HY000 Can't find record in..." on and INSERT
|
||||
#
|
||||
CREATE TABLE t1 (a CHAR(2), KEY (a)) ENGINE = InnoDB DEFAULT CHARSET=UTF8;
|
||||
INSERT INTO t1 VALUES ('uk'),('bg');
|
||||
SELECT * FROM t1 WHERE a = 'uk';
|
||||
DELETE FROM t1 WHERE a = 'uk';
|
||||
SELECT * FROM t1 WHERE a = 'uk';
|
||||
UPDATE t1 SET a = 'us' WHERE a = 'uk';
|
||||
SELECT * FROM t1 WHERE a = 'uk';
|
||||
|
||||
CREATE TABLE t2 (a CHAR(2), KEY (a)) ENGINE = InnoDB;
|
||||
INSERT INTO t2 VALUES ('uk'),('bg');
|
||||
SELECT * FROM t2 WHERE a = 'uk';
|
||||
DELETE FROM t2 WHERE a = 'uk';
|
||||
SELECT * FROM t2 WHERE a = 'uk';
|
||||
INSERT INTO t2 VALUES ('uk');
|
||||
UPDATE t2 SET a = 'us' WHERE a = 'uk';
|
||||
SELECT * FROM t2 WHERE a = 'uk';
|
||||
|
||||
CREATE TABLE t3 (a CHAR(2), KEY (a)) ENGINE = MyISAM;
|
||||
INSERT INTO t3 VALUES ('uk'),('bg');
|
||||
SELECT * FROM t3 WHERE a = 'uk';
|
||||
DELETE FROM t3 WHERE a = 'uk';
|
||||
SELECT * FROM t3 WHERE a = 'uk';
|
||||
INSERT INTO t3 VALUES ('uk');
|
||||
UPDATE t3 SET a = 'us' WHERE a = 'uk';
|
||||
SELECT * FROM t3 WHERE a = 'uk';
|
||||
|
||||
DROP TABLE t1,t2,t3;
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
||||
#
|
||||
|
@@ -29,6 +29,9 @@ SELECT db, name, status, originator FROM mysql.event WHERE db = 'test' AND name
|
||||
|
||||
# wait 3 seconds, so the event can trigger
|
||||
--real_sleep 3
|
||||
let $wait_condition=
|
||||
SELECT count(*) = 1 FROM t1 WHERE c = 'from justonce';
|
||||
--source include/wait_condition.inc
|
||||
|
||||
# check that table t1 contains something
|
||||
--echo "in the master"
|
||||
|
@@ -23,7 +23,7 @@
|
||||
#
|
||||
|
||||
--disable_warnings
|
||||
drop table if exists t1,t2;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9,t10;
|
||||
--enable_warnings
|
||||
eval create table t1 (id int not null, f_id int not null, f int not null,
|
||||
primary key(f_id, id)) engine = $engine_type;
|
||||
@@ -59,7 +59,7 @@ set autocommit = 0;
|
||||
#
|
||||
# S-lock to records (2,2),(4,2), and (6,2) should not be released in a update
|
||||
#
|
||||
--error 1205
|
||||
--error ER_LOCK_WAIT_TIMEOUT
|
||||
select * from t1 where a = 2 and b = 2 for update;
|
||||
connection a;
|
||||
commit;
|
||||
@@ -213,39 +213,39 @@ set autocommit = 0;
|
||||
create table t10(a int not null, b int, primary key(a)) select * from t2 for update;
|
||||
|
||||
connection b;
|
||||
--error 1205
|
||||
--error ER_LOCK_WAIT_TIMEOUT
|
||||
reap;
|
||||
|
||||
connection c;
|
||||
--error 1205
|
||||
--error ER_LOCK_WAIT_TIMEOUT
|
||||
reap;
|
||||
|
||||
connection d;
|
||||
--error 1205
|
||||
--error ER_LOCK_WAIT_TIMEOUT
|
||||
reap;
|
||||
|
||||
connection e;
|
||||
--error 1205
|
||||
--error ER_LOCK_WAIT_TIMEOUT
|
||||
reap;
|
||||
|
||||
connection f;
|
||||
--error 1205
|
||||
--error ER_LOCK_WAIT_TIMEOUT
|
||||
reap;
|
||||
|
||||
connection g;
|
||||
--error 1205
|
||||
--error ER_LOCK_WAIT_TIMEOUT
|
||||
reap;
|
||||
|
||||
connection h;
|
||||
--error 1205
|
||||
--error ER_LOCK_WAIT_TIMEOUT
|
||||
reap;
|
||||
|
||||
connection i;
|
||||
--error 1205
|
||||
--error ER_LOCK_WAIT_TIMEOUT
|
||||
reap;
|
||||
|
||||
connection j;
|
||||
--error 1205
|
||||
--error ER_LOCK_WAIT_TIMEOUT
|
||||
reap;
|
||||
|
||||
connection a;
|
||||
|
@@ -3818,8 +3818,7 @@ sub mysqld_arguments ($$$$) {
|
||||
"%s--log-slow-queries=%s-slow.log", $prefix, $log_base_path);
|
||||
|
||||
# Check if "extra_opt" contains --skip-log-bin
|
||||
my $skip_binlog= grep(/^--skip-log-bin/, @$extra_opt);
|
||||
|
||||
my $skip_binlog= grep(/^--skip-log-bin/, @$extra_opt, @opt_extra_mysqld_opt);
|
||||
if ( $mysqld->{'type'} eq 'master' )
|
||||
{
|
||||
if (! ($opt_skip_master_binlog || $skip_binlog) )
|
||||
|
@@ -10,7 +10,8 @@ DataDir= CHOOSE_FILESYSTEM
|
||||
MaxNoOfOrderedIndexes= CHOOSE_MaxNoOfOrderedIndexes
|
||||
MaxNoOfAttributes= CHOOSE_MaxNoOfAttributes
|
||||
TimeBetweenGlobalCheckpoints= 500
|
||||
NoOfFragmentLogFiles= 3
|
||||
NoOfFragmentLogFiles= 8
|
||||
FragmentLogFileSize= 6M
|
||||
DiskPageBufferMemory= CHOOSE_DiskPageBufferMemory
|
||||
|
||||
#
|
||||
|
@@ -10,8 +10,10 @@ DataDir= CHOOSE_FILESYSTEM
|
||||
MaxNoOfOrderedIndexes= CHOOSE_MaxNoOfOrderedIndexes
|
||||
MaxNoOfAttributes= CHOOSE_MaxNoOfAttributes
|
||||
TimeBetweenGlobalCheckpoints= 500
|
||||
NoOfFragmentLogFiles= 3
|
||||
NoOfFragmentLogFiles= 4
|
||||
FragmentLogFileSize=12M
|
||||
DiskPageBufferMemory= CHOOSE_DiskPageBufferMemory
|
||||
ODirect= 1
|
||||
# the following parametes just function as a small regression
|
||||
# test that the parameter exists
|
||||
InitialNoOfOpenFiles= 27
|
||||
|
19
mysql-test/r/error_simulation.result
Normal file
19
mysql-test/r/error_simulation.result
Normal file
@@ -0,0 +1,19 @@
|
||||
DROP TABLE IF EXISTS t1;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 't1'
|
||||
CREATE TABLE t1 (
|
||||
a varchar(32) character set utf8 collate utf8_bin NOT NULL,
|
||||
b varchar(32) character set utf8 collate utf8_bin NOT NULL )
|
||||
ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
INSERT INTO t1 VALUES
|
||||
('AAAAAAAAAA','AAAAAAAAAA'), ('AAAAAAAAAB','AAAAAAAAAB '),
|
||||
('AAAAAAAAAB','AAAAAAAAAB'), ('AAAAAAAAAC','AAAAAAAAAC'),
|
||||
('AAAAAAAAAD','AAAAAAAAAD'), ('AAAAAAAAAE','AAAAAAAAAE'),
|
||||
('AAAAAAAAAF','AAAAAAAAAF'), ('AAAAAAAAAG','AAAAAAAAAG'),
|
||||
('AAAAAAAAAH','AAAAAAAAAH'), ('AAAAAAAAAI','AAAAAAAAAI'),
|
||||
('AAAAAAAAAJ','AAAAAAAAAJ'), ('AAAAAAAAAK','AAAAAAAAAK');
|
||||
set tmp_table_size=1024;
|
||||
SELECT MAX(a) FROM t1 GROUP BY a,b;
|
||||
ERROR 23000: Can't write; duplicate key in table 'tmp_table'
|
||||
set tmp_table_size=default;
|
||||
DROP TABLE t1;
|
@@ -865,6 +865,27 @@ SELECT Overlaps(@horiz1, @point2) FROM DUAL;
|
||||
Overlaps(@horiz1, @point2)
|
||||
0
|
||||
DROP TABLE t1;
|
||||
create table t1(f1 geometry, f2 point, f3 linestring);
|
||||
select f1 from t1 union select f1 from t1;
|
||||
f1
|
||||
insert into t1 (f2,f3) values (GeomFromText('POINT(1 1)'),
|
||||
GeomFromText('LINESTRING(0 0,1 1,2 2)'));
|
||||
select AsText(f2),AsText(f3) from t1;
|
||||
AsText(f2) AsText(f3)
|
||||
POINT(1 1) LINESTRING(0 0,1 1,2 2)
|
||||
select AsText(a) from (select f2 as a from t1 union select f3 from t1) t;
|
||||
AsText(a)
|
||||
POINT(1 1)
|
||||
LINESTRING(0 0,1 1,2 2)
|
||||
create table t2 as select f2 as a from t1 union select f3 from t1;
|
||||
desc t2;
|
||||
Field Type Null Key Default Extra
|
||||
a point YES NULL
|
||||
select AsText(a) from t2;
|
||||
AsText(a)
|
||||
POINT(1 1)
|
||||
LINESTRING(0 0,1 1,2 2)
|
||||
drop table t1, t2;
|
||||
End of 5.0 tests
|
||||
create table t1 (f1 tinyint(1), f2 char(1), f3 varchar(1), f4 geometry, f5 datetime);
|
||||
create view v1 as select * from t1;
|
||||
|
@@ -404,4 +404,22 @@ use test;
|
||||
drop database mysqltest_1;
|
||||
drop database mysqltest_2;
|
||||
drop user mysqltest_u1@localhost;
|
||||
grant all on `mysqltest\_%`.* to mysqltest_1@localhost with grant option;
|
||||
grant usage on *.* to mysqltest_2@localhost;
|
||||
create database mysqltest_1;
|
||||
use mysqltest_1;
|
||||
create table t1 (f1 int);
|
||||
grant create on `mysqltest\_1`.* to mysqltest_2@localhost;
|
||||
grant select on mysqltest_1.t1 to mysqltest_2@localhost;
|
||||
create database mysqltest_3;
|
||||
ERROR 42000: Access denied for user 'mysqltest_2'@'localhost' to database 'mysqltest_3'
|
||||
use mysqltest_1;
|
||||
create table t2(f1 int);
|
||||
select * from t1;
|
||||
f1
|
||||
drop database mysqltest_1;
|
||||
revoke all privileges, grant option from mysqltest_1@localhost;
|
||||
revoke all privileges, grant option from mysqltest_2@localhost;
|
||||
drop user mysqltest_1@localhost;
|
||||
drop user mysqltest_2@localhost;
|
||||
End of 5.0 tests
|
||||
|
@@ -1055,47 +1055,47 @@ INSERT INTO t1 SELECT a + 8,b FROM t1;
|
||||
INSERT INTO t1 SELECT a + 16,b FROM t1;
|
||||
INSERT INTO t1 SELECT a + 32,b FROM t1;
|
||||
INSERT INTO t1 SELECT a + 64,b FROM t1;
|
||||
INSERT INTO t1 SELECT a + 128,b FROM t1;
|
||||
INSERT INTO t1 SELECT a + 128,b FROM t1 limit 16;
|
||||
ANALYZE TABLE t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 analyze status OK
|
||||
EXPLAIN SELECT a FROM t1 WHERE a < 2;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 range PRIMARY,i2 PRIMARY 4 NULL 2 Using where; Using index
|
||||
1 SIMPLE t1 range PRIMARY,i2 PRIMARY 4 NULL 1 Using where; Using index
|
||||
EXPLAIN SELECT a FROM t1 WHERE a < 2 ORDER BY a;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 range PRIMARY,i2 PRIMARY 4 NULL 2 Using where; Using index
|
||||
1 SIMPLE t1 range PRIMARY,i2 PRIMARY 4 NULL 1 Using where; Using index
|
||||
EXPLAIN SELECT a FROM t1 WHERE a < 2 GROUP BY a;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 range PRIMARY,i2 PRIMARY 4 NULL 2 Using where; Using index
|
||||
1 SIMPLE t1 range PRIMARY,i2 PRIMARY 4 NULL 1 Using where; Using index
|
||||
EXPLAIN SELECT a FROM t1 IGNORE INDEX (PRIMARY,i2);
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 256
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 144
|
||||
EXPLAIN SELECT a FROM t1 IGNORE INDEX FOR JOIN (PRIMARY,i2);
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 256
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 144
|
||||
EXPLAIN SELECT a FROM t1 IGNORE INDEX FOR GROUP BY (PRIMARY,i2) GROUP BY a;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 index NULL PRIMARY 4 NULL 256 Using index
|
||||
1 SIMPLE t1 index NULL PRIMARY 4 NULL 144 Using index
|
||||
EXPLAIN SELECT a FROM t1 IGNORE INDEX FOR ORDER BY (PRIMARY,i2) ORDER BY a;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 index NULL PRIMARY 4 NULL 256 Using index; Using filesort
|
||||
1 SIMPLE t1 index NULL PRIMARY 4 NULL 144 Using index; Using filesort
|
||||
EXPLAIN SELECT a FROM t1 IGNORE INDEX FOR ORDER BY (PRIMARY)
|
||||
IGNORE INDEX FOR GROUP BY (i2) GROUP BY a;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 index NULL PRIMARY 4 NULL 256 Using index
|
||||
1 SIMPLE t1 index NULL PRIMARY 4 NULL 144 Using index
|
||||
EXPLAIN SELECT a FROM t1 IGNORE INDEX (PRIMARY) IGNORE INDEX FOR ORDER BY (i2);
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 index NULL i2 9 NULL 256 Using index
|
||||
1 SIMPLE t1 index NULL i2 9 NULL 144 Using index
|
||||
EXPLAIN SELECT a FROM t1 FORCE INDEX (i2);
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 index NULL i2 9 NULL 256 Using index
|
||||
1 SIMPLE t1 index NULL i2 9 NULL 144 Using index
|
||||
EXPLAIN SELECT a FROM t1 USE INDEX ();
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 256
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 144
|
||||
EXPLAIN SELECT a FROM t1 USE INDEX () USE INDEX (i2);
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 256
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 144
|
||||
EXPLAIN SELECT a FROM t1
|
||||
FORCE INDEX (PRIMARY)
|
||||
IGNORE INDEX FOR GROUP BY (i2)
|
||||
@@ -1104,7 +1104,7 @@ USE INDEX (i2);
|
||||
ERROR HY000: Incorrect usage of USE INDEX and FORCE INDEX
|
||||
EXPLAIN SELECT a FROM t1 USE INDEX (i2) USE INDEX ();
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 index NULL i2 9 NULL 256 Using index
|
||||
1 SIMPLE t1 index NULL i2 9 NULL 144 Using index
|
||||
EXPLAIN SELECT a FROM t1 FORCE INDEX ();
|
||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1
|
||||
EXPLAIN SELECT a FROM t1 IGNORE INDEX ();
|
||||
@@ -1112,34 +1112,34 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
|
||||
EXPLAIN SELECT a FROM t1 USE INDEX FOR JOIN (i2)
|
||||
USE INDEX FOR GROUP BY (i2) GROUP BY a;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 index NULL i2 9 NULL 256 Using index
|
||||
1 SIMPLE t1 index NULL i2 9 NULL 144 Using index
|
||||
EXPLAIN SELECT a FROM t1 FORCE INDEX FOR JOIN (i2)
|
||||
FORCE INDEX FOR GROUP BY (i2) GROUP BY a;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 range NULL i2 4 NULL 257 Using index for group-by
|
||||
1 SIMPLE t1 range NULL i2 4 NULL 145 Using index for group-by
|
||||
EXPLAIN SELECT a FROM t1 USE INDEX () IGNORE INDEX (i2);
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 256
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 144
|
||||
EXPLAIN SELECT a FROM t1 IGNORE INDEX (i2) USE INDEX ();
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 256
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 144
|
||||
EXPLAIN SELECT a FROM t1
|
||||
USE INDEX FOR GROUP BY (i2)
|
||||
USE INDEX FOR ORDER BY (i2)
|
||||
USE INDEX FOR JOIN (i2);
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 index NULL i2 9 NULL 256 Using index
|
||||
1 SIMPLE t1 index NULL i2 9 NULL 144 Using index
|
||||
EXPLAIN SELECT a FROM t1
|
||||
USE INDEX FOR JOIN (i2)
|
||||
USE INDEX FOR JOIN (i2)
|
||||
USE INDEX FOR JOIN (i2,i2);
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 index NULL i2 9 NULL 256 Using index
|
||||
1 SIMPLE t1 index NULL i2 9 NULL 144 Using index
|
||||
EXPLAIN SELECT 1 FROM t1 WHERE a IN
|
||||
(SELECT a FROM t1 USE INDEX (i2) IGNORE INDEX (i2));
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY t1 index NULL PRIMARY 4 NULL 256 Using where; Using index
|
||||
2 DEPENDENT SUBQUERY t1 ALL NULL NULL NULL NULL 256 Using where
|
||||
1 PRIMARY t1 index NULL PRIMARY 4 NULL 144 Using where; Using index
|
||||
2 DEPENDENT SUBQUERY t1 ALL NULL NULL NULL NULL 144 Using where
|
||||
CREATE TABLE t2 (a INT, b INT, KEY(a));
|
||||
INSERT INTO t2 VALUES (1, 1), (2, 2), (3,3), (4,4);
|
||||
EXPLAIN SELECT a, SUM(b) FROM t2 GROUP BY a LIMIT 2;
|
||||
@@ -1152,7 +1152,7 @@ EXPLAIN SELECT 1 FROM t2 WHERE a IN
|
||||
(SELECT a FROM t1 USE INDEX (i2) IGNORE INDEX (i2));
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY t2 index NULL a 5 NULL 4 Using where; Using index
|
||||
2 DEPENDENT SUBQUERY t1 ALL NULL NULL NULL NULL 256 Using where
|
||||
2 DEPENDENT SUBQUERY t1 ALL NULL NULL NULL NULL 144 Using where
|
||||
SHOW VARIABLES LIKE 'old';
|
||||
Variable_name Value
|
||||
old OFF
|
||||
|
@@ -1397,10 +1397,21 @@ TABLE_PRIVILEGES information_schema.TABLE_PRIVILEGES 1
|
||||
TRIGGERS information_schema.TRIGGERS 1
|
||||
USER_PRIVILEGES information_schema.USER_PRIVILEGES 1
|
||||
VIEWS information_schema.VIEWS 1
|
||||
create table t1(f1 int);
|
||||
create view v1 as select f1+1 as a from t1;
|
||||
create table t2 (f1 int, f2 int);
|
||||
create view v2 as select f1+1 as a, f2 as b from t2;
|
||||
select table_name, is_updatable from information_schema.views;
|
||||
table_name is_updatable
|
||||
v1 NO
|
||||
v2 YES
|
||||
delete from v1;
|
||||
drop view v1,v2;
|
||||
drop table t1,t2;
|
||||
End of 5.0 tests.
|
||||
select * from information_schema.engines WHERE ENGINE="MyISAM";
|
||||
ENGINE SUPPORT COMMENT TRANSACTIONS XA SAVEPOINTS
|
||||
MyISAM ENABLED Default engine as of MySQL 3.23 with great performance NO NO NO
|
||||
MyISAM DEFAULT Default engine as of MySQL 3.23 with great performance NO NO NO
|
||||
grant select on *.* to user3148@localhost;
|
||||
select user,db from information_schema.processlist;
|
||||
user db
|
||||
|
@@ -7,9 +7,9 @@ partition x3 values in (16, 8, 5+19, 70-43) tablespace ts3);
|
||||
select * from information_schema.partitions where table_schema="test"
|
||||
and table_name="t1";
|
||||
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
|
||||
NULL test t1 x1 NULL 1 NULL LIST NULL b*a NULL 1 0 0 0 # 1024 0 # # NULL NULL default default ts1
|
||||
NULL test t1 x2 NULL 2 NULL LIST NULL b*a NULL 3,11,5,7 0 0 0 # 1024 0 # # NULL NULL default default ts2
|
||||
NULL test t1 x3 NULL 3 NULL LIST NULL b*a NULL 16,8,24,27 0 0 0 # 1024 0 # # NULL NULL default default ts3
|
||||
NULL test t1 x1 NULL 1 NULL LIST NULL b*a NULL 1 0 0 0 # 1024 0 # # NULL NULL default ts1
|
||||
NULL test t1 x2 NULL 2 NULL LIST NULL b*a NULL 3,11,5,7 0 0 0 # 1024 0 # # NULL NULL default ts2
|
||||
NULL test t1 x3 NULL 3 NULL LIST NULL b*a NULL 16,8,24,27 0 0 0 # 1024 0 # # NULL NULL default ts3
|
||||
create table t2 (a int not null,b int not null,c int not null, primary key(a,b))
|
||||
partition by range (a)
|
||||
partitions 3
|
||||
@@ -19,27 +19,27 @@ partition x3 values less than maxvalue tablespace ts3);
|
||||
select * from information_schema.partitions where table_schema="test"
|
||||
and table_name="t2";
|
||||
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
|
||||
NULL test t2 x1 NULL 1 NULL RANGE NULL a NULL 5 0 0 0 # 1024 0 # # NULL NULL default default ts1
|
||||
NULL test t2 x2 NULL 2 NULL RANGE NULL a NULL 10 0 0 0 # 1024 0 # # NULL NULL default default ts2
|
||||
NULL test t2 x3 NULL 3 NULL RANGE NULL a NULL MAXVALUE 0 0 0 # 1024 0 # # NULL NULL default default ts3
|
||||
NULL test t2 x1 NULL 1 NULL RANGE NULL a NULL 5 0 0 0 # 1024 0 # # NULL NULL default ts1
|
||||
NULL test t2 x2 NULL 2 NULL RANGE NULL a NULL 10 0 0 0 # 1024 0 # # NULL NULL default ts2
|
||||
NULL test t2 x3 NULL 3 NULL RANGE NULL a NULL MAXVALUE 0 0 0 # 1024 0 # # NULL NULL default ts3
|
||||
create table t3 (f1 date)
|
||||
partition by hash(month(f1))
|
||||
partitions 3;
|
||||
select * from information_schema.partitions where table_schema="test"
|
||||
and table_name="t3";
|
||||
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
|
||||
NULL test t3 p0 NULL 1 NULL HASH NULL month(f1) NULL NULL 0 0 0 # 1024 0 # # NULL NULL default default NULL
|
||||
NULL test t3 p1 NULL 2 NULL HASH NULL month(f1) NULL NULL 0 0 0 # 1024 0 # # NULL NULL default default NULL
|
||||
NULL test t3 p2 NULL 3 NULL HASH NULL month(f1) NULL NULL 0 0 0 # 1024 0 # # NULL NULL default default NULL
|
||||
NULL test t3 p0 NULL 1 NULL HASH NULL month(f1) NULL NULL 0 0 0 # 1024 0 # # NULL NULL default NULL
|
||||
NULL test t3 p1 NULL 2 NULL HASH NULL month(f1) NULL NULL 0 0 0 # 1024 0 # # NULL NULL default NULL
|
||||
NULL test t3 p2 NULL 3 NULL HASH NULL month(f1) NULL NULL 0 0 0 # 1024 0 # # NULL NULL default NULL
|
||||
create table t4 (f1 date, f2 int)
|
||||
partition by key(f1,f2)
|
||||
partitions 3;
|
||||
select * from information_schema.partitions where table_schema="test"
|
||||
and table_name="t4";
|
||||
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
|
||||
NULL test t4 p0 NULL 1 NULL KEY NULL f1,f2 NULL NULL 0 0 0 # 1024 0 # # NULL NULL default default NULL
|
||||
NULL test t4 p1 NULL 2 NULL KEY NULL f1,f2 NULL NULL 0 0 0 # 1024 0 # # NULL NULL default default NULL
|
||||
NULL test t4 p2 NULL 3 NULL KEY NULL f1,f2 NULL NULL 0 0 0 # 1024 0 # # NULL NULL default default NULL
|
||||
NULL test t4 p0 NULL 1 NULL KEY NULL f1,f2 NULL NULL 0 0 0 # 1024 0 # # NULL NULL default NULL
|
||||
NULL test t4 p1 NULL 2 NULL KEY NULL f1,f2 NULL NULL 0 0 0 # 1024 0 # # NULL NULL default NULL
|
||||
NULL test t4 p2 NULL 3 NULL KEY NULL f1,f2 NULL NULL 0 0 0 # 1024 0 # # NULL NULL default NULL
|
||||
drop table t1,t2,t3,t4;
|
||||
create table t1 (a int not null,b int not null,c int not null,primary key (a,b))
|
||||
partition by range (a)
|
||||
@@ -63,14 +63,14 @@ subpartition x22 tablespace t2)
|
||||
);
|
||||
select * from information_schema.partitions where table_schema="test";
|
||||
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
|
||||
NULL test t1 x1 x11 1 1 RANGE HASH a a+b 1 0 0 0 # 1024 0 # # NULL NULL default default t1
|
||||
NULL test t1 x1 x12 1 2 RANGE HASH a a+b 1 0 0 0 # 1024 0 # # NULL NULL default default t2
|
||||
NULL test t1 x2 x21 2 1 RANGE HASH a a+b 5 0 0 0 # 1024 0 # # NULL NULL default default t1
|
||||
NULL test t1 x2 x22 2 2 RANGE HASH a a+b 5 0 0 0 # 1024 0 # # NULL NULL default default t2
|
||||
NULL test t2 x1 x11 1 1 RANGE KEY a a 1 0 0 0 # 1024 0 # # NULL NULL default default t1
|
||||
NULL test t2 x1 x12 1 2 RANGE KEY a a 1 0 0 0 # 1024 0 # # NULL NULL default default t2
|
||||
NULL test t2 x2 x21 2 1 RANGE KEY a a 5 0 0 0 # 1024 0 # # NULL NULL default default t1
|
||||
NULL test t2 x2 x22 2 2 RANGE KEY a a 5 0 0 0 # 1024 0 # # NULL NULL default default t2
|
||||
NULL test t1 x1 x11 1 1 RANGE HASH a a+b 1 0 0 0 # 1024 0 # # NULL NULL default t1
|
||||
NULL test t1 x1 x12 1 2 RANGE HASH a a+b 1 0 0 0 # 1024 0 # # NULL NULL default t2
|
||||
NULL test t1 x2 x21 2 1 RANGE HASH a a+b 5 0 0 0 # 1024 0 # # NULL NULL default t1
|
||||
NULL test t1 x2 x22 2 2 RANGE HASH a a+b 5 0 0 0 # 1024 0 # # NULL NULL default t2
|
||||
NULL test t2 x1 x11 1 1 RANGE KEY a a 1 0 0 0 # 1024 0 # # NULL NULL default t1
|
||||
NULL test t2 x1 x12 1 2 RANGE KEY a a 1 0 0 0 # 1024 0 # # NULL NULL default t2
|
||||
NULL test t2 x2 x21 2 1 RANGE KEY a a 5 0 0 0 # 1024 0 # # NULL NULL default t1
|
||||
NULL test t2 x2 x22 2 2 RANGE KEY a a 5 0 0 0 # 1024 0 # # NULL NULL default t2
|
||||
drop table t1,t2;
|
||||
create table t1 (
|
||||
a int not null,
|
||||
@@ -88,10 +88,10 @@ subpartition x22 tablespace t2 nodegroup 1)
|
||||
);
|
||||
select * from information_schema.partitions where table_schema="test";
|
||||
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
|
||||
NULL test t1 x1 x11 1 1 RANGE HASH a a+b 1 0 0 0 # 1024 0 # # NULL NULL default 0 t1
|
||||
NULL test t1 x1 x12 1 2 RANGE HASH a a+b 1 0 0 0 # 1024 0 # # NULL NULL default 1 t2
|
||||
NULL test t1 x2 x21 2 1 RANGE HASH a a+b 5 0 0 0 # 1024 0 # # NULL NULL default 0 t1
|
||||
NULL test t1 x2 x22 2 2 RANGE HASH a a+b 5 0 0 0 # 1024 0 # # NULL NULL default 1 t2
|
||||
NULL test t1 x1 x11 1 1 RANGE HASH a a+b 1 0 0 0 # 1024 0 # # NULL NULL 0 t1
|
||||
NULL test t1 x1 x12 1 2 RANGE HASH a a+b 1 0 0 0 # 1024 0 # # NULL NULL 1 t2
|
||||
NULL test t1 x2 x21 2 1 RANGE HASH a a+b 5 0 0 0 # 1024 0 # # NULL NULL 0 t1
|
||||
NULL test t1 x2 x22 2 2 RANGE HASH a a+b 5 0 0 0 # 1024 0 # # NULL NULL 1 t2
|
||||
show tables;
|
||||
Tables_in_test
|
||||
t1
|
||||
@@ -107,9 +107,9 @@ partitions 3;
|
||||
select * from information_schema.partitions where table_schema="test"
|
||||
and table_name="t1";
|
||||
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
|
||||
NULL test t1 p0 NULL 1 NULL LINEAR HASH NULL month(f1) NULL NULL 0 0 0 # 1024 0 # # NULL NULL default default NULL
|
||||
NULL test t1 p1 NULL 2 NULL LINEAR HASH NULL month(f1) NULL NULL 0 0 0 # 1024 0 # # NULL NULL default default NULL
|
||||
NULL test t1 p2 NULL 3 NULL LINEAR HASH NULL month(f1) NULL NULL 0 0 0 # 1024 0 # # NULL NULL default default NULL
|
||||
NULL test t1 p0 NULL 1 NULL LINEAR HASH NULL month(f1) NULL NULL 0 0 0 # 1024 0 # # NULL NULL default NULL
|
||||
NULL test t1 p1 NULL 2 NULL LINEAR HASH NULL month(f1) NULL NULL 0 0 0 # 1024 0 # # NULL NULL default NULL
|
||||
NULL test t1 p2 NULL 3 NULL LINEAR HASH NULL month(f1) NULL NULL 0 0 0 # 1024 0 # # NULL NULL default NULL
|
||||
drop table t1;
|
||||
create table t1 (a int)
|
||||
PARTITION BY RANGE (a)
|
||||
|
@@ -629,6 +629,42 @@ t1 CREATE TABLE `t1` (
|
||||
`a` int(11) DEFAULT NULL
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='123'
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (a CHAR(2), KEY (a)) ENGINE = InnoDB DEFAULT CHARSET=UTF8;
|
||||
INSERT INTO t1 VALUES ('uk'),('bg');
|
||||
SELECT * FROM t1 WHERE a = 'uk';
|
||||
a
|
||||
uk
|
||||
DELETE FROM t1 WHERE a = 'uk';
|
||||
SELECT * FROM t1 WHERE a = 'uk';
|
||||
a
|
||||
UPDATE t1 SET a = 'us' WHERE a = 'uk';
|
||||
SELECT * FROM t1 WHERE a = 'uk';
|
||||
a
|
||||
CREATE TABLE t2 (a CHAR(2), KEY (a)) ENGINE = InnoDB;
|
||||
INSERT INTO t2 VALUES ('uk'),('bg');
|
||||
SELECT * FROM t2 WHERE a = 'uk';
|
||||
a
|
||||
uk
|
||||
DELETE FROM t2 WHERE a = 'uk';
|
||||
SELECT * FROM t2 WHERE a = 'uk';
|
||||
a
|
||||
INSERT INTO t2 VALUES ('uk');
|
||||
UPDATE t2 SET a = 'us' WHERE a = 'uk';
|
||||
SELECT * FROM t2 WHERE a = 'uk';
|
||||
a
|
||||
CREATE TABLE t3 (a CHAR(2), KEY (a)) ENGINE = MyISAM;
|
||||
INSERT INTO t3 VALUES ('uk'),('bg');
|
||||
SELECT * FROM t3 WHERE a = 'uk';
|
||||
a
|
||||
uk
|
||||
DELETE FROM t3 WHERE a = 'uk';
|
||||
SELECT * FROM t3 WHERE a = 'uk';
|
||||
a
|
||||
INSERT INTO t3 VALUES ('uk');
|
||||
UPDATE t3 SET a = 'us' WHERE a = 'uk';
|
||||
SELECT * FROM t3 WHERE a = 'uk';
|
||||
a
|
||||
DROP TABLE t1,t2,t3;
|
||||
End of 5.0 tests
|
||||
CREATE TABLE t1 (a int, b int);
|
||||
insert into t1 values (1,1),(1,2);
|
||||
|
@@ -393,3 +393,17 @@ id c1 cnt
|
||||
1 0 3
|
||||
2 2 1
|
||||
DROP TABLE t1;
|
||||
create table t1(f1 int primary key,
|
||||
f2 timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP);
|
||||
insert into t1(f1) values(1);
|
||||
select @stamp1:=f2 from t1;
|
||||
@stamp1:=f2
|
||||
#
|
||||
insert into t1(f1) values(1) on duplicate key update f1=1;
|
||||
select @stamp2:=f2 from t1;
|
||||
@stamp2:=f2
|
||||
#
|
||||
select if( @stamp1 = @stamp2, "correct", "wrong");
|
||||
if( @stamp1 = @stamp2, "correct", "wrong")
|
||||
correct
|
||||
drop table t1;
|
||||
|
@@ -770,35 +770,6 @@ c abc ab
|
||||
d ab ab
|
||||
e abc abc
|
||||
DROP TABLE t1;
|
||||
End of 5.0 tests
|
||||
CREATE TABLE t1 (a VARCHAR(255) NOT NULL,
|
||||
CONSTRAINT pk_a PRIMARY KEY (a))engine=ndb;
|
||||
CREATE TABLE t2(a VARCHAR(255) NOT NULL,
|
||||
b VARCHAR(255) NOT NULL,
|
||||
c VARCHAR(255) NOT NULL,
|
||||
CONSTRAINT pk_b_c_id PRIMARY KEY (b,c),
|
||||
CONSTRAINT fk_a FOREIGN KEY(a) REFERENCES t1(a))engine=ndb;
|
||||
drop table t1, t2;
|
||||
create table t1 (a int not null primary key, b int) engine=ndb;
|
||||
insert into t1 values(1,1),(2,2),(3,3);
|
||||
create table t2 like t1;
|
||||
insert into t2 select * from t1;
|
||||
select * from t1 order by a;
|
||||
a b
|
||||
1 1
|
||||
2 2
|
||||
3 3
|
||||
select * from t2 order by a;
|
||||
a b
|
||||
1 1
|
||||
2 2
|
||||
3 3
|
||||
drop table t1, t2;
|
||||
create table t1 (a int not null primary key, b int not null default 0, c varchar(254)) engine=ndb;
|
||||
create table if not exists t1 (a int not null primary key, b int not null default 0, c varchar(254)) engine=ndb;
|
||||
create table t2 like t1;
|
||||
rename table t1 to t10, t2 to t20;
|
||||
drop table t10,t20;
|
||||
create table t1 (a int not null primary key, b int not null) engine=ndb;
|
||||
create table t2 (a int not null primary key, b int not null) engine=ndb;
|
||||
insert into t1 values (1,10), (2,20), (3,30);
|
||||
@@ -867,7 +838,36 @@ select * from t1 order by a;
|
||||
a b
|
||||
1 10
|
||||
2 10
|
||||
3 1
|
||||
3 30
|
||||
4 1
|
||||
drop table t1,t2;
|
||||
End of 5.0 tests
|
||||
CREATE TABLE t1 (a VARCHAR(255) NOT NULL,
|
||||
CONSTRAINT pk_a PRIMARY KEY (a))engine=ndb;
|
||||
CREATE TABLE t2(a VARCHAR(255) NOT NULL,
|
||||
b VARCHAR(255) NOT NULL,
|
||||
c VARCHAR(255) NOT NULL,
|
||||
CONSTRAINT pk_b_c_id PRIMARY KEY (b,c),
|
||||
CONSTRAINT fk_a FOREIGN KEY(a) REFERENCES t1(a))engine=ndb;
|
||||
drop table t1, t2;
|
||||
create table t1 (a int not null primary key, b int) engine=ndb;
|
||||
insert into t1 values(1,1),(2,2),(3,3);
|
||||
create table t2 like t1;
|
||||
insert into t2 select * from t1;
|
||||
select * from t1 order by a;
|
||||
a b
|
||||
1 1
|
||||
2 2
|
||||
3 3
|
||||
select * from t2 order by a;
|
||||
a b
|
||||
1 1
|
||||
2 2
|
||||
3 3
|
||||
drop table t1, t2;
|
||||
create table t1 (a int not null primary key, b int not null default 0, c varchar(254)) engine=ndb;
|
||||
create table if not exists t1 (a int not null primary key, b int not null default 0, c varchar(254)) engine=ndb;
|
||||
create table t2 like t1;
|
||||
rename table t1 to t10, t2 to t20;
|
||||
drop table t10,t20;
|
||||
End of 5.1 tests
|
||||
|
@@ -314,11 +314,11 @@ a1
|
||||
20
|
||||
SELECT * FROM information_schema.partitions WHERE table_name= 't1' AND partition_name = 'p0';
|
||||
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
|
||||
NULL test t1 p0 NULL 1 NULL KEY NULL NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default default ts
|
||||
NULL test t1 p0 NULL 1 NULL KEY NULL NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default ts
|
||||
ALTER TABLE test.t1 ADD a2 FLOAT, ADD a3 DOUBLE;
|
||||
SELECT * FROM information_schema.partitions WHERE table_name= 't1' AND partition_name = 'p0';
|
||||
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
|
||||
NULL test t1 p0 NULL 1 NULL KEY NULL NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default default ts
|
||||
NULL test t1 p0 NULL 1 NULL KEY NULL NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default ts
|
||||
SELECT * FROM test.t1 ORDER BY a1;
|
||||
a1 a2 a3
|
||||
1 2.2345 20000001
|
||||
|
@@ -223,31 +223,31 @@ t6 CREATE TABLE `t6` (
|
||||
) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (pk1) (PARTITION x1 VALUES LESS THAN (333) ENGINE = ndbcluster, PARTITION x2 VALUES LESS THAN (720) ENGINE = ndbcluster) */
|
||||
SELECT * FROM information_schema.partitions WHERE table_name= 't1';
|
||||
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
|
||||
NULL test t1 p0 NULL 1 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default default table_space1
|
||||
NULL test t1 p1 NULL 2 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default default table_space1
|
||||
NULL test t1 p2 NULL 3 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default default table_space1
|
||||
NULL test t1 p3 NULL 4 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default default table_space1
|
||||
NULL test t1 p0 NULL 1 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default table_space1
|
||||
NULL test t1 p1 NULL 2 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default table_space1
|
||||
NULL test t1 p2 NULL 3 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default table_space1
|
||||
NULL test t1 p3 NULL 4 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default table_space1
|
||||
SELECT * FROM information_schema.partitions WHERE table_name= 't2';
|
||||
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
|
||||
NULL test t2 p0 NULL 1 NULL KEY NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default default table_space2
|
||||
NULL test t2 p1 NULL 2 NULL KEY NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default default table_space2
|
||||
NULL test t2 p0 NULL 1 NULL KEY NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default table_space2
|
||||
NULL test t2 p1 NULL 2 NULL KEY NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default table_space2
|
||||
SELECT * FROM information_schema.partitions WHERE table_name= 't3';
|
||||
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
|
||||
NULL test t3 x1 NULL 1 NULL RANGE NULL c3 NULL 105 0 0 0 NULL 0 0 NULL NULL NULL NULL default default table_space2
|
||||
NULL test t3 x2 NULL 2 NULL RANGE NULL c3 NULL 333 0 0 0 NULL 0 0 NULL NULL NULL NULL default default table_space2
|
||||
NULL test t3 x3 NULL 3 NULL RANGE NULL c3 NULL 720 0 0 0 NULL 0 0 NULL NULL NULL NULL default default table_space2
|
||||
NULL test t3 x1 NULL 1 NULL RANGE NULL c3 NULL 105 0 0 0 NULL 0 0 NULL NULL NULL NULL default table_space2
|
||||
NULL test t3 x2 NULL 2 NULL RANGE NULL c3 NULL 333 0 0 0 NULL 0 0 NULL NULL NULL NULL default table_space2
|
||||
NULL test t3 x3 NULL 3 NULL RANGE NULL c3 NULL 720 0 0 0 NULL 0 0 NULL NULL NULL NULL default table_space2
|
||||
SELECT * FROM information_schema.partitions WHERE table_name= 't4';
|
||||
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
|
||||
NULL test t4 p0 NULL 1 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default default NULL
|
||||
NULL test t4 p1 NULL 2 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default default NULL
|
||||
NULL test t4 p0 NULL 1 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default NULL
|
||||
NULL test t4 p1 NULL 2 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default NULL
|
||||
SELECT * FROM information_schema.partitions WHERE table_name= 't5';
|
||||
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
|
||||
NULL test t5 p0 NULL 1 NULL KEY NULL pk1 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default default NULL
|
||||
NULL test t5 p1 NULL 2 NULL KEY NULL pk1 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default default NULL
|
||||
NULL test t5 p0 NULL 1 NULL KEY NULL pk1 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default NULL
|
||||
NULL test t5 p1 NULL 2 NULL KEY NULL pk1 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default NULL
|
||||
SELECT * FROM information_schema.partitions WHERE table_name= 't6';
|
||||
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
|
||||
NULL test t6 x1 NULL 1 NULL RANGE NULL pk1 NULL 333 0 0 0 NULL 0 0 NULL NULL NULL NULL default default NULL
|
||||
NULL test t6 x2 NULL 2 NULL RANGE NULL pk1 NULL 720 0 0 0 NULL 0 0 NULL NULL NULL NULL default default NULL
|
||||
NULL test t6 x1 NULL 1 NULL RANGE NULL pk1 NULL 333 0 0 0 NULL 0 0 NULL NULL NULL NULL default NULL
|
||||
NULL test t6 x2 NULL 2 NULL RANGE NULL pk1 NULL 720 0 0 0 NULL 0 0 NULL NULL NULL NULL default NULL
|
||||
SELECT COUNT(*) FROM test.t1;
|
||||
COUNT(*)
|
||||
250
|
||||
@@ -389,31 +389,31 @@ t6 CREATE TABLE `t6` (
|
||||
) ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (pk1) (PARTITION x1 VALUES LESS THAN (333) ENGINE = ndbcluster, PARTITION x2 VALUES LESS THAN (720) ENGINE = ndbcluster) */
|
||||
SELECT * FROM information_schema.partitions WHERE table_name= 't1';
|
||||
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
|
||||
NULL test t1 p0 NULL 1 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default default table_space1
|
||||
NULL test t1 p1 NULL 2 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default default table_space1
|
||||
NULL test t1 p2 NULL 3 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default default table_space1
|
||||
NULL test t1 p3 NULL 4 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default default table_space1
|
||||
NULL test t1 p0 NULL 1 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default table_space1
|
||||
NULL test t1 p1 NULL 2 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default table_space1
|
||||
NULL test t1 p2 NULL 3 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default table_space1
|
||||
NULL test t1 p3 NULL 4 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default table_space1
|
||||
SELECT * FROM information_schema.partitions WHERE table_name= 't2';
|
||||
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
|
||||
NULL test t2 p0 NULL 1 NULL KEY NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default default table_space2
|
||||
NULL test t2 p1 NULL 2 NULL KEY NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default default table_space2
|
||||
NULL test t2 p0 NULL 1 NULL KEY NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default table_space2
|
||||
NULL test t2 p1 NULL 2 NULL KEY NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default table_space2
|
||||
SELECT * FROM information_schema.partitions WHERE table_name= 't3';
|
||||
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
|
||||
NULL test t3 x1 NULL 1 NULL RANGE NULL c3 NULL 105 0 0 0 NULL 0 0 NULL NULL NULL NULL default default table_space2
|
||||
NULL test t3 x2 NULL 2 NULL RANGE NULL c3 NULL 333 0 0 0 NULL 0 0 NULL NULL NULL NULL default default table_space2
|
||||
NULL test t3 x3 NULL 3 NULL RANGE NULL c3 NULL 720 0 0 0 NULL 0 0 NULL NULL NULL NULL default default table_space2
|
||||
NULL test t3 x1 NULL 1 NULL RANGE NULL c3 NULL 105 0 0 0 NULL 0 0 NULL NULL NULL NULL default table_space2
|
||||
NULL test t3 x2 NULL 2 NULL RANGE NULL c3 NULL 333 0 0 0 NULL 0 0 NULL NULL NULL NULL default table_space2
|
||||
NULL test t3 x3 NULL 3 NULL RANGE NULL c3 NULL 720 0 0 0 NULL 0 0 NULL NULL NULL NULL default table_space2
|
||||
SELECT * FROM information_schema.partitions WHERE table_name= 't4';
|
||||
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
|
||||
NULL test t4 p0 NULL 1 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default default NULL
|
||||
NULL test t4 p1 NULL 2 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default default NULL
|
||||
NULL test t4 p0 NULL 1 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default NULL
|
||||
NULL test t4 p1 NULL 2 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default NULL
|
||||
SELECT * FROM information_schema.partitions WHERE table_name= 't5';
|
||||
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
|
||||
NULL test t5 p0 NULL 1 NULL KEY NULL pk1 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default default NULL
|
||||
NULL test t5 p1 NULL 2 NULL KEY NULL pk1 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default default NULL
|
||||
NULL test t5 p0 NULL 1 NULL KEY NULL pk1 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default NULL
|
||||
NULL test t5 p1 NULL 2 NULL KEY NULL pk1 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default NULL
|
||||
SELECT * FROM information_schema.partitions WHERE table_name= 't6';
|
||||
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
|
||||
NULL test t6 x1 NULL 1 NULL RANGE NULL pk1 NULL 333 0 0 0 NULL 0 0 NULL NULL NULL NULL default default NULL
|
||||
NULL test t6 x2 NULL 2 NULL RANGE NULL pk1 NULL 720 0 0 0 NULL 0 0 NULL NULL NULL NULL default default NULL
|
||||
NULL test t6 x1 NULL 1 NULL RANGE NULL pk1 NULL 333 0 0 0 NULL 0 0 NULL NULL NULL NULL default NULL
|
||||
NULL test t6 x2 NULL 2 NULL RANGE NULL pk1 NULL 720 0 0 0 NULL 0 0 NULL NULL NULL NULL default NULL
|
||||
SELECT COUNT(*) FROM test.t1;
|
||||
COUNT(*)
|
||||
250
|
||||
|
@@ -17,9 +17,9 @@ INSERT into t1 values (10, 1, 1);
|
||||
INSERT into t1 values (15, 1, 1);
|
||||
select * from information_schema.partitions where table_name= 't1';
|
||||
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
|
||||
NULL test t1 x1 NULL 1 NULL RANGE NULL a NULL 5 0 0 0 # 0 0 # # NULL NULL default default NULL
|
||||
NULL test t1 x2 NULL 2 NULL RANGE NULL a NULL 10 0 0 0 # 0 0 # # NULL NULL default default NULL
|
||||
NULL test t1 x3 NULL 3 NULL RANGE NULL a NULL 20 0 0 0 # 0 0 # # NULL NULL default default NULL
|
||||
NULL test t1 x1 NULL 1 NULL RANGE NULL a NULL 5 0 0 0 # 0 0 # # NULL NULL default NULL
|
||||
NULL test t1 x2 NULL 2 NULL RANGE NULL a NULL 10 0 0 0 # 0 0 # # NULL NULL default NULL
|
||||
NULL test t1 x3 NULL 3 NULL RANGE NULL a NULL 20 0 0 0 # 0 0 # # NULL NULL default NULL
|
||||
select * from t1 order by a;
|
||||
a b c
|
||||
1 1 1
|
||||
|
@@ -1249,4 +1249,22 @@ show table status;
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 MyISAM 10 Fixed 3 7 21 0 0 0 4 NULL NULL NULL latin1_swedish_ci NULL partitioned
|
||||
drop table t1;
|
||||
CREATE TABLE t1(a INT NOT NULL, b TINYBLOB, KEY(a))
|
||||
PARTITION BY RANGE(a) ( PARTITION p0 VALUES LESS THAN (32));
|
||||
INSERT INTO t1 VALUES (1, REPEAT('a', 10));
|
||||
INSERT INTO t1 SELECT a + 1, b FROM t1;
|
||||
INSERT INTO t1 SELECT a + 2, b FROM t1;
|
||||
INSERT INTO t1 SELECT a + 4, b FROM t1;
|
||||
INSERT INTO t1 SELECT a + 8, b FROM t1;
|
||||
ALTER TABLE t1 ADD PARTITION (PARTITION p1 VALUES LESS THAN (64));
|
||||
ALTER TABLE t1 DROP PARTITION p1;
|
||||
DROP TABLE t1;
|
||||
USE mysql;
|
||||
SET GLOBAL general_log = 0;
|
||||
ALTER TABLE general_log ENGINE = MyISAM;
|
||||
ALTER TABLE general_log PARTITION BY RANGE (TO_DAYS(event_time))
|
||||
(PARTITION p0 VALUES LESS THAN (733144), PARTITION p1 VALUES LESS THAN (3000000));
|
||||
ERROR HY000: Incorrect usage of PARTITION and log table
|
||||
ALTER TABLE general_log ENGINE = CSV;
|
||||
SET GLOBAL general_log = default;
|
||||
End of 5.1 tests
|
||||
|
@@ -2853,7 +2853,6 @@ a
|
||||
3
|
||||
4
|
||||
DROP TABLE t1,t2,t3;
|
||||
purge master logs before (select adddate(current_timestamp(), interval -4 day));
|
||||
CREATE TABLE t1 (f1 INT);
|
||||
CREATE TABLE t2 (f2 INT);
|
||||
INSERT INTO t1 VALUES (1);
|
||||
@@ -4081,6 +4080,32 @@ id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
Warnings:
|
||||
Note 1003 select `res`.`count(*)` AS `count(*)` from (select count(0) AS `count(*)` from `test`.`t1` group by `test`.`t1`.`a`) `res`
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (
|
||||
a varchar(255) default NULL,
|
||||
b timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
|
||||
INDEX idx(a,b)
|
||||
);
|
||||
CREATE TABLE t2 (
|
||||
a varchar(255) default NULL
|
||||
);
|
||||
INSERT INTO t1 VALUES ('abcdefghijk','2007-05-07 06:00:24');
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
INSERT INTO `t1` VALUES ('asdf','2007-02-08 01:11:26');
|
||||
INSERT INTO `t2` VALUES ('abcdefghijk');
|
||||
INSERT INTO `t2` VALUES ('asdf');
|
||||
SET session sort_buffer_size=8192;
|
||||
SELECT (SELECT 1 FROM t1 WHERE t1.a=t2.a ORDER BY t1.b LIMIT 1) AS d1 FROM t2;
|
||||
d1
|
||||
1
|
||||
1
|
||||
DROP TABLE t1,t2;
|
||||
End of 5.0 tests.
|
||||
CREATE TABLE t1 (a int, b int);
|
||||
INSERT INTO t1 VALUES (2,22),(1,11),(2,22);
|
||||
|
@@ -1 +1,3 @@
|
||||
purge master logs before (select adddate(current_timestamp(), interval -4 day));
|
||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'select adddate(current_timestamp(), interval -4 day))' at line 1
|
||||
purge master logs before adddate(current_timestamp(), interval -4 day);
|
||||
|
@@ -1454,19 +1454,22 @@ CREATE TABLE t2 (id INTEGER);
|
||||
INSERT INTO t2 VALUES (1),(2);
|
||||
CREATE TRIGGER t1_test AFTER INSERT ON t1 FOR EACH ROW
|
||||
INSERT INTO t2 VALUES (new.id);
|
||||
SELECT GET_LOCK('B26162',20);
|
||||
GET_LOCK('B26162',20)
|
||||
SELECT GET_LOCK('B26162',120);
|
||||
GET_LOCK('B26162',120)
|
||||
1
|
||||
SELECT 'rl_acquirer', GET_LOCK('B26162',5), id FROM t2 WHERE id = 1;
|
||||
SELECT 'rl_acquirer', GET_LOCK('B26162',120), id FROM t2 WHERE id = 1;
|
||||
SET SESSION LOW_PRIORITY_UPDATES=1;
|
||||
SET GLOBAL LOW_PRIORITY_UPDATES=1;
|
||||
INSERT INTO t1 VALUES (5);
|
||||
SELECT 'rl_contender', id FROM t2 WHERE id > 1;
|
||||
SELECT RELEASE_LOCK('B26162');
|
||||
RELEASE_LOCK('B26162')
|
||||
0
|
||||
rl_acquirer GET_LOCK('B26162',5) id
|
||||
rl_acquirer 0 1
|
||||
1
|
||||
rl_acquirer GET_LOCK('B26162',120) id
|
||||
rl_acquirer 1 1
|
||||
SELECT RELEASE_LOCK('B26162');
|
||||
RELEASE_LOCK('B26162')
|
||||
1
|
||||
rl_contender id
|
||||
rl_contender 2
|
||||
DROP TRIGGER t1_test;
|
||||
|
@@ -411,6 +411,22 @@ if(@bug28261 = f1, '', @bug28261:= f1)
|
||||
2001-01-01
|
||||
2002-02-02
|
||||
drop table t1;
|
||||
create table t1(f1 datetime);
|
||||
insert into t1 values('2001-01-01'),('2002-02-02');
|
||||
select * from t1 where f1 between 20020101 and 20070101000000;
|
||||
f1
|
||||
2002-02-02 00:00:00
|
||||
select * from t1 where f1 between 2002010 and 20070101000000;
|
||||
f1
|
||||
2001-01-01 00:00:00
|
||||
2002-02-02 00:00:00
|
||||
Warnings:
|
||||
Warning 1292 Incorrect datetime value: '2002010' for column 'f1' at row 1
|
||||
select * from t1 where f1 between 20020101 and 2007010100000;
|
||||
f1
|
||||
Warnings:
|
||||
Warning 1292 Incorrect datetime value: '2007010100000' for column 'f1' at row 1
|
||||
drop table t1;
|
||||
set @org_mode=@@sql_mode;
|
||||
create table t1 (da date default '1962-03-03 23:33:34', dt datetime default '1962-03-03');
|
||||
Warnings:
|
||||
|
@@ -790,3 +790,12 @@ Warning 1292 Incorrect datetime value: '0000-00-00'
|
||||
Warning 1292 Incorrect datetime value: '0000-00-00'
|
||||
Warning 1292 Incorrect datetime value: '0000-00-00'
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (
|
||||
qty decimal(16,6) default NULL,
|
||||
dps tinyint(3) unsigned default NULL
|
||||
);
|
||||
INSERT INTO t1 VALUES (1.1325,3);
|
||||
SELECT ROUND(qty,3), dps, ROUND(qty,dps) FROM t1;
|
||||
ROUND(qty,3) dps ROUND(qty,dps)
|
||||
1.133 3 1.133
|
||||
DROP TABLE t1;
|
||||
|
@@ -1,4 +1,4 @@
|
||||
drop table if exists t1,t2;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9,t10;
|
||||
create table t1 (id int not null, f_id int not null, f int not null,
|
||||
primary key(f_id, id)) engine = InnoDB;
|
||||
create table t2 (id int not null,s_id int not null,s varchar(200),
|
||||
|
@@ -970,3 +970,8 @@ set global server_id =@my_server_id;
|
||||
set global slow_launch_time =@my_slow_launch_time;
|
||||
set global storage_engine =@my_storage_engine;
|
||||
set global thread_cache_size =@my_thread_cache_size;
|
||||
show global variables where Variable_name='table_definition_cache' or
|
||||
Variable_name='table_lock_wait_timeout';
|
||||
Variable_name Value
|
||||
table_definition_cache #
|
||||
table_lock_wait_timeout #
|
||||
|
@@ -23,6 +23,9 @@ c
|
||||
5
|
||||
6
|
||||
11
|
||||
select is_updatable from information_schema.views where table_name='v1';
|
||||
is_updatable
|
||||
NO
|
||||
create temporary table t1 (a int, b int);
|
||||
select * from t1;
|
||||
a b
|
||||
@@ -322,6 +325,12 @@ create table t1 (a int, b int, primary key(a));
|
||||
insert into t1 values (10,2), (20,3), (30,4), (40,5), (50,10);
|
||||
create view v1 (a,c) as select a, b+1 from t1;
|
||||
create algorithm=temptable view v2 (a,c) as select a, b+1 from t1;
|
||||
select is_updatable from information_schema.views where table_name='v2';
|
||||
is_updatable
|
||||
NO
|
||||
select is_updatable from information_schema.views where table_name='v1';
|
||||
is_updatable
|
||||
YES
|
||||
update v1 set c=a+c;
|
||||
ERROR HY000: Column 'c' is not updatable
|
||||
update v2 set a=a+c;
|
||||
@@ -604,6 +613,10 @@ insert into t1 values(5,'Hello, world of views');
|
||||
create view v1 as select * from t1;
|
||||
create view v2 as select * from v1;
|
||||
update v2 set col2='Hello, view world';
|
||||
select is_updatable from information_schema.views;
|
||||
is_updatable
|
||||
YES
|
||||
YES
|
||||
select * from t1;
|
||||
col1 col2
|
||||
5 Hello, view world
|
||||
|
@@ -1,5 +1,6 @@
|
||||
# This test is to verify replication with PS
|
||||
|
||||
-- source include/not_embedded.inc
|
||||
-- source include/have_binlog_format_mixed_or_statement.inc
|
||||
|
||||
-- disable_query_log
|
||||
|
@@ -43,7 +43,6 @@ rpl_ndb_ddl : BUG#28798 2007-05-31 lars Valgrind failure in NDB
|
||||
|
||||
#rpl_ndb_dd_advance : Bug#25913 rpl_ndb_dd_advance fails randomly
|
||||
|
||||
rpl_ndb_stm_innodb : Bug#26783
|
||||
ndb_partition_error2 : HF is not sure if the test can work as internded on all the platforms
|
||||
|
||||
im_options_set : Bug#20294: Instance manager tests fail randomly
|
||||
|
1
mysql-test/t/error_simulation-master.opt
Normal file
1
mysql-test/t/error_simulation-master.opt
Normal file
@@ -0,0 +1 @@
|
||||
--loose-debug=d,raise_error
|
30
mysql-test/t/error_simulation.test
Normal file
30
mysql-test/t/error_simulation.test
Normal file
@@ -0,0 +1,30 @@
|
||||
-- source include/have_debug.inc
|
||||
|
||||
#
|
||||
# Bug #28499: crash for grouping query when tmp_table_size is too small
|
||||
#
|
||||
|
||||
DROP TABLE IF EXISTS t1;
|
||||
|
||||
CREATE TABLE t1 (
|
||||
a varchar(32) character set utf8 collate utf8_bin NOT NULL,
|
||||
b varchar(32) character set utf8 collate utf8_bin NOT NULL )
|
||||
ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
INSERT INTO t1 VALUES
|
||||
('AAAAAAAAAA','AAAAAAAAAA'), ('AAAAAAAAAB','AAAAAAAAAB '),
|
||||
('AAAAAAAAAB','AAAAAAAAAB'), ('AAAAAAAAAC','AAAAAAAAAC'),
|
||||
('AAAAAAAAAD','AAAAAAAAAD'), ('AAAAAAAAAE','AAAAAAAAAE'),
|
||||
('AAAAAAAAAF','AAAAAAAAAF'), ('AAAAAAAAAG','AAAAAAAAAG'),
|
||||
('AAAAAAAAAH','AAAAAAAAAH'), ('AAAAAAAAAI','AAAAAAAAAI'),
|
||||
('AAAAAAAAAJ','AAAAAAAAAJ'), ('AAAAAAAAAK','AAAAAAAAAK');
|
||||
|
||||
set tmp_table_size=1024;
|
||||
|
||||
--replace_regex /in table '[^']+'/in table 'tmp_table'/
|
||||
--error ER_DUP_KEY
|
||||
SELECT MAX(a) FROM t1 GROUP BY a,b;
|
||||
|
||||
set tmp_table_size=default;
|
||||
|
||||
DROP TABLE t1;
|
@@ -3,6 +3,8 @@
|
||||
# We verify that we did not introduce a deadlock.
|
||||
# This is intended to mimick how mysqldump and innobackup work.
|
||||
|
||||
-- source include/have_log_bin.inc
|
||||
|
||||
# And it requires InnoDB
|
||||
-- source include/have_log_bin.inc
|
||||
-- source include/have_innodb.inc
|
||||
|
@@ -558,6 +558,19 @@ SELECT Overlaps(@horiz1, @point2) FROM DUAL;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# Bug#28763: Selecting geometry fields in UNION caused server crash.
|
||||
#
|
||||
create table t1(f1 geometry, f2 point, f3 linestring);
|
||||
select f1 from t1 union select f1 from t1;
|
||||
insert into t1 (f2,f3) values (GeomFromText('POINT(1 1)'),
|
||||
GeomFromText('LINESTRING(0 0,1 1,2 2)'));
|
||||
select AsText(f2),AsText(f3) from t1;
|
||||
select AsText(a) from (select f2 as a from t1 union select f3 from t1) t;
|
||||
create table t2 as select f2 as a from t1 union select f3 from t1;
|
||||
desc t2;
|
||||
select AsText(a) from t2;
|
||||
drop table t1, t2;
|
||||
--echo End of 5.0 tests
|
||||
|
||||
|
||||
|
@@ -555,5 +555,35 @@ drop database mysqltest_1;
|
||||
drop database mysqltest_2;
|
||||
drop user mysqltest_u1@localhost;
|
||||
|
||||
#
|
||||
# Bug#18660 Can't grant any privileges on single table in database
|
||||
# with underscore char
|
||||
#
|
||||
grant all on `mysqltest\_%`.* to mysqltest_1@localhost with grant option;
|
||||
grant usage on *.* to mysqltest_2@localhost;
|
||||
connect (con18600_1,localhost,mysqltest_1,,);
|
||||
|
||||
create database mysqltest_1;
|
||||
use mysqltest_1;
|
||||
create table t1 (f1 int);
|
||||
|
||||
grant create on `mysqltest\_1`.* to mysqltest_2@localhost;
|
||||
grant select on mysqltest_1.t1 to mysqltest_2@localhost;
|
||||
connect (con3,localhost,mysqltest_2,,);
|
||||
connection con3;
|
||||
--error 1044
|
||||
create database mysqltest_3;
|
||||
use mysqltest_1;
|
||||
create table t2(f1 int);
|
||||
select * from t1;
|
||||
connection default;
|
||||
drop database mysqltest_1;
|
||||
|
||||
revoke all privileges, grant option from mysqltest_1@localhost;
|
||||
revoke all privileges, grant option from mysqltest_2@localhost;
|
||||
drop user mysqltest_1@localhost;
|
||||
drop user mysqltest_2@localhost;
|
||||
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
||||
|
@@ -780,7 +780,7 @@ INSERT INTO t1 SELECT a + 8,b FROM t1;
|
||||
INSERT INTO t1 SELECT a + 16,b FROM t1;
|
||||
INSERT INTO t1 SELECT a + 32,b FROM t1;
|
||||
INSERT INTO t1 SELECT a + 64,b FROM t1;
|
||||
INSERT INTO t1 SELECT a + 128,b FROM t1;
|
||||
INSERT INTO t1 SELECT a + 128,b FROM t1 limit 16;
|
||||
ANALYZE TABLE t1;
|
||||
EXPLAIN SELECT a FROM t1 WHERE a < 2;
|
||||
EXPLAIN SELECT a FROM t1 WHERE a < 2 ORDER BY a;
|
||||
|
@@ -1024,6 +1024,21 @@ where t.table_schema = 'information_schema' and
|
||||
group by c2.column_type order by num limit 1)
|
||||
group by t.table_name order by num1, t.table_name;
|
||||
|
||||
#
|
||||
# Bug#28266 IS_UPDATABLE field on VIEWS table in I_S database is wrong
|
||||
#
|
||||
create table t1(f1 int);
|
||||
create view v1 as select f1+1 as a from t1;
|
||||
create table t2 (f1 int, f2 int);
|
||||
create view v2 as select f1+1 as a, f2 as b from t2;
|
||||
select table_name, is_updatable from information_schema.views;
|
||||
#
|
||||
# Note: we can perform 'delete' for non updatable view.
|
||||
#
|
||||
delete from v1;
|
||||
drop view v1,v2;
|
||||
drop table t1,t2;
|
||||
|
||||
--echo End of 5.0 tests.
|
||||
#
|
||||
# Show engines
|
||||
|
@@ -290,3 +290,19 @@ INSERT IGNORE INTO t1 (id,c1) SELECT * FROM t2
|
||||
SELECT * FROM t1;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# Bug#28904: INSERT .. ON DUPLICATE was silently updating rows when it
|
||||
# shouldn't.
|
||||
#
|
||||
create table t1(f1 int primary key,
|
||||
f2 timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP);
|
||||
insert into t1(f1) values(1);
|
||||
--replace_column 1 #
|
||||
select @stamp1:=f2 from t1;
|
||||
--sleep 2
|
||||
insert into t1(f1) values(1) on duplicate key update f1=1;
|
||||
--replace_column 1 #
|
||||
select @stamp2:=f2 from t1;
|
||||
select if( @stamp1 = @stamp2, "correct", "wrong");
|
||||
drop table t1;
|
||||
|
@@ -2,6 +2,9 @@
|
||||
--source include/not_embedded.inc
|
||||
--source include/have_log_bin.inc
|
||||
|
||||
# Binlog is required
|
||||
--source include/have_log_bin.inc
|
||||
|
||||
--disable_warnings
|
||||
DROP TABLE IF EXISTS t1, `"t"1`, t1aa, t2, t2aa, t3;
|
||||
drop database if exists mysqldump_test_db;
|
||||
|
@@ -1,3 +1,5 @@
|
||||
-- source include/have_log_bin.inc
|
||||
|
||||
# This test should work in embedded server after mysqltest is fixed
|
||||
-- source include/not_embedded.inc
|
||||
|
||||
|
@@ -752,46 +752,6 @@ INSERT INTO t1 VALUES
|
||||
SELECT * FROM t1 ORDER BY a;
|
||||
DROP TABLE t1;
|
||||
|
||||
# End of 5.0 tests
|
||||
--echo End of 5.0 tests
|
||||
|
||||
|
||||
#
|
||||
# Bug #18483 Cannot create table with FK constraint
|
||||
# ndb does not support foreign key constraint, it is silently ignored
|
||||
# in line with other storage engines
|
||||
#
|
||||
CREATE TABLE t1 (a VARCHAR(255) NOT NULL,
|
||||
CONSTRAINT pk_a PRIMARY KEY (a))engine=ndb;
|
||||
CREATE TABLE t2(a VARCHAR(255) NOT NULL,
|
||||
b VARCHAR(255) NOT NULL,
|
||||
c VARCHAR(255) NOT NULL,
|
||||
CONSTRAINT pk_b_c_id PRIMARY KEY (b,c),
|
||||
CONSTRAINT fk_a FOREIGN KEY(a) REFERENCES t1(a))engine=ndb;
|
||||
drop table t1, t2;
|
||||
|
||||
# bug#24301
|
||||
create table t1 (a int not null primary key, b int) engine=ndb;
|
||||
insert into t1 values(1,1),(2,2),(3,3);
|
||||
create table t2 like t1;
|
||||
insert into t2 select * from t1;
|
||||
select * from t1 order by a;
|
||||
select * from t2 order by a;
|
||||
drop table t1, t2;
|
||||
|
||||
# create table if not exists
|
||||
--disable_warnings
|
||||
create table t1 (a int not null primary key, b int not null default 0, c varchar(254)) engine=ndb;
|
||||
create table if not exists t1 (a int not null primary key, b int not null default 0, c varchar(254)) engine=ndb;
|
||||
--enable_warnings
|
||||
|
||||
# create like
|
||||
create table t2 like t1;
|
||||
|
||||
# multi rename
|
||||
rename table t1 to t10, t2 to t20;
|
||||
drop table t10,t20;
|
||||
|
||||
# delete
|
||||
create table t1 (a int not null primary key, b int not null) engine=ndb;
|
||||
create table t2 (a int not null primary key, b int not null) engine=ndb;
|
||||
@@ -832,4 +792,44 @@ update ignore t1,t2 set a = 1, c = 1 where a = 3 and c = 3;
|
||||
select * from t1 order by a;
|
||||
drop table t1,t2;
|
||||
|
||||
# End of 5.0 tests
|
||||
--echo End of 5.0 tests
|
||||
|
||||
|
||||
#
|
||||
# Bug #18483 Cannot create table with FK constraint
|
||||
# ndb does not support foreign key constraint, it is silently ignored
|
||||
# in line with other storage engines
|
||||
#
|
||||
CREATE TABLE t1 (a VARCHAR(255) NOT NULL,
|
||||
CONSTRAINT pk_a PRIMARY KEY (a))engine=ndb;
|
||||
CREATE TABLE t2(a VARCHAR(255) NOT NULL,
|
||||
b VARCHAR(255) NOT NULL,
|
||||
c VARCHAR(255) NOT NULL,
|
||||
CONSTRAINT pk_b_c_id PRIMARY KEY (b,c),
|
||||
CONSTRAINT fk_a FOREIGN KEY(a) REFERENCES t1(a))engine=ndb;
|
||||
drop table t1, t2;
|
||||
|
||||
# bug#24301
|
||||
create table t1 (a int not null primary key, b int) engine=ndb;
|
||||
insert into t1 values(1,1),(2,2),(3,3);
|
||||
create table t2 like t1;
|
||||
insert into t2 select * from t1;
|
||||
select * from t1 order by a;
|
||||
select * from t2 order by a;
|
||||
drop table t1, t2;
|
||||
|
||||
# create table if not exists
|
||||
--disable_warnings
|
||||
create table t1 (a int not null primary key, b int not null default 0, c varchar(254)) engine=ndb;
|
||||
create table if not exists t1 (a int not null primary key, b int not null default 0, c varchar(254)) engine=ndb;
|
||||
--enable_warnings
|
||||
|
||||
# create like
|
||||
create table t2 like t1;
|
||||
|
||||
# multi rename
|
||||
rename table t1 to t10, t2 to t20;
|
||||
drop table t10,t20;
|
||||
|
||||
--echo End of 5.1 tests
|
||||
|
@@ -1464,5 +1464,34 @@ insert into t1 values (null), (null), (null);
|
||||
--replace_column 9 0 12 NULL 13 NULL 14 NULL
|
||||
show table status;
|
||||
drop table t1;
|
||||
# Bug #28488: Incorrect information in file: './test/t1_test#.frm'
|
||||
#
|
||||
|
||||
CREATE TABLE t1(a INT NOT NULL, b TINYBLOB, KEY(a))
|
||||
PARTITION BY RANGE(a) ( PARTITION p0 VALUES LESS THAN (32));
|
||||
INSERT INTO t1 VALUES (1, REPEAT('a', 10));
|
||||
INSERT INTO t1 SELECT a + 1, b FROM t1;
|
||||
INSERT INTO t1 SELECT a + 2, b FROM t1;
|
||||
INSERT INTO t1 SELECT a + 4, b FROM t1;
|
||||
INSERT INTO t1 SELECT a + 8, b FROM t1;
|
||||
|
||||
ALTER TABLE t1 ADD PARTITION (PARTITION p1 VALUES LESS THAN (64));
|
||||
ALTER TABLE t1 DROP PARTITION p1;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# Bug #27816: Log tables ran with partitions crashes the server when logging
|
||||
# is enabled.
|
||||
#
|
||||
|
||||
USE mysql;
|
||||
SET GLOBAL general_log = 0;
|
||||
ALTER TABLE general_log ENGINE = MyISAM;
|
||||
--error ER_WRONG_USAGE
|
||||
ALTER TABLE general_log PARTITION BY RANGE (TO_DAYS(event_time))
|
||||
(PARTITION p0 VALUES LESS THAN (733144), PARTITION p1 VALUES LESS THAN (3000000));
|
||||
ALTER TABLE general_log ENGINE = CSV;
|
||||
SET GLOBAL general_log = default;
|
||||
|
||||
--echo End of 5.1 tests
|
||||
|
@@ -2,6 +2,7 @@
|
||||
# tests that require InnoDB...
|
||||
#
|
||||
|
||||
-- source include/have_log_bin.inc
|
||||
-- source include/have_innodb.inc
|
||||
|
||||
--disable_warnings
|
||||
|
@@ -1821,13 +1821,6 @@ SELECT * FROM t1
|
||||
|
||||
DROP TABLE t1,t2,t3;
|
||||
|
||||
#
|
||||
# BUG #10308: purge log with subselect
|
||||
#
|
||||
|
||||
purge master logs before (select adddate(current_timestamp(), interval -4 day));
|
||||
|
||||
|
||||
#
|
||||
# Bug#18503: Queries with a quantified subquery returning empty set may
|
||||
# return a wrong result.
|
||||
@@ -2920,6 +2913,38 @@ SELECT * FROM (SELECT count(*) FROM t1 GROUP BY a) as res;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# Bug #28811: crash for query containing subquery with ORDER BY and LIMIT 1
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (
|
||||
a varchar(255) default NULL,
|
||||
b timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
|
||||
INDEX idx(a,b)
|
||||
);
|
||||
CREATE TABLE t2 (
|
||||
a varchar(255) default NULL
|
||||
);
|
||||
|
||||
INSERT INTO t1 VALUES ('abcdefghijk','2007-05-07 06:00:24');
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
INSERT INTO `t1` VALUES ('asdf','2007-02-08 01:11:26');
|
||||
INSERT INTO `t2` VALUES ('abcdefghijk');
|
||||
INSERT INTO `t2` VALUES ('asdf');
|
||||
|
||||
SET session sort_buffer_size=8192;
|
||||
|
||||
SELECT (SELECT 1 FROM t1 WHERE t1.a=t2.a ORDER BY t1.b LIMIT 1) AS d1 FROM t2;
|
||||
|
||||
DROP TABLE t1,t2;
|
||||
|
||||
--echo End of 5.0 tests.
|
||||
|
||||
#
|
||||
|
@@ -1,8 +1,9 @@
|
||||
-- source include/not_embedded.inc
|
||||
|
||||
#
|
||||
# BUG #10308: purge log with subselect
|
||||
# BUG#10308: purge log with subselect
|
||||
# Bug#28553: mysqld crash in "purge master log before(select time from information_schema)"
|
||||
#
|
||||
|
||||
--error 1064
|
||||
purge master logs before (select adddate(current_timestamp(), interval -4 day));
|
||||
|
||||
purge master logs before adddate(current_timestamp(), interval -4 day);
|
||||
|
@@ -1763,6 +1763,9 @@ select * from t1;
|
||||
select * from t3;
|
||||
drop table t1, t2, t3;
|
||||
|
||||
disconnect addconroot1;
|
||||
disconnect addconroot2;
|
||||
disconnect addconwithoutdb;
|
||||
#
|
||||
# Bug #26162: Trigger DML ignores low_priority_updates setting
|
||||
#
|
||||
@@ -1776,19 +1779,23 @@ INSERT INTO t2 VALUES (1),(2);
|
||||
CREATE TRIGGER t1_test AFTER INSERT ON t1 FOR EACH ROW
|
||||
INSERT INTO t2 VALUES (new.id);
|
||||
|
||||
CONNECT (rl_holder, localhost, root,,);
|
||||
CONNECT (rl_acquirer, localhost, root,,);
|
||||
CONNECT (wl_acquirer, localhost, root,,);
|
||||
CONNECT (rl_contender, localhost, root,,);
|
||||
|
||||
SELECT GET_LOCK('B26162',20);
|
||||
CONNECTION rl_holder;
|
||||
SELECT GET_LOCK('B26162',120);
|
||||
|
||||
CONNECTION rl_acquirer;
|
||||
--send
|
||||
SELECT 'rl_acquirer', GET_LOCK('B26162',5), id FROM t2 WHERE id = 1;
|
||||
SELECT 'rl_acquirer', GET_LOCK('B26162',120), id FROM t2 WHERE id = 1;
|
||||
|
||||
CONNECTION wl_acquirer;
|
||||
SET SESSION LOW_PRIORITY_UPDATES=1;
|
||||
SET GLOBAL LOW_PRIORITY_UPDATES=1;
|
||||
#need to wait for rl_acquirer to lock on the B26162 lock
|
||||
sleep 2;
|
||||
--send
|
||||
INSERT INTO t1 VALUES (5);
|
||||
|
||||
@@ -1798,13 +1805,16 @@ CONNECTION rl_contender;
|
||||
--send
|
||||
SELECT 'rl_contender', id FROM t2 WHERE id > 1;
|
||||
|
||||
CONNECTION default;
|
||||
CONNECTION rl_holder;
|
||||
#need to wait for wl_acquirer and rl_contender to lock on t2
|
||||
sleep 2;
|
||||
SELECT RELEASE_LOCK('B26162');
|
||||
|
||||
CONNECTION wl_acquirer;
|
||||
--reap
|
||||
CONNECTION rl_acquirer;
|
||||
--reap
|
||||
SELECT RELEASE_LOCK('B26162');
|
||||
CONNECTION wl_acquirer;
|
||||
--reap
|
||||
CONNECTION rl_contender;
|
||||
--reap
|
||||
|
||||
@@ -1812,6 +1822,7 @@ CONNECTION default;
|
||||
DISCONNECT rl_acquirer;
|
||||
DISCONNECT wl_acquirer;
|
||||
DISCONNECT rl_contender;
|
||||
DISCONNECT rl_holder;
|
||||
|
||||
DROP TRIGGER t1_test;
|
||||
DROP TABLE t1,t2;
|
||||
|
@@ -272,6 +272,16 @@ select if(@bug28261 = f1, '', @bug28261:= f1) from t1;
|
||||
select if(@bug28261 = f1, '', @bug28261:= f1) from t1;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Bug#28778: Wrong result of BETWEEN when comparing a DATETIME field with an
|
||||
# integer constants.
|
||||
#
|
||||
create table t1(f1 datetime);
|
||||
insert into t1 values('2001-01-01'),('2002-02-02');
|
||||
select * from t1 where f1 between 20020101 and 20070101000000;
|
||||
select * from t1 where f1 between 2002010 and 20070101000000;
|
||||
select * from t1 where f1 between 20020101 and 2007010100000;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Test of storing datetime into date fields
|
||||
|
@@ -394,3 +394,17 @@ create table t1 as
|
||||
from (select 1 as s,'t' as t union select null, null ) as sub1;
|
||||
select group_concat(t) from t1 group by week(date)/10;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Bug#28980: ROUND(<dec expr>, <int col>) returned double values
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (
|
||||
qty decimal(16,6) default NULL,
|
||||
dps tinyint(3) unsigned default NULL
|
||||
);
|
||||
INSERT INTO t1 VALUES (1.1325,3);
|
||||
|
||||
SELECT ROUND(qty,3), dps, ROUND(qty,dps) FROM t1;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
@@ -760,3 +760,9 @@ set global slow_launch_time =@my_slow_launch_time;
|
||||
set global storage_engine =@my_storage_engine;
|
||||
set global thread_cache_size =@my_thread_cache_size;
|
||||
|
||||
#
|
||||
# Bug#28580 Repeatation of status variables
|
||||
#
|
||||
--replace_column 2 #
|
||||
show global variables where Variable_name='table_definition_cache' or
|
||||
Variable_name='table_lock_wait_timeout';
|
||||
|
@@ -32,6 +32,7 @@ create view v1 (c,d) as select a,b from t1
|
||||
# simple view
|
||||
create view v1 (c) as select b+1 from t1;
|
||||
select c from v1;
|
||||
select is_updatable from information_schema.views where table_name='v1';
|
||||
|
||||
# temporary table should not hide table of view
|
||||
create temporary table t1 (a int, b int);
|
||||
@@ -228,6 +229,8 @@ create table t1 (a int, b int, primary key(a));
|
||||
insert into t1 values (10,2), (20,3), (30,4), (40,5), (50,10);
|
||||
create view v1 (a,c) as select a, b+1 from t1;
|
||||
create algorithm=temptable view v2 (a,c) as select a, b+1 from t1;
|
||||
select is_updatable from information_schema.views where table_name='v2';
|
||||
select is_updatable from information_schema.views where table_name='v1';
|
||||
# try to update expression
|
||||
-- error 1348
|
||||
update v1 set c=a+c;
|
||||
@@ -497,6 +500,7 @@ insert into t1 values(5,'Hello, world of views');
|
||||
create view v1 as select * from t1;
|
||||
create view v2 as select * from v1;
|
||||
update v2 set col2='Hello, view world';
|
||||
select is_updatable from information_schema.views;
|
||||
select * from t1;
|
||||
drop view v2, v1;
|
||||
drop table t1;
|
||||
|
Reference in New Issue
Block a user