mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Merged
sql/ha_ndbcluster.h: Auto merged
This commit is contained in:
@ -19,6 +19,13 @@
|
||||
|
||||
if HAVE_NDBCLUSTER_DB
|
||||
SUBDIRS = ndb
|
||||
DIST_SUBDIRS=ndb
|
||||
else
|
||||
# If one uses automake conditionals, automake will automatically
|
||||
# include all possible branches to DIST_SUBDIRS goal.
|
||||
# Reset DIST_SUBDIRS if we don't use NDB
|
||||
SUBDIRS=
|
||||
DIST_SUBDIRS=
|
||||
endif
|
||||
|
||||
benchdir_root= $(prefix)
|
||||
@ -79,6 +86,7 @@ SUFFIXES = .sh
|
||||
-e 's!@''MYSQL_TCP_PORT''@!@MYSQL_TCP_PORT@!' \
|
||||
-e 's!@''MYSQL_BASE_VERSION''@!@MYSQL_BASE_VERSION@!' \
|
||||
-e 's!@''MYSQL_UNIX_ADDR''@!@MYSQL_UNIX_ADDR@!' \
|
||||
-e 's!@''MYSQL_TCP_PORT''@!@MYSQL_TCP_PORT@!' \
|
||||
-e 's!@''MYSQL_NO_DASH_VERSION''@!@MYSQL_NO_DASH_VERSION@!' \
|
||||
-e 's!@''MYSQL_SERVER_SUFFIX''@!@MYSQL_SERVER_SUFFIX@!' \
|
||||
$< > $@-t
|
||||
|
4
mysql-test/include/have_debug.inc
Normal file
4
mysql-test/include/have_debug.inc
Normal file
@ -0,0 +1,4 @@
|
||||
-- require r/have_debug.require
|
||||
disable_query_log;
|
||||
select (version() like "%debug%") as debug;
|
||||
enable_query_log;
|
4
mysql-test/misc/kill_master.sh
Normal file
4
mysql-test/misc/kill_master.sh
Normal file
@ -0,0 +1,4 @@
|
||||
kill -9 `cat var/run/master.pid`
|
||||
# The kill may fail if process has already gone away,
|
||||
# so don't use the exit code of the kill. Use 0.
|
||||
exit 0
|
@ -202,6 +202,7 @@ MASTER_MYPORT=9306
|
||||
SLAVE_RUNNING=0
|
||||
SLAVE_MYPORT=9307
|
||||
MYSQL_MANAGER_PORT=9305 # needs to be out of the way of slaves
|
||||
NDBCLUSTER_PORT=9350
|
||||
MYSQL_MANAGER_PW_FILE=$MYSQL_TEST_DIR/var/tmp/manager.pwd
|
||||
MYSQL_MANAGER_LOG=$MYSQL_TEST_DIR/var/log/manager.log
|
||||
MYSQL_MANAGER_USER=root
|
||||
@ -258,6 +259,7 @@ while test $# -gt 0; do
|
||||
--master_port=*) MASTER_MYPORT=`$ECHO "$1" | $SED -e "s;--master_port=;;"` ;;
|
||||
--slave_port=*) SLAVE_MYPORT=`$ECHO "$1" | $SED -e "s;--slave_port=;;"` ;;
|
||||
--manager-port=*) MYSQL_MANAGER_PORT=`$ECHO "$1" | $SED -e "s;--manager_port=;;"` ;;
|
||||
--ndbcluster_port=*) NDBCLUSTER_PORT=`$ECHO "$1" | $SED -e "s;--ndbcluster_port=;;"` ;;
|
||||
--with-openssl)
|
||||
EXTRA_MASTER_MYSQLD_OPT="$EXTRA_MASTER_MYSQLD_OPT \
|
||||
--ssl-ca=$BASEDIR/SSL/cacert.pem \
|
||||
@ -689,7 +691,7 @@ report_stats () {
|
||||
#
|
||||
$RM -f $MY_LOG_DIR/warnings $MY_LOG_DIR/warnings.tmp
|
||||
# Remove some non fatal warnings from the log files
|
||||
$SED -e 's!Warning: Table:.* on delete!!g' \
|
||||
$SED -e 's!Warning: Table:.* on delete!!g' -e 's!Warning: Setting lower_case_table_names=2!!g' -e 's!Warning: One can only use the --user.*root!!g' \
|
||||
$MY_LOG_DIR/*.err \
|
||||
| $SED -e 's!Warning: Table:.* on rename!!g' \
|
||||
> $MY_LOG_DIR/warnings.tmp
|
||||
@ -882,8 +884,12 @@ start_master()
|
||||
if [ x$MASTER_RUNNING = x1 ] || [ x$LOCAL_MASTER = x1 ] ; then
|
||||
return
|
||||
fi
|
||||
# Remove stale binary logs
|
||||
$RM -f $MYSQL_TEST_DIR/var/log/master-bin.*
|
||||
# Remove stale binary logs except for 2 tests which need them
|
||||
if [ "$tname" != "rpl_crash_binlog_ib_1b" ] && [ "$tname" != "rpl_crash_binlog_ib_2b" ] && [ "$tname" != "rpl_crash_binlog_ib_3b" ]
|
||||
then
|
||||
$RM -f $MYSQL_TEST_DIR/var/log/master-bin.*
|
||||
fi
|
||||
|
||||
# Remove old master.info and relay-log.info files
|
||||
$RM -f $MYSQL_TEST_DIR/var/master-data/master.info $MYSQL_TEST_DIR/var/master-data/relay-log.info
|
||||
|
||||
@ -1005,8 +1011,12 @@ start_slave()
|
||||
slave_sock="$SLAVE_MYSOCK"
|
||||
fi
|
||||
# Remove stale binary logs and old master.info files
|
||||
$RM -f $MYSQL_TEST_DIR/var/log/$slave_ident-*bin.*
|
||||
$RM -f $slave_datadir/master.info $slave_datadir/relay-log.info
|
||||
# except for too tests which need them
|
||||
if [ "$tname" != "rpl_crash_binlog_ib_1b" ] && [ "$tname" != "rpl_crash_binlog_ib_2b" ] && [ "$tname" != "rpl_crash_binlog_ib_3b" ]
|
||||
then
|
||||
$RM -f $MYSQL_TEST_DIR/var/log/$slave_ident-*bin.*
|
||||
$RM -f $slave_datadir/master.info $slave_datadir/relay-log.info
|
||||
fi
|
||||
|
||||
#run slave initialization shell script if one exists
|
||||
if [ -f "$slave_init_script" ] ;
|
||||
@ -1418,7 +1428,7 @@ then
|
||||
if [ -z "$USE_RUNNING_NDBCLUSTER" ]
|
||||
then
|
||||
# Kill any running ndbcluster stuff
|
||||
./ndb/ndbcluster --stop
|
||||
./ndb/ndbcluster --port-base=$NDBCLUSTER_PORT --stop
|
||||
fi
|
||||
fi
|
||||
|
||||
@ -1439,7 +1449,7 @@ then
|
||||
if [ -z "$USE_RUNNING_NDBCLUSTER" ]
|
||||
then
|
||||
echo "Starting ndbcluster"
|
||||
./ndb/ndbcluster --small --discless --initial --data-dir=$MYSQL_TEST_DIR/var || exit 1
|
||||
./ndb/ndbcluster --port-base=$NDBCLUSTER_PORT --small --discless --initial --data-dir=$MYSQL_TEST_DIR/var || exit 1
|
||||
export NDB_CONNECTSTRING=`cat Ndb.cfg`
|
||||
else
|
||||
export NDB_CONNECTSTRING="$USE_RUNNING_NDBCLUSTER"
|
||||
@ -1539,7 +1549,7 @@ then
|
||||
if [ -z "$USE_RUNNING_NDBCLUSTER" ]
|
||||
then
|
||||
# Kill any running ndbcluster stuff
|
||||
./ndb/ndbcluster --stop
|
||||
./ndb/ndbcluster --port-base=$NDBCLUSTER_PORT --stop
|
||||
fi
|
||||
fi
|
||||
|
||||
|
@ -43,9 +43,7 @@ HostName: CHOOSE_HOSTNAME_7
|
||||
[MGM]
|
||||
Id: 1
|
||||
ExecuteOnComputer: 1
|
||||
PortNumber: CHOOSE_PORT_BASE00
|
||||
PortNumberStats: CHOOSE_PORT_BASE01
|
||||
|
||||
PortNumber: CHOOSE_PORT_MGM
|
||||
|
||||
[DB]
|
||||
Id: 2
|
||||
@ -74,4 +72,4 @@ Id: 14
|
||||
ExecuteOnComputer: 7
|
||||
|
||||
[TCP DEFAULT]
|
||||
PortNumber: CHOOSE_PORT_BASE02
|
||||
PortNumber: CHOOSE_PORT_TRANSPORTER
|
||||
|
@ -5,7 +5,7 @@
|
||||
# This scripts starts the table handler ndbcluster
|
||||
|
||||
# configurable parameters, make sure to change in mysqlcluterd as well
|
||||
port_base="22" # using ports port_base{"00","01", etc}
|
||||
port_base="2200"
|
||||
fsdir=`pwd`
|
||||
# end configurable parameters
|
||||
|
||||
@ -85,8 +85,8 @@ fs_ndb=$fsdir/ndbcluster
|
||||
fs_mgm_1=$fs_ndb/1.ndb_mgm
|
||||
fs_ndb_2=$fs_ndb/2.ndb_db
|
||||
fs_ndb_3=$fs_ndb/3.ndb_db
|
||||
fs_name_2=$fs_ndb/node-2-fs
|
||||
fs_name_3=$fs_ndb/node-3-fs
|
||||
fs_name_2=$fs_ndb/node-2-fs-$port_base
|
||||
fs_name_3=$fs_ndb/node-3-fs-$port_base
|
||||
|
||||
NDB_HOME=
|
||||
export NDB_CONNECTSTRING
|
||||
@ -125,8 +125,9 @@ fi
|
||||
# set som help variables
|
||||
|
||||
ndb_host="localhost"
|
||||
ndb_port=$port_base"00"
|
||||
NDB_CONNECTSTRING_BASE="host=$ndb_host:$ndb_port;nodeid="
|
||||
ndb_mgmd_port=$port_base
|
||||
port_transporter=`expr $ndb_mgmd_port + 2`
|
||||
NDB_CONNECTSTRING_BASE="host=$ndb_host:$ndb_mgmd_port;nodeid="
|
||||
|
||||
|
||||
# Start management server as deamon
|
||||
@ -145,7 +146,8 @@ sed \
|
||||
-e s,"CHOOSE_HOSTNAME_".*,"$ndb_host",g \
|
||||
-e s,"CHOOSE_FILESYSTEM_NODE_2","$fs_name_2",g \
|
||||
-e s,"CHOOSE_FILESYSTEM_NODE_3","$fs_name_3",g \
|
||||
-e s,"CHOOSE_PORT_BASE",$port_base,g \
|
||||
-e s,"CHOOSE_PORT_MGM",$ndb_mgmd_port,g \
|
||||
-e s,"CHOOSE_PORT_TRANSPORTER",$port_transporter,g \
|
||||
< ndb/ndb_config_2_node.ini \
|
||||
> "$fs_mgm_1/config.ini"
|
||||
fi
|
||||
@ -195,7 +197,7 @@ status_ndbcluster
|
||||
status_ndbcluster() {
|
||||
# Start management client
|
||||
|
||||
echo "show" | $exec_mgmtclient $ndb_host $ndb_port
|
||||
echo "show" | $exec_mgmtclient $ndb_host $ndb_mgmd_port
|
||||
}
|
||||
|
||||
stop_default_ndbcluster() {
|
||||
@ -210,11 +212,11 @@ if [ ! -f $cfgfile ] ; then
|
||||
fi
|
||||
|
||||
ndb_host=`cat $cfgfile | sed -e "s,.*host=\(.*\)\:.*,\1,1"`
|
||||
ndb_port=`cat $cfgfile | sed -e "s,.*host=$ndb_host\:\([0-9]*\).*,\1,1"`
|
||||
ndb_mgmd_port=`cat $cfgfile | sed -e "s,.*host=$ndb_host\:\([0-9]*\).*,\1,1"`
|
||||
|
||||
# Start management client
|
||||
|
||||
exec_mgmtclient="$exec_mgmtclient --try-reconnect=1 $ndb_host $ndb_port"
|
||||
exec_mgmtclient="$exec_mgmtclient --try-reconnect=1 $ndb_host $ndb_mgmd_port"
|
||||
|
||||
echo "$exec_mgmtclient"
|
||||
echo "all stop" | $exec_mgmtclient
|
||||
|
@ -470,3 +470,9 @@ t1 CREATE TABLE `t1` (
|
||||
ALTER TABLE t1 DROP PRIMARY KEY;
|
||||
ERROR 42000: Can't DROP 'PRIMARY'; check that column/key exists
|
||||
DROP TABLE t1;
|
||||
create table t1 (a int, b int, key(a));
|
||||
insert into t1 values (1,1), (2,2);
|
||||
alter table t1 drop key no_such_key;
|
||||
ERROR 42000: Can't DROP 'no_such_key'; check that column/key exists
|
||||
alter table t1 drop key a;
|
||||
drop table t1;
|
||||
|
@ -1181,3 +1181,66 @@ a
|
||||
A
|
||||
a
|
||||
drop table t1;
|
||||
create table t1(
|
||||
pk1 text not null, pk2 text not null, pk3 char(4),
|
||||
key1 int, key2 int,
|
||||
primary key(pk1(4), pk2(4), pk3), key(key1), key(key2)
|
||||
) engine=bdb;
|
||||
insert into t1 values (concat('aaa-', repeat('A', 4000)),
|
||||
concat('eee-', repeat('e', 4000)), 'a++a', 1, 1);
|
||||
insert into t1 values (concat('bbb-', repeat('B', 4000)),
|
||||
concat('ggg-', repeat('G', 4000)), 'b++b', 1, 1);
|
||||
select substring(pk1, 1, 4), substring(pk1, 4001),
|
||||
substring(pk2, 1, 4), substring(pk2, 4001), pk3, key1, key2
|
||||
from t1 force index(key1, key2) where key1 < 3 or key2 < 3;
|
||||
substring(pk1, 1, 4) substring(pk1, 4001) substring(pk2, 1, 4) substring(pk2, 4001) pk3 key1 key2
|
||||
aaa- AAAA eee- eeee a++a 1 1
|
||||
bbb- BBBB ggg- GGGG b++b 1 1
|
||||
drop table t1;
|
||||
create table t1 (
|
||||
pk1 varchar(8) not null default '',
|
||||
pk2 varchar(4) not null default '',
|
||||
key1 int(11) default null,
|
||||
key2 int(11) default null,
|
||||
primary key (pk1,pk2),
|
||||
key key1 (key1),
|
||||
key key2 (key2)) engine=bdb;
|
||||
insert into t1 values ('','empt',2,2), ('a','a--a',2,2),
|
||||
('bb','b--b',2,2), ('ccc','c--c',2,2), ('dddd','d--d',2,2);
|
||||
select * from t1 force index(key1, key2) where key1 < 3 or key2 < 3;
|
||||
pk1 pk2 key1 key2
|
||||
empt 2 2
|
||||
a a--a 2 2
|
||||
bb b--b 2 2
|
||||
ccc c--c 2 2
|
||||
dddd d--d 2 2
|
||||
drop table t1;
|
||||
set autocommit=0;
|
||||
create table t1(b varchar(30)) engine=bdb;
|
||||
insert into t1 values ('one');
|
||||
commit;
|
||||
select b FROM t1 outer_table where
|
||||
exists (select 'two' from t1 where 'two' = outer_table.b);
|
||||
b
|
||||
drop table t1;
|
||||
set autocommit=1;
|
||||
create table t1(a int primary key, b varchar(30)) engine=bdb;
|
||||
insert into t1 values (1,'one'), (2,'two'), (3,'three'), (4,'four');
|
||||
create table t2 like t1;
|
||||
insert t2 select * from t1;
|
||||
select a from t1 where a in (select a from t2);
|
||||
a
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
delete from t2;
|
||||
insert into t2 (a, b)
|
||||
select a, b from t1 where (a, b) in (select a, b from t1);
|
||||
select * from t2;
|
||||
a b
|
||||
1 one
|
||||
2 two
|
||||
3 three
|
||||
4 four
|
||||
drop table t1, t2;
|
||||
|
66
mysql-test/r/flush_table.result
Normal file
66
mysql-test/r/flush_table.result
Normal file
@ -0,0 +1,66 @@
|
||||
drop table if exists t1,t2;
|
||||
create table t1 (a int not null auto_increment primary key);
|
||||
insert into t1 values(0);
|
||||
lock table t1 read;
|
||||
flush table t1;
|
||||
check table t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check status OK
|
||||
drop table t1;
|
||||
create table t1(table_id char(20) primary key);
|
||||
create table t2(table_id char(20) primary key);
|
||||
insert into t1 values ('test.t1');
|
||||
insert into t1 values ('');
|
||||
insert into t2 values ('test.t2');
|
||||
insert into t2 values ('');
|
||||
handler t1 open as a1;
|
||||
handler t1 open as a2;
|
||||
handler t2 open;
|
||||
handler a1 read first limit 9;
|
||||
table_id
|
||||
test.t1
|
||||
|
||||
handler a2 read first limit 9;
|
||||
table_id
|
||||
test.t1
|
||||
|
||||
handler t2 read first limit 9;
|
||||
table_id
|
||||
test.t2
|
||||
|
||||
flush tables;
|
||||
handler a1 read first limit 9;
|
||||
ERROR 42S02: Unknown table 'a1' in HANDLER
|
||||
handler a2 read first limit 9;
|
||||
ERROR 42S02: Unknown table 'a2' in HANDLER
|
||||
handler t2 read first limit 9;
|
||||
ERROR 42S02: Unknown table 't2' in HANDLER
|
||||
handler t1 open as a1;
|
||||
handler t1 open as a2;
|
||||
handler t2 open;
|
||||
handler a1 read first limit 9;
|
||||
table_id
|
||||
test.t1
|
||||
|
||||
handler a2 read first limit 9;
|
||||
table_id
|
||||
test.t1
|
||||
|
||||
handler t2 read first limit 9;
|
||||
table_id
|
||||
test.t2
|
||||
|
||||
flush table t1;
|
||||
handler a1 read first limit 9;
|
||||
ERROR 42S02: Unknown table 'a1' in HANDLER
|
||||
handler a2 read first limit 9;
|
||||
ERROR 42S02: Unknown table 'a2' in HANDLER
|
||||
handler t2 read first limit 9;
|
||||
table_id
|
||||
test.t2
|
||||
|
||||
flush table t2;
|
||||
handler t2 close;
|
||||
ERROR 42S02: Unknown table 't2' in HANDLER
|
||||
drop table t1;
|
||||
drop table t2;
|
@ -7,8 +7,8 @@ INSERT INTO t1 VALUES('MySQL has now support', 'for full-text search'),
|
||||
('Full-text search in MySQL', 'implements vector space model');
|
||||
SHOW INDEX FROM t1;
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
|
||||
t1 1 a 1 a A NULL NULL NULL YES FULLTEXT
|
||||
t1 1 a 2 b A NULL NULL NULL YES FULLTEXT
|
||||
t1 1 a 1 a NULL NULL NULL NULL YES FULLTEXT
|
||||
t1 1 a 2 b NULL NULL NULL NULL YES FULLTEXT
|
||||
select * from t1 where MATCH(a,b) AGAINST ("collections");
|
||||
a b
|
||||
Only MyISAM tables support collections
|
||||
@ -223,7 +223,7 @@ id
|
||||
show keys from t2;
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
|
||||
t2 1 tig 1 ticket A NULL NULL NULL YES BTREE
|
||||
t2 1 tix 1 inhalt A NULL NULL NULL YES FULLTEXT
|
||||
t2 1 tix 1 inhalt NULL NULL NULL NULL YES FULLTEXT
|
||||
show create table t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
|
2
mysql-test/r/have_debug.require
Normal file
2
mysql-test/r/have_debug.require
Normal file
@ -0,0 +1,2 @@
|
||||
debug
|
||||
1
|
@ -98,7 +98,7 @@ commit;
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 1
|
||||
drop table if exists t1;
|
||||
drop table t3,t2,t1;
|
||||
CREATE TABLE t1 (id int(11) NOT NULL auto_increment, PRIMARY KEY (id)) ENGINE=InnoDB;
|
||||
select count(*) from t1;
|
||||
count(*)
|
||||
@ -108,3 +108,22 @@ select count(*) from t1;
|
||||
count(*)
|
||||
1
|
||||
drop table t1;
|
||||
set GLOBAL query_cache_size=1355776;
|
||||
CREATE TABLE t1 ( id int(10) NOT NULL auto_increment, a varchar(25) default NULL, PRIMARY KEY (id), UNIQUE KEY a (a)) ENGINE=innodb;
|
||||
CREATE TABLE t2 ( id int(10) NOT NULL auto_increment, b varchar(25) default NULL, PRIMARY KEY (id), UNIQUE KEY b (b)) ENGINE=innodb;
|
||||
CREATE TABLE t3 ( id int(10) NOT NULL auto_increment, t1_id int(10) NOT NULL default '0', t2_id int(10) NOT NULL default '0', state int(11) default NULL, PRIMARY KEY (id), UNIQUE KEY t1_id (t1_id,t2_id), KEY t2_id (t2_id,t1_id), CONSTRAINT `t3_ibfk_1` FOREIGN KEY (`t1_id`) REFERENCES `t1` (`id`), CONSTRAINT `t3_ibfk_2` FOREIGN KEY (`t2_id`) REFERENCES `t2` (`id`)) ENGINE=innodb;
|
||||
INSERT INTO t1 VALUES (1,'me');
|
||||
INSERT INTO t2 VALUES (1,'you');
|
||||
INSERT INTO t3 VALUES (2,1,1,2);
|
||||
delete from t3 where t1_id = 1 and t2_id = 1;
|
||||
select t1.* from t1, t2, t3 where t3.state & 1 = 0 and t3.t1_id = t1.id and t3.t2_id = t2.id and t1.id = 1 order by t1.a asc;
|
||||
id a
|
||||
begin;
|
||||
insert into t3 VALUES ( NULL, 1, 1, 2 );
|
||||
insert into t3 VALUES ( NULL, 1, 1, 2 );
|
||||
ERROR 23000: Duplicate entry '1-1' for key 2
|
||||
commit;
|
||||
select t1.* from t1, t2, t3 where t3.state & 1 = 0 and t3.t1_id = t1.id and t3.t2_id = t2.id and t1.id = 1 order by t1.a asc;
|
||||
id a
|
||||
1 me
|
||||
drop table t3,t2,t1;
|
||||
|
@ -32,7 +32,7 @@ T1
|
||||
ALTER TABLE T1 add b int;
|
||||
SHOW TABLES LIKE "T1";
|
||||
Tables_in_test (T1)
|
||||
t1
|
||||
T1
|
||||
ALTER TABLE T1 RENAME T2;
|
||||
SHOW TABLES LIKE "T2";
|
||||
Tables_in_test (T2)
|
||||
@ -41,7 +41,7 @@ LOCK TABLE T2 WRITE;
|
||||
ALTER TABLE T2 drop b;
|
||||
SHOW TABLES LIKE "T2";
|
||||
Tables_in_test (T2)
|
||||
t2
|
||||
T2
|
||||
UNLOCK TABLES;
|
||||
RENAME TABLE T2 TO T1;
|
||||
SHOW TABLES LIKE "T1";
|
||||
@ -121,3 +121,13 @@ LOCATION
|
||||
Mic-5
|
||||
Mic-6
|
||||
drop table T1;
|
||||
create table T1 (A int);
|
||||
alter table T1 add index (A);
|
||||
show tables like 'T1%';
|
||||
Tables_in_test (T1%)
|
||||
T1
|
||||
alter table t1 add index (A);
|
||||
show tables like 't1%';
|
||||
Tables_in_test (t1%)
|
||||
t1
|
||||
drop table t1;
|
||||
|
@ -4,7 +4,7 @@ SELECT * from T1;
|
||||
a
|
||||
drop table t1;
|
||||
flush tables;
|
||||
CREATE TABLE t1 (a int) type=INNODB;
|
||||
CREATE TABLE t1 (a int) ENGINE=INNODB;
|
||||
SELECT * from T1;
|
||||
Can't open file: 'T1.InnoDB'. (errno: 1)
|
||||
ERROR HY000: Can't open file: 'T1.InnoDB'. (errno: 1)
|
||||
drop table t1;
|
||||
|
@ -544,6 +544,24 @@ insert into t1 values (99,NULL);
|
||||
select * from t4 where a+0 > 90;
|
||||
a b
|
||||
99 1
|
||||
insert t5 values (1,1);
|
||||
ERROR 23000: Duplicate entry '1-1' for key 1
|
||||
insert t6 values (2,1);
|
||||
ERROR 23000: Duplicate entry '2-1' for key 1
|
||||
insert t5 values (1,1) on duplicate key update b=b+10;
|
||||
insert t6 values (2,1) on duplicate key update b=b+20;
|
||||
select * from t5 where a < 3;
|
||||
a b
|
||||
1 2
|
||||
1 3
|
||||
1 4
|
||||
1 5
|
||||
1 11
|
||||
2 2
|
||||
2 3
|
||||
2 4
|
||||
2 5
|
||||
2 21
|
||||
drop table t6, t5, t4, t3, t2, t1;
|
||||
CREATE TABLE t1 ( a int(11) NOT NULL default '0', b int(11) NOT NULL default '0', PRIMARY KEY (a,b)) ENGINE=MyISAM;
|
||||
INSERT INTO t1 VALUES (1,1), (2,1);
|
||||
|
@ -141,7 +141,7 @@ INSERT INTO t1 VALUES ("1\""), ("\"2");
|
||||
</mysqldump>
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (a VARCHAR(255)) DEFAULT CHARSET koi8r;
|
||||
INSERT INTO t1 VALUES (_koi8r x'C1C2C3C4C5');
|
||||
INSERT INTO t1 VALUES (_koi8r x'C1C2C3C4C5'), (NULL);
|
||||
|
||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||
@ -159,6 +159,7 @@ CREATE TABLE `t1` (
|
||||
/*!40000 ALTER TABLE `t1` DISABLE KEYS */;
|
||||
LOCK TABLES `t1` WRITE;
|
||||
INSERT INTO `t1` VALUES ('абцде');
|
||||
INSERT INTO `t1` VALUES (NULL);
|
||||
UNLOCK TABLES;
|
||||
/*!40000 ALTER TABLE `t1` ENABLE KEYS */;
|
||||
|
||||
|
@ -1,9 +1,9 @@
|
||||
select * from t9;
|
||||
select * from t9 order by a;
|
||||
a b
|
||||
2 3
|
||||
4 5
|
||||
3 4
|
||||
1 2
|
||||
2 3
|
||||
3 4
|
||||
4 5
|
||||
show status like 'handler_discover%';
|
||||
Variable_name Value
|
||||
Handler_discover 1
|
||||
|
@ -119,3 +119,103 @@ EXECUTE stmt1 USING @var;
|
||||
_utf8 'A' collate utf8_bin = ?
|
||||
1
|
||||
DEALLOCATE PREPARE stmt1;
|
||||
create table t1 (id int);
|
||||
prepare stmt1 from "select FOUND_ROWS()";
|
||||
select SQL_CALC_FOUND_ROWS * from t1;
|
||||
id
|
||||
execute stmt1;
|
||||
FOUND_ROWS()
|
||||
0
|
||||
insert into t1 values (1);
|
||||
select SQL_CALC_FOUND_ROWS * from t1;
|
||||
id
|
||||
1
|
||||
execute stmt1;
|
||||
FOUND_ROWS()
|
||||
1
|
||||
execute stmt1;
|
||||
FOUND_ROWS()
|
||||
0
|
||||
deallocate prepare stmt1;
|
||||
drop table t1;
|
||||
create table t1
|
||||
(
|
||||
c1 tinyint, c2 smallint, c3 mediumint, c4 int,
|
||||
c5 integer, c6 bigint, c7 float, c8 double,
|
||||
c9 double precision, c10 real, c11 decimal(7, 4), c12 numeric(8, 4),
|
||||
c13 date, c14 datetime, c15 timestamp(14), c16 time,
|
||||
c17 year, c18 bit, c19 bool, c20 char,
|
||||
c21 char(10), c22 varchar(30), c23 tinyblob, c24 tinytext,
|
||||
c25 blob, c26 text, c27 mediumblob, c28 mediumtext,
|
||||
c29 longblob, c30 longtext, c31 enum('one', 'two', 'three'),
|
||||
c32 set('monday', 'tuesday', 'wednesday')
|
||||
) engine = MYISAM ;
|
||||
create table t2 like t1;
|
||||
set @stmt= ' explain SELECT (SELECT SUM(c1 + c12 + 0.0) FROM t2 where (t1.c2 - 0e-3) = t2.c2 GROUP BY t1.c15 LIMIT 1) as scalar_s, exists (select 1.0e+0 from t2 where t2.c3 * 9.0000000000 = t1.c4) as exists_s, c5 * 4 in (select c6 + 0.3e+1 from t2) as in_s, (c7 - 4, c8 - 4) in (select c9 + 4.0, c10 + 40e-1 from t2) as in_row_s FROM t1, (select c25 x, c32 y from t2) tt WHERE x * 1 = c25 ' ;
|
||||
prepare stmt1 from @stmt ;
|
||||
execute stmt1 ;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
|
||||
6 DERIVED NULL NULL NULL NULL NULL NULL NULL no matching row in const table
|
||||
5 DEPENDENT SUBQUERY t2 system NULL NULL NULL NULL 0 const row not found
|
||||
4 DEPENDENT SUBQUERY t2 system NULL NULL NULL NULL 0 const row not found
|
||||
3 DEPENDENT SUBQUERY t2 system NULL NULL NULL NULL 0 const row not found
|
||||
2 DEPENDENT SUBQUERY t2 system NULL NULL NULL NULL 0 const row not found
|
||||
execute stmt1 ;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
|
||||
6 DERIVED NULL NULL NULL NULL NULL NULL NULL no matching row in const table
|
||||
5 DEPENDENT SUBQUERY t2 system NULL NULL NULL NULL 0 const row not found
|
||||
4 DEPENDENT SUBQUERY t2 system NULL NULL NULL NULL 0 const row not found
|
||||
3 DEPENDENT SUBQUERY t2 system NULL NULL NULL NULL 0 const row not found
|
||||
2 DEPENDENT SUBQUERY t2 system NULL NULL NULL NULL 0 const row not found
|
||||
explain SELECT (SELECT SUM(c1 + c12 + 0.0) FROM t2 where (t1.c2 - 0e-3) = t2.c2 GROUP BY t1.c15 LIMIT 1) as scalar_s, exists (select 1.0e+0 from t2 where t2.c3 * 9.0000000000 = t1.c4) as exists_s, c5 * 4 in (select c6 + 0.3e+1 from t2) as in_s, (c7 - 4, c8 - 4) in (select c9 + 4.0, c10 + 40e-1 from t2) as in_row_s FROM t1, (select c25 x, c32 y from t2) tt WHERE x * 1 = c25;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
|
||||
6 DERIVED NULL NULL NULL NULL NULL NULL NULL no matching row in const table
|
||||
5 DEPENDENT SUBQUERY t2 system NULL NULL NULL NULL 0 const row not found
|
||||
4 DEPENDENT SUBQUERY t2 system NULL NULL NULL NULL 0 const row not found
|
||||
3 DEPENDENT SUBQUERY t2 system NULL NULL NULL NULL 0 const row not found
|
||||
2 DEPENDENT SUBQUERY t2 system NULL NULL NULL NULL 0 const row not found
|
||||
deallocate prepare stmt1;
|
||||
drop tables t1,t2;
|
||||
set @arg00=1;
|
||||
prepare stmt1 from ' create table t1 (m int) as select 1 as m ' ;
|
||||
execute stmt1 ;
|
||||
select m from t1;
|
||||
m
|
||||
1
|
||||
drop table t1;
|
||||
prepare stmt1 from ' create table t1 (m int) as select ? as m ' ;
|
||||
execute stmt1 using @arg00;
|
||||
select m from t1;
|
||||
m
|
||||
1
|
||||
deallocate prepare stmt1;
|
||||
drop table t1;
|
||||
create table t1 (id int(10) unsigned NOT NULL default '0',
|
||||
name varchar(64) NOT NULL default '',
|
||||
PRIMARY KEY (id), UNIQUE KEY `name` (`name`));
|
||||
insert into t1 values (1,'1'),(2,'2'),(3,'3'),(4,'4'),(5,'5'),(6,'6'),(7,'7');
|
||||
prepare stmt1 from 'select name from t1 where id=? or id=?';
|
||||
set @id1=1,@id2=6;
|
||||
execute stmt1 using @id1, @id2;
|
||||
name
|
||||
1
|
||||
6
|
||||
select name from t1 where id=1 or id=6;
|
||||
name
|
||||
1
|
||||
6
|
||||
deallocate prepare stmt1;
|
||||
drop table t1;
|
||||
create table t1 ( a int primary key, b varchar(30)) engine = MYISAM ;
|
||||
prepare stmt1 from ' show table status from test like ''t1%'' ';
|
||||
execute stmt1;
|
||||
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 9 Dynamic 0 0 0 4294967295 1024 0 NULL # # # latin1_swedish_ci NULL
|
||||
show table status from test like 't1%' ;
|
||||
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 9 Dynamic 0 0 0 4294967295 1024 0 NULL # # # latin1_swedish_ci NULL
|
||||
deallocate prepare stmt1 ;
|
||||
drop table t1;
|
||||
|
@ -244,7 +244,7 @@ id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t2 range x x 5 NULL 2 Using where
|
||||
explain select count(*) from t1 where x in (1);
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 range x x 5 NULL 1 Using where; Using index
|
||||
1 SIMPLE t1 ref x x 5 const 1 Using where; Using index
|
||||
explain select count(*) from t1 where x in (1,2);
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 range x x 5 NULL 2 Using where; Using index
|
||||
|
@ -43,7 +43,7 @@ wait_timeout 28800
|
||||
show variables like "this_doesn't_exists%";
|
||||
Variable_name Value
|
||||
show table status from test like "this_doesn't_exists%";
|
||||
Name Engine 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
|
||||
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
|
||||
show databases;
|
||||
Database
|
||||
mysql
|
||||
@ -309,58 +309,58 @@ insert into t1 values (1),(2);
|
||||
insert into t2 values (1),(2);
|
||||
insert into t3 values (1,1),(2,2);
|
||||
show table status;
|
||||
Name Engine 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 HEAP Fixed 2 5 # # # 0 NULL NULL NULL NULL latin1_swedish_ci NULL
|
||||
t2 HEAP Fixed 2 5 # # # 0 NULL NULL NULL NULL latin1_swedish_ci NULL
|
||||
t3 HEAP Fixed 2 9 # # # 0 NULL NULL NULL NULL latin1_swedish_ci NULL
|
||||
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 HEAP 9 Fixed 2 5 # # # 0 NULL NULL NULL NULL latin1_swedish_ci NULL
|
||||
t2 HEAP 9 Fixed 2 5 # # # 0 NULL NULL NULL NULL latin1_swedish_ci NULL
|
||||
t3 HEAP 9 Fixed 2 9 # # # 0 NULL NULL NULL NULL latin1_swedish_ci NULL
|
||||
insert into t1 values (3),(4);
|
||||
insert into t2 values (3),(4);
|
||||
insert into t3 values (3,3),(4,4);
|
||||
show table status;
|
||||
Name Engine 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 HEAP Fixed 4 5 # # # 0 NULL NULL NULL NULL latin1_swedish_ci NULL
|
||||
t2 HEAP Fixed 4 5 # # # 0 NULL NULL NULL NULL latin1_swedish_ci NULL
|
||||
t3 HEAP Fixed 4 9 # # # 0 NULL NULL NULL NULL latin1_swedish_ci NULL
|
||||
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 HEAP 9 Fixed 4 5 # # # 0 NULL NULL NULL NULL latin1_swedish_ci NULL
|
||||
t2 HEAP 9 Fixed 4 5 # # # 0 NULL NULL NULL NULL latin1_swedish_ci NULL
|
||||
t3 HEAP 9 Fixed 4 9 # # # 0 NULL NULL NULL NULL latin1_swedish_ci NULL
|
||||
insert into t1 values (5);
|
||||
insert into t2 values (5);
|
||||
insert into t3 values (5,5);
|
||||
show table status;
|
||||
Name Engine 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 HEAP Fixed 5 5 # # # 0 NULL NULL NULL NULL latin1_swedish_ci NULL
|
||||
t2 HEAP Fixed 5 5 # # # 0 NULL NULL NULL NULL latin1_swedish_ci NULL
|
||||
t3 HEAP Fixed 5 9 # # # 0 NULL NULL NULL NULL latin1_swedish_ci NULL
|
||||
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 HEAP 9 Fixed 5 5 # # # 0 NULL NULL NULL NULL latin1_swedish_ci NULL
|
||||
t2 HEAP 9 Fixed 5 5 # # # 0 NULL NULL NULL NULL latin1_swedish_ci NULL
|
||||
t3 HEAP 9 Fixed 5 9 # # # 0 NULL NULL NULL NULL latin1_swedish_ci NULL
|
||||
delete from t1 where a=3;
|
||||
delete from t2 where b=3;
|
||||
delete from t3 where a=3;
|
||||
show table status;
|
||||
Name Engine 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 HEAP Fixed 4 5 # # # 5 NULL NULL NULL NULL latin1_swedish_ci NULL
|
||||
t2 HEAP Fixed 4 5 # # # 5 NULL NULL NULL NULL latin1_swedish_ci NULL
|
||||
t3 HEAP Fixed 4 9 # # # 9 NULL NULL NULL NULL latin1_swedish_ci NULL
|
||||
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 HEAP 9 Fixed 4 5 # # # 5 NULL NULL NULL NULL latin1_swedish_ci NULL
|
||||
t2 HEAP 9 Fixed 4 5 # # # 5 NULL NULL NULL NULL latin1_swedish_ci NULL
|
||||
t3 HEAP 9 Fixed 4 9 # # # 9 NULL NULL NULL NULL latin1_swedish_ci NULL
|
||||
delete from t1;
|
||||
delete from t2;
|
||||
delete from t3;
|
||||
show table status;
|
||||
Name Engine 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 HEAP Fixed 0 5 # # # 0 NULL NULL NULL NULL latin1_swedish_ci NULL
|
||||
t2 HEAP Fixed 0 5 # # # 0 NULL NULL NULL NULL latin1_swedish_ci NULL
|
||||
t3 HEAP Fixed 0 9 # # # 0 NULL NULL NULL NULL latin1_swedish_ci NULL
|
||||
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 HEAP 9 Fixed 0 5 # # # 0 NULL NULL NULL NULL latin1_swedish_ci NULL
|
||||
t2 HEAP 9 Fixed 0 5 # # # 0 NULL NULL NULL NULL latin1_swedish_ci NULL
|
||||
t3 HEAP 9 Fixed 0 9 # # # 0 NULL NULL NULL NULL latin1_swedish_ci NULL
|
||||
insert into t1 values (5);
|
||||
insert into t2 values (5);
|
||||
insert into t3 values (5,5);
|
||||
show table status;
|
||||
Name Engine 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 HEAP Fixed 1 5 # # # 0 NULL NULL NULL NULL latin1_swedish_ci NULL
|
||||
t2 HEAP Fixed 1 5 # # # 0 NULL NULL NULL NULL latin1_swedish_ci NULL
|
||||
t3 HEAP Fixed 1 9 # # # 0 NULL NULL NULL NULL latin1_swedish_ci NULL
|
||||
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 HEAP 9 Fixed 1 5 # # # 0 NULL NULL NULL NULL latin1_swedish_ci NULL
|
||||
t2 HEAP 9 Fixed 1 5 # # # 0 NULL NULL NULL NULL latin1_swedish_ci NULL
|
||||
t3 HEAP 9 Fixed 1 9 # # # 0 NULL NULL NULL NULL latin1_swedish_ci NULL
|
||||
delete from t1 where a=5;
|
||||
delete from t2 where b=5;
|
||||
delete from t3 where a=5;
|
||||
show table status;
|
||||
Name Engine 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 HEAP Fixed 0 5 # # # 5 NULL NULL NULL NULL latin1_swedish_ci NULL
|
||||
t2 HEAP Fixed 0 5 # # # 5 NULL NULL NULL NULL latin1_swedish_ci NULL
|
||||
t3 HEAP Fixed 0 9 # # # 9 NULL NULL NULL NULL latin1_swedish_ci NULL
|
||||
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 HEAP 9 Fixed 0 5 # # # 5 NULL NULL NULL NULL latin1_swedish_ci NULL
|
||||
t2 HEAP 9 Fixed 0 5 # # # 5 NULL NULL NULL NULL latin1_swedish_ci NULL
|
||||
t3 HEAP 9 Fixed 0 9 # # # 9 NULL NULL NULL NULL latin1_swedish_ci NULL
|
||||
drop table t1, t2, t3;
|
||||
create database test_$1;
|
||||
show create database test_$1;
|
||||
|
@ -96,3 +96,13 @@ id value (select t1.value from t1 where t1.id=t2.id)
|
||||
1 z a
|
||||
2 x b
|
||||
drop table t1,t2;
|
||||
create table t1 (a int, b int) engine=innodb;
|
||||
insert into t1 values (1,2), (1,3), (2,3), (2,4), (2,5), (3,4), (4,5), (4,100);
|
||||
create table t2 (a int) engine=innodb;
|
||||
insert into t2 values (1),(2),(3),(4);
|
||||
select a, sum(b) as b from t1 group by a having b > (select max(a) from t2);
|
||||
a b
|
||||
1 5
|
||||
2 12
|
||||
4 105
|
||||
drop table t1, t2;
|
||||
|
@ -960,3 +960,31 @@ a
|
||||
a
|
||||
150
|
||||
drop table t1;
|
||||
CREATE TABLE t1 ( ID1 int(10) unsigned NOT NULL DEFAULT '0' , ID2 datetime NOT NULL DEFAULT '0000-00-00 00:00:00' , DATA1 varchar(10) , DATA2 double(5,4) , DATA3 datetime , PRIMARY KEY (ID1,ID2));
|
||||
CREATE TABLE t2 ( ID int(3) unsigned NOT NULL DEFAULT '0' , DATA1 timestamp DEFAULT '0000-00-00 00:00:00' , PRIMARY KEY (ID));
|
||||
(SELECT * FROM t1 AS PARTITIONED, t2 AS
|
||||
PARTITIONED_B WHERE PARTITIONED_B.ID=PARTITIONED.ID1) UNION
|
||||
(SELECT * FROM t1 AS PARTITIONED, t2 AS
|
||||
PARTITIONED_B WHERE PARTITIONED_B.ID=PARTITIONED.ID1) UNION
|
||||
(SELECT * FROM t1 AS PARTITIONED, t2 AS
|
||||
PARTITIONED_B WHERE PARTITIONED_B.ID=PARTITIONED.ID1) UNION
|
||||
(SELECT * FROM t1 AS PARTITIONED, t2 AS
|
||||
PARTITIONED_B WHERE PARTITIONED_B.ID=PARTITIONED.ID1) UNION
|
||||
(SELECT * FROM t1 AS PARTITIONED, t2 AS
|
||||
PARTITIONED_B WHERE PARTITIONED_B.ID=PARTITIONED.ID1) UNION
|
||||
(SELECT * FROM t1 AS PARTITIONED, t2 AS
|
||||
PARTITIONED_B WHERE PARTITIONED_B.ID=PARTITIONED.ID1) UNION
|
||||
(SELECT * FROM t1 AS PARTITIONED, t2 AS
|
||||
PARTITIONED_B WHERE PARTITIONED_B.ID=PARTITIONED.ID1) UNION
|
||||
(SELECT * FROM t1 AS PARTITIONED, t2 AS
|
||||
PARTITIONED_B WHERE PARTITIONED_B.ID=PARTITIONED.ID1) UNION
|
||||
(SELECT * FROM t1 AS PARTITIONED, t2 AS
|
||||
PARTITIONED_B WHERE PARTITIONED_B.ID=PARTITIONED.ID1) UNION
|
||||
(SELECT * FROM t1 AS PARTITIONED, t2 AS
|
||||
PARTITIONED_B WHERE PARTITIONED_B.ID=PARTITIONED.ID1) UNION
|
||||
(SELECT * FROM t1 AS PARTITIONED, t2 AS
|
||||
PARTITIONED_B WHERE PARTITIONED_B.ID=PARTITIONED.ID1) UNION
|
||||
(SELECT * FROM t1 AS PARTITIONED, t2 AS
|
||||
PARTITIONED_B WHERE PARTITIONED_B.ID=PARTITIONED.ID1);
|
||||
ID1 ID2 DATA1 DATA2 DATA3 ID DATA1
|
||||
drop table t1,t2;
|
||||
|
@ -304,3 +304,11 @@ SHOW CREATE TABLE t1;
|
||||
--error 1091
|
||||
ALTER TABLE t1 DROP PRIMARY KEY;
|
||||
DROP TABLE t1;
|
||||
|
||||
# BUG#3899
|
||||
create table t1 (a int, b int, key(a));
|
||||
insert into t1 values (1,1), (2,2);
|
||||
--error 1091
|
||||
alter table t1 drop key no_such_key;
|
||||
alter table t1 drop key a;
|
||||
drop table t1;
|
||||
|
@ -822,3 +822,67 @@ alter table t1 modify a char(10) binary;
|
||||
explain select a from t1;
|
||||
select a from t1;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# bug#2686 - index_merge select on BerkeleyDB table with varchar PK causes mysqld to crash
|
||||
#
|
||||
|
||||
create table t1(
|
||||
pk1 text not null, pk2 text not null, pk3 char(4),
|
||||
key1 int, key2 int,
|
||||
primary key(pk1(4), pk2(4), pk3), key(key1), key(key2)
|
||||
) engine=bdb;
|
||||
insert into t1 values (concat('aaa-', repeat('A', 4000)),
|
||||
concat('eee-', repeat('e', 4000)), 'a++a', 1, 1);
|
||||
insert into t1 values (concat('bbb-', repeat('B', 4000)),
|
||||
concat('ggg-', repeat('G', 4000)), 'b++b', 1, 1);
|
||||
select substring(pk1, 1, 4), substring(pk1, 4001),
|
||||
substring(pk2, 1, 4), substring(pk2, 4001), pk3, key1, key2
|
||||
from t1 force index(key1, key2) where key1 < 3 or key2 < 3;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# bug#2688 - Wrong index_merge query results for BDB table with variable length primary key
|
||||
#
|
||||
|
||||
create table t1 (
|
||||
pk1 varchar(8) not null default '',
|
||||
pk2 varchar(4) not null default '',
|
||||
key1 int(11) default null,
|
||||
key2 int(11) default null,
|
||||
primary key (pk1,pk2),
|
||||
key key1 (key1),
|
||||
key key2 (key2)) engine=bdb;
|
||||
insert into t1 values ('','empt',2,2), ('a','a--a',2,2),
|
||||
('bb','b--b',2,2), ('ccc','c--c',2,2), ('dddd','d--d',2,2);
|
||||
select * from t1 force index(key1, key2) where key1 < 3 or key2 < 3;
|
||||
drop table t1;
|
||||
|
||||
|
||||
#
|
||||
# Bug #4000: problem with active cursor.
|
||||
#
|
||||
|
||||
set autocommit=0;
|
||||
create table t1(b varchar(30)) engine=bdb;
|
||||
insert into t1 values ('one');
|
||||
commit;
|
||||
select b FROM t1 outer_table where
|
||||
exists (select 'two' from t1 where 'two' = outer_table.b);
|
||||
drop table t1;
|
||||
set autocommit=1;
|
||||
|
||||
#
|
||||
# Bug #4089: subselect and open cursor.
|
||||
#
|
||||
|
||||
create table t1(a int primary key, b varchar(30)) engine=bdb;
|
||||
insert into t1 values (1,'one'), (2,'two'), (3,'three'), (4,'four');
|
||||
create table t2 like t1;
|
||||
insert t2 select * from t1;
|
||||
select a from t1 where a in (select a from t2);
|
||||
delete from t2;
|
||||
insert into t2 (a, b)
|
||||
select a, b from t1 where (a, b) in (select a, b from t1);
|
||||
select * from t2;
|
||||
drop table t1, t2;
|
||||
|
@ -4,10 +4,55 @@
|
||||
# Test of flush table
|
||||
#
|
||||
|
||||
#drop table if exists t1;
|
||||
#create table t1 (a int not null auto_increment primary key);
|
||||
#insert into t1 values(0);
|
||||
#lock table t1 read;
|
||||
#flush table t1;
|
||||
#check table t1;
|
||||
#drop table t1;
|
||||
--disable_warnings
|
||||
drop table if exists t1,t2;
|
||||
--enable_warnings
|
||||
create table t1 (a int not null auto_increment primary key);
|
||||
insert into t1 values(0);
|
||||
lock table t1 read;
|
||||
flush table t1;
|
||||
check table t1;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# In the following test FLUSH TABLES produces a deadlock
|
||||
# (hang forever) if the fix for bug#3565 is missing.
|
||||
#
|
||||
create table t1(table_id char(20) primary key);
|
||||
create table t2(table_id char(20) primary key);
|
||||
insert into t1 values ('test.t1');
|
||||
insert into t1 values ('');
|
||||
insert into t2 values ('test.t2');
|
||||
insert into t2 values ('');
|
||||
handler t1 open as a1;
|
||||
handler t1 open as a2;
|
||||
handler t2 open;
|
||||
handler a1 read first limit 9;
|
||||
handler a2 read first limit 9;
|
||||
handler t2 read first limit 9;
|
||||
flush tables;
|
||||
--error 1109;
|
||||
handler a1 read first limit 9;
|
||||
--error 1109;
|
||||
handler a2 read first limit 9;
|
||||
--error 1109;
|
||||
handler t2 read first limit 9;
|
||||
#
|
||||
handler t1 open as a1;
|
||||
handler t1 open as a2;
|
||||
handler t2 open;
|
||||
handler a1 read first limit 9;
|
||||
handler a2 read first limit 9;
|
||||
handler t2 read first limit 9;
|
||||
flush table t1;
|
||||
--error 1109;
|
||||
handler a1 read first limit 9;
|
||||
--error 1109;
|
||||
handler a2 read first limit 9;
|
||||
handler t2 read first limit 9;
|
||||
flush table t2;
|
||||
--error 1109;
|
||||
handler t2 close;
|
||||
drop table t1;
|
||||
drop table t2;
|
||||
|
||||
|
@ -52,10 +52,31 @@ show status like "Qcache_queries_in_cache";
|
||||
show status like "Qcache_hits";
|
||||
commit;
|
||||
show status like "Qcache_queries_in_cache";
|
||||
drop table t3,t2,t1;
|
||||
|
||||
drop table if exists t1;
|
||||
CREATE TABLE t1 (id int(11) NOT NULL auto_increment, PRIMARY KEY (id)) ENGINE=InnoDB;
|
||||
select count(*) from t1;
|
||||
insert into t1 (id) values (0);
|
||||
select count(*) from t1;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# one statement roll back inside transation
|
||||
#
|
||||
set GLOBAL query_cache_size=1355776;
|
||||
CREATE TABLE t1 ( id int(10) NOT NULL auto_increment, a varchar(25) default NULL, PRIMARY KEY (id), UNIQUE KEY a (a)) ENGINE=innodb;
|
||||
CREATE TABLE t2 ( id int(10) NOT NULL auto_increment, b varchar(25) default NULL, PRIMARY KEY (id), UNIQUE KEY b (b)) ENGINE=innodb;
|
||||
CREATE TABLE t3 ( id int(10) NOT NULL auto_increment, t1_id int(10) NOT NULL default '0', t2_id int(10) NOT NULL default '0', state int(11) default NULL, PRIMARY KEY (id), UNIQUE KEY t1_id (t1_id,t2_id), KEY t2_id (t2_id,t1_id), CONSTRAINT `t3_ibfk_1` FOREIGN KEY (`t1_id`) REFERENCES `t1` (`id`), CONSTRAINT `t3_ibfk_2` FOREIGN KEY (`t2_id`) REFERENCES `t2` (`id`)) ENGINE=innodb;
|
||||
INSERT INTO t1 VALUES (1,'me');
|
||||
INSERT INTO t2 VALUES (1,'you');
|
||||
INSERT INTO t3 VALUES (2,1,1,2);
|
||||
delete from t3 where t1_id = 1 and t2_id = 1;
|
||||
select t1.* from t1, t2, t3 where t3.state & 1 = 0 and t3.t1_id = t1.id and t3.t2_id = t2.id and t1.id = 1 order by t1.a asc;
|
||||
begin;
|
||||
insert into t3 VALUES ( NULL, 1, 1, 2 );
|
||||
-- error 1062
|
||||
insert into t3 VALUES ( NULL, 1, 1, 2 );
|
||||
commit;
|
||||
select t1.* from t1, t2, t3 where t3.state & 1 = 0 and t3.t1_id = t1.id and t3.t2_id = t2.id and t1.id = 1 order by t1.a asc;
|
||||
drop table t3,t2,t1;
|
||||
|
||||
|
@ -89,3 +89,14 @@ SELECT LOCATION FROM T1 WHERE EVENT_ID=2 UNION ALL SELECT LOCATION FROM T1 WHER
|
||||
SELECT LOCATION FROM T1 WHERE EVENT_ID=2 UNION ALL SELECT LOCATION FROM T1 WHERE EVENT_ID=3;
|
||||
SELECT LOCATION FROM T1 WHERE EVENT_ID=2 UNION ALL SELECT LOCATION FROM T1 WHERE EVENT_ID=3;
|
||||
drop table T1;
|
||||
|
||||
#
|
||||
# Test name conversion with ALTER TABLE / CREATE INDEX (Bug #3109)
|
||||
#
|
||||
|
||||
create table T1 (A int);
|
||||
alter table T1 add index (A);
|
||||
show tables like 'T1%';
|
||||
alter table t1 add index (A);
|
||||
show tables like 't1%';
|
||||
drop table t1;
|
||||
|
@ -9,7 +9,7 @@
|
||||
disable_query_log;
|
||||
show variables like "lower_case_%";
|
||||
--require r/true.require
|
||||
select @@version_compile_os NOT IN ("NT","WIN2000","Win95/Win98","XP") as "TRUE";
|
||||
select convert(@@version_compile_os using latin1) NOT IN ("NT","WIN2000","Win95/Win98","XP") as "TRUE";
|
||||
enable_query_log;
|
||||
|
||||
--disable_warnings
|
||||
@ -31,7 +31,7 @@ flush tables;
|
||||
# storing things in lower case.
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (a int) type=INNODB;
|
||||
CREATE TABLE t1 (a int) ENGINE=INNODB;
|
||||
--error 1016
|
||||
SELECT * from T1;
|
||||
drop table t1;
|
||||
|
@ -190,6 +190,14 @@ select * from t5 order by a,b;
|
||||
select * from t6 order by a,b;
|
||||
insert into t1 values (99,NULL);
|
||||
select * from t4 where a+0 > 90;
|
||||
# bug#4008 - cannot determine a unique key that caused "dupl. key error"
|
||||
--error 1062
|
||||
insert t5 values (1,1);
|
||||
--error 1062
|
||||
insert t6 values (2,1);
|
||||
insert t5 values (1,1) on duplicate key update b=b+10;
|
||||
insert t6 values (2,1) on duplicate key update b=b+20;
|
||||
select * from t5 where a < 3;
|
||||
drop table t6, t5, t4, t3, t2, t1;
|
||||
|
||||
CREATE TABLE t1 ( a int(11) NOT NULL default '0', b int(11) NOT NULL default '0', PRIMARY KEY (a,b)) ENGINE=MyISAM;
|
||||
|
@ -73,11 +73,12 @@ DROP TABLE t1;
|
||||
|
||||
#
|
||||
# Bug #1994
|
||||
# Bug #4261
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (a VARCHAR(255)) DEFAULT CHARSET koi8r;
|
||||
INSERT INTO t1 VALUES (_koi8r x'C1C2C3C4C5');
|
||||
--exec $MYSQL_DUMP --skip-comments test t1
|
||||
INSERT INTO t1 VALUES (_koi8r x'C1C2C3C4C5'), (NULL);
|
||||
--exec $MYSQL_DUMP --skip-comments --skip-extended-insert test t1
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
|
@ -5,7 +5,7 @@
|
||||
# The previous step has simply removed the frm file
|
||||
# from disk, but left the table in NDB
|
||||
#
|
||||
select * from t9;
|
||||
select * from t9 order by a;
|
||||
|
||||
# handler_discover should be zero
|
||||
show status like 'handler_discover%';
|
||||
|
@ -114,8 +114,8 @@ set @str1 = 'select ?';
|
||||
set @str2 = convert(@str1 using ucs2);
|
||||
prepare stmt1 from @str2;
|
||||
execute stmt1 using @ivar;
|
||||
|
||||
drop table t1,t2;
|
||||
|
||||
#
|
||||
# Bug #4105: Server crash on attempt to prepare a statement with character
|
||||
# set introducer
|
||||
@ -124,3 +124,85 @@ PREPARE stmt1 FROM "select _utf8 'A' collate utf8_bin = ?";
|
||||
set @var='A';
|
||||
EXECUTE stmt1 USING @var;
|
||||
DEALLOCATE PREPARE stmt1;
|
||||
|
||||
#
|
||||
# BUG#3486: FOUND_ROWS() fails inside stored procedure [and prepared statement]
|
||||
#
|
||||
create table t1 (id int);
|
||||
prepare stmt1 from "select FOUND_ROWS()";
|
||||
select SQL_CALC_FOUND_ROWS * from t1;
|
||||
# Expect 0
|
||||
execute stmt1;
|
||||
insert into t1 values (1);
|
||||
select SQL_CALC_FOUND_ROWS * from t1;
|
||||
# Expect 1
|
||||
execute stmt1;
|
||||
# Expect 0
|
||||
execute stmt1;
|
||||
deallocate prepare stmt1;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# prepared EXPLAIN
|
||||
#
|
||||
create table t1
|
||||
(
|
||||
c1 tinyint, c2 smallint, c3 mediumint, c4 int,
|
||||
c5 integer, c6 bigint, c7 float, c8 double,
|
||||
c9 double precision, c10 real, c11 decimal(7, 4), c12 numeric(8, 4),
|
||||
c13 date, c14 datetime, c15 timestamp(14), c16 time,
|
||||
c17 year, c18 bit, c19 bool, c20 char,
|
||||
c21 char(10), c22 varchar(30), c23 tinyblob, c24 tinytext,
|
||||
c25 blob, c26 text, c27 mediumblob, c28 mediumtext,
|
||||
c29 longblob, c30 longtext, c31 enum('one', 'two', 'three'),
|
||||
c32 set('monday', 'tuesday', 'wednesday')
|
||||
) engine = MYISAM ;
|
||||
create table t2 like t1;
|
||||
|
||||
set @stmt= ' explain SELECT (SELECT SUM(c1 + c12 + 0.0) FROM t2 where (t1.c2 - 0e-3) = t2.c2 GROUP BY t1.c15 LIMIT 1) as scalar_s, exists (select 1.0e+0 from t2 where t2.c3 * 9.0000000000 = t1.c4) as exists_s, c5 * 4 in (select c6 + 0.3e+1 from t2) as in_s, (c7 - 4, c8 - 4) in (select c9 + 4.0, c10 + 40e-1 from t2) as in_row_s FROM t1, (select c25 x, c32 y from t2) tt WHERE x * 1 = c25 ' ;
|
||||
prepare stmt1 from @stmt ;
|
||||
execute stmt1 ;
|
||||
execute stmt1 ;
|
||||
explain SELECT (SELECT SUM(c1 + c12 + 0.0) FROM t2 where (t1.c2 - 0e-3) = t2.c2 GROUP BY t1.c15 LIMIT 1) as scalar_s, exists (select 1.0e+0 from t2 where t2.c3 * 9.0000000000 = t1.c4) as exists_s, c5 * 4 in (select c6 + 0.3e+1 from t2) as in_s, (c7 - 4, c8 - 4) in (select c9 + 4.0, c10 + 40e-1 from t2) as in_row_s FROM t1, (select c25 x, c32 y from t2) tt WHERE x * 1 = c25;
|
||||
deallocate prepare stmt1;
|
||||
drop tables t1,t2;
|
||||
|
||||
#
|
||||
# parameters from variables (for field creation)
|
||||
#
|
||||
set @arg00=1;
|
||||
prepare stmt1 from ' create table t1 (m int) as select 1 as m ' ;
|
||||
execute stmt1 ;
|
||||
select m from t1;
|
||||
drop table t1;
|
||||
prepare stmt1 from ' create table t1 (m int) as select ? as m ' ;
|
||||
execute stmt1 using @arg00;
|
||||
select m from t1;
|
||||
deallocate prepare stmt1;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# eq() for parameters
|
||||
#
|
||||
create table t1 (id int(10) unsigned NOT NULL default '0',
|
||||
name varchar(64) NOT NULL default '',
|
||||
PRIMARY KEY (id), UNIQUE KEY `name` (`name`));
|
||||
insert into t1 values (1,'1'),(2,'2'),(3,'3'),(4,'4'),(5,'5'),(6,'6'),(7,'7');
|
||||
prepare stmt1 from 'select name from t1 where id=? or id=?';
|
||||
set @id1=1,@id2=6;
|
||||
execute stmt1 using @id1, @id2;
|
||||
select name from t1 where id=1 or id=6;
|
||||
deallocate prepare stmt1;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# SHOW TABLE STATUS test
|
||||
#
|
||||
create table t1 ( a int primary key, b varchar(30)) engine = MYISAM ;
|
||||
prepare stmt1 from ' show table status from test like ''t1%'' ';
|
||||
--replace_column 12 # 13 # 14 #
|
||||
execute stmt1;
|
||||
--replace_column 12 # 13 # 14 #
|
||||
show table status from test like 't1%' ;
|
||||
deallocate prepare stmt1 ;
|
||||
drop table t1;
|
||||
|
@ -222,37 +222,37 @@ CREATE TABLE t3 (
|
||||
insert into t1 values (1),(2);
|
||||
insert into t2 values (1),(2);
|
||||
insert into t3 values (1,1),(2,2);
|
||||
--replace_column 6 # 7 # 8 #
|
||||
--replace_column 7 # 8 # 9 #
|
||||
show table status;
|
||||
insert into t1 values (3),(4);
|
||||
insert into t2 values (3),(4);
|
||||
insert into t3 values (3,3),(4,4);
|
||||
--replace_column 6 # 7 # 8 #
|
||||
--replace_column 7 # 8 # 9 #
|
||||
show table status;
|
||||
insert into t1 values (5);
|
||||
insert into t2 values (5);
|
||||
insert into t3 values (5,5);
|
||||
--replace_column 6 # 7 # 8 #
|
||||
--replace_column 7 # 8 # 9 #
|
||||
show table status;
|
||||
delete from t1 where a=3;
|
||||
delete from t2 where b=3;
|
||||
delete from t3 where a=3;
|
||||
--replace_column 6 # 7 # 8 #
|
||||
--replace_column 7 # 8 # 9 #
|
||||
show table status;
|
||||
delete from t1;
|
||||
delete from t2;
|
||||
delete from t3;
|
||||
--replace_column 6 # 7 # 8 #
|
||||
--replace_column 7 # 8 # 9 #
|
||||
show table status;
|
||||
insert into t1 values (5);
|
||||
insert into t2 values (5);
|
||||
insert into t3 values (5,5);
|
||||
--replace_column 6 # 7 # 8 #
|
||||
--replace_column 7 # 8 # 9 #
|
||||
show table status;
|
||||
delete from t1 where a=5;
|
||||
delete from t2 where b=5;
|
||||
delete from t3 where a=5;
|
||||
--replace_column 6 # 7 # 8 #
|
||||
--replace_column 7 # 8 # 9 #
|
||||
show table status;
|
||||
|
||||
drop table t1, t2, t3;
|
||||
|
@ -101,3 +101,13 @@ insert into t2 values (1,'z'),(2,'x');
|
||||
select t2.id,t2.value,(select t1.value from t1 where t1.id=t2.id) from t2;
|
||||
select t2.id,t2.value,(select t1.value from t1 where t1.id=t2.id) from t2;
|
||||
drop table t1,t2;
|
||||
|
||||
#
|
||||
# unlocking tables with subqueries in HAVING
|
||||
#
|
||||
create table t1 (a int, b int) engine=innodb;
|
||||
insert into t1 values (1,2), (1,3), (2,3), (2,4), (2,5), (3,4), (4,5), (4,100);
|
||||
create table t2 (a int) engine=innodb;
|
||||
insert into t2 values (1),(2),(3),(4);
|
||||
select a, sum(b) as b from t1 group by a having b > (select max(a) from t2);
|
||||
drop table t1, t2;
|
||||
|
@ -80,3 +80,4 @@ DROP TABLE help_relation;
|
||||
DROP TABLE help_topic;
|
||||
|
||||
-- enable_query_log
|
||||
|
||||
|
@ -99,3 +99,4 @@ drop table test_func;
|
||||
drop table test_host;
|
||||
drop table test_user;
|
||||
drop table test_db;
|
||||
|
||||
|
@ -535,3 +535,35 @@ CREATE TABLE t1 (uid int(1));
|
||||
INSERT INTO t1 SELECT 150;
|
||||
SELECT 'a' UNION SELECT uid FROM t1;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# parser stack overflow
|
||||
#
|
||||
CREATE TABLE t1 ( ID1 int(10) unsigned NOT NULL DEFAULT '0' , ID2 datetime NOT NULL DEFAULT '0000-00-00 00:00:00' , DATA1 varchar(10) , DATA2 double(5,4) , DATA3 datetime , PRIMARY KEY (ID1,ID2));
|
||||
|
||||
CREATE TABLE t2 ( ID int(3) unsigned NOT NULL DEFAULT '0' , DATA1 timestamp DEFAULT '0000-00-00 00:00:00' , PRIMARY KEY (ID));
|
||||
(SELECT * FROM t1 AS PARTITIONED, t2 AS
|
||||
PARTITIONED_B WHERE PARTITIONED_B.ID=PARTITIONED.ID1) UNION
|
||||
(SELECT * FROM t1 AS PARTITIONED, t2 AS
|
||||
PARTITIONED_B WHERE PARTITIONED_B.ID=PARTITIONED.ID1) UNION
|
||||
(SELECT * FROM t1 AS PARTITIONED, t2 AS
|
||||
PARTITIONED_B WHERE PARTITIONED_B.ID=PARTITIONED.ID1) UNION
|
||||
(SELECT * FROM t1 AS PARTITIONED, t2 AS
|
||||
PARTITIONED_B WHERE PARTITIONED_B.ID=PARTITIONED.ID1) UNION
|
||||
(SELECT * FROM t1 AS PARTITIONED, t2 AS
|
||||
PARTITIONED_B WHERE PARTITIONED_B.ID=PARTITIONED.ID1) UNION
|
||||
(SELECT * FROM t1 AS PARTITIONED, t2 AS
|
||||
PARTITIONED_B WHERE PARTITIONED_B.ID=PARTITIONED.ID1) UNION
|
||||
(SELECT * FROM t1 AS PARTITIONED, t2 AS
|
||||
PARTITIONED_B WHERE PARTITIONED_B.ID=PARTITIONED.ID1) UNION
|
||||
(SELECT * FROM t1 AS PARTITIONED, t2 AS
|
||||
PARTITIONED_B WHERE PARTITIONED_B.ID=PARTITIONED.ID1) UNION
|
||||
(SELECT * FROM t1 AS PARTITIONED, t2 AS
|
||||
PARTITIONED_B WHERE PARTITIONED_B.ID=PARTITIONED.ID1) UNION
|
||||
(SELECT * FROM t1 AS PARTITIONED, t2 AS
|
||||
PARTITIONED_B WHERE PARTITIONED_B.ID=PARTITIONED.ID1) UNION
|
||||
(SELECT * FROM t1 AS PARTITIONED, t2 AS
|
||||
PARTITIONED_B WHERE PARTITIONED_B.ID=PARTITIONED.ID1) UNION
|
||||
(SELECT * FROM t1 AS PARTITIONED, t2 AS
|
||||
PARTITIONED_B WHERE PARTITIONED_B.ID=PARTITIONED.ID1);
|
||||
drop table t1,t2;
|
||||
|
Reference in New Issue
Block a user