mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Merge on pull
BitKeeper/etc/ignore: auto-union mysql-test/r/grant2.result: Auto merged mysql-test/r/sql_mode.result: Auto merged mysql-test/t/grant2.test: Auto merged sql/handler.cc: Auto merged sql/handler.h: Auto merged sql/mysql_priv.h: Auto merged sql/mysqld.cc: Auto merged sql/opt_range.cc: Auto merged sql/set_var.cc: Auto merged sql/sql_acl.cc: Auto merged sql/sql_lex.h: Auto merged sql/sql_parse.cc: Auto merged sql/sql_yacc.yy: Auto merged
This commit is contained in:
@ -2,3 +2,6 @@
|
||||
disable_query_log;
|
||||
show variables like "have_ndbcluster";
|
||||
enable_query_log;
|
||||
#connect (server1,127.0.0.1,root,,test,$MASTER_MYPORT,$MASTER_MYSOCK);
|
||||
#connect (server2,127.0.0.1,root,,test,$MASTER_MYPORT1,$MASTER_MYSOCK1);
|
||||
#connection server1;
|
||||
|
@ -1,4 +1,7 @@
|
||||
-- require r/have_query_cache.require
|
||||
# As PS are not cached we disable them to ensure the we get the right number
|
||||
# of query cache hits
|
||||
-- disable_ps_protocol
|
||||
disable_query_log;
|
||||
show variables like "have_query_cache";
|
||||
enable_query_log;
|
||||
|
1204
mysql-test/include/ps_conv.inc
Normal file
1204
mysql-test/include/ps_conv.inc
Normal file
File diff suppressed because it is too large
Load Diff
@ -19,7 +19,7 @@
|
||||
#---- Please do not alter the following table definitions -------#
|
||||
|
||||
--disable_warnings
|
||||
drop table if exists t1, t_many_col_types ;
|
||||
drop table if exists t1, t9 ;
|
||||
--enable_warnings
|
||||
|
||||
eval create table t1
|
||||
@ -28,7 +28,7 @@ eval create table t1
|
||||
primary key(a)
|
||||
) engine = $type ;
|
||||
|
||||
eval create table t_many_col_types
|
||||
eval create table t9
|
||||
(
|
||||
c1 tinyint, c2 smallint, c3 mediumint, c4 int,
|
||||
c5 integer, c6 bigint, c7 float, c8 double,
|
||||
|
@ -14,12 +14,12 @@
|
||||
# several test cases.
|
||||
#
|
||||
# Please do not modify the structure (DROP/ALTER..) of the tables
|
||||
# 't1' and 't_many_col_types'.
|
||||
# 't1' and 't9'.
|
||||
#
|
||||
# But you are encouraged to use these two tables within your statements
|
||||
# whenever possible.
|
||||
# t1 - very simple table
|
||||
# t_many_col_types - table with nearly all available column types
|
||||
# (DELETE/UPDATE/...) whenever possible.
|
||||
# t1 - very simple table
|
||||
# t9 - table with nearly all available column types
|
||||
#
|
||||
# The structure and the content of these tables can be found in
|
||||
# include/ps_create.inc CREATE TABLE ...
|
||||
@ -109,10 +109,10 @@ select a,b from t1 where a=@arg00;
|
||||
set @arg00=NULL;
|
||||
set @arg01=2;
|
||||
execute stmt1 using @arg00, @arg01;
|
||||
select a,b from t1;
|
||||
select a,b from t1 order by a;
|
||||
set @arg00=0;
|
||||
execute stmt1 using @arg01, @arg00;
|
||||
select a,b from t1;
|
||||
select a,b from t1 order by a;
|
||||
|
||||
## update with subquery and several parameters
|
||||
set @arg00=23;
|
||||
@ -123,17 +123,48 @@ set @arg04=2;
|
||||
--disable_warnings
|
||||
drop table if exists t2;
|
||||
--enable_warnings
|
||||
# t2 will be of table type 'MYISAM'
|
||||
create table t2 as select a,b from t1 ;
|
||||
prepare stmt1 from 'update t1 set a=? where b=?
|
||||
and a in (select ? from t2
|
||||
where b = ? or a = ?)';
|
||||
--enable_info
|
||||
execute stmt1 using @arg00, @arg01, @arg02, @arg03, @arg04 ;
|
||||
--disable_info
|
||||
select a,b from t1 where a = @arg00 ;
|
||||
prepare stmt1 from 'update t1 set a=? where b=?
|
||||
and a not in (select ? from t2
|
||||
where b = ? or a = ?)';
|
||||
--enable_info
|
||||
execute stmt1 using @arg04, @arg01, @arg02, @arg03, @arg00 ;
|
||||
select a,b from t1 ;
|
||||
--disable_info
|
||||
select a,b from t1 order by a ;
|
||||
drop table t2 ;
|
||||
# t2 is now of table type '$type'
|
||||
# The test battery for table type 'MERGE' gets here only a 'MYISAM' table
|
||||
#
|
||||
# Test UPDATE with SUBQUERY in prepared mode
|
||||
#
|
||||
eval create table t2
|
||||
(
|
||||
a int, b varchar(30),
|
||||
primary key(a)
|
||||
) engine = $type ;
|
||||
insert into t2(a,b) select a, b from t1 ;
|
||||
prepare stmt1 from 'update t1 set a=? where b=?
|
||||
and a in (select ? from t2
|
||||
where b = ? or a = ?)';
|
||||
--enable_info
|
||||
execute stmt1 using @arg00, @arg01, @arg02, @arg03, @arg04 ;
|
||||
--disable_info
|
||||
select a,b from t1 where a = @arg00 ;
|
||||
prepare stmt1 from 'update t1 set a=? where b=?
|
||||
and a not in (select ? from t2
|
||||
where b = ? or a = ?)';
|
||||
--enable_info
|
||||
execute stmt1 using @arg04, @arg01, @arg02, @arg03, @arg00 ;
|
||||
--disable_info
|
||||
select a,b from t1 order by a ;
|
||||
drop table t2 ;
|
||||
|
||||
## update with parameters in limit
|
||||
@ -178,6 +209,46 @@ set @arg01='eight' ;
|
||||
prepare stmt1 from 'insert into t1 values(?, ? )';
|
||||
execute stmt1 using @arg00, @arg01 ;
|
||||
select a,b from t1 where b = @arg01;
|
||||
# cases derived from client_test.c: test_null()
|
||||
set @NULL= null ;
|
||||
set @arg00= 'abc' ;
|
||||
# execute must fail, because first column is primary key (-> not null)
|
||||
--error 1048
|
||||
execute stmt1 using @NULL, @NULL ;
|
||||
--error 1048
|
||||
execute stmt1 using @NULL, @NULL ;
|
||||
--error 1048
|
||||
execute stmt1 using @NULL, @arg00 ;
|
||||
--error 1048
|
||||
execute stmt1 using @NULL, @arg00 ;
|
||||
let $1 = 2;
|
||||
while ($1)
|
||||
{
|
||||
eval set @arg01= 10000 + $1 ;
|
||||
execute stmt1 using @arg01, @arg00 ;
|
||||
dec $1;
|
||||
}
|
||||
select * from t1 where a > 10000 order by a ;
|
||||
delete from t1 where a > 10000 ;
|
||||
let $1 = 2;
|
||||
while ($1)
|
||||
{
|
||||
eval set @arg01= 10000 + $1 ;
|
||||
execute stmt1 using @arg01, @NULL ;
|
||||
dec $1;
|
||||
}
|
||||
select * from t1 where a > 10000 order by a ;
|
||||
delete from t1 where a > 10000 ;
|
||||
let $1 = 10;
|
||||
while ($1)
|
||||
{
|
||||
eval set @arg01= 10000 + $1 ;
|
||||
execute stmt1 using @arg01, @arg01 ;
|
||||
dec $1;
|
||||
}
|
||||
select * from t1 where a > 10000 order by a ;
|
||||
delete from t1 where a > 10000 ;
|
||||
|
||||
|
||||
## insert with two rows in values part
|
||||
set @arg00=81 ;
|
||||
@ -201,12 +272,28 @@ set @arg01=1 ;
|
||||
prepare stmt1 from 'insert into t1 set a=?, b=''sechs''
|
||||
on duplicate key update a=a + ?, b=concat(b,''modified'') ';
|
||||
execute stmt1 using @arg00, @arg01;
|
||||
select * from t1;
|
||||
select * from t1 order by a;
|
||||
set @arg00=81 ;
|
||||
set @arg01=1 ;
|
||||
--error 1062
|
||||
execute stmt1 using @arg00, @arg01;
|
||||
|
||||
## insert, autoincrement column and ' SELECT LAST_INSERT_ID() '
|
||||
# cases derived from client_test.c: test_bug3117()
|
||||
--disable_warnings
|
||||
drop table if exists t2 ;
|
||||
--enable_warnings
|
||||
# The test battery for table type 'MERGE' gets here only a 'MYISAM' table
|
||||
eval create table t2 (id int auto_increment primary key)
|
||||
ENGINE= $type ;
|
||||
prepare stmt1 from ' select last_insert_id() ' ;
|
||||
insert into t2 values (NULL) ;
|
||||
execute stmt1 ;
|
||||
insert into t2 values (NULL) ;
|
||||
# bug#3117
|
||||
execute stmt1 ;
|
||||
drop table t2 ;
|
||||
|
||||
## many parameters
|
||||
set @1000=1000 ;
|
||||
set @x1000_2="x1000_2" ;
|
||||
@ -220,19 +307,50 @@ set @updated="updated" ;
|
||||
insert into t1 values(1000,'x1000_1') ;
|
||||
insert into t1 values(@1000,@x1000_2),(@1000,@x1000_3)
|
||||
on duplicate key update a = a + @100, b = concat(b,@updated) ;
|
||||
select a,b from t1 where a >= 1000 ;
|
||||
select a,b from t1 where a >= 1000 order by a ;
|
||||
delete from t1 where a >= 1000 ;
|
||||
insert into t1 values(1000,'x1000_1') ;
|
||||
prepare stmt1 from ' insert into t1 values(?,?),(?,?)
|
||||
on duplicate key update a = a + ?, b = concat(b,?) ';
|
||||
execute stmt1 using @1000, @x1000_2, @1000, @x1000_3, @100, @updated ;
|
||||
select a,b from t1 where a >= 1000 ;
|
||||
select a,b from t1 where a >= 1000 order by a ;
|
||||
delete from t1 where a >= 1000 ;
|
||||
insert into t1 values(1000,'x1000_1') ;
|
||||
execute stmt1 using @1000, @x1000_2, @1100, @x1000_3, @100, @updated ;
|
||||
select a,b from t1 where a >= 1000 ;
|
||||
select a,b from t1 where a >= 1000 order by a ;
|
||||
delete from t1 where a >= 1000 ;
|
||||
|
||||
## replace
|
||||
--error 1295
|
||||
prepare stmt1 from ' replace into t1 (a,b) select 100, ''hundred'' ';
|
||||
|
||||
|
||||
## multi table statements
|
||||
--disable_query_log
|
||||
select '------ multi table tests ------' as test_sequence ;
|
||||
--enable_query_log
|
||||
# cases derived from client_test.c: test_multi
|
||||
delete from t1 ;
|
||||
delete from t9 ;
|
||||
insert into t1(a,b) values (1, 'one'), (2, 'two'), (3, 'three') ;
|
||||
insert into t9 (c1,c21)
|
||||
values (1, 'one'), (2, 'two'), (3, 'three') ;
|
||||
prepare stmt_delete from " delete t1, t9
|
||||
from t1, t9 where t1.a=t9.c1 and t1.b='updated' ";
|
||||
prepare stmt_update from " update t1, t9
|
||||
set t1.b='updated', t9.c21='updated'
|
||||
where t1.a=t9.c1 and t1.a=? ";
|
||||
prepare stmt_select1 from " select a, b from t1 order by a" ;
|
||||
prepare stmt_select2 from " select c1, c21 from t9 order by c1" ;
|
||||
set @arg00= 1 ;
|
||||
let $1= 3 ;
|
||||
while ($1)
|
||||
{
|
||||
execute stmt_update using @arg00 ;
|
||||
execute stmt_delete ;
|
||||
execute stmt_select1 ;
|
||||
execute stmt_select2 ;
|
||||
set @arg00= @arg00 + 1 ;
|
||||
dec $1 ;
|
||||
}
|
||||
|
||||
|
@ -20,12 +20,12 @@
|
||||
# several test cases.
|
||||
#
|
||||
# Please do not modify the structure (DROP/ALTER..) of the tables
|
||||
# 't1' and 't_many_col_types'.
|
||||
# 't1' and 't9'.
|
||||
#
|
||||
# But you are encouraged to use these two tables within your statements
|
||||
# (DELETE/UPDATE/...) whenever possible.
|
||||
# t1 - very simple table
|
||||
# t_many_col_types - table with nearly all available column types
|
||||
# t1 - very simple table
|
||||
# t9 - table with nearly all available column types
|
||||
#
|
||||
# The structure and the content of these tables can be found in
|
||||
# include/ps_create.inc CREATE TABLE ...
|
||||
@ -41,23 +41,28 @@
|
||||
|
||||
#-------- Please be very carefull when editing behind this line ----------#
|
||||
|
||||
--source include/ps_renew.inc
|
||||
#
|
||||
# add a NULL row to t1: this row is used only in this test
|
||||
insert into t1 values(0,NULL) ;
|
||||
|
||||
## big insert select statements
|
||||
set @duplicate='duplicate ' ;
|
||||
set @1000=1000 ;
|
||||
set @5=5 ;
|
||||
select a,b from t1 where a < 5 ;
|
||||
select a,b from t1 where a < 5 order by a ;
|
||||
--enable_info
|
||||
insert into t1 select a + @1000, concat(@duplicate,b) from t1
|
||||
where a < @5 ;
|
||||
--disable_info
|
||||
select a,b from t1 where a >= 1000 ;
|
||||
select a,b from t1 where a >= 1000 order by a ;
|
||||
delete from t1 where a >= 1000 ;
|
||||
prepare stmt1 from ' insert into t1 select a + ?, concat(?,b) from t1
|
||||
where a < ? ' ;
|
||||
--enable_info
|
||||
execute stmt1 using @1000, @duplicate, @5;
|
||||
--disable_info
|
||||
select a,b from t1 where a >= 1000 ;
|
||||
select a,b from t1 where a >= 1000 order by a ;
|
||||
delete from t1 where a >= 1000 ;
|
||||
|
||||
set @float=1.00;
|
||||
@ -78,7 +83,7 @@ select b, a + @100 from t1
|
||||
where (a,b) in ( select sqrt(a+@1)+CAST(@float AS signed),b
|
||||
from t1);
|
||||
--disable_info
|
||||
select a,b from t2;
|
||||
select a,b from t2 order by a ;
|
||||
delete from t2 ;
|
||||
prepare stmt1 from ' insert into t2 (b,a)
|
||||
select ?, sum(first.a)
|
||||
@ -93,5 +98,5 @@ select b, a + ? from t1
|
||||
--enable_info
|
||||
execute stmt1 using @duplicate, @5, @five, @2, @100, @1, @float ;
|
||||
--disable_info
|
||||
select a,b from t2;
|
||||
select a,b from t2 order by a ;
|
||||
drop table t2;
|
||||
|
@ -15,13 +15,13 @@
|
||||
#
|
||||
# Please do not modify (INSERT/UPDATE/DELETE) the content or the
|
||||
# structure (DROP/ALTER..) of the tables
|
||||
# 't1' and 't_many_col_types'.
|
||||
# 't1' and 't9'.
|
||||
# Such tests should be done in include/ps_modify.inc .
|
||||
#
|
||||
# But you are encouraged to use these two tables within your SELECT statements
|
||||
# whenever possible.
|
||||
# t1 - very simple table
|
||||
# t_many_col_types - table with nearly all available column types
|
||||
# t1 - very simple table
|
||||
# t9 - table with nearly all available column types
|
||||
#
|
||||
# The structure and the content of these tables can be found in
|
||||
# include/ps_create.inc CREATE TABLE ...
|
||||
@ -38,10 +38,18 @@
|
||||
|
||||
#-------- Please be very carefull when editing behind this line ----------#
|
||||
|
||||
################ simple select tests ################
|
||||
--disable_query_log
|
||||
select '------ simple select tests ------' as test_sequence ;
|
||||
--enable_query_log
|
||||
|
||||
##### many column types, but no parameter
|
||||
# heavy modified case derived from client_test.c: test_func_fields()
|
||||
prepare stmt1 from ' select * from t9 order by c1 ' ;
|
||||
--enable_metadata
|
||||
execute stmt1;
|
||||
--disable_metadata
|
||||
|
||||
##### parameter used for keyword like SELECT (must fail)
|
||||
set @arg00='SELECT' ;
|
||||
# mysqltest gives no output for the next statement, Why ??
|
||||
@ -70,6 +78,17 @@ set @arg00=1 ;
|
||||
select b, a - @arg00 from t1 where a=1 ;
|
||||
prepare stmt1 from ' select b, a - ? from t1 where a=1 ' ;
|
||||
execute stmt1 using @arg00 ;
|
||||
# case derived from client_test.c: test_ps_null_param()
|
||||
set @arg00=null ;
|
||||
select @arg00 as my_col ;
|
||||
prepare stmt1 from ' select ? as my_col';
|
||||
execute stmt1 using @arg00 ;
|
||||
select @arg00 + 1 as my_col ;
|
||||
prepare stmt1 from ' select ? + 1 as my_col';
|
||||
execute stmt1 using @arg00 ;
|
||||
select 1 + @arg00 as my_col ;
|
||||
prepare stmt1 from ' select 1 + ? as my_col';
|
||||
execute stmt1 using @arg00 ;
|
||||
## parameter is within a function
|
||||
# variations on 'substr'
|
||||
set @arg00='MySQL' ;
|
||||
@ -85,26 +104,26 @@ prepare stmt1 from ' select substr(''MySQL'',1,?) from t1 where a=1 ' ;
|
||||
execute stmt1 using @arg00 ;
|
||||
# variations on 'concat'
|
||||
set @arg00='MySQL' ;
|
||||
select a , concat(@arg00,b) from t1 ;
|
||||
# BUG#3796
|
||||
prepare stmt1 from ' select a , concat(?,b) from t1 ' ;
|
||||
select a , concat(@arg00,b) from t1 order by a;
|
||||
# BUG#3796 Prepared statement, select concat(<parameter>,<column>),wrong result
|
||||
prepare stmt1 from ' select a , concat(?,b) from t1 order by a ' ;
|
||||
execute stmt1 using @arg00;
|
||||
#
|
||||
select a , concat(b,@arg00) from t1 ;
|
||||
prepare stmt1 from ' select a , concat(b,?) from t1 ' ;
|
||||
select a , concat(b,@arg00) from t1 order by a ;
|
||||
prepare stmt1 from ' select a , concat(b,?) from t1 order by a ' ;
|
||||
execute stmt1 using @arg00;
|
||||
|
||||
# variations on 'group_concat'
|
||||
set @arg00='MySQL' ;
|
||||
select group_concat(@arg00,b) from t1
|
||||
select group_concat(@arg00,b order by a) from t1
|
||||
group by 'a' ;
|
||||
prepare stmt1 from ' select group_concat(?,b) from t1
|
||||
prepare stmt1 from ' select group_concat(?,b order by a) from t1
|
||||
group by ''a'' ' ;
|
||||
execute stmt1 using @arg00;
|
||||
#
|
||||
select group_concat(b,@arg00) from t1
|
||||
select group_concat(b,@arg00 order by a) from t1
|
||||
group by 'a' ;
|
||||
prepare stmt1 from ' select group_concat(b,?) from t1
|
||||
prepare stmt1 from ' select group_concat(b,? order by a) from t1
|
||||
group by ''a'' ' ;
|
||||
execute stmt1 using @arg00;
|
||||
|
||||
@ -122,25 +141,25 @@ execute stmt1 using @arg02, @arg02 ;
|
||||
# case derived from client_test.c: test_ps_conj_select()
|
||||
# for BUG#3420: select returned all rows of the table
|
||||
--disable_warnings
|
||||
drop table if exists new_tab ;
|
||||
drop table if exists t5 ;
|
||||
--enable_warnings
|
||||
create table new_tab (id1 int(11) not null default '0',
|
||||
create table t5 (id1 int(11) not null default '0',
|
||||
value2 varchar(100), value1 varchar(100)) ;
|
||||
insert into new_tab values (1,'hh','hh'),(2,'hh','hh'),
|
||||
insert into t5 values (1,'hh','hh'),(2,'hh','hh'),
|
||||
(1,'ii','ii'),(2,'ii','ii') ;
|
||||
prepare stmt1 from ' select id1,value1 from new_tab where id1=? or value1=? ' ;
|
||||
prepare stmt1 from ' select id1,value1 from t5 where id1=? or value1=? order by id1,value1 ' ;
|
||||
set @arg00=1 ;
|
||||
set @arg01='hh' ;
|
||||
execute stmt1 using @arg00, @arg01 ;
|
||||
drop table new_tab ;
|
||||
drop table t5 ;
|
||||
# case derived from client_test.c: test_bug1180()
|
||||
# for BUG#1180 optimized away part of WHERE clause
|
||||
--disable_warnings
|
||||
drop table if exists new_tab ;
|
||||
drop table if exists t5 ;
|
||||
--enable_warnings
|
||||
create table new_tab(session_id char(9) not null) ;
|
||||
insert into new_tab values ('abc') ;
|
||||
prepare stmt1 from ' select * from new_tab
|
||||
create table t5(session_id char(9) not null) ;
|
||||
insert into t5 values ('abc') ;
|
||||
prepare stmt1 from ' select * from t5
|
||||
where ?=''1111'' and session_id = ''abc'' ' ;
|
||||
set @arg00='abc' ;
|
||||
execute stmt1 using @arg00 ;
|
||||
@ -148,7 +167,7 @@ set @arg00='1111' ;
|
||||
execute stmt1 using @arg00 ;
|
||||
set @arg00='abc' ;
|
||||
execute stmt1 using @arg00 ;
|
||||
drop table new_tab ;
|
||||
drop table t5 ;
|
||||
|
||||
|
||||
##### parameter used for keyword FROM (must fail)
|
||||
@ -197,9 +216,15 @@ execute stmt1 using @arg00 ;
|
||||
# parameter in IN
|
||||
set @arg00=2 ;
|
||||
set @arg01=3 ;
|
||||
select a FROM t1 where a in (@arg00,@arg01);
|
||||
prepare stmt1 from ' select a FROM t1 where a in (?,?) ';
|
||||
select a FROM t1 where a in (@arg00,@arg01) order by a;
|
||||
prepare stmt1 from ' select a FROM t1 where a in (?,?) order by a ';
|
||||
execute stmt1 using @arg00, @arg01;
|
||||
# case derived from client_test.c: test_bug1500()
|
||||
set @arg00= 'one' ;
|
||||
set @arg01= 'two' ;
|
||||
set @arg02= 'five' ;
|
||||
prepare stmt1 from ' select b FROM t1 where b in (?,?,?) order by b ' ;
|
||||
execute stmt1 using @arg00, @arg01, @arg02 ;
|
||||
# parameter in LIKE
|
||||
prepare stmt1 from ' select b FROM t1 where b like ? ';
|
||||
set @arg00='two' ;
|
||||
@ -208,6 +233,24 @@ set @arg00='tw%' ;
|
||||
execute stmt1 using @arg00 ;
|
||||
set @arg00='%wo' ;
|
||||
execute stmt1 using @arg00 ;
|
||||
# case derived from client_test.c: test_ps_null_param():
|
||||
# second part, comparisions with NULL placeholders in prepared
|
||||
# mode
|
||||
set @arg00=null ;
|
||||
insert into t9 set c1= 0, c5 = NULL ;
|
||||
select c5 from t9 where c5 > NULL ;
|
||||
prepare stmt1 from ' select c5 from t9 where c5 > ? ';
|
||||
execute stmt1 using @arg00 ;
|
||||
select c5 from t9 where c5 < NULL ;
|
||||
prepare stmt1 from ' select c5 from t9 where c5 < ? ';
|
||||
execute stmt1 using @arg00 ;
|
||||
select c5 from t9 where c5 = NULL ;
|
||||
prepare stmt1 from ' select c5 from t9 where c5 = ? ';
|
||||
execute stmt1 using @arg00 ;
|
||||
select c5 from t9 where c5 <=> NULL ;
|
||||
prepare stmt1 from ' select c5 from t9 where c5 <=> ? ';
|
||||
execute stmt1 using @arg00 ;
|
||||
delete from t9 where c1= 0 ;
|
||||
|
||||
##### parameter used for operator in WHERE clause (must fail)
|
||||
set @arg00='>' ;
|
||||
@ -227,9 +270,9 @@ execute stmt1 using @arg00 ;
|
||||
##### parameter used in having clause
|
||||
set @arg00='two' ;
|
||||
select a,b FROM t1 where a is not NULL
|
||||
AND b is not NULL having b <> @arg00 ;
|
||||
AND b is not NULL having b <> @arg00 order by a ;
|
||||
prepare stmt1 from ' select a,b FROM t1 where a is not NULL
|
||||
AND b is not NULL having b <> ? ' ;
|
||||
AND b is not NULL having b <> ? order by a ' ;
|
||||
execute stmt1 using @arg00 ;
|
||||
|
||||
##### parameter used in order clause
|
||||
@ -254,7 +297,7 @@ execute stmt1 using @arg00;
|
||||
|
||||
##### parameter used in limit clause
|
||||
set @arg00=1;
|
||||
prepare stmt1 from ' select a,b from t1
|
||||
prepare stmt1 from ' select a,b from t1 order by a
|
||||
limit 1 ';
|
||||
execute stmt1 ;
|
||||
# currently (May 2004, Version 4.1) it is impossible
|
||||
@ -276,6 +319,7 @@ having sum(a) <> ? ';
|
||||
execute stmt1 using @arg00, @arg01, @arg02, @arg03;
|
||||
|
||||
|
||||
################ join tests ################
|
||||
--disable_query_log
|
||||
select '------ join tests ------' as test_sequence ;
|
||||
--enable_query_log
|
||||
@ -283,10 +327,10 @@ select '------ join tests ------' as test_sequence ;
|
||||
# no parameter
|
||||
select first.a as a1, second.a as a2
|
||||
from t1 first, t1 second
|
||||
where first.a = second.a ;
|
||||
where first.a = second.a order by a1 ;
|
||||
prepare stmt1 from ' select first.a as a1, second.a as a2
|
||||
from t1 first, t1 second
|
||||
where first.a = second.a ';
|
||||
where first.a = second.a order by a1 ';
|
||||
execute stmt1 ;
|
||||
|
||||
# some parameters
|
||||
@ -294,13 +338,46 @@ set @arg00='ABC';
|
||||
set @arg01='two';
|
||||
set @arg02='one';
|
||||
select first.a, @arg00, second.a FROM t1 first, t1 second
|
||||
where @arg01 = first.b or first.a = second.a or second.b = @arg02;
|
||||
where @arg01 = first.b or first.a = second.a or second.b = @arg02
|
||||
order by second.a, first.a;
|
||||
prepare stmt1 from ' select first.a, ?, second.a FROM t1 first, t1 second
|
||||
where ? = first.b or first.a = second.a or second.b = ? ';
|
||||
where ? = first.b or first.a = second.a or second.b = ?
|
||||
order by second.a, first.a';
|
||||
execute stmt1 using @arg00, @arg01, @arg02;
|
||||
|
||||
# test case derived from client_test.c: test_join()
|
||||
--disable_warnings
|
||||
drop table if exists t2 ;
|
||||
--enable_warnings
|
||||
create table t2 as select * from t1 ;
|
||||
set @query1= 'SELECT * FROM t2 join t1 on (t1.a=t2.a) order by t2.a ' ;
|
||||
set @query2= 'SELECT * FROM t2 natural join t1 order by t2.a ' ;
|
||||
set @query3= 'SELECT * FROM t2 join t1 using(a) order by t2.a ' ;
|
||||
set @query4= 'SELECT * FROM t2 left join t1 on(t1.a=t2.a) order by t2.a ' ;
|
||||
set @query5= 'SELECT * FROM t2 natural left join t1 order by t2.a ' ;
|
||||
set @query6= 'SELECT * FROM t2 left join t1 using(a) order by t2.a ' ;
|
||||
set @query7= 'SELECT * FROM t2 right join t1 on(t1.a=t2.a) order by t2.a ' ;
|
||||
set @query8= 'SELECT * FROM t2 natural right join t1 order by t2.a ' ;
|
||||
set @query9= 'SELECT * FROM t2 right join t1 using(a) order by t2.a ' ;
|
||||
let $1= 9 ;
|
||||
while ($1)
|
||||
{
|
||||
--disable_query_log
|
||||
eval select @query$1 as 'the join statement is:' ;
|
||||
--enable_query_log
|
||||
eval prepare stmt1 from @query$1 ;
|
||||
let $2= 3 ;
|
||||
while ($2)
|
||||
{
|
||||
execute stmt1 ;
|
||||
dec $2 ;
|
||||
}
|
||||
dec $1 ;
|
||||
}
|
||||
drop table t2 ;
|
||||
|
||||
|
||||
################ subquery tests ################
|
||||
--disable_query_log
|
||||
select '------ subquery tests ------' as test_sequence ;
|
||||
--enable_query_log
|
||||
@ -347,9 +424,21 @@ execute stmt1 using @arg00, @arg01, @arg02, @arg03 ;
|
||||
######## correlated subquery
|
||||
# no parameter
|
||||
prepare stmt1 from ' select a, b FROM t1 outer_table where
|
||||
a = (select a from t1 where b = outer_table.b ) ';
|
||||
# also Bug#4000 (only BDB tables) ??
|
||||
a = (select a from t1 where b = outer_table.b ) order by a ';
|
||||
# also Bug#4000 (only BDB tables)
|
||||
# Bug#4106 : ndb table, query with correlated subquery, wrong result
|
||||
execute stmt1 ;
|
||||
# test case derived from client_test.c: test_subqueries_ref
|
||||
let $1= 3 ;
|
||||
while ($1)
|
||||
{
|
||||
prepare stmt1 from ' SELECT a as ccc from t1 where a+1=
|
||||
(SELECT 1+ccc from t1 where ccc+1=a+1 and a=1) ';
|
||||
execute stmt1 ;
|
||||
deallocate prepare stmt1 ;
|
||||
dec $1 ;
|
||||
}
|
||||
|
||||
|
||||
###### parameter in the outer part
|
||||
set @arg00='two' ;
|
||||
@ -358,7 +447,7 @@ select a, b FROM t1 outer_table where
|
||||
a = (select a from t1 where b = outer_table.b ) and b=@arg00 ;
|
||||
prepare stmt1 from ' select a, b FROM t1 outer_table where
|
||||
a = (select a from t1 where b = outer_table.b) and b=? ';
|
||||
# also Bug#4000 (only BDB tables) ??
|
||||
# also Bug#4000 (only BDB tables)
|
||||
execute stmt1 using @arg00;
|
||||
|
||||
###### parameter in the inner part
|
||||
@ -388,7 +477,7 @@ select a, @arg00, b FROM t1 outer_table where
|
||||
prepare stmt1 from ' select a, ?, b FROM t1 outer_table where
|
||||
b=? and a = (select ? from t1 where outer_table.b = ?
|
||||
and outer_table.a=a ) ' ;
|
||||
# also Bug#4000 (only BDB tables) ??
|
||||
# also Bug#4000 (only BDB tables)
|
||||
execute stmt1 using @arg00, @arg01, @arg02, @arg03 ;
|
||||
|
||||
###### subquery after from
|
||||
@ -402,43 +491,80 @@ prepare stmt1 from ' select a, ?
|
||||
where a=? ';
|
||||
execute stmt1 using @arg00, @arg00, @arg00, @arg01 ;
|
||||
|
||||
###### heavy modified case derived from client_test.c: test_distinct()
|
||||
## no parameters
|
||||
###### subquery in select list
|
||||
# test case derived from client_test.c: test_create_drop
|
||||
--disable_warnings
|
||||
drop table if exists t2 ;
|
||||
--enable_warnings
|
||||
create table t2 as select * from t_many_col_types;
|
||||
#insert into t2 select * from t_many_col_types;
|
||||
create table t2 as select * from t1;
|
||||
prepare stmt1 from ' select a in (select a from t2) from t1 ' ;
|
||||
execute stmt1 ;
|
||||
# test case derived from client_test.c: test_selecttmp()
|
||||
--disable_warnings
|
||||
drop table if exists t5, t6, t7 ;
|
||||
--enable_warnings
|
||||
create table t5 (a int , b int) ;
|
||||
create table t6 like t5 ;
|
||||
create table t7 like t5 ;
|
||||
insert into t5 values (0, 100), (1, 2), (1, 3), (2, 2), (2, 7),
|
||||
(2, -1), (3, 10) ;
|
||||
insert into t6 values (0, 0), (1, 1), (2, 1), (3, 1), (4, 1) ;
|
||||
insert into t7 values (3, 3), (2, 2), (1, 1) ;
|
||||
prepare stmt1 from ' select a, (select count(distinct t5.b) as sum from t5, t6
|
||||
where t5.a=t6.a and t6.b > 0 and t5.a <= t7.b
|
||||
group by t5.a order by sum limit 1) from t7 ' ;
|
||||
let $1= 3 ;
|
||||
while ($1)
|
||||
{
|
||||
execute stmt1 ;
|
||||
dec $1 ;
|
||||
}
|
||||
drop table t5, t6, t7 ;
|
||||
|
||||
|
||||
###### heavy modified case derived from client_test.c: test_distinct()
|
||||
--disable_warnings
|
||||
drop table if exists t2 ;
|
||||
--enable_warnings
|
||||
create table t2 as select * from t9;
|
||||
## unusual and complex SELECT without parameters
|
||||
set @stmt= ' SELECT
|
||||
(SELECT SUM(c1 + c12 + 0.0) FROM t2
|
||||
where (t_many_col_types.c2 - 0e-3) = t2.c2
|
||||
GROUP BY t_many_col_types.c15 LIMIT 1) as scalar_s,
|
||||
where (t9.c2 - 0e-3) = t2.c2
|
||||
GROUP BY t9.c15 LIMIT 1) as scalar_s,
|
||||
exists (select 1.0e+0 from t2
|
||||
where t2.c3 * 9.0000000000 = t_many_col_types.c4) as exists_s,
|
||||
where t2.c3 * 9.0000000000 = t9.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 t_many_col_types,
|
||||
FROM t9,
|
||||
(select c25 x, c32 y from t2) tt WHERE x = c25 ' ;
|
||||
--enable_metadata
|
||||
prepare stmt1 from @stmt ;
|
||||
#
|
||||
# Result log was disabled upon test case failure in the optimized build.
|
||||
#
|
||||
--disable_result_log
|
||||
execute stmt1 ;
|
||||
--disable_metadata
|
||||
execute stmt1 ;
|
||||
## now expand the terrible SELECT to EXPLAIN SELECT
|
||||
set @stmt= concat('explain ',@stmt);
|
||||
--enable_metadata
|
||||
prepare stmt1 from @stmt ;
|
||||
execute stmt1 ;
|
||||
--disable_metadata
|
||||
# Bug#4271 prepared explain complex select, second executes crashes the server
|
||||
execute stmt1 ;
|
||||
## many parameters
|
||||
## replace the constants of the complex SELECT with parameters
|
||||
set @stmt= ' SELECT
|
||||
(SELECT SUM(c1+c12+?) FROM t2 where (t_many_col_types.c2-?)=t2.c2
|
||||
GROUP BY t_many_col_types.c15 LIMIT 1) as scalar_s,
|
||||
(SELECT SUM(c1+c12+?) FROM t2 where (t9.c2-?)=t2.c2
|
||||
GROUP BY t9.c15 LIMIT 1) as scalar_s,
|
||||
exists (select ? from t2
|
||||
where t2.c3*?=t_many_col_types.c4) as exists_s,
|
||||
where t2.c3*?=t9.c4) as exists_s,
|
||||
c5*? in (select c6+? from t2) as in_s,
|
||||
(c7-?, c8-?) in (select c9+?, c10+? from t2) as in_row_s
|
||||
FROM t_many_col_types,
|
||||
FROM t9,
|
||||
(select c25 x, c32 y from t2) tt WHERE x =c25 ' ;
|
||||
set @arg00= 0.0 ;
|
||||
set @arg01= 0e-3 ;
|
||||
@ -457,6 +583,7 @@ execute stmt1 using @arg00, @arg01, @arg02, @arg03, @arg04, @arg05, @arg06,
|
||||
--disable_metadata
|
||||
execute stmt1 using @arg00, @arg01, @arg02, @arg03, @arg04, @arg05, @arg06,
|
||||
@arg07, @arg08, @arg09 ;
|
||||
## now expand the terrible SELECT to EXPLAIN SELECT
|
||||
set @stmt= concat('explain ',@stmt);
|
||||
--enable_metadata
|
||||
prepare stmt1 from @stmt ;
|
||||
@ -465,9 +592,21 @@ execute stmt1 using @arg00, @arg01, @arg02, @arg03, @arg04, @arg05, @arg06,
|
||||
--disable_metadata
|
||||
execute stmt1 using @arg00, @arg01, @arg02, @arg03, @arg04, @arg05, @arg06,
|
||||
@arg07, @arg08, @arg09 ;
|
||||
--enable_result_log
|
||||
drop table t2 ;
|
||||
|
||||
|
||||
##### test case derived from client_test.c: test_bug4079()
|
||||
--error 1242
|
||||
select 1 < (select a from t1) ;
|
||||
prepare stmt1 from ' select 1 < (select a from t1) ' ;
|
||||
--error 1242
|
||||
execute stmt1 ;
|
||||
# Bug#5066 embedded server, select after failed subquery provides wrong result
|
||||
# (two additional records, all column values NULL)
|
||||
select 1 as my_col ;
|
||||
|
||||
################ union tests ################
|
||||
--disable_query_log
|
||||
select '------ union tests ------' as test_sequence ;
|
||||
--enable_query_log
|
||||
@ -483,6 +622,16 @@ prepare stmt1 from ' select a FROM t1 where a=1
|
||||
union all
|
||||
select a FROM t1 where a=1 ';
|
||||
execute stmt1 ;
|
||||
# test case derived from client_test.c: test_bad_union()
|
||||
--error 1222
|
||||
prepare stmt1 from ' SELECT 1, 2 union SELECT 1 ' ;
|
||||
--error 1222
|
||||
prepare stmt1 from ' SELECT 1 union SELECT 1, 2 ' ;
|
||||
--error 1222
|
||||
prepare stmt1 from ' SELECT * from t1 union SELECT 1 ' ;
|
||||
--error 1222
|
||||
prepare stmt1 from ' SELECT 1 union SELECT * from t1 ' ;
|
||||
|
||||
|
||||
##### everything in the first table
|
||||
# one parameter as constant in the first table
|
||||
@ -610,10 +759,13 @@ prepare stmt1 from ' select sum(a) + 200 as the_sum, ? as the_town from t1
|
||||
execute stmt1 using @Oporto, @1, @2, @Lisboa, @2, @3;
|
||||
|
||||
|
||||
################ explain select tests ################
|
||||
--disable_query_log
|
||||
select '------ explain select tests ------' as test_sequence ;
|
||||
--enable_query_log
|
||||
prepare stmt1 from ' select * from t_many_col_types ' ;
|
||||
--disable_metadata
|
||||
# table with many column types
|
||||
prepare stmt1 from ' explain select * from t9 ' ;
|
||||
--enable_metadata
|
||||
execute stmt1;
|
||||
--disable_metadata
|
||||
|
@ -1,6 +1,6 @@
|
||||
################ include/ps_renew.inc #################
|
||||
# #
|
||||
# renew the content of t1 and t_many_col_types #
|
||||
# renew the content of t1 and t9 #
|
||||
# #
|
||||
#######################################################
|
||||
|
||||
@ -13,8 +13,8 @@ insert into t1 values (3,'three');
|
||||
insert into t1 values (4,'four');
|
||||
commit ;
|
||||
|
||||
delete from t_many_col_types ;
|
||||
insert into t_many_col_types
|
||||
delete from t9 ;
|
||||
insert into t9
|
||||
set c1= 1, c2= 1, c3= 1, c4= 1, c5= 1, c6= 1, c7= 1, c8= 1, c9= 1,
|
||||
c10= 1, c11= 1, c12 = 1,
|
||||
c13= '2004-02-29', c14= '2004-02-29 11:11:11', c15= '2004-02-29 11:11:11',
|
||||
@ -23,7 +23,7 @@ set c1= 1, c2= 1, c3= 1, c4= 1, c5= 1, c6= 1, c7= 1, c8= 1, c9= 1,
|
||||
c22= '123456789a123456789b123456789c', c23= 'tinyblob', c24= 'tinytext',
|
||||
c25= 'blob', c26= 'text', c27= 'mediumblob', c28= 'mediumtext',
|
||||
c29= 'longblob', c30= 'longtext', c31='one', c32= 'monday';
|
||||
insert into t_many_col_types
|
||||
insert into t9
|
||||
set c1= 9, c2= 9, c3= 9, c4= 9, c5= 9, c6= 9, c7= 9, c8= 9, c9= 9,
|
||||
c10= 9, c11= 9, c12 = 9,
|
||||
c13= '2004-02-29', c14= '2004-02-29 11:11:11', c15= '2004-02-29 11:11:11',
|
||||
@ -32,3 +32,4 @@ set c1= 9, c2= 9, c3= 9, c4= 9, c5= 9, c6= 9, c7= 9, c8= 9, c9= 9,
|
||||
c22= '123456789a123456789b123456789c', c23= 'tinyblob', c24= 'tinytext',
|
||||
c25= 'blob', c26= 'text', c27= 'mediumblob', c28= 'mediumtext',
|
||||
c29= 'longblob', c30= 'longtext', c31='two', c32= 'tuesday';
|
||||
commit ;
|
||||
|
@ -36,8 +36,13 @@ then
|
||||
data=var/slave-data
|
||||
ldata=$fix_bin/var/slave-data
|
||||
else
|
||||
data=var/master-data
|
||||
ldata=$fix_bin/var/master-data
|
||||
if [ x$1 = x"-1" ]
|
||||
then
|
||||
data=var/master-data1
|
||||
else
|
||||
data=var/master-data
|
||||
fi
|
||||
ldata=$fix_bin/$data
|
||||
fi
|
||||
|
||||
mdata=$data/mysql
|
||||
|
@ -198,9 +198,11 @@ DYLD_LIBRARY_PATH="$BASEDIR/lib:$BASEDIR/libmysql/.libs:$DYLD_LIBRARY_PATH"
|
||||
export LD_LIBRARY_PATH DYLD_LIBRARY_PATH
|
||||
|
||||
MASTER_RUNNING=0
|
||||
MASTER1_RUNNING=0
|
||||
MASTER_MYPORT=9306
|
||||
MASTER_MYPORT1=9307
|
||||
SLAVE_RUNNING=0
|
||||
SLAVE_MYPORT=9307
|
||||
SLAVE_MYPORT=9308 # leave room for 2 masters for cluster tests
|
||||
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
|
||||
@ -208,6 +210,7 @@ MYSQL_MANAGER_LOG=$MYSQL_TEST_DIR/var/log/manager.log
|
||||
MYSQL_MANAGER_USER=root
|
||||
NO_SLAVE=0
|
||||
USER_TEST=
|
||||
FAILED_CASES=
|
||||
|
||||
EXTRA_MASTER_OPT=""
|
||||
EXTRA_MYSQL_TEST_OPT=""
|
||||
@ -232,11 +235,17 @@ DBUSER=""
|
||||
START_WAIT_TIMEOUT=10
|
||||
STOP_WAIT_TIMEOUT=10
|
||||
MYSQL_TEST_SSL_OPTS=""
|
||||
USE_TIMER=""
|
||||
USE_EMBEDDED_SERVER=""
|
||||
RESULT_EXT=""
|
||||
|
||||
while test $# -gt 0; do
|
||||
case "$1" in
|
||||
--embedded-server) USE_EMBEDDED_SERVER=1 ; USE_MANAGER=0 ; NO_SLAVE=1 ; \
|
||||
USE_RUNNING_SERVER="" RESULT_EXT=".es" ;;
|
||||
--user=*) DBUSER=`$ECHO "$1" | $SED -e "s;--user=;;"` ;;
|
||||
--force) FORCE=1 ;;
|
||||
--timer) USE_TIMER=1 ;;
|
||||
--verbose-manager) MANAGER_QUIET_OPT="" ;;
|
||||
--old-master) MASTER_40_ARGS="";;
|
||||
--master-binary=*)
|
||||
@ -247,9 +256,9 @@ while test $# -gt 0; do
|
||||
--extern) USE_RUNNING_SERVER="1" ;;
|
||||
--with-ndbcluster)
|
||||
USE_NDBCLUSTER="--ndbcluster" ;;
|
||||
--ndbconnectstring=*)
|
||||
--ndb-connectstring=*)
|
||||
USE_NDBCLUSTER="--ndbcluster" ;
|
||||
USE_RUNNING_NDBCLUSTER=`$ECHO "$1" | $SED -e "s;--ndbconnectstring=;;"` ;;
|
||||
USE_RUNNING_NDBCLUSTER=`$ECHO "$1" | $SED -e "s;--ndb-connectstring=;;"` ;;
|
||||
--tmpdir=*) MYSQL_TMP_DIR=`$ECHO "$1" | $SED -e "s;--tmpdir=;;"` ;;
|
||||
--local-master)
|
||||
MASTER_MYPORT=3306;
|
||||
@ -295,6 +304,11 @@ while test $# -gt 0; do
|
||||
--record)
|
||||
RECORD=1;
|
||||
EXTRA_MYSQL_TEST_OPT="$EXTRA_MYSQL_TEST_OPT $1" ;;
|
||||
--small-bench)
|
||||
DO_SMALL_BENCH=1
|
||||
DO_BENCH=1
|
||||
NO_SLAVE=1
|
||||
;;
|
||||
--bench)
|
||||
DO_BENCH=1
|
||||
NO_SLAVE=1
|
||||
@ -307,6 +321,8 @@ while test $# -gt 0; do
|
||||
EXTRA_MYSQL_TEST_OPT="$EXTRA_MYSQL_TEST_OPT $1"
|
||||
SLEEP_TIME_AFTER_RESTART=`$ECHO "$1" | $SED -e "s;--sleep=;;"`
|
||||
;;
|
||||
--ps-protocol)
|
||||
EXTRA_MYSQL_TEST_OPT="$EXTRA_MYSQL_TEST_OPT $1" ;;
|
||||
--user-test=*)
|
||||
USER_TEST=`$ECHO "$1" | $SED -e "s;--user-test=;;"`
|
||||
;;
|
||||
@ -425,6 +441,7 @@ MANAGER_PID_FILE="$MYRUN_DIR/manager.pid"
|
||||
|
||||
MASTER_MYDDIR="$MYSQL_TEST_DIR/var/master-data"
|
||||
MASTER_MYSOCK="$MYSQL_TMP_DIR/master.sock"
|
||||
MASTER_MYSOCK1=$MYSQL_MYSOCK"1"
|
||||
MASTER_MYPID="$MYRUN_DIR/master.pid"
|
||||
MASTER_MYLOG="$MYSQL_TEST_DIR/var/log/master.log"
|
||||
MASTER_MYERR="$MYSQL_TEST_DIR/var/log/master.err"
|
||||
@ -438,7 +455,7 @@ SLAVE_MYERR="$MYSQL_TEST_DIR/var/log/slave.err"
|
||||
CURRENT_TEST="$MYSQL_TEST_DIR/var/log/current_test"
|
||||
SMALL_SERVER="--key_buffer_size=1M --sort_buffer=256K --max_heap_table_size=1M"
|
||||
|
||||
export MASTER_MYPORT SLAVE_MYPORT MYSQL_TCP_PORT MASTER_MYSOCK
|
||||
export MASTER_MYPORT MASTER_MYPORT1 SLAVE_MYPORT MYSQL_TCP_PORT MASTER_MYSOCK MASTER_MYSOCK1
|
||||
|
||||
if [ x$SOURCE_DIST = x1 ] ; then
|
||||
MY_BASEDIR=$MYSQL_TEST_DIR
|
||||
@ -458,18 +475,27 @@ fi
|
||||
|
||||
if test ${COLUMNS:-0} -lt 80 ; then COLUMNS=80 ; fi
|
||||
E=`$EXPR $COLUMNS - 8`
|
||||
DASH72=`$ECHO '------------------------------------------'|$CUT -c 1-$E`
|
||||
DASH72=`$ECHO '-------------------------------------------------------'|$CUT -c 1-$E`
|
||||
|
||||
# on source dist, we pick up freshly build executables
|
||||
# on binary, use what is installed
|
||||
if [ x$SOURCE_DIST = x1 ] ; then
|
||||
MYSQLD="$VALGRIND $BASEDIR/sql/mysqld"
|
||||
if [ -f "$BASEDIR/client/.libs/lt-mysqltest" ] ; then
|
||||
MYSQL_TEST="$BASEDIR/client/.libs/lt-mysqltest"
|
||||
elif [ -f "$BASEDIR/client/.libs/mysqltest" ] ; then
|
||||
MYSQL_TEST="$BASEDIR/client/.libs/mysqltest"
|
||||
if [ "x$USE_EMBEDDED_SERVER" = "x1" ] ; then
|
||||
if [ -f "$BASEDIR/libmysqld/examples/mysqltest" ] ; then
|
||||
MYSQL_TEST="$VALGRIND $BASEDIR/libmysqld/examples/mysqltest"
|
||||
else
|
||||
echo "Fatal error: Cannot find embedded server 'mysqltest'" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
MYSQL_TEST="$BASEDIR/client/mysqltest"
|
||||
MYSQLD="$VALGRIND $BASEDIR/sql/mysqld"
|
||||
if [ -f "$BASEDIR/client/.libs/lt-mysqltest" ] ; then
|
||||
MYSQL_TEST="$BASEDIR/client/.libs/lt-mysqltest"
|
||||
elif [ -f "$BASEDIR/client/.libs/mysqltest" ] ; then
|
||||
MYSQL_TEST="$BASEDIR/client/.libs/mysqltest"
|
||||
else
|
||||
MYSQL_TEST="$BASEDIR/client/mysqltest"
|
||||
fi
|
||||
fi
|
||||
if [ -f "$BASEDIR/client/.libs/mysqldump" ] ; then
|
||||
MYSQL_DUMP="$BASEDIR/client/.libs/mysqldump"
|
||||
@ -486,6 +512,7 @@ if [ x$SOURCE_DIST = x1 ] ; then
|
||||
fi
|
||||
|
||||
CLIENT_BINDIR="$BASEDIR/client"
|
||||
TESTS_BINDIR="$BASEDIR/tests"
|
||||
MYSQLADMIN="$CLIENT_BINDIR/mysqladmin"
|
||||
WAIT_PID="$BASEDIR/extra/mysql_waitpid"
|
||||
MYSQL_MANAGER_CLIENT="$CLIENT_BINDIR/mysqlmanagerc"
|
||||
@ -496,6 +523,7 @@ if [ x$SOURCE_DIST = x1 ] ; then
|
||||
CHARSETSDIR="$BASEDIR/sql/share/charsets"
|
||||
INSTALL_DB="./install_test_db"
|
||||
MYSQL_FIX_SYSTEM_TABLES="$BASEDIR/scripts/mysql_fix_privilege_tables"
|
||||
NDB_TOOLS_DIR="$BASEDIR/ndb/tools"
|
||||
else
|
||||
if test -x "$BASEDIR/libexec/mysqld"
|
||||
then
|
||||
@ -504,6 +532,7 @@ else
|
||||
MYSQLD="$VALGRIND $BASEDIR/bin/mysqld"
|
||||
fi
|
||||
CLIENT_BINDIR="$BASEDIR/bin"
|
||||
TESTS_BINDIR="$BASEDIR/tests"
|
||||
MYSQL_TEST="$CLIENT_BINDIR/mysqltest"
|
||||
MYSQL_DUMP="$CLIENT_BINDIR/mysqldump"
|
||||
MYSQL_BINLOG="$CLIENT_BINDIR/mysqlbinlog"
|
||||
@ -515,6 +544,7 @@ else
|
||||
MYSQL="$CLIENT_BINDIR/mysql"
|
||||
INSTALL_DB="./install_test_db --bin"
|
||||
MYSQL_FIX_SYSTEM_TABLES="$CLIENT_BINDIR/mysql_fix_privilege_tables"
|
||||
NDB_TOOLS_DIR="$CLIENT_BINDIR"
|
||||
if test -d "$BASEDIR/share/mysql/english"
|
||||
then
|
||||
LANGUAGE="$BASEDIR/share/mysql/english/"
|
||||
@ -561,11 +591,15 @@ MYSQL_DUMP="$MYSQL_DUMP --no-defaults -uroot --socket=$MASTER_MYSOCK --password=
|
||||
MYSQL_BINLOG="$MYSQL_BINLOG --no-defaults --local-load=$MYSQL_TMP_DIR $EXTRA_MYSQLBINLOG_OPT"
|
||||
MYSQL_FIX_SYSTEM_TABLES="$MYSQL_FIX_SYSTEM_TABLES --no-defaults --host=localhost --port=$MASTER_MYPORT --socket=$MASTER_MYSOCK --user=root --password=$DBPASSWD --basedir=$BASEDIR --bindir=$CLIENT_BINDIR --verbose"
|
||||
MYSQL="$MYSQL --host=localhost --port=$MASTER_MYPORT --socket=$MASTER_MYSOCK --user=root --password=$DBPASSWD"
|
||||
export MYSQL MYSQL_DUMP MYSQL_BINLOG MYSQL_FIX_SYSTEM_TABLES CLIENT_BINDIR
|
||||
export MYSQL MYSQL_DUMP MYSQL_BINLOG MYSQL_FIX_SYSTEM_TABLES CLIENT_BINDIR TESTS_BINDIR
|
||||
export NDB_TOOLS_DIR
|
||||
|
||||
MYSQL_TEST_ARGS="--no-defaults --socket=$MASTER_MYSOCK --database=$DB \
|
||||
--user=$DBUSER --password=$DBPASSWD --silent -v --skip-safemalloc \
|
||||
--tmpdir=$MYSQL_TMP_DIR --port=$MASTER_MYPORT $MYSQL_TEST_SSL_OPTS"
|
||||
if [ x$USE_TIMER = x1 ] ; then
|
||||
MYSQL_TEST_ARGS="$MYSQL_TEST_ARGS --timer-file=$MY_LOG_DIR/timer"
|
||||
fi
|
||||
MYSQL_TEST_BIN=$MYSQL_TEST
|
||||
MYSQL_TEST="$MYSQL_TEST $MYSQL_TEST_ARGS"
|
||||
GDB_CLIENT_INIT=$MYSQL_TMP_DIR/gdbinit.client
|
||||
@ -601,6 +635,13 @@ show_failed_diff ()
|
||||
result_file=r/$1.result
|
||||
eval_file=r/$1.eval
|
||||
|
||||
# If we have an special externsion for result files we use it if we are recording
|
||||
# or a result file with that extension exists.
|
||||
if [ -n "$RESULT_EXT" -a \( x$RECORD = x1 -o -f "$result_file$RESULT_EXT" \) ]
|
||||
then
|
||||
result_file="$result_file$RESULT_EXT"
|
||||
fi
|
||||
|
||||
if [ -f $eval_file ]
|
||||
then
|
||||
result_file=$eval_file
|
||||
@ -720,13 +761,22 @@ report_stats () {
|
||||
|
||||
mysql_install_db () {
|
||||
$ECHO "Removing Stale Files"
|
||||
$RM -rf $MASTER_MYDDIR $SLAVE_MYDDIR $MY_LOG_DIR/*
|
||||
$RM -rf $MASTER_MYDDIR $MASTER_MYDDIR"1" $SLAVE_MYDDIR $MY_LOG_DIR/*
|
||||
$ECHO "Installing Master Databases"
|
||||
$INSTALL_DB
|
||||
if [ $? != 0 ]; then
|
||||
error "Could not install master test DBs"
|
||||
exit 1
|
||||
fi
|
||||
if [ ! -z "$USE_NDBCLUSTER" ]
|
||||
then
|
||||
$ECHO "Installing Master Databases 1"
|
||||
$INSTALL_DB -1
|
||||
if [ $? != 0 ]; then
|
||||
error "Could not install master test DBs 1"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
$ECHO "Installing Slave Databases"
|
||||
$INSTALL_DB -slave
|
||||
if [ $? != 0 ]; then
|
||||
@ -865,10 +915,10 @@ manager_term()
|
||||
ident=$2
|
||||
if [ $USE_MANAGER = 0 ] ; then
|
||||
# Shutdown time must be high as slave may be in reconnect
|
||||
$MYSQLADMIN --no-defaults -uroot --socket=$MYSQL_TMP_DIR/$ident.sock --connect_timeout=5 --shutdown_timeout=70 shutdown >> $MYSQL_MANAGER_LOG 2>&1
|
||||
$MYSQLADMIN --no-defaults -uroot --socket=$MYSQL_TMP_DIR/$ident.sock$3 --connect_timeout=5 --shutdown_timeout=70 shutdown >> $MYSQL_MANAGER_LOG 2>&1
|
||||
res=$?
|
||||
# Some systems require an extra connect
|
||||
$MYSQLADMIN --no-defaults -uroot --socket=$MYSQL_TMP_DIR/$ident.sock --connect_timeout=1 ping >> $MYSQL_MANAGER_LOG 2>&1
|
||||
$MYSQLADMIN --no-defaults -uroot --socket=$MYSQL_TMP_DIR/$ident.sock$3 --connect_timeout=1 ping >> $MYSQL_MANAGER_LOG 2>&1
|
||||
if test $res = 0
|
||||
then
|
||||
wait_for_pid $pid
|
||||
@ -882,20 +932,59 @@ EOF
|
||||
abort_if_failed "Could not execute manager command"
|
||||
}
|
||||
|
||||
start_ndbcluster()
|
||||
{
|
||||
if [ ! -z "$USE_NDBCLUSTER" ]
|
||||
then
|
||||
if [ -z "$USE_RUNNING_NDBCLUSTER" ]
|
||||
then
|
||||
echo "Starting ndbcluster"
|
||||
if [ "$DO_BENCH" = 1 ]
|
||||
then
|
||||
NDBCLUSTER_OPTS=""
|
||||
else
|
||||
NDBCLUSTER_OPTS="--small"
|
||||
fi
|
||||
./ndb/ndbcluster --port-base=$NDBCLUSTER_PORT $NDBCLUSTER_OPTS --diskless --initial --data-dir=$MYSQL_TEST_DIR/var || exit 1
|
||||
NDB_CONNECTSTRING="host=localhost:$NDBCLUSTER_PORT"
|
||||
else
|
||||
NDB_CONNECTSTRING="$USE_RUNNING_NDBCLUSTER"
|
||||
echo "Using ndbcluster at $NDB_CONNECTSTRING"
|
||||
fi
|
||||
USE_NDBCLUSTER="$USE_NDBCLUSTER --ndb-connectstring=\"$NDB_CONNECTSTRING\""
|
||||
export NDB_CONNECTSTRING
|
||||
fi
|
||||
}
|
||||
|
||||
stop_ndbcluster()
|
||||
{
|
||||
if [ ! -z "$USE_NDBCLUSTER" ]
|
||||
then
|
||||
if [ -z "$USE_RUNNING_NDBCLUSTER" ]
|
||||
then
|
||||
# Kill any running ndbcluster stuff
|
||||
./ndb/ndbcluster --data-dir=$MYSQL_TEST_DIR/var --port-base=$NDBCLUSTER_PORT --stop
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
# The embedded server needs the cleanup so we do some of the start work
|
||||
# but stop before actually running mysqld or anything.
|
||||
|
||||
start_master()
|
||||
{
|
||||
if [ x$MASTER_RUNNING = x1 ] || [ x$LOCAL_MASTER = x1 ] ; then
|
||||
eval "this_master_running=\$MASTER$1_RUNNING"
|
||||
if [ x$this_master_running = x1 ] || [ x$LOCAL_MASTER = x1 ] ; then
|
||||
return
|
||||
fi
|
||||
# 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.*
|
||||
$RM -f $MYSQL_TEST_DIR/var/log/master-bin$1.*
|
||||
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
|
||||
$RM -f $MYSQL_TEST_DIR/var/master-data$1/master.info $MYSQL_TEST_DIR/var/master-data$1/relay-log.info
|
||||
|
||||
#run master initialization shell script if one exists
|
||||
|
||||
@ -904,20 +993,27 @@ start_master()
|
||||
/bin/sh $master_init_script
|
||||
fi
|
||||
cd $BASEDIR # for gcov
|
||||
if [ -n "$1" ] ; then
|
||||
id=`$EXPR $1 + 101`;
|
||||
this_master_myport=`$EXPR $MASTER_MYPORT + $1`
|
||||
else
|
||||
id=1;
|
||||
this_master_myport=$MASTER_MYPORT
|
||||
fi
|
||||
if [ -z "$DO_BENCH" ]
|
||||
then
|
||||
master_args="--no-defaults --log-bin=$MYSQL_TEST_DIR/var/log/master-bin \
|
||||
--server-id=1 \
|
||||
master_args="--no-defaults --log-bin=$MYSQL_TEST_DIR/var/log/master-bin$1 \
|
||||
--server-id=$id \
|
||||
--basedir=$MY_BASEDIR \
|
||||
--port=$MASTER_MYPORT \
|
||||
--port=$this_master_myport \
|
||||
--local-infile \
|
||||
--exit-info=256 \
|
||||
--core \
|
||||
$USE_NDBCLUSTER \
|
||||
--datadir=$MASTER_MYDDIR \
|
||||
--pid-file=$MASTER_MYPID \
|
||||
--socket=$MASTER_MYSOCK \
|
||||
--log=$MASTER_MYLOG \
|
||||
--datadir=$MASTER_MYDDIR$1 \
|
||||
--pid-file=$MASTER_MYPID$1 \
|
||||
--socket=$MASTER_MYSOCK$1 \
|
||||
--log=$MASTER_MYLOG$1 \
|
||||
--character-sets-dir=$CHARSETSDIR \
|
||||
--default-character-set=$CHARACTER_SET \
|
||||
--tmpdir=$MYSQL_TMP_DIR \
|
||||
@ -928,14 +1024,14 @@ start_master()
|
||||
$SMALL_SERVER \
|
||||
$EXTRA_MASTER_OPT $EXTRA_MASTER_MYSQLD_OPT"
|
||||
else
|
||||
master_args="--no-defaults --log-bin=$MYSQL_TEST_DIR/var/log/master-bin \
|
||||
--server-id=1 --rpl-recovery-rank=1 \
|
||||
master_args="--no-defaults --log-bin=$MYSQL_TEST_DIR/var/log/master-bin$1 \
|
||||
--server-id=$id --rpl-recovery-rank=1 \
|
||||
--basedir=$MY_BASEDIR --init-rpl-role=master \
|
||||
--port=$MASTER_MYPORT \
|
||||
--port=$this_master_myport \
|
||||
--local-infile \
|
||||
--datadir=$MASTER_MYDDIR \
|
||||
--pid-file=$MASTER_MYPID \
|
||||
--socket=$MASTER_MYSOCK \
|
||||
--datadir=$MASTER_MYDDIR$1 \
|
||||
--pid-file=$MASTER_MYPID$1 \
|
||||
--socket=$MASTER_MYSOCK$1 \
|
||||
--character-sets-dir=$CHARSETSDIR \
|
||||
--default-character-set=$CHARACTER_SET \
|
||||
--core \
|
||||
@ -951,6 +1047,18 @@ start_master()
|
||||
CUR_MYERR=$MASTER_MYERR
|
||||
CUR_MYSOCK=$MASTER_MYSOCK
|
||||
|
||||
# For embedded server we collect the server flags and return
|
||||
if [ "x$USE_EMBEDDED_SERVER" = "x1" ] ; then
|
||||
# Add a -A to each argument to pass it to embedded server
|
||||
EMBEDDED_SERVER_OPTS=""
|
||||
for opt in $master_args
|
||||
do
|
||||
EMBEDDED_SERVER_OPTS="$EMBEDDED_SERVER_OPTS -A $opt"
|
||||
done
|
||||
EXTRA_MYSQL_TEST_OPT="$EMBEDDED_SERVER_OPTS"
|
||||
return
|
||||
fi
|
||||
|
||||
if [ x$DO_DDD = x1 ]
|
||||
then
|
||||
$ECHO "set args $master_args" > $GDB_MASTER_INIT
|
||||
@ -981,9 +1089,9 @@ EOF
|
||||
else
|
||||
manager_launch master $MASTER_MYSQLD $master_args
|
||||
fi
|
||||
sleep_until_file_created $MASTER_MYPID $wait_for_master
|
||||
sleep_until_file_created $MASTER_MYPID$1 $wait_for_master
|
||||
wait_for_master=$SLEEP_TIME_FOR_SECOND_MASTER
|
||||
MASTER_RUNNING=1
|
||||
eval "MASTER$1_RUNNING=1"
|
||||
}
|
||||
|
||||
start_slave()
|
||||
@ -1111,6 +1219,7 @@ mysql_start ()
|
||||
# start_master
|
||||
# start_slave
|
||||
cd $MYSQL_TEST_DIR
|
||||
start_ndbcluster
|
||||
return 1
|
||||
}
|
||||
|
||||
@ -1159,26 +1268,31 @@ stop_slave_threads ()
|
||||
|
||||
stop_master ()
|
||||
{
|
||||
if [ x$MASTER_RUNNING = x1 ]
|
||||
eval "this_master_running=\$MASTER$1_RUNNING"
|
||||
if [ x$this_master_running = x1 ]
|
||||
then
|
||||
pid=`$CAT $MASTER_MYPID`
|
||||
manager_term $pid master
|
||||
if [ $? != 0 ] && [ -f $MASTER_MYPID ]
|
||||
then # try harder!
|
||||
$ECHO "master not cooperating with mysqladmin, will try manual kill"
|
||||
kill $pid
|
||||
sleep_until_file_deleted $pid $MASTER_MYPID
|
||||
if [ -f $MASTER_MYPID ] ; then
|
||||
$ECHO "master refused to die. Sending SIGKILL"
|
||||
kill -9 `$CAT $MASTER_MYPID`
|
||||
$RM -f $MASTER_MYPID
|
||||
# For embedded server we don't stop anyting but mark that
|
||||
# MASTER_RUNNING=0 to get cleanup when calling start_master().
|
||||
if [ x$USE_EMBEDDED_SERVER != x1 ] ; then
|
||||
pid=`$CAT $MASTER_MYPID$1`
|
||||
manager_term $pid master $1
|
||||
if [ $? != 0 ] && [ -f $MASTER_MYPID$1 ]
|
||||
then # try harder!
|
||||
$ECHO "master not cooperating with mysqladmin, will try manual kill"
|
||||
kill $pid
|
||||
sleep_until_file_deleted $pid $MASTER_MYPID$1
|
||||
if [ -f $MASTER_MYPID$1 ] ; then
|
||||
$ECHO "master refused to die. Sending SIGKILL"
|
||||
kill -9 `$CAT $MASTER_MYPID$1`
|
||||
$RM -f $MASTER_MYPID$1
|
||||
else
|
||||
$ECHO "master responded to SIGTERM "
|
||||
fi
|
||||
else
|
||||
$ECHO "master responded to SIGTERM "
|
||||
sleep $SLEEP_TIME_AFTER_RESTART
|
||||
fi
|
||||
else
|
||||
sleep $SLEEP_TIME_AFTER_RESTART
|
||||
fi
|
||||
MASTER_RUNNING=0
|
||||
eval "MASTER$1_RUNNING=0"
|
||||
fi
|
||||
}
|
||||
|
||||
@ -1190,11 +1304,13 @@ mysql_stop ()
|
||||
$ECHO "Shutting-down MySQL daemon"
|
||||
$ECHO ""
|
||||
stop_master
|
||||
stop_master 1
|
||||
$ECHO "Master shutdown finished"
|
||||
stop_slave
|
||||
stop_slave 1
|
||||
stop_slave 2
|
||||
$ECHO "Slave shutdown finished"
|
||||
stop_ndbcluster
|
||||
fi
|
||||
return 1
|
||||
}
|
||||
@ -1221,9 +1337,13 @@ run_testcase ()
|
||||
master_init_script=$TESTDIR/$tname-master.sh
|
||||
slave_init_script=$TESTDIR/$tname-slave.sh
|
||||
slave_master_info_file=$TESTDIR/$tname.slave-mi
|
||||
result_file=$tname
|
||||
tsrcdir=$TESTDIR/$tname-src
|
||||
result_file="r/$tname.result"
|
||||
echo $tname > $CURRENT_TEST
|
||||
SKIP_SLAVE=`$EXPR \( $tname : rpl \) = 0`
|
||||
if [ -n "$RESULT_EXT" -a \( x$RECORD = x1 -o -f "$result_file$RESULT_EXT" \) ] ; then
|
||||
result_file="$result_file$RESULT_EXT"
|
||||
fi
|
||||
if [ "$USE_MANAGER" = 1 ] ; then
|
||||
many_slaves=`$EXPR \( \( $tname : rpl_failsafe \) != 0 \) \| \( \( $tname : rpl_chain_temp_table \) != 0 \)`
|
||||
fi
|
||||
@ -1253,11 +1373,45 @@ run_testcase ()
|
||||
return
|
||||
fi
|
||||
|
||||
# Stop all slave threads, so that we don't have useless reconnection attempts
|
||||
# and error messages in case the slave and master servers restart.
|
||||
stop_slave_threads
|
||||
stop_slave_threads 1
|
||||
stop_slave_threads 2
|
||||
if [ "x$USE_EMBEDDED_SERVER" != "x1" ] ; then
|
||||
# Stop all slave threads, so that we don't have useless reconnection
|
||||
# attempts and error messages in case the slave and master servers restart.
|
||||
stop_slave_threads
|
||||
stop_slave_threads 1
|
||||
stop_slave_threads 2
|
||||
fi
|
||||
|
||||
# FIXME temporary solution, we will get a new C version of this
|
||||
# script soon anyway so it is not worth it spending the time
|
||||
if [ "x$USE_EMBEDDED_SERVER" = "x1" -a -z "$DO_TEST" ] ; then
|
||||
for t in \
|
||||
"bdb-deadlock" \
|
||||
"connect" \
|
||||
"flush_block_commit" \
|
||||
"grant2" \
|
||||
"grant_cache" \
|
||||
"grant" \
|
||||
"init_connect" \
|
||||
"innodb-deadlock" \
|
||||
"innodb-lock" \
|
||||
"mix_innodb_myisam_binlog" \
|
||||
"mysqlbinlog2" \
|
||||
"mysqlbinlog" \
|
||||
"mysqldump" \
|
||||
"mysql_protocols" \
|
||||
"ps_1general" \
|
||||
"rename" \
|
||||
"show_check" \
|
||||
"system_mysql_db_fix" \
|
||||
"user_var" \
|
||||
"variables"
|
||||
do
|
||||
if [ "$tname" = "$t" ] ; then
|
||||
skip_test $tname
|
||||
return
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
if [ -z "$USE_RUNNING_SERVER" ] ;
|
||||
then
|
||||
@ -1273,67 +1427,86 @@ run_testcase ()
|
||||
;;
|
||||
--result-file=*)
|
||||
result_file=`$ECHO "$EXTRA_MASTER_OPT" | $SED -e "s;--result-file=;;"`
|
||||
result_file="r/$result_file.result"
|
||||
if [ -n "$RESULT_EXT" -a \( x$RECORD = x1 -o -f "$result_file$RESULT_EXT" \) ] ; then
|
||||
result_file="$result_file$RESULT_EXT"
|
||||
fi
|
||||
# Note that this must be set to space, not "" for test-reset to work
|
||||
EXTRA_MASTER_OPT=" "
|
||||
;;
|
||||
esac
|
||||
stop_master
|
||||
stop_master 1
|
||||
echo "CURRENT_TEST: $tname" >> $MASTER_MYERR
|
||||
start_master
|
||||
if [ -n "$USE_NDBCLUSTER" -a -z "$DO_BENCH" ] ; then
|
||||
start_master 1
|
||||
fi
|
||||
TZ=$MY_TZ; export TZ
|
||||
else
|
||||
if [ ! -z "$EXTRA_MASTER_OPT" ] || [ x$MASTER_RUNNING != x1 ] || [ -f $master_init_script ]
|
||||
# If we had extra master opts to the previous run
|
||||
# or there is no master running (FIXME strange.....)
|
||||
# or there is a master init script
|
||||
if [ ! -z "$EXTRA_MASTER_OPT" ] || [ x$MASTER_RUNNING != x1 ] || \
|
||||
[ -f $master_init_script ]
|
||||
then
|
||||
EXTRA_MASTER_OPT=""
|
||||
stop_master
|
||||
stop_master 1
|
||||
echo "CURRENT_TEST: $tname" >> $MASTER_MYERR
|
||||
start_master
|
||||
if [ -n "$USE_NDBCLUSTER" -a -z "$DO_BENCH" ] ; then
|
||||
start_master 1
|
||||
fi
|
||||
else
|
||||
echo "CURRENT_TEST: $tname" >> $MASTER_MYERR
|
||||
fi
|
||||
fi
|
||||
|
||||
do_slave_restart=0
|
||||
if [ -f $slave_opt_file ] ;
|
||||
then
|
||||
EXTRA_SLAVE_OPT=`$CAT $slave_opt_file | $SED -e "s;\\$MYSQL_TEST_DIR;$MYSQL_TEST_DIR;"`
|
||||
do_slave_restart=1
|
||||
else
|
||||
if [ ! -z "$EXTRA_SLAVE_OPT" ] || [ x$SLAVE_RUNNING != x1 ] ;
|
||||
then
|
||||
EXTRA_SLAVE_OPT=""
|
||||
do_slave_restart=1
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -f $slave_master_info_file ] ; then
|
||||
SLAVE_MASTER_INFO=`$CAT $slave_master_info_file`
|
||||
do_slave_restart=1
|
||||
else
|
||||
if [ ! -z "$SLAVE_MASTER_INFO" ] || [ x$SLAVE_RUNNING != x1 ] ;
|
||||
# We never start a slave if embedded server is used
|
||||
if [ "x$USE_EMBEDDED_SERVER" != "x1" ] ; then
|
||||
do_slave_restart=0
|
||||
if [ -f $slave_opt_file ] ;
|
||||
then
|
||||
SLAVE_MASTER_INFO=""
|
||||
EXTRA_SLAVE_OPT=`$CAT $slave_opt_file | $SED -e "s;\\$MYSQL_TEST_DIR;$MYSQL_TEST_DIR;"`
|
||||
do_slave_restart=1
|
||||
else
|
||||
if [ ! -z "$EXTRA_SLAVE_OPT" ] || [ x$SLAVE_RUNNING != x1 ] ;
|
||||
then
|
||||
EXTRA_SLAVE_OPT=""
|
||||
do_slave_restart=1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ x$do_slave_restart = x1 ] ; then
|
||||
stop_slave
|
||||
echo "CURRENT_TEST: $tname" >> $SLAVE_MYERR
|
||||
start_slave
|
||||
else
|
||||
echo "CURRENT_TEST: $tname" >> $SLAVE_MYERR
|
||||
fi
|
||||
if [ x$many_slaves = x1 ]; then
|
||||
start_slave 1
|
||||
start_slave 2
|
||||
if [ -f $slave_master_info_file ] ; then
|
||||
SLAVE_MASTER_INFO=`$CAT $slave_master_info_file`
|
||||
do_slave_restart=1
|
||||
else
|
||||
if [ ! -z "$SLAVE_MASTER_INFO" ] || [ x$SLAVE_RUNNING != x1 ] ;
|
||||
then
|
||||
SLAVE_MASTER_INFO=""
|
||||
do_slave_restart=1
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ x$do_slave_restart = x1 ] ; then
|
||||
stop_slave
|
||||
echo "CURRENT_TEST: $tname" >> $SLAVE_MYERR
|
||||
start_slave
|
||||
else
|
||||
echo "CURRENT_TEST: $tname" >> $SLAVE_MYERR
|
||||
fi
|
||||
if [ x$many_slaves = x1 ]; then
|
||||
start_slave 1
|
||||
start_slave 2
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
cd $MYSQL_TEST_DIR
|
||||
|
||||
if [ -f $tf ] ; then
|
||||
$RM -f r/$tname.*reject
|
||||
mysql_test_args="-R r/$result_file.result $EXTRA_MYSQL_TEST_OPT"
|
||||
mysql_test_args="-R $result_file $EXTRA_MYSQL_TEST_OPT"
|
||||
if [ -z "$DO_CLIENT_GDB" ] ; then
|
||||
`$MYSQL_TEST $mysql_test_args < $tf 2> $TIMEFILE`;
|
||||
else
|
||||
@ -1353,7 +1526,12 @@ run_testcase ()
|
||||
if [ $res = 0 ]; then
|
||||
total_inc
|
||||
pass_inc
|
||||
$ECHO "$RES$RES_SPACE [ pass ]"
|
||||
TIMER=""
|
||||
if [ x$USE_TIMER = x1 -a -f "$MY_LOG_DIR/timer" ]; then
|
||||
TIMER=`cat $MY_LOG_DIR/timer`
|
||||
TIMER=`$PRINTF "%13s" $TIMER`
|
||||
fi
|
||||
$ECHO "$RES$RES_SPACE [ pass ] $TIMER"
|
||||
else
|
||||
# why the following ``if'' ? That is why res==1 is special ?
|
||||
if [ $res = 2 ]; then
|
||||
@ -1368,20 +1546,22 @@ run_testcase ()
|
||||
$ECHO "$RES$RES_SPACE [ fail ]"
|
||||
$ECHO
|
||||
error_is
|
||||
show_failed_diff $result_file
|
||||
show_failed_diff $tname
|
||||
$ECHO
|
||||
if [ x$FORCE != x1 ] ; then
|
||||
$ECHO "Aborting: $tname failed. To continue, re-run with '--force'."
|
||||
$ECHO
|
||||
if [ -z "$DO_GDB" ] && [ -z "$USE_RUNNING_SERVER" ] && [ -z "$DO_DDD" ]
|
||||
if [ -z "$DO_GDB" ] && [ -z "$USE_RUNNING_SERVER" ] && \
|
||||
[ -z "$DO_DDD" ] && [ -z "$USE_EMBEDDED_SERVER" ]
|
||||
then
|
||||
mysql_stop
|
||||
stop_manager
|
||||
fi
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z "$DO_GDB" ] && [ -z "$USE_RUNNING_SERVER" ] && [ -z "$DO_DDD" ]
|
||||
FAILED_CASES="$FAILED_CASES $tname"
|
||||
if [ -z "$DO_GDB" ] && [ -z "$USE_RUNNING_SERVER" ] && \
|
||||
[ -z "$DO_DDD" ] && [ -z "$USE_EMBEDDED_SERVER" ]
|
||||
then
|
||||
mysql_restart
|
||||
fi
|
||||
@ -1405,14 +1585,17 @@ then
|
||||
then
|
||||
# Ensure that no old mysqld test servers are running
|
||||
$MYSQLADMIN --no-defaults --socket=$MASTER_MYSOCK -u root -O connect_timeout=5 -O shutdown_timeout=20 shutdown > /dev/null 2>&1
|
||||
$MYSQLADMIN --no-defaults --socket=$MASTER_MYSOCK1 -u root -O connect_timeout=5 -O shutdown_timeout=20 shutdown > /dev/null 2>&1
|
||||
$MYSQLADMIN --no-defaults --socket=$SLAVE_MYSOCK -u root -O connect_timeout=5 -O shutdown_timeout=20 shutdown > /dev/null 2>&1
|
||||
$MYSQLADMIN --no-defaults --host=$hostname --port=$MASTER_MYPORT -u root -O connect_timeout=5 -O shutdown_timeout=20 shutdown > /dev/null 2>&1
|
||||
$MYSQLADMIN --no-defaults --host=$hostname --port=$MASTER_MYPORT1 -u root -O connect_timeout=5 -O shutdown_timeout=20 shutdown > /dev/null 2>&1
|
||||
$MYSQLADMIN --no-defaults --host=$hostname --port=$SLAVE_MYPORT -u root -O connect_timeout=5 -O shutdown_timeout=20 shutdown > /dev/null 2>&1
|
||||
$MYSQLADMIN --no-defaults --host=$hostname --port=`expr $SLAVE_MYPORT + 1` -u root -O connect_timeout=5 -O shutdown_timeout=20 shutdown > /dev/null 2>&1
|
||||
sleep_until_file_deleted 0 $MASTER_MYPID
|
||||
sleep_until_file_deleted 0 $MASTER_MYPID"1"
|
||||
sleep_until_file_deleted 0 $SLAVE_MYPID
|
||||
else
|
||||
rm $MASTER_MYPID $SLAVE_MYPID
|
||||
rm $MASTER_MYPID $MASTER_MYPID"1" $SLAVE_MYPID
|
||||
fi
|
||||
|
||||
# Kill any running managers
|
||||
@ -1427,14 +1610,7 @@ then
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ ! -z "$USE_NDBCLUSTER" ]
|
||||
then
|
||||
if [ -z "$USE_RUNNING_NDBCLUSTER" ]
|
||||
then
|
||||
# Kill any running ndbcluster stuff
|
||||
./ndb/ndbcluster --data-dir=$MYSQL_TEST_DIR/var --port-base=$NDBCLUSTER_PORT --stop
|
||||
fi
|
||||
fi
|
||||
stop_ndbcluster
|
||||
|
||||
# Remove files that can cause problems
|
||||
$RM -rf $MYSQL_TEST_DIR/var/ndbcluster
|
||||
@ -1442,25 +1618,13 @@ then
|
||||
|
||||
# Remove old berkeley db log files that can confuse the server
|
||||
$RM -f $MASTER_MYDDIR/log.*
|
||||
$RM -f $MASTER_MYDDIR"1"/log.*
|
||||
|
||||
wait_for_master=$SLEEP_TIME_FOR_FIRST_MASTER
|
||||
wait_for_slave=$SLEEP_TIME_FOR_FIRST_SLAVE
|
||||
$ECHO "Installing Test Databases"
|
||||
mysql_install_db
|
||||
|
||||
if [ ! -z "$USE_NDBCLUSTER" ]
|
||||
then
|
||||
if [ -z "$USE_RUNNING_NDBCLUSTER" ]
|
||||
then
|
||||
echo "Starting ndbcluster"
|
||||
./ndb/ndbcluster --port-base=$NDBCLUSTER_PORT --small --diskless --initial --data-dir=$MYSQL_TEST_DIR/var || exit 1
|
||||
USE_NDBCLUSTER="$USE_NDBCLUSTER --ndb-connectstring=\"host=localhost:$NDBCLUSTER_PORT\""
|
||||
else
|
||||
USE_NDBCLUSTER="$USE_NDBCLUSTER --ndb-connectstring=\"$USE_RUNNING_NDBCLUSTER\""
|
||||
echo "Using ndbcluster at $USE_NDBCLUSTER"
|
||||
fi
|
||||
fi
|
||||
|
||||
start_manager
|
||||
|
||||
# Do not automagically start daemons if we are in gdb or running only one test
|
||||
@ -1487,9 +1651,14 @@ if [ "$DO_BENCH" = 1 ]
|
||||
then
|
||||
start_master
|
||||
|
||||
if [ "$DO_SMALL_BENCH" = 1 ]
|
||||
then
|
||||
EXTRA_BENCH_ARGS="--small-test --small-tables"
|
||||
fi
|
||||
|
||||
if [ ! -z "$USE_NDBCLUSTER" ]
|
||||
then
|
||||
EXTRA_BENCH_ARGS="--create-options=TYPE=ndb"
|
||||
EXTRA_BENCH_ARGS="--create-options=TYPE=ndb $EXTRA_BENCH_ARGS"
|
||||
fi
|
||||
|
||||
BENCHDIR=$BASEDIR/sql-bench/
|
||||
@ -1497,7 +1666,7 @@ then
|
||||
cd $BENCHDIR
|
||||
if [ -z "$1" ]
|
||||
then
|
||||
./run-all-tests --socket=$MASTER_MYSOCK --user=root $EXTRA_BENCH_ARGS
|
||||
./run-all-tests --socket=$MASTER_MYSOCK --user=root $EXTRA_BENCH_ARGS --log
|
||||
else
|
||||
if [ -x "./$1" ]
|
||||
then
|
||||
@ -1513,7 +1682,11 @@ then
|
||||
fi
|
||||
|
||||
$ECHO
|
||||
$ECHO " TEST RESULT"
|
||||
if [ x$USE_TIMER = x1 ] ; then
|
||||
$ECHO "TEST RESULT TIME (ms)"
|
||||
else
|
||||
$ECHO "TEST RESULT"
|
||||
fi
|
||||
$ECHO $DASH72
|
||||
|
||||
if [ -z "$1" ] ;
|
||||
@ -1547,16 +1720,6 @@ if [ -z "$DO_GDB" ] && [ -z "$USE_RUNNING_SERVER" ] && [ -z "$DO_DDD" ]
|
||||
then
|
||||
mysql_stop
|
||||
fi
|
||||
|
||||
if [ ! -z "$USE_NDBCLUSTER" ]
|
||||
then
|
||||
if [ -z "$USE_RUNNING_NDBCLUSTER" ]
|
||||
then
|
||||
# Kill any running ndbcluster stuff
|
||||
./ndb/ndbcluster --data-dir=$MYSQL_TEST_DIR/var --port-base=$NDBCLUSTER_PORT --stop
|
||||
fi
|
||||
fi
|
||||
|
||||
stop_manager
|
||||
report_stats
|
||||
$ECHO
|
||||
@ -1564,4 +1727,10 @@ $ECHO
|
||||
[ "$DO_GCOV" ] && gcov_collect # collect coverage information
|
||||
[ "$DO_GPROF" ] && gprof_collect # collect coverage information
|
||||
|
||||
exit 0
|
||||
if [ $TOT_FAIL -ne 0 ]; then
|
||||
$ECHO "mysql-test-run: *** Failing the test(s):$FAILED_CASES"
|
||||
$ECHO
|
||||
exit 1
|
||||
else
|
||||
exit 0
|
||||
fi
|
||||
|
@ -1,36 +1,30 @@
|
||||
[DB DEFAULT]
|
||||
NoOfReplicas: 2
|
||||
MaxNoOfConcurrentOperations: CHOOSE_MaxNoOfConcurrentOperations
|
||||
DataMemory: CHOOSE_DataMemory
|
||||
IndexMemory: CHOOSE_IndexMemory
|
||||
Diskless: CHOOSE_Diskless
|
||||
TimeBetweenWatchDogCheck: 30000
|
||||
FileSystemPath: CHOOSE_FILESYSTEM
|
||||
[ndbd default]
|
||||
NoOfReplicas= 2
|
||||
MaxNoOfConcurrentOperations= CHOOSE_MaxNoOfConcurrentOperations
|
||||
DataMemory= CHOOSE_DataMemory
|
||||
IndexMemory= CHOOSE_IndexMemory
|
||||
Diskless= CHOOSE_Diskless
|
||||
TimeBetweenWatchDogCheck= 30000
|
||||
DataDir= CHOOSE_FILESYSTEM
|
||||
MaxNoOfOrderedIndexes= CHOOSE_MaxNoOfOrderedIndexes
|
||||
|
||||
[COMPUTER]
|
||||
Id: 1
|
||||
HostName: CHOOSE_HOSTNAME_1
|
||||
[ndbd]
|
||||
HostName= CHOOSE_HOSTNAME_1
|
||||
|
||||
[COMPUTER]
|
||||
Id: 2
|
||||
HostName: CHOOSE_HOSTNAME_2
|
||||
[ndbd]
|
||||
HostName= CHOOSE_HOSTNAME_2
|
||||
|
||||
[DB]
|
||||
ExecuteOnComputer: 1
|
||||
[ndb_mgmd]
|
||||
DataDir= CHOOSE_FILESYSTEM
|
||||
PortNumber= CHOOSE_PORT_MGM
|
||||
|
||||
[DB]
|
||||
ExecuteOnComputer: 2
|
||||
[mysqld]
|
||||
|
||||
[MGM]
|
||||
PortNumber: CHOOSE_PORT_MGM
|
||||
[mysqld]
|
||||
|
||||
[MYSQLD]
|
||||
[mysqld]
|
||||
|
||||
[MYSQLD]
|
||||
[mysqld]
|
||||
|
||||
[MYSQLD]
|
||||
|
||||
[MYSQLD]
|
||||
|
||||
[TCP DEFAULT]
|
||||
PortNumber: CHOOSE_PORT_TRANSPORTER
|
||||
[tcp default]
|
||||
PortNumber= CHOOSE_PORT_TRANSPORTER
|
||||
|
138
mysql-test/ndb/ndb_range_bounds.pl
Normal file
138
mysql-test/ndb/ndb_range_bounds.pl
Normal file
@ -0,0 +1,138 @@
|
||||
#
|
||||
# test range scan bounds
|
||||
# output to mysql-test/t/ndb_range_bounds.test
|
||||
#
|
||||
# give option --all to generate all cases
|
||||
#
|
||||
|
||||
use strict;
|
||||
use integer;
|
||||
use Getopt::Long;
|
||||
|
||||
my $opt_all = 0;
|
||||
my $opt_cnt = 5;
|
||||
GetOptions("all" => \$opt_all, "cnt=i" => \$opt_cnt)
|
||||
or die "options are: --all --cnt=N";
|
||||
|
||||
my $table = 't';
|
||||
|
||||
print <<EOF;
|
||||
--source include/have_ndb.inc
|
||||
|
||||
--disable_warnings
|
||||
drop table if exists $table;
|
||||
--enable_warnings
|
||||
|
||||
# test range scan bounds
|
||||
# generated by mysql-test/ndb/ndb_range_bounds.pl
|
||||
# all selects must return 0
|
||||
|
||||
EOF
|
||||
|
||||
sub cut ($$@) {
|
||||
my($op, $key, @v) = @_;
|
||||
$op = '==' if $op eq '=';
|
||||
my(@w);
|
||||
eval "\@w = grep(\$_ $op $key, \@v)";
|
||||
$@ and die $@;
|
||||
return @w;
|
||||
}
|
||||
|
||||
sub mkdummy (\@) {
|
||||
my ($val) = @_;
|
||||
return {
|
||||
'dummy' => 1,
|
||||
'exp' => '9 = 9',
|
||||
'cnt' => scalar @$val,
|
||||
};
|
||||
}
|
||||
|
||||
sub mkone ($$$\@) {
|
||||
my($col, $op, $key, $val) = @_;
|
||||
my $cnt = scalar cut($op, $key, @$val);
|
||||
return {
|
||||
'exp' => "$col $op $key",
|
||||
'cnt' => $cnt,
|
||||
};
|
||||
}
|
||||
|
||||
sub mktwo ($$$$$\@) {
|
||||
my($col, $op1, $key1, $op2, $key2, $val) = @_;
|
||||
my $cnt = scalar cut($op2, $key2, cut($op1, $key1, @$val));
|
||||
return {
|
||||
'exp' => "$col $op1 $key1 and $col $op2 $key2",
|
||||
'cnt' => $cnt,
|
||||
};
|
||||
}
|
||||
|
||||
sub mkall ($$$\@) {
|
||||
my($col, $key1, $key2, $val) = @_;
|
||||
my @a = ();
|
||||
my $p = mkdummy(@$val);
|
||||
push(@a, $p) if $opt_all;
|
||||
my @ops = qw(< <= = >= >);
|
||||
for my $op (@ops) {
|
||||
my $p = mkone($col, $op, $key1, @$val);
|
||||
push(@a, $p) if $opt_all || $p->{cnt} != 0;
|
||||
}
|
||||
my @ops1 = $opt_all ? @ops : qw(= >= >);
|
||||
my @ops2 = $opt_all ? @ops : qw(<= <);
|
||||
for my $op1 (@ops1) {
|
||||
for my $op2 (@ops2) {
|
||||
my $p = mktwo($col, $op1, $key1, $op2, $key2, @$val);
|
||||
push(@a, $p) if $opt_all || $p->{cnt} != 0;
|
||||
}
|
||||
}
|
||||
return \@a;
|
||||
}
|
||||
|
||||
for my $nn ("bcd", "") {
|
||||
my %nn;
|
||||
for my $x (qw(b c d)) {
|
||||
$nn{$x} = $nn =~ /$x/ ? "not null" : "null";
|
||||
}
|
||||
print <<EOF;
|
||||
create table $table (
|
||||
a int primary key,
|
||||
b int $nn{b},
|
||||
c int $nn{c},
|
||||
d int $nn{d},
|
||||
index (b, c, d)
|
||||
) engine=ndb;
|
||||
EOF
|
||||
my @val = (0..($opt_cnt-1));
|
||||
my $v0 = 0;
|
||||
for my $v1 (@val) {
|
||||
for my $v2 (@val) {
|
||||
for my $v3 (@val) {
|
||||
print "insert into $table values($v0, $v1, $v2, $v3);\n";
|
||||
$v0++;
|
||||
}
|
||||
}
|
||||
}
|
||||
my $key1 = 1;
|
||||
my $key2 = 3;
|
||||
my $a1 = mkall('b', $key1, $key2, @val);
|
||||
my $a2 = mkall('c', $key1, $key2, @val);
|
||||
my $a3 = mkall('d', $key1, $key2, @val);
|
||||
for my $p1 (@$a1) {
|
||||
my $cnt1 = $p1->{cnt} * @val * @val;
|
||||
print "select count(*) - $cnt1 from $table";
|
||||
print " where $p1->{exp};\n";
|
||||
for my $p2 (@$a2) {
|
||||
my $cnt2 = $p1->{cnt} * $p2->{cnt} * @val;
|
||||
print "select count(*) - $cnt2 from $table";
|
||||
print " where $p1->{exp} and $p2->{exp};\n";
|
||||
for my $p3 (@$a3) {
|
||||
my $cnt3 = $p1->{cnt} * $p2->{cnt} * $p3->{cnt};
|
||||
print "select count(*) - $cnt3 from $table";
|
||||
print " where $p1->{exp} and $p2->{exp} and $p3->{exp};\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
print <<EOF;
|
||||
drop table $table;
|
||||
EOF
|
||||
}
|
||||
|
||||
# vim: set sw=2:
|
@ -44,7 +44,8 @@ initial_ndb=
|
||||
status_ndb=
|
||||
ndb_diskless=0
|
||||
|
||||
ndb_con_op=100000
|
||||
ndb_no_ord=512
|
||||
ndb_con_op=105000
|
||||
ndb_dmem=80M
|
||||
ndb_imem=24M
|
||||
|
||||
@ -54,13 +55,18 @@ while test $# -gt 0; do
|
||||
stop_ndb=1
|
||||
;;
|
||||
--initial)
|
||||
flags_ndb="$flags_ndb -i"
|
||||
flags_ndb="$flags_ndb --initial"
|
||||
initial_ndb=1
|
||||
;;
|
||||
--debug*)
|
||||
f=`echo "$1" | sed -e "s;--debug=;;"`
|
||||
flags_ndb="$flags_ndb $f"
|
||||
;;
|
||||
--status)
|
||||
status_ndb=1
|
||||
;;
|
||||
--small)
|
||||
ndb_no_ord=128
|
||||
ndb_con_op=10000
|
||||
ndb_dmem=40M
|
||||
ndb_imem=12M
|
||||
@ -124,6 +130,7 @@ port_transporter=`expr $ndb_mgmd_port + 2`
|
||||
|
||||
if [ $initial_ndb ] ; then
|
||||
sed \
|
||||
-e s,"CHOOSE_MaxNoOfOrderedIndexes","$ndb_no_ord",g \
|
||||
-e s,"CHOOSE_MaxNoOfConcurrentOperations","$ndb_con_op",g \
|
||||
-e s,"CHOOSE_DataMemory","$ndb_dmem",g \
|
||||
-e s,"CHOOSE_IndexMemory","$ndb_imem",g \
|
||||
@ -139,7 +146,7 @@ fi
|
||||
rm -f "$cfgfile" 2>&1 | cat > /dev/null
|
||||
rm -f "$fs_ndb/$cfgfile" 2>&1 | cat > /dev/null
|
||||
|
||||
if ( cd "$fs_ndb" ; $exec_mgmtsrvr -d -c config.ini ) ; then :; else
|
||||
if ( cd "$fs_ndb" ; $exec_mgmtsrvr -c config.ini ) ; then :; else
|
||||
echo "Unable to start $exec_mgmtsrvr from `pwd`"
|
||||
exit 1
|
||||
fi
|
||||
@ -149,14 +156,14 @@ cat `find "$fs_ndb" -name 'ndb_*.pid'` > "$fs_ndb/$pidfile"
|
||||
# Start database node
|
||||
|
||||
echo "Starting ndbd"
|
||||
( cd "$fs_ndb" ; $exec_ndb -d $flags_ndb & )
|
||||
( cd "$fs_ndb" ; $exec_ndb $flags_ndb & )
|
||||
|
||||
cat `find "$fs_ndb" -name 'ndb_*.pid'` > "$fs_ndb/$pidfile"
|
||||
|
||||
# Start database node
|
||||
|
||||
echo "Starting ndbd"
|
||||
( cd "$fs_ndb" ; $exec_ndb -d $flags_ndb & )
|
||||
( cd "$fs_ndb" ; $exec_ndb $flags_ndb & )
|
||||
|
||||
cat `find "$fs_ndb" -name 'ndb_*.pid'` > "$fs_ndb/$pidfile"
|
||||
|
||||
@ -180,27 +187,36 @@ status_ndbcluster() {
|
||||
|
||||
stop_default_ndbcluster() {
|
||||
|
||||
#if [ ! -f $pidfile ] ; then
|
||||
# exit 0
|
||||
#fi
|
||||
|
||||
#if [ ! -f $cfgfile ] ; then
|
||||
# echo "$cfgfile missing"
|
||||
# exit 1
|
||||
#fi
|
||||
|
||||
# Start management client
|
||||
|
||||
exec_mgmtclient="$exec_mgmtclient --try-reconnect=1"
|
||||
|
||||
echo "all stop" | $exec_mgmtclient 2>&1 | cat > /dev/null
|
||||
echo "3 stop" | $exec_mgmtclient 2>&1 | cat > /dev/null
|
||||
echo "shutdown" | $exec_mgmtclient 2>&1 | cat > /dev/null
|
||||
|
||||
if [ -f "$fs_ndb/$pidfile" ] ; then
|
||||
kill -9 `cat "$fs_ndb/$pidfile"` 2> /dev/null
|
||||
kill_pids=`cat "$fs_ndb/$pidfile"`
|
||||
attempt=0
|
||||
while [ $attempt -lt 10 ] ; do
|
||||
new_kill_pid=""
|
||||
for p in $kill_pids ; do
|
||||
kill -0 $p 2> /dev/null
|
||||
if [ $? -eq 0 ] ; then
|
||||
new_kill_pid="$p $new_kill_pid"
|
||||
fi
|
||||
done
|
||||
kill_pids=$new_kill_pid
|
||||
if [ -z "$kill_pids" ] ; then
|
||||
break
|
||||
fi
|
||||
sleep 1
|
||||
attempt=`expr $attempt + 1`
|
||||
done
|
||||
if [ "$kill_pids" != "" ] ; then
|
||||
echo "Failed to shutdown ndbcluster, executing kill -9 "$kill_pids
|
||||
kill -9 $kill_pids
|
||||
fi
|
||||
rm "$fs_ndb/$pidfile"
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
if [ $status_ndb ] ; then
|
||||
|
@ -349,6 +349,7 @@ alter table t1 change a a char(10) character set koi8r;
|
||||
select a,hex(a) from t1;
|
||||
a hex(a)
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> D4C5D3D4
|
||||
delete from t1;
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
|
483
mysql-test/r/alter_table.result.es
Normal file
483
mysql-test/r/alter_table.result.es
Normal file
@ -0,0 +1,483 @@
|
||||
drop table if exists t1,t2;
|
||||
drop database if exists mysqltest;
|
||||
create table t1 (
|
||||
col1 int not null auto_increment primary key,
|
||||
col2 varchar(30) not null,
|
||||
col3 varchar (20) not null,
|
||||
col4 varchar(4) not null,
|
||||
col5 enum('PENDING', 'ACTIVE', 'DISABLED') not null,
|
||||
col6 int not null, to_be_deleted int);
|
||||
insert into t1 values (2,4,3,5,"PENDING",1,7);
|
||||
alter table t1
|
||||
add column col4_5 varchar(20) not null after col4,
|
||||
add column col7 varchar(30) not null after col5,
|
||||
add column col8 datetime not null, drop column to_be_deleted,
|
||||
change column col2 fourth varchar(30) not null after col3,
|
||||
modify column col6 int not null first;
|
||||
select * from t1;
|
||||
col6 col1 col3 fourth col4 col4_5 col5 col7 col8
|
||||
1 2 3 4 5 PENDING 0000-00-00 00:00:00
|
||||
drop table t1;
|
||||
create table t1 (bandID MEDIUMINT UNSIGNED NOT NULL PRIMARY KEY, payoutID SMALLINT UNSIGNED NOT NULL);
|
||||
insert into t1 (bandID,payoutID) VALUES (1,6),(2,6),(3,4),(4,9),(5,10),(6,1),(7,12),(8,12);
|
||||
alter table t1 add column new_col int, order by payoutid,bandid;
|
||||
select * from t1;
|
||||
bandID payoutID new_col
|
||||
6 1 NULL
|
||||
3 4 NULL
|
||||
1 6 NULL
|
||||
2 6 NULL
|
||||
4 9 NULL
|
||||
5 10 NULL
|
||||
7 12 NULL
|
||||
8 12 NULL
|
||||
alter table t1 order by bandid,payoutid;
|
||||
select * from t1;
|
||||
bandID payoutID new_col
|
||||
1 6 NULL
|
||||
2 6 NULL
|
||||
3 4 NULL
|
||||
4 9 NULL
|
||||
5 10 NULL
|
||||
6 1 NULL
|
||||
7 12 NULL
|
||||
8 12 NULL
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (
|
||||
GROUP_ID int(10) unsigned DEFAULT '0' NOT NULL,
|
||||
LANG_ID smallint(5) unsigned DEFAULT '0' NOT NULL,
|
||||
NAME varchar(80) DEFAULT '' NOT NULL,
|
||||
PRIMARY KEY (GROUP_ID,LANG_ID),
|
||||
KEY NAME (NAME));
|
||||
ALTER TABLE t1 CHANGE NAME NAME CHAR(80) not null;
|
||||
SHOW FULL COLUMNS FROM t1;
|
||||
Field Type Collation Null Key Default Extra Privileges Comment
|
||||
GROUP_ID int(10) unsigned NULL PRI 0
|
||||
LANG_ID smallint(5) unsigned NULL PRI 0
|
||||
NAME char(80) latin1_swedish_ci MUL
|
||||
DROP TABLE t1;
|
||||
create table t1 (n int);
|
||||
insert into t1 values(9),(3),(12),(10);
|
||||
alter table t1 order by n;
|
||||
select * from t1;
|
||||
n
|
||||
3
|
||||
9
|
||||
10
|
||||
12
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (
|
||||
id int(11) unsigned NOT NULL default '0',
|
||||
category_id tinyint(4) unsigned NOT NULL default '0',
|
||||
type_id tinyint(4) unsigned NOT NULL default '0',
|
||||
body text NOT NULL,
|
||||
user_id int(11) unsigned NOT NULL default '0',
|
||||
status enum('new','old') NOT NULL default 'new',
|
||||
PRIMARY KEY (id)
|
||||
) ENGINE=MyISAM;
|
||||
ALTER TABLE t1 ORDER BY t1.id, t1.status, t1.type_id, t1.user_id, t1.body;
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (AnamneseId int(10) unsigned NOT NULL auto_increment,B BLOB,PRIMARY KEY (AnamneseId)) engine=myisam;
|
||||
insert into t1 values (null,"hello");
|
||||
LOCK TABLES t1 WRITE;
|
||||
ALTER TABLE t1 ADD Column new_col int not null;
|
||||
UNLOCK TABLES;
|
||||
OPTIMIZE TABLE t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 optimize status OK
|
||||
DROP TABLE t1;
|
||||
create table t1 (i int unsigned not null auto_increment primary key);
|
||||
insert into t1 values (null),(null),(null),(null);
|
||||
alter table t1 drop i,add i int unsigned not null auto_increment, drop primary key, add primary key (i);
|
||||
select * from t1;
|
||||
i
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
drop table t1;
|
||||
create table t1 (name char(15));
|
||||
insert into t1 (name) values ("current");
|
||||
create database mysqltest;
|
||||
create table mysqltest.t1 (name char(15));
|
||||
insert into mysqltest.t1 (name) values ("mysqltest");
|
||||
select * from t1;
|
||||
name
|
||||
current
|
||||
select * from mysqltest.t1;
|
||||
name
|
||||
mysqltest
|
||||
alter table t1 rename mysqltest.t1;
|
||||
ERROR 42S01: Table 't1' already exists
|
||||
select * from t1;
|
||||
name
|
||||
current
|
||||
select * from mysqltest.t1;
|
||||
name
|
||||
mysqltest
|
||||
drop table t1;
|
||||
drop database mysqltest;
|
||||
create database mysqltest;
|
||||
create table mysqltest.t1 (a int,b int,c int);
|
||||
grant all on mysqltest.t1 to mysqltest_1@localhost;
|
||||
alter table t1 rename t2;
|
||||
revoke all privileges on mysqltest.t1 from mysqltest_1@localhost;
|
||||
delete from mysql.user where user=_binary'mysqltest_1';
|
||||
drop database mysqltest;
|
||||
create table t1 (n1 int not null, n2 int, n3 int, n4 float,
|
||||
unique(n1),
|
||||
key (n1, n2, n3, n4),
|
||||
key (n2, n3, n4, n1),
|
||||
key (n3, n4, n1, n2),
|
||||
key (n4, n1, n2, n3) );
|
||||
alter table t1 disable keys;
|
||||
show keys from t1;
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
|
||||
t1 0 n1 1 n1 A 0 NULL NULL BTREE
|
||||
t1 1 n1_2 1 n1 A NULL NULL NULL BTREE disabled
|
||||
t1 1 n1_2 2 n2 A NULL NULL NULL YES BTREE disabled
|
||||
t1 1 n1_2 3 n3 A NULL NULL NULL YES BTREE disabled
|
||||
t1 1 n1_2 4 n4 A NULL NULL NULL YES BTREE disabled
|
||||
t1 1 n2 1 n2 A NULL NULL NULL YES BTREE disabled
|
||||
t1 1 n2 2 n3 A NULL NULL NULL YES BTREE disabled
|
||||
t1 1 n2 3 n4 A NULL NULL NULL YES BTREE disabled
|
||||
t1 1 n2 4 n1 A NULL NULL NULL BTREE disabled
|
||||
t1 1 n3 1 n3 A NULL NULL NULL YES BTREE disabled
|
||||
t1 1 n3 2 n4 A NULL NULL NULL YES BTREE disabled
|
||||
t1 1 n3 3 n1 A NULL NULL NULL BTREE disabled
|
||||
t1 1 n3 4 n2 A NULL NULL NULL YES BTREE disabled
|
||||
t1 1 n4 1 n4 A NULL NULL NULL YES BTREE disabled
|
||||
t1 1 n4 2 n1 A NULL NULL NULL BTREE disabled
|
||||
t1 1 n4 3 n2 A NULL NULL NULL YES BTREE disabled
|
||||
t1 1 n4 4 n3 A NULL NULL NULL YES BTREE disabled
|
||||
insert into t1 values(10,RAND()*1000,RAND()*1000,RAND());
|
||||
insert into t1 values(9,RAND()*1000,RAND()*1000,RAND());
|
||||
insert into t1 values(8,RAND()*1000,RAND()*1000,RAND());
|
||||
insert into t1 values(7,RAND()*1000,RAND()*1000,RAND());
|
||||
insert into t1 values(6,RAND()*1000,RAND()*1000,RAND());
|
||||
insert into t1 values(5,RAND()*1000,RAND()*1000,RAND());
|
||||
insert into t1 values(4,RAND()*1000,RAND()*1000,RAND());
|
||||
insert into t1 values(3,RAND()*1000,RAND()*1000,RAND());
|
||||
insert into t1 values(2,RAND()*1000,RAND()*1000,RAND());
|
||||
insert into t1 values(1,RAND()*1000,RAND()*1000,RAND());
|
||||
alter table t1 enable keys;
|
||||
show keys from t1;
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
|
||||
t1 0 n1 1 n1 A 10 NULL NULL BTREE
|
||||
t1 1 n1_2 1 n1 A 10 NULL NULL BTREE
|
||||
t1 1 n1_2 2 n2 A 10 NULL NULL YES BTREE
|
||||
t1 1 n1_2 3 n3 A 10 NULL NULL YES BTREE
|
||||
t1 1 n1_2 4 n4 A 10 NULL NULL YES BTREE
|
||||
t1 1 n2 1 n2 A 10 NULL NULL YES BTREE
|
||||
t1 1 n2 2 n3 A 10 NULL NULL YES BTREE
|
||||
t1 1 n2 3 n4 A 10 NULL NULL YES BTREE
|
||||
t1 1 n2 4 n1 A 10 NULL NULL BTREE
|
||||
t1 1 n3 1 n3 A 10 NULL NULL YES BTREE
|
||||
t1 1 n3 2 n4 A 10 NULL NULL YES BTREE
|
||||
t1 1 n3 3 n1 A 10 NULL NULL BTREE
|
||||
t1 1 n3 4 n2 A 10 NULL NULL YES BTREE
|
||||
t1 1 n4 1 n4 A 10 NULL NULL YES BTREE
|
||||
t1 1 n4 2 n1 A 10 NULL NULL BTREE
|
||||
t1 1 n4 3 n2 A 10 NULL NULL YES BTREE
|
||||
t1 1 n4 4 n3 A 10 NULL NULL YES BTREE
|
||||
drop table t1;
|
||||
create table t1 (i int unsigned not null auto_increment primary key);
|
||||
alter table t1 rename t2;
|
||||
alter table t2 rename t1, add c char(10) comment "no comment";
|
||||
show columns from t1;
|
||||
Field Type Null Key Default Extra
|
||||
i int(10) unsigned PRI NULL auto_increment
|
||||
c char(10) YES NULL
|
||||
drop table t1;
|
||||
create table t1 (a int, b int);
|
||||
insert into t1 values(1,100), (2,100), (3, 100);
|
||||
insert into t1 values(1,99), (2,99), (3, 99);
|
||||
insert into t1 values(1,98), (2,98), (3, 98);
|
||||
insert into t1 values(1,97), (2,97), (3, 97);
|
||||
insert into t1 values(1,96), (2,96), (3, 96);
|
||||
insert into t1 values(1,95), (2,95), (3, 95);
|
||||
insert into t1 values(1,94), (2,94), (3, 94);
|
||||
insert into t1 values(1,93), (2,93), (3, 93);
|
||||
insert into t1 values(1,92), (2,92), (3, 92);
|
||||
insert into t1 values(1,91), (2,91), (3, 91);
|
||||
insert into t1 values(1,90), (2,90), (3, 90);
|
||||
insert into t1 values(1,89), (2,89), (3, 89);
|
||||
insert into t1 values(1,88), (2,88), (3, 88);
|
||||
insert into t1 values(1,87), (2,87), (3, 87);
|
||||
insert into t1 values(1,86), (2,86), (3, 86);
|
||||
insert into t1 values(1,85), (2,85), (3, 85);
|
||||
insert into t1 values(1,84), (2,84), (3, 84);
|
||||
insert into t1 values(1,83), (2,83), (3, 83);
|
||||
insert into t1 values(1,82), (2,82), (3, 82);
|
||||
insert into t1 values(1,81), (2,81), (3, 81);
|
||||
insert into t1 values(1,80), (2,80), (3, 80);
|
||||
insert into t1 values(1,79), (2,79), (3, 79);
|
||||
insert into t1 values(1,78), (2,78), (3, 78);
|
||||
insert into t1 values(1,77), (2,77), (3, 77);
|
||||
insert into t1 values(1,76), (2,76), (3, 76);
|
||||
insert into t1 values(1,75), (2,75), (3, 75);
|
||||
insert into t1 values(1,74), (2,74), (3, 74);
|
||||
insert into t1 values(1,73), (2,73), (3, 73);
|
||||
insert into t1 values(1,72), (2,72), (3, 72);
|
||||
insert into t1 values(1,71), (2,71), (3, 71);
|
||||
insert into t1 values(1,70), (2,70), (3, 70);
|
||||
insert into t1 values(1,69), (2,69), (3, 69);
|
||||
insert into t1 values(1,68), (2,68), (3, 68);
|
||||
insert into t1 values(1,67), (2,67), (3, 67);
|
||||
insert into t1 values(1,66), (2,66), (3, 66);
|
||||
insert into t1 values(1,65), (2,65), (3, 65);
|
||||
insert into t1 values(1,64), (2,64), (3, 64);
|
||||
insert into t1 values(1,63), (2,63), (3, 63);
|
||||
insert into t1 values(1,62), (2,62), (3, 62);
|
||||
insert into t1 values(1,61), (2,61), (3, 61);
|
||||
insert into t1 values(1,60), (2,60), (3, 60);
|
||||
insert into t1 values(1,59), (2,59), (3, 59);
|
||||
insert into t1 values(1,58), (2,58), (3, 58);
|
||||
insert into t1 values(1,57), (2,57), (3, 57);
|
||||
insert into t1 values(1,56), (2,56), (3, 56);
|
||||
insert into t1 values(1,55), (2,55), (3, 55);
|
||||
insert into t1 values(1,54), (2,54), (3, 54);
|
||||
insert into t1 values(1,53), (2,53), (3, 53);
|
||||
insert into t1 values(1,52), (2,52), (3, 52);
|
||||
insert into t1 values(1,51), (2,51), (3, 51);
|
||||
insert into t1 values(1,50), (2,50), (3, 50);
|
||||
insert into t1 values(1,49), (2,49), (3, 49);
|
||||
insert into t1 values(1,48), (2,48), (3, 48);
|
||||
insert into t1 values(1,47), (2,47), (3, 47);
|
||||
insert into t1 values(1,46), (2,46), (3, 46);
|
||||
insert into t1 values(1,45), (2,45), (3, 45);
|
||||
insert into t1 values(1,44), (2,44), (3, 44);
|
||||
insert into t1 values(1,43), (2,43), (3, 43);
|
||||
insert into t1 values(1,42), (2,42), (3, 42);
|
||||
insert into t1 values(1,41), (2,41), (3, 41);
|
||||
insert into t1 values(1,40), (2,40), (3, 40);
|
||||
insert into t1 values(1,39), (2,39), (3, 39);
|
||||
insert into t1 values(1,38), (2,38), (3, 38);
|
||||
insert into t1 values(1,37), (2,37), (3, 37);
|
||||
insert into t1 values(1,36), (2,36), (3, 36);
|
||||
insert into t1 values(1,35), (2,35), (3, 35);
|
||||
insert into t1 values(1,34), (2,34), (3, 34);
|
||||
insert into t1 values(1,33), (2,33), (3, 33);
|
||||
insert into t1 values(1,32), (2,32), (3, 32);
|
||||
insert into t1 values(1,31), (2,31), (3, 31);
|
||||
insert into t1 values(1,30), (2,30), (3, 30);
|
||||
insert into t1 values(1,29), (2,29), (3, 29);
|
||||
insert into t1 values(1,28), (2,28), (3, 28);
|
||||
insert into t1 values(1,27), (2,27), (3, 27);
|
||||
insert into t1 values(1,26), (2,26), (3, 26);
|
||||
insert into t1 values(1,25), (2,25), (3, 25);
|
||||
insert into t1 values(1,24), (2,24), (3, 24);
|
||||
insert into t1 values(1,23), (2,23), (3, 23);
|
||||
insert into t1 values(1,22), (2,22), (3, 22);
|
||||
insert into t1 values(1,21), (2,21), (3, 21);
|
||||
insert into t1 values(1,20), (2,20), (3, 20);
|
||||
insert into t1 values(1,19), (2,19), (3, 19);
|
||||
insert into t1 values(1,18), (2,18), (3, 18);
|
||||
insert into t1 values(1,17), (2,17), (3, 17);
|
||||
insert into t1 values(1,16), (2,16), (3, 16);
|
||||
insert into t1 values(1,15), (2,15), (3, 15);
|
||||
insert into t1 values(1,14), (2,14), (3, 14);
|
||||
insert into t1 values(1,13), (2,13), (3, 13);
|
||||
insert into t1 values(1,12), (2,12), (3, 12);
|
||||
insert into t1 values(1,11), (2,11), (3, 11);
|
||||
insert into t1 values(1,10), (2,10), (3, 10);
|
||||
insert into t1 values(1,9), (2,9), (3, 9);
|
||||
insert into t1 values(1,8), (2,8), (3, 8);
|
||||
insert into t1 values(1,7), (2,7), (3, 7);
|
||||
insert into t1 values(1,6), (2,6), (3, 6);
|
||||
insert into t1 values(1,5), (2,5), (3, 5);
|
||||
insert into t1 values(1,4), (2,4), (3, 4);
|
||||
insert into t1 values(1,3), (2,3), (3, 3);
|
||||
insert into t1 values(1,2), (2,2), (3, 2);
|
||||
insert into t1 values(1,1), (2,1), (3, 1);
|
||||
alter table t1 add unique (a,b), add key (b);
|
||||
show keys from t1;
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
|
||||
t1 0 a 1 a A NULL NULL NULL YES BTREE
|
||||
t1 0 a 2 b A NULL NULL NULL YES BTREE
|
||||
t1 1 b 1 b A 100 NULL NULL YES BTREE
|
||||
analyze table t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 analyze status OK
|
||||
show keys from t1;
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
|
||||
t1 0 a 1 a A 3 NULL NULL YES BTREE
|
||||
t1 0 a 2 b A 300 NULL NULL YES BTREE
|
||||
t1 1 b 1 b A 100 NULL NULL YES BTREE
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (i int(10), index(i) );
|
||||
ALTER TABLE t1 DISABLE KEYS;
|
||||
INSERT DELAYED INTO t1 VALUES(1),(2),(3);
|
||||
ALTER TABLE t1 ENABLE KEYS;
|
||||
drop table t1;
|
||||
set names koi8r;
|
||||
create table t1 (a char(10) character set koi8r);
|
||||
insert into t1 values ('<27><><EFBFBD><EFBFBD>');
|
||||
select a,hex(a) from t1;
|
||||
a hex(a)
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> D4C5D3D4
|
||||
alter table t1 change a a char(10) character set cp1251;
|
||||
select a,hex(a) from t1;
|
||||
a hex(a)
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> F2E5F1F2
|
||||
alter table t1 change a a binary(10);
|
||||
select a,hex(a) from t1;
|
||||
a hex(a)
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> F2E5F1F2
|
||||
alter table t1 change a a char(10) character set cp1251;
|
||||
select a,hex(a) from t1;
|
||||
a hex(a)
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> F2E5F1F2
|
||||
alter table t1 change a a char(10) character set koi8r;
|
||||
select a,hex(a) from t1;
|
||||
a hex(a)
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> D4C5D3D4
|
||||
alter table t1 change a a varchar(10) character set cp1251;
|
||||
select a,hex(a) from t1;
|
||||
a hex(a)
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> F2E5F1F2
|
||||
alter table t1 change a a char(10) character set koi8r;
|
||||
select a,hex(a) from t1;
|
||||
a hex(a)
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> D4C5D3D4
|
||||
alter table t1 change a a text character set cp1251;
|
||||
select a,hex(a) from t1;
|
||||
a hex(a)
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> F2E5F1F2
|
||||
alter table t1 change a a char(10) character set koi8r;
|
||||
select a,hex(a) from t1;
|
||||
a hex(a)
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> D4C5D3D4
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` char(10) character set koi8r default NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
alter table t1 DEFAULT CHARACTER SET latin1;
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` char(10) character set koi8r default NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
alter table t1 CONVERT TO CHARACTER SET latin1;
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` char(10) default NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
alter table t1 DEFAULT CHARACTER SET cp1251;
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` char(10) character set latin1 default NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=cp1251
|
||||
drop table t1;
|
||||
create table t1 (myblob longblob,mytext longtext)
|
||||
default charset latin1 collate latin1_general_cs;
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`myblob` longblob,
|
||||
`mytext` longtext collate latin1_general_cs
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_cs
|
||||
alter table t1 character set latin2;
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`myblob` longblob,
|
||||
`mytext` longtext character set latin1 collate latin1_general_cs
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin2
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (
|
||||
Host varchar(16) binary NOT NULL default '',
|
||||
User varchar(16) binary NOT NULL default '',
|
||||
PRIMARY KEY (Host,User)
|
||||
) ENGINE=MyISAM;
|
||||
ALTER TABLE t1 DISABLE KEYS;
|
||||
LOCK TABLES t1 WRITE;
|
||||
INSERT INTO t1 VALUES ('localhost','root'),('localhost',''),('games','monty');
|
||||
SHOW INDEX FROM t1;
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
|
||||
t1 0 PRIMARY 1 Host A NULL NULL NULL BTREE
|
||||
t1 0 PRIMARY 2 User A 3 NULL NULL BTREE
|
||||
ALTER TABLE t1 ENABLE KEYS;
|
||||
UNLOCK TABLES;
|
||||
CHECK TABLES t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check status OK
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (
|
||||
Host varchar(16) binary NOT NULL default '',
|
||||
User varchar(16) binary NOT NULL default '',
|
||||
PRIMARY KEY (Host,User),
|
||||
KEY (Host)
|
||||
) ENGINE=MyISAM;
|
||||
ALTER TABLE t1 DISABLE KEYS;
|
||||
SHOW INDEX FROM t1;
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
|
||||
t1 0 PRIMARY 1 Host A NULL NULL NULL BTREE
|
||||
t1 0 PRIMARY 2 User A 0 NULL NULL BTREE
|
||||
t1 1 Host 1 Host A NULL NULL NULL BTREE disabled
|
||||
LOCK TABLES t1 WRITE;
|
||||
INSERT INTO t1 VALUES ('localhost','root'),('localhost','');
|
||||
SHOW INDEX FROM t1;
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
|
||||
t1 0 PRIMARY 1 Host A NULL NULL NULL BTREE
|
||||
t1 0 PRIMARY 2 User A 2 NULL NULL BTREE
|
||||
t1 1 Host 1 Host A NULL NULL NULL BTREE disabled
|
||||
ALTER TABLE t1 ENABLE KEYS;
|
||||
SHOW INDEX FROM t1;
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
|
||||
t1 0 PRIMARY 1 Host A NULL NULL NULL BTREE
|
||||
t1 0 PRIMARY 2 User A 2 NULL NULL BTREE
|
||||
t1 1 Host 1 Host A 1 NULL NULL BTREE
|
||||
UNLOCK TABLES;
|
||||
CHECK TABLES t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check status OK
|
||||
LOCK TABLES t1 WRITE;
|
||||
ALTER TABLE t1 RENAME t2;
|
||||
UNLOCK TABLES;
|
||||
select * from t2;
|
||||
Host User
|
||||
localhost
|
||||
localhost root
|
||||
DROP TABLE t2;
|
||||
CREATE TABLE t1 (
|
||||
Host varchar(16) binary NOT NULL default '',
|
||||
User varchar(16) binary NOT NULL default '',
|
||||
PRIMARY KEY (Host,User),
|
||||
KEY (Host)
|
||||
) ENGINE=MyISAM;
|
||||
LOCK TABLES t1 WRITE;
|
||||
ALTER TABLE t1 DISABLE KEYS;
|
||||
SHOW INDEX FROM t1;
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
|
||||
t1 0 PRIMARY 1 Host A NULL NULL NULL BTREE
|
||||
t1 0 PRIMARY 2 User A 0 NULL NULL BTREE
|
||||
t1 1 Host 1 Host A NULL NULL NULL BTREE disabled
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (a int PRIMARY KEY, b INT UNIQUE);
|
||||
ALTER TABLE t1 DROP PRIMARY KEY;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` int(11) NOT NULL default '0',
|
||||
`b` int(11) default NULL,
|
||||
UNIQUE KEY `b` (`b`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
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;
|
||||
create table t1 (a int);
|
||||
alter table t1 rename to `t1\\`;
|
||||
ERROR 42000: Incorrect table name 't1\\'
|
||||
rename table t1 to `t1\\`;
|
||||
ERROR 42000: Incorrect table name 't1\\'
|
||||
drop table t1;
|
File diff suppressed because it is too large
Load Diff
@ -289,3 +289,55 @@ a b
|
||||
0 13
|
||||
500 14
|
||||
drop table t1;
|
||||
create table t1 (a bigint);
|
||||
insert into t1 values (1), (2), (3), (NULL), (NULL);
|
||||
alter table t1 modify a bigint not null auto_increment primary key;
|
||||
select * from t1;
|
||||
a
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
drop table t1;
|
||||
create table t1 (a bigint);
|
||||
insert into t1 values (1), (2), (3), (0), (0);
|
||||
alter table t1 modify a bigint not null auto_increment primary key;
|
||||
select * from t1;
|
||||
a
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
drop table t1;
|
||||
create table t1 (a bigint);
|
||||
insert into t1 values (0), (1), (2), (3);
|
||||
set sql_mode=NO_AUTO_VALUE_ON_ZERO;
|
||||
alter table t1 modify a bigint not null auto_increment primary key;
|
||||
set sql_mode= '';
|
||||
select * from t1;
|
||||
a
|
||||
0
|
||||
1
|
||||
2
|
||||
3
|
||||
drop table t1;
|
||||
create table t1 (a int auto_increment primary key , b int null);
|
||||
set sql_mode=NO_AUTO_VALUE_ON_ZERO;
|
||||
insert into t1 values (0,1),(1,2),(2,3);
|
||||
select * from t1;
|
||||
a b
|
||||
0 1
|
||||
1 2
|
||||
2 3
|
||||
set sql_mode= '';
|
||||
alter table t1 modify b varchar(255);
|
||||
insert into t1 values (0,4);
|
||||
select * from t1;
|
||||
a b
|
||||
0 1
|
||||
1 2
|
||||
2 3
|
||||
3 4
|
||||
drop table t1;
|
||||
|
@ -1251,3 +1251,36 @@ truncate t1;
|
||||
select * from t1;
|
||||
a b
|
||||
drop table t1;
|
||||
SET NAMES utf8;
|
||||
create table t1 (a varchar(255) character set utf8) engine=bdb;
|
||||
set @a:= convert(repeat(_latin1 0xFF, 255) using utf8);
|
||||
insert into t1 values (@a);
|
||||
select a, length(a), char_length(a) from t1;
|
||||
a length(a) char_length(a)
|
||||
ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ 510 255
|
||||
drop table t1;
|
||||
SET NAMES latin1;
|
||||
CREATE TABLE t1 (
|
||||
id int unsigned NOT NULL auto_increment,
|
||||
list_id smallint unsigned NOT NULL,
|
||||
term TEXT NOT NULL,
|
||||
PRIMARY KEY(id),
|
||||
INDEX(list_id, term(4))
|
||||
) ENGINE=BDB CHARSET=utf8;
|
||||
INSERT INTO t1 SET list_id = 1, term = "letterc";
|
||||
INSERT INTO t1 SET list_id = 1, term = "letterb";
|
||||
INSERT INTO t1 SET list_id = 1, term = "lettera";
|
||||
INSERT INTO t1 SET list_id = 1, term = "letterd";
|
||||
SELECT id FROM t1 WHERE (list_id = 1) AND (term = "letterc");
|
||||
id
|
||||
1
|
||||
SELECT id FROM t1 WHERE (list_id = 1) AND (term = "letterb");
|
||||
id
|
||||
2
|
||||
SELECT id FROM t1 WHERE (list_id = 1) AND (term = "lettera");
|
||||
id
|
||||
3
|
||||
SELECT id FROM t1 WHERE (list_id = 1) AND (term = "letterd");
|
||||
id
|
||||
4
|
||||
DROP TABLE t1;
|
||||
|
@ -155,3 +155,26 @@ NULL
|
||||
select cast(NULL as BINARY);
|
||||
cast(NULL as BINARY)
|
||||
NULL
|
||||
CREATE TABLE t1 (a enum ('aac','aab','aaa') not null);
|
||||
INSERT INTO t1 VALUES ('aaa'),('aab'),('aac');
|
||||
SELECT a, CAST(a AS CHAR) FROM t1 ORDER BY CAST(a AS UNSIGNED) ;
|
||||
a CAST(a AS CHAR)
|
||||
aac aac
|
||||
aab aab
|
||||
aaa aaa
|
||||
SELECT a, CAST(a AS CHAR(3)) FROM t1 ORDER BY CAST(a AS CHAR(2)), a;
|
||||
a CAST(a AS CHAR(3))
|
||||
aac aac
|
||||
aab aab
|
||||
aaa aaa
|
||||
SELECT a, CAST(a AS UNSIGNED) FROM t1 ORDER BY CAST(a AS CHAR) ;
|
||||
a CAST(a AS UNSIGNED)
|
||||
aaa 3
|
||||
aab 2
|
||||
aac 1
|
||||
SELECT a, CAST(a AS CHAR(2)) FROM t1 ORDER BY CAST(a AS CHAR(3)), a;
|
||||
a CAST(a AS CHAR(2))
|
||||
aaa aa
|
||||
aab aa
|
||||
aac aa
|
||||
DROP TABLE t1;
|
||||
|
@ -280,6 +280,20 @@ word word2
|
||||
<EFBFBD> <09>
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (
|
||||
autor varchar(80) NOT NULL default '',
|
||||
PRIMARY KEY (autor)
|
||||
);
|
||||
INSERT INTO t1 VALUES ('Powell, B.'),('Powell, Bud.'),('Powell, L. H.'),('Power, H.'),
|
||||
('Poynter, M. A. L. Lane'),('Poynting, J. H. und J. J. Thomson.'),('Pozzi, S(amuel-Jean).'),
|
||||
('Pozzi, Samuel-Jean.'),('Pozzo, A.'),('Pozzoli, Serge.');
|
||||
SELECT * FROM t1 WHERE autor LIKE 'Poz%' ORDER BY autor;
|
||||
autor
|
||||
Pozzi, S(amuel-Jean).
|
||||
Pozzi, Samuel-Jean.
|
||||
Pozzo, A.
|
||||
Pozzoli, Serge.
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (
|
||||
s1 CHAR(5) CHARACTER SET latin1 COLLATE latin1_german2_ci
|
||||
);
|
||||
show create table t1;
|
||||
|
@ -166,3 +166,11 @@ ERROR HY000: Invalid utf8 character string: '
|
||||
SET NAMES utf8;
|
||||
CREATE TABLE `good<6F><64><EFBFBD><EFBFBD><EFBFBD>` (a int);
|
||||
ERROR HY000: Invalid utf8 character string: '<27><><EFBFBD><EFBFBD><EFBFBD>` (a int)'
|
||||
set names latin1;
|
||||
create table t1 (a char(10) character set koi8r, b text character set koi8r);
|
||||
insert into t1 values ('test','test');
|
||||
insert into t1 values ('<27><><EFBFBD><EFBFBD>','<27><><EFBFBD><EFBFBD>');
|
||||
Warnings:
|
||||
Warning 1265 Data truncated for column 'a' at row 1
|
||||
Warning 1265 Data truncated for column 'b' at row 1
|
||||
drop table t1;
|
||||
|
@ -41,3 +41,22 @@ C0C1C2C3C4C5C6C7C8C9CACBCCCDCECF
|
||||
select hex(CONVERT(@utf84 USING sjis));
|
||||
hex(CONVERT(@utf84 USING sjis))
|
||||
D0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF
|
||||
create table t1 (a char(10) character set sjis);
|
||||
insert into t1 values (0x878A);
|
||||
select hex(a) from t1;
|
||||
hex(a)
|
||||
878A
|
||||
drop table t1;
|
||||
create table t1(c enum(0x9353,0x9373) character set sjis);
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`c` enum('<27>S','<27>s') character set sjis default NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
insert into t1 values (0x9353);
|
||||
insert into t1 values (0x9373);
|
||||
select hex(c) from t1;
|
||||
hex(c)
|
||||
9353
|
||||
9373
|
||||
drop table t1;
|
||||
|
@ -116,7 +116,7 @@ CREATE TABLE t1 (
|
||||
recid int(11) NOT NULL auto_increment,
|
||||
dyninfo text,
|
||||
PRIMARY KEY (recid)
|
||||
) ENGINE=MyISAM;
|
||||
) ENGINE=MyISAM CHARACTER SET tis620;
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
@ -2890,7 +2890,7 @@ SELECT 'a\t' < 'a';
|
||||
SELECT 'a\t' < 'a ';
|
||||
'a\t' < 'a '
|
||||
1
|
||||
CREATE TABLE t1 (a char(10) not null);
|
||||
CREATE TABLE t1 (a char(10) not null) CHARACTER SET tis620;
|
||||
INSERT INTO t1 VALUES ('a'),('a\0'),('a\t'),('a ');
|
||||
SELECT hex(a),STRCMP(a,'a'), STRCMP(a,'a ') FROM t1;
|
||||
hex(a) STRCMP(a,'a') STRCMP(a,'a ')
|
||||
|
@ -1,5 +1,35 @@
|
||||
DROP TABLE IF EXISTS t1;
|
||||
set names utf8;
|
||||
set collation_connection=utf8_unicode_ci;
|
||||
select 'a' = 'a', 'a' = 'a ', 'a ' = 'a';
|
||||
'a' = 'a' 'a' = 'a ' 'a ' = 'a'
|
||||
1 1 1
|
||||
select 'a\t' = 'a' , 'a\t' < 'a' , 'a\t' > 'a';
|
||||
'a\t' = 'a' 'a\t' < 'a' 'a\t' > 'a'
|
||||
0 1 0
|
||||
select 'a\t' = 'a ', 'a\t' < 'a ', 'a\t' > 'a ';
|
||||
'a\t' = 'a ' 'a\t' < 'a ' 'a\t' > 'a '
|
||||
0 1 0
|
||||
select 'a' = 'a\t', 'a' < 'a\t', 'a' > 'a\t';
|
||||
'a' = 'a\t' 'a' < 'a\t' 'a' > 'a\t'
|
||||
0 0 1
|
||||
select 'a ' = 'a\t', 'a ' < 'a\t', 'a ' > 'a\t';
|
||||
'a ' = 'a\t' 'a ' < 'a\t' 'a ' > 'a\t'
|
||||
0 0 1
|
||||
select 'a a' > 'a', 'a \t' < 'a';
|
||||
'a a' > 'a' 'a \t' < 'a'
|
||||
1 1
|
||||
CREATE TABLE t (
|
||||
c char(20) NOT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
||||
INSERT INTO t VALUES ('a'),('ab'),('aba');
|
||||
ALTER TABLE t ADD INDEX (c);
|
||||
SELECT c FROM t WHERE c LIKE 'a%';
|
||||
c
|
||||
a
|
||||
ab
|
||||
aba
|
||||
DROP TABLE t;
|
||||
create table t1 (c1 char(10) character set utf8 collate utf8_bin);
|
||||
insert into t1 values ('A'),('a');
|
||||
insert into t1 values ('B'),('b');
|
||||
@ -1872,3 +1902,416 @@ Z,z,Ź,ź,Ż,ż,Ž,ž
|
||||
ǁ
|
||||
ǂ
|
||||
ǃ
|
||||
drop table t1;
|
||||
SET NAMES utf8;
|
||||
CREATE TABLE t1 (c varchar(255) NOT NULL COLLATE utf8_general_ci, INDEX (c));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x039C03C903B403B11F770308 USING utf8));
|
||||
SELECT * FROM t1 WHERE c LIKE CONVERT(_ucs2 0x039C0025 USING utf8)
|
||||
COLLATE utf8_general_ci;
|
||||
c
|
||||
Μωδαί̈
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x039C03C903B4 USING utf8));
|
||||
SELECT * FROM t1 WHERE c LIKE CONVERT(_ucs2 0x039C0025 USING utf8)
|
||||
COLLATE utf8_general_ci ORDER BY c;
|
||||
c
|
||||
Μωδ
|
||||
Μωδαί̈
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (c varchar(255) NOT NULL COLLATE ucs2_unicode_ci, INDEX (c));
|
||||
INSERT INTO t1 VALUES (_ucs2 0x039C03C903B403B11F770308);
|
||||
SELECT * FROM t1 WHERE c LIKE _ucs2 0x039C0025 COLLATE ucs2_unicode_ci;
|
||||
c
|
||||
Μωδαί̈
|
||||
INSERT INTO t1 VALUES (_ucs2 0x039C03C903B4);
|
||||
SELECT * FROM t1 WHERE c LIKE _ucs2 0x039C0025
|
||||
COLLATE ucs2_unicode_ci ORDER BY c;
|
||||
c
|
||||
Μωδ
|
||||
Μωδαί̈
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (c varchar(255) NOT NULL COLLATE utf8_unicode_ci, INDEX (c));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x039C03C903B403B11F770308 USING utf8));
|
||||
SELECT * FROM t1 WHERE c LIKE CONVERT(_ucs2 0x039C0025 USING utf8) COLLATE utf8_unicode_ci;
|
||||
c
|
||||
Μωδαί̈
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x039C03C903B4 USING utf8));
|
||||
SELECT * FROM t1 WHERE c LIKE CONVERT(_ucs2 0x039C0025 USING utf8)
|
||||
COLLATE utf8_unicode_ci ORDER BY c;
|
||||
c
|
||||
Μωδ
|
||||
Μωδαί̈
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (
|
||||
col1 CHAR(32) CHARACTER SET utf8 NOT NULL
|
||||
);
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x0041004100410627 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x0041004100410628 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x0041004100410647 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x0041004100410648 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x0633064A0651062F USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x062D06330646 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x062A0642064A USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x06320627062F0647 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x062806310627064A USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x064706450647 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x062F062706460634062C0648064A06270646064A USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x06A90647 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x062A06270631064A062E USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x062706460642064406270628 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x0627064A0631062706460650 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x0627062F064806270631062F USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x06280631062706480646200C06310627 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x062E064806270646062F0647 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x0648 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x062A062D062A USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x062A0623062B064A0631 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x06220646 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x0642063106270631 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x06AF06310641062A0647 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x06270646062F USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x0634062E0635064A0651062A064A USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x0628062706310632 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x06270633062A USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x063906A90633 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x06270648060C USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x062F0631 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x062D062F0648062F USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x0628064A0633062A USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x0648067E0646062C USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x06330627064406AF064A060C USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x063306270644 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x064606450627064A0646062F0647 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x062A06280631064A0632 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x0645062C06440633 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x06280648062F060C USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x0628064A0646 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x06350641062D0627062A USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x0627064A0646 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x06A9062A06270628 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x06280647 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x068606340645 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x0645064A USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x062E06480631062F USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x0686064706310647 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x0627064A USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x06420648064A USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x06450635064506510645 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x06310627 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x0646063406270646 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x0645064A200C062F0647062F060C USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x0647063106860646062F USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x06390645064400BB USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x06A9064806340634 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x0628 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x064706500646064A064606AF USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x0627062D063306270646 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x064A062706310634062706370631 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x06450646062A06340631 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x0634062F0647 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x062F0633062A USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x062A064806270646 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x0647064506270646 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x0627064806510644 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x062A0634062E064A0635 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x062F0627062F USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x06280627 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x062A064106270648062A USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x062D06270644062A USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x062A064106A906510631 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x063A064406280647 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x062F06270631062F USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x064A06A9064A USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x06270632 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x063106470628063106270646 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x064606470636062A USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x064506340631064806370647 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x0627064A063106270646 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x0646064A0632 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x064A06A9 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x0645062D064206510642 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x0637063106270632 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x064106310647064606AF USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x062A0645062F06510646 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x0627064A063106270646064A USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x06280648062F USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x06A90627063106470627064A USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x06270648 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x0639063106350647 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x0627064506480631 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x0633064A06270633064A USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x0627064A063106270646060C USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x062D064806320647 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x063906440645 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x062F062706460634 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x06450642062706440627062A USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x062F064A06AF0631 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x0648064A06980647 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x0646062706450647 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x064506480631062F USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x0628062D062B USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x0628063106310633064A USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x064606480634062A0647 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x06450646 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x062A064606470627 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x0622064606860647 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x062F064806310647 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x0627064206270645062A USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x067E0631062F062706320645 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x0698062706460648064A0647 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x0648064A USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x062F06390648062A0650 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x063306500631 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x062F0646064A0633064F0646 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x063106270633 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x0647064A0626062A USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x0639064406480645200C063406310642064A USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x06280639062F0627064B USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x0645062F063106330647 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x062206410631064A06420627064A064A USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x062F06270646063406AF06270647 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x06440646062F0646 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x067E064A06480633062A USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x0647064606AF06270645064A USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x067E0633 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x0622063A06270632 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x062C064606AF USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x062C064706270646 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x062F064806510645 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x063406470631 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x06A9064506280631064A062C USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x06450646062A06420644 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x06A90631062F0646062F USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x06470645 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x06310641062A USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x06220646062C0627 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x064506270646062F USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x062A0627 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x062706A9062A06280631 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x064606380631 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x062F06480644062A USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x062F06480628062706310647 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x064606330628062A USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x0645063306270639062F USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x0634062F USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x06480632064A0631 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x0645062E062A06270631 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x06330641064A0631 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x0627064606AF0644064A0633 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x062A0642064A200C06320627062F0647 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x06280627063206AF0634062A USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x0647064506330631 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x06220644064506270646064A USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x06270634 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x06220645062F0647 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x06A906270631064A USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x067E0631062F0627062E062A0647 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x063906440645064A USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x0627062F0628064A USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x062D062F0651 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x064606280648062F060C USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x06480644064A USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x063906480636060C USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x06340627064A062F USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x064506470645 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x062A0631 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x06220646060C USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x06470645063306310634 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x06A90627064606480646 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x062E0627064606480627062F06AF064A USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x06AF06310645064A USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x06280648062C0648062F USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x062206480631062F USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x062F0648 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x06A90627064506440627064B USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x064A06A9062F064A06AF0631 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x06AF USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x062F064406280633062A0647 USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x06280648062F0646062F USING utf8));
|
||||
INSERT INTO t1 VALUES (CONVERT(_ucs2 0x06450647064506270646 USING utf8));
|
||||
SELECT HEX(CONVERT(col1 USING ucs2)) FROM t1 ORDER BY col1 COLLATE utf8_persian_ci, col1 COLLATE utf8_bin;
|
||||
HEX(CONVERT(col1 USING ucs2))
|
||||
0041004100410627
|
||||
0041004100410628
|
||||
0041004100410648
|
||||
0041004100410647
|
||||
0622063A06270632
|
||||
062206410631064A06420627064A064A
|
||||
06220644064506270646064A
|
||||
06220645062F0647
|
||||
06220646
|
||||
06220646060C
|
||||
06220646062C0627
|
||||
0622064606860647
|
||||
062206480631062F
|
||||
0627062D063306270646
|
||||
0627062F0628064A
|
||||
0627062F064806270631062F
|
||||
06270632
|
||||
06270633062A
|
||||
06270634
|
||||
0627064206270645062A
|
||||
062706A9062A06280631
|
||||
0627064506480631
|
||||
06270646062F
|
||||
062706460642064406270628
|
||||
0627064606AF0644064A0633
|
||||
06270648
|
||||
06270648060C
|
||||
0627064806510644
|
||||
0627064A
|
||||
0627064A063106270646
|
||||
0627064A063106270646060C
|
||||
0627064A0631062706460650
|
||||
0627064A063106270646064A
|
||||
0627064A0646
|
||||
0628
|
||||
06280627
|
||||
0628062706310632
|
||||
06280627063206AF0634062A
|
||||
0628062D062B
|
||||
06280631062706480646200C06310627
|
||||
062806310627064A
|
||||
0628063106310633064A
|
||||
06280639062F0627064B
|
||||
06280648062C0648062F
|
||||
06280648062F
|
||||
06280648062F060C
|
||||
06280648062F0646062F
|
||||
06280647
|
||||
0628064A0633062A
|
||||
0628064A0646
|
||||
067E0631062F0627062E062A0647
|
||||
067E0631062F062706320645
|
||||
067E0633
|
||||
067E064A06480633062A
|
||||
062A0627
|
||||
062A06270631064A062E
|
||||
062A0623062B064A0631
|
||||
062A06280631064A0632
|
||||
062A062D062A
|
||||
062A0631
|
||||
062A0634062E064A0635
|
||||
062A064106270648062A
|
||||
062A064106A906510631
|
||||
062A0642064A
|
||||
062A0642064A200C06320627062F0647
|
||||
062A0645062F06510646
|
||||
062A064606470627
|
||||
062A064806270646
|
||||
062C064606AF
|
||||
062C064706270646
|
||||
068606340645
|
||||
0686064706310647
|
||||
062D06270644062A
|
||||
062D062F0651
|
||||
062D062F0648062F
|
||||
062D06330646
|
||||
062D064806320647
|
||||
062E0627064606480627062F06AF064A
|
||||
062E064806270646062F0647
|
||||
062E06480631062F
|
||||
062F0627062F
|
||||
062F06270631062F
|
||||
062F062706460634
|
||||
062F062706460634062C0648064A06270646064A
|
||||
062F06270646063406AF06270647
|
||||
062F0631
|
||||
062F0633062A
|
||||
062F06390648062A0650
|
||||
062F064406280633062A0647
|
||||
062F0646064A0633064F0646
|
||||
062F0648
|
||||
062F06480628062706310647
|
||||
062F064806310647
|
||||
062F06480644062A
|
||||
062F064806510645
|
||||
062F064A06AF0631
|
||||
06310627
|
||||
063106270633
|
||||
06310641062A
|
||||
063106470628063106270646
|
||||
06320627062F0647
|
||||
0698062706460648064A0647
|
||||
063306500631
|
||||
063306270644
|
||||
06330627064406AF064A060C
|
||||
06330641064A0631
|
||||
0633064A06270633064A
|
||||
0633064A0651062F
|
||||
06340627064A062F
|
||||
0634062E0635064A0651062A064A
|
||||
0634062F
|
||||
0634062F0647
|
||||
063406470631
|
||||
06350641062D0627062A
|
||||
0637063106270632
|
||||
0639063106350647
|
||||
063906A90633
|
||||
063906440645
|
||||
063906440645064A
|
||||
0639064406480645200C063406310642064A
|
||||
06390645064400BB
|
||||
063906480636060C
|
||||
063A064406280647
|
||||
064106310647064606AF
|
||||
0642063106270631
|
||||
06420648064A
|
||||
06A90627063106470627064A
|
||||
06A906270631064A
|
||||
06A90627064506440627064B
|
||||
06A90627064606480646
|
||||
06A9062A06270628
|
||||
06A90631062F0646062F
|
||||
06A9064506280631064A062C
|
||||
06A9064806340634
|
||||
06A90647
|
||||
06AF
|
||||
06AF06310641062A0647
|
||||
06AF06310645064A
|
||||
06440646062F0646
|
||||
064506270646062F
|
||||
0645062C06440633
|
||||
0645062D064206510642
|
||||
0645062E062A06270631
|
||||
0645062F063106330647
|
||||
0645063306270639062F
|
||||
064506340631064806370647
|
||||
06450635064506510645
|
||||
06450642062706440627062A
|
||||
06450646
|
||||
06450646062A06340631
|
||||
06450646062A06420644
|
||||
064506480631062F
|
||||
064506470645
|
||||
06450647064506270646
|
||||
0645064A
|
||||
0645064A200C062F0647062F060C
|
||||
0646062706450647
|
||||
064606280648062F060C
|
||||
064606330628062A
|
||||
0646063406270646
|
||||
064606380631
|
||||
064606450627064A0646062F0647
|
||||
064606480634062A0647
|
||||
064606470636062A
|
||||
0646064A0632
|
||||
0648
|
||||
0648067E0646062C
|
||||
06480632064A0631
|
||||
06480644064A
|
||||
0648064A
|
||||
0648064A06980647
|
||||
064706500646064A064606AF
|
||||
0647063106860646062F
|
||||
06470645
|
||||
0647064506270646
|
||||
0647064506330631
|
||||
06470645063306310634
|
||||
064706450647
|
||||
0647064606AF06270645064A
|
||||
0647064A0626062A
|
||||
064A062706310634062706370631
|
||||
064A06A9
|
||||
064A06A9062F064A06AF0631
|
||||
064A06A9064A
|
||||
DROP TABLE t1;
|
||||
|
@ -63,6 +63,15 @@ select 'A' like 'a' collate utf8_bin;
|
||||
select _utf8 0xD0B0D0B1D0B2 like concat(_utf8'%',_utf8 0xD0B1,_utf8 '%');
|
||||
_utf8 0xD0B0D0B1D0B2 like concat(_utf8'%',_utf8 0xD0B1,_utf8 '%')
|
||||
1
|
||||
select convert(_latin1'G<>nter Andr<64>' using utf8) like CONVERT(_latin1'G<>NTER%' USING utf8);
|
||||
convert(_latin1'G<>nter Andr<64>' using utf8) like CONVERT(_latin1'G<>NTER%' USING utf8)
|
||||
1
|
||||
select CONVERT(_koi8r'<27><><EFBFBD><EFBFBD>' USING utf8) LIKE CONVERT(_koi8r'<27><><EFBFBD><EFBFBD>' USING utf8);
|
||||
CONVERT(_koi8r'<27><><EFBFBD><EFBFBD>' USING utf8) LIKE CONVERT(_koi8r'<27><><EFBFBD><EFBFBD>' USING utf8)
|
||||
1
|
||||
select CONVERT(_koi8r'<27><><EFBFBD><EFBFBD>' USING utf8) LIKE CONVERT(_koi8r'<27><><EFBFBD><EFBFBD>' USING utf8);
|
||||
CONVERT(_koi8r'<27><><EFBFBD><EFBFBD>' USING utf8) LIKE CONVERT(_koi8r'<27><><EFBFBD><EFBFBD>' USING utf8)
|
||||
1
|
||||
SELECT 'a' = 'a ';
|
||||
'a' = 'a '
|
||||
1
|
||||
@ -316,6 +325,39 @@ select c cb20 from t1 where c=repeat('b',20);
|
||||
cb20
|
||||
bbbbbbbbbbbbbbbbbbbb
|
||||
drop table t1;
|
||||
create table t1 (c varchar(30) character set utf8, unique(c(10))) engine=innodb;
|
||||
insert into t1 values ('1'),('2'),('3'),('x'),('y'),('z');
|
||||
insert into t1 values ('aaaaaaaaaa');
|
||||
insert into t1 values ('aaaaaaaaaaa');
|
||||
ERROR 23000: Duplicate entry 'aaaaaaaaaaa' for key 1
|
||||
insert into t1 values ('aaaaaaaaaaaa');
|
||||
ERROR 23000: Duplicate entry 'aaaaaaaaaaaa' for key 1
|
||||
insert into t1 values (repeat('b',20));
|
||||
select c c1 from t1 where c='1';
|
||||
c1
|
||||
1
|
||||
select c c2 from t1 where c='2';
|
||||
c2
|
||||
2
|
||||
select c c3 from t1 where c='3';
|
||||
c3
|
||||
3
|
||||
select c cx from t1 where c='x';
|
||||
cx
|
||||
x
|
||||
select c cy from t1 where c='y';
|
||||
cy
|
||||
y
|
||||
select c cz from t1 where c='z';
|
||||
cz
|
||||
z
|
||||
select c ca10 from t1 where c='aaaaaaaaaa';
|
||||
ca10
|
||||
aaaaaaaaaa
|
||||
select c cb20 from t1 where c=repeat('b',20);
|
||||
cb20
|
||||
bbbbbbbbbbbbbbbbbbbb
|
||||
drop table t1;
|
||||
create table t1 (c char(3) character set utf8, unique (c(2)));
|
||||
insert into t1 values ('1'),('2'),('3'),('4'),('x'),('y'),('z');
|
||||
insert into t1 values ('a');
|
||||
@ -339,6 +381,29 @@ insert into t1 values ('ꪪꪪ');
|
||||
insert into t1 values ('ꪪꪪꪪ');
|
||||
ERROR 23000: Duplicate entry 'ꪪꪪ' for key 1
|
||||
drop table t1;
|
||||
create table t1 (c char(3) character set utf8, unique (c(2))) engine=innodb;
|
||||
insert into t1 values ('1'),('2'),('3'),('4'),('x'),('y'),('z');
|
||||
insert into t1 values ('a');
|
||||
insert into t1 values ('aa');
|
||||
insert into t1 values ('aaa');
|
||||
ERROR 23000: Duplicate entry 'aaa' for key 1
|
||||
insert into t1 values ('b');
|
||||
insert into t1 values ('bb');
|
||||
insert into t1 values ('bbb');
|
||||
ERROR 23000: Duplicate entry 'bbb' for key 1
|
||||
insert into t1 values ('а');
|
||||
insert into t1 values ('аа');
|
||||
insert into t1 values ('ааа');
|
||||
ERROR 23000: Duplicate entry 'ааа' for key 1
|
||||
insert into t1 values ('б');
|
||||
insert into t1 values ('бб');
|
||||
insert into t1 values ('ббб');
|
||||
ERROR 23000: Duplicate entry 'ббб' for key 1
|
||||
insert into t1 values ('ꪪ');
|
||||
insert into t1 values ('ꪪꪪ');
|
||||
insert into t1 values ('ꪪꪪꪪ');
|
||||
ERROR 23000: Duplicate entry 'ꪪꪪ' for key 1
|
||||
drop table t1;
|
||||
create table t1 (
|
||||
c char(10) character set utf8,
|
||||
unique key a using hash (c(1))
|
||||
@ -611,6 +676,16 @@ str
|
||||
drop table t1;
|
||||
create table t1 (
|
||||
str varchar(255) character set utf8 not null,
|
||||
key str (str(2))
|
||||
) engine=innodb;
|
||||
INSERT INTO t1 VALUES ('str');
|
||||
INSERT INTO t1 VALUES ('str2');
|
||||
select * from t1 where str='str';
|
||||
str
|
||||
str
|
||||
drop table t1;
|
||||
create table t1 (
|
||||
str varchar(255) character set utf8 not null,
|
||||
key str using btree (str(2))
|
||||
) engine=heap;
|
||||
INSERT INTO t1 VALUES ('str');
|
||||
@ -639,3 +714,103 @@ select * from t1 where str='str';
|
||||
str
|
||||
str
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (a varchar(32) BINARY) CHARACTER SET utf8;
|
||||
INSERT INTO t1 VALUES ('test');
|
||||
SELECT a FROM t1 WHERE a LIKE '%te';
|
||||
a
|
||||
DROP TABLE t1;
|
||||
SET NAMES utf8;
|
||||
CREATE TABLE t1 (
|
||||
subject varchar(255) character set utf8 collate utf8_unicode_ci,
|
||||
p varchar(15) character set utf8
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
INSERT INTO t1 VALUES ('谷川俊二と申しますが、インターネット予約の会員登録をしましたところ、メールアドレスを間違えてしまい会員IDが受け取ることが出来ませんでした。間違えアドレスはtani-shun@n.vodafone.ne.jpを書き込みました。どうすればよいですか? その他、住所等は間違えありません。連絡ください。よろしくお願いします。m(__)m','040312-000057');
|
||||
INSERT INTO t1 VALUES ('aaa','bbb');
|
||||
SELECT length(subject) FROM t1;
|
||||
length(subject)
|
||||
432
|
||||
3
|
||||
SELECT length(subject) FROM t1 ORDER BY 1;
|
||||
length(subject)
|
||||
3
|
||||
432
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (
|
||||
id int unsigned NOT NULL auto_increment,
|
||||
list_id smallint unsigned NOT NULL,
|
||||
term TEXT NOT NULL,
|
||||
PRIMARY KEY(id),
|
||||
INDEX(list_id, term(4))
|
||||
) ENGINE=MYISAM CHARSET=utf8;
|
||||
INSERT INTO t1 SET list_id = 1, term = "letterc";
|
||||
INSERT INTO t1 SET list_id = 1, term = "letterb";
|
||||
INSERT INTO t1 SET list_id = 1, term = "lettera";
|
||||
INSERT INTO t1 SET list_id = 1, term = "letterd";
|
||||
SELECT id FROM t1 WHERE (list_id = 1) AND (term = "letterc");
|
||||
id
|
||||
1
|
||||
SELECT id FROM t1 WHERE (list_id = 1) AND (term = "letterb");
|
||||
id
|
||||
2
|
||||
SELECT id FROM t1 WHERE (list_id = 1) AND (term = "lettera");
|
||||
id
|
||||
3
|
||||
SELECT id FROM t1 WHERE (list_id = 1) AND (term = "letterd");
|
||||
id
|
||||
4
|
||||
DROP TABLE t1;
|
||||
SET NAMES latin1;
|
||||
CREATE TABLE t1 (
|
||||
id int unsigned NOT NULL auto_increment,
|
||||
list_id smallint unsigned NOT NULL,
|
||||
term text NOT NULL,
|
||||
PRIMARY KEY(id),
|
||||
INDEX(list_id, term(19))
|
||||
) ENGINE=MyISAM CHARSET=utf8;
|
||||
INSERT INTO t1 set list_id = 1, term = "test<73>test";
|
||||
INSERT INTO t1 set list_id = 1, term = "testetest";
|
||||
INSERT INTO t1 set list_id = 1, term = "test<73>test";
|
||||
SELECT id, term FROM t1 where (list_id = 1) AND (term = "test<73>test");
|
||||
id term
|
||||
1 test<73>test
|
||||
2 testetest
|
||||
3 test<73>test
|
||||
SELECT id, term FROM t1 where (list_id = 1) AND (term = "testetest");
|
||||
id term
|
||||
1 test<73>test
|
||||
2 testetest
|
||||
3 test<73>test
|
||||
SELECT id, term FROM t1 where (list_id = 1) AND (term = "test<73>test");
|
||||
id term
|
||||
1 test<73>test
|
||||
2 testetest
|
||||
3 test<73>test
|
||||
DROP TABLE t1;
|
||||
set names utf8;
|
||||
create table t1 (
|
||||
a int primary key,
|
||||
b varchar(6),
|
||||
index b3(b(3))
|
||||
) engine=innodb character set=utf8;
|
||||
insert into t1 values(1,'foo'),(2,'foobar');
|
||||
select * from t1 where b like 'foob%';
|
||||
a b
|
||||
2 foobar
|
||||
alter table t1 engine=bdb;
|
||||
select * from t1 where b like 'foob%';
|
||||
a b
|
||||
2 foobar
|
||||
drop table t1;
|
||||
create table t1 (
|
||||
a enum('петя','вася','анюта') character set utf8 not null default 'анюта',
|
||||
b set('петя','вася','анюта') character set utf8 not null default 'анюта'
|
||||
);
|
||||
create table t2 select concat(a,_utf8'') as a, concat(b,_utf8'')as b from t1;
|
||||
show create table t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`a` char(5) character set utf8 NOT NULL default '',
|
||||
`b` char(15) character set utf8 NOT NULL default ''
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
drop table t2;
|
||||
drop table t1;
|
||||
|
@ -58,6 +58,17 @@ select count(*) from t1;
|
||||
count(*)
|
||||
0
|
||||
drop table t1;
|
||||
create table t1 (a int not null auto_increment primary key, b char(32));
|
||||
insert into t1 (b) values ('apple'), ('apple');
|
||||
select * from t1;
|
||||
a b
|
||||
1 apple
|
||||
2 apple
|
||||
delete t1 from t1, t1 as t2 where t1.b = t2.b and t1.a > t2.a;
|
||||
select * from t1;
|
||||
a b
|
||||
1 apple
|
||||
drop table t1;
|
||||
create table t11 (a int NOT NULL, b int, primary key (a));
|
||||
create table t12 (a int NOT NULL, b int, primary key (a));
|
||||
create table t2 (a int NOT NULL, b int, primary key (a));
|
||||
|
@ -1,5 +1,6 @@
|
||||
drop table if exists t1;
|
||||
drop database if exists mysqltest;
|
||||
drop database if exists client_test_db;
|
||||
drop table t1;
|
||||
ERROR 42S02: Unknown table 't1'
|
||||
create table t1(n int);
|
||||
|
12
mysql-test/r/drop_temp_table.result.es
Normal file
12
mysql-test/r/drop_temp_table.result.es
Normal file
@ -0,0 +1,12 @@
|
||||
reset master;
|
||||
create database `drop-temp+table-test`;
|
||||
use `drop-temp+table-test`;
|
||||
create temporary table `table:name` (a int);
|
||||
select get_lock("a",10);
|
||||
get_lock("a",10)
|
||||
1
|
||||
select get_lock("a",10);
|
||||
get_lock("a",10)
|
||||
1
|
||||
show binlog events;
|
||||
drop database `drop-temp+table-test`;
|
@ -30,14 +30,23 @@ test.t2
|
||||
|
||||
flush tables;
|
||||
handler a1 read first limit 9;
|
||||
ERROR 42S02: Unknown table 'a1' in HANDLER
|
||||
table_id
|
||||
test.t1
|
||||
|
||||
handler a2 read first limit 9;
|
||||
ERROR 42S02: Unknown table 'a2' in HANDLER
|
||||
table_id
|
||||
test.t1
|
||||
|
||||
handler t2 read first limit 9;
|
||||
ERROR 42S02: Unknown table 't2' in HANDLER
|
||||
table_id
|
||||
test.t2
|
||||
|
||||
handler t1 open as a1;
|
||||
ERROR 42000: Not unique table/alias: 'a1'
|
||||
handler t1 open as a2;
|
||||
ERROR 42000: Not unique table/alias: 'a2'
|
||||
handler t2 open;
|
||||
ERROR 42000: Not unique table/alias: 't2'
|
||||
handler a1 read first limit 9;
|
||||
table_id
|
||||
test.t1
|
||||
@ -52,15 +61,43 @@ test.t2
|
||||
|
||||
flush table t1;
|
||||
handler a1 read first limit 9;
|
||||
ERROR 42S02: Unknown table 'a1' in HANDLER
|
||||
table_id
|
||||
test.t1
|
||||
|
||||
handler a2 read first limit 9;
|
||||
ERROR 42S02: Unknown table 'a2' in HANDLER
|
||||
table_id
|
||||
test.t1
|
||||
|
||||
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;
|
||||
create table t1(table_id char(20) primary key);
|
||||
insert into t1 values ('Record-01');
|
||||
insert into t1 values ('Record-02');
|
||||
insert into t1 values ('Record-03');
|
||||
insert into t1 values ('Record-04');
|
||||
insert into t1 values ('Record-05');
|
||||
handler t1 open;
|
||||
handler t1 read first limit 1;
|
||||
table_id
|
||||
Record-01
|
||||
handler t1 read next limit 1;
|
||||
table_id
|
||||
Record-02
|
||||
handler t1 read next limit 1;
|
||||
table_id
|
||||
Record-03
|
||||
flush table t1;
|
||||
handler t1 read next limit 1;
|
||||
table_id
|
||||
Record-01
|
||||
handler t1 read next limit 1;
|
||||
table_id
|
||||
Record-02
|
||||
handler t1 close;
|
||||
drop table t1;
|
||||
|
@ -356,6 +356,11 @@ SELECT t, collation(t),MATCH t AGAINST ('Osnabruck') FROM t1 WHERE MATCH t AGAIN
|
||||
t collation(t) MATCH t AGAINST ('Osnabruck')
|
||||
aus Osnabr<62>ck utf8_general_ci 1.591139793396
|
||||
alter table t1 modify t varchar(200) collate latin1_german2_ci not null;
|
||||
Warnings:
|
||||
Warning 1265 Data truncated for column 't' at row 3
|
||||
Warning 1265 Data truncated for column 't' at row 4
|
||||
Warning 1265 Data truncated for column 't' at row 5
|
||||
Warning 1265 Data truncated for column 't' at row 6
|
||||
SELECT t, collation(t) FROM t1 WHERE MATCH t AGAINST ('Osnabr<62>ck');
|
||||
t collation(t)
|
||||
aus Osnabr<62>ck latin1_german2_ci
|
||||
|
@ -21,17 +21,17 @@ INSERT INTO t2 VALUES (5,2,'um copo de Vodka');
|
||||
INSERT INTO t2 VALUES (6,2,'um chocolate Snickers');
|
||||
INSERT INTO t2 VALUES (7,1,'Bife');
|
||||
INSERT INTO t2 VALUES (8,1,'Pizza de Salmao');
|
||||
SELECT t1.q, t2.item, t2.id, MATCH t2.item AGAINST ('sushi')
|
||||
SELECT t1.q, t2.item, t2.id, round(MATCH t2.item AGAINST ('sushi'),8)
|
||||
as x FROM t1, t2 WHERE (t2.id2 = t1.id) ORDER BY x DESC,t2.id;
|
||||
q item id x
|
||||
aaaaaaaaa dsaass de sushi 1 1.92378664016724
|
||||
aaaaaaaaa dsaass de Bolo de Chocolate 2 0
|
||||
aaaaaaaaa dsaass de Feijoada 3 0
|
||||
aaaaaaaaa dsaass de Mousse de Chocolate 4 0
|
||||
ssde df s fsda sad er um copo de Vodka 5 0
|
||||
ssde df s fsda sad er um chocolate Snickers 6 0
|
||||
aaaaaaaaa dsaass de Bife 7 0
|
||||
aaaaaaaaa dsaass de Pizza de Salmao 8 0
|
||||
aaaaaaaaa dsaass de sushi 1 1.92378664
|
||||
aaaaaaaaa dsaass de Bolo de Chocolate 2 0.00000000
|
||||
aaaaaaaaa dsaass de Feijoada 3 0.00000000
|
||||
aaaaaaaaa dsaass de Mousse de Chocolate 4 0.00000000
|
||||
ssde df s fsda sad er um copo de Vodka 5 0.00000000
|
||||
ssde df s fsda sad er um chocolate Snickers 6 0.00000000
|
||||
aaaaaaaaa dsaass de Bife 7 0.00000000
|
||||
aaaaaaaaa dsaass de Pizza de Salmao 8 0.00000000
|
||||
SELECT t1.q, t2.item, t2.id, MATCH t2.item AGAINST ('sushi' IN BOOLEAN MODE)
|
||||
as x FROM t1, t2 WHERE (t2.id2 = t1.id) ORDER BY x DESC,t2.id;
|
||||
q item id x
|
||||
@ -43,17 +43,17 @@ ssde df s fsda sad er um copo de Vodka 5 0
|
||||
ssde df s fsda sad er um chocolate Snickers 6 0
|
||||
aaaaaaaaa dsaass de Bife 7 0
|
||||
aaaaaaaaa dsaass de Pizza de Salmao 8 0
|
||||
SELECT t1.q, t2.item, t2.id, MATCH t2.item AGAINST ('sushi')
|
||||
SELECT t1.q, t2.item, t2.id, round(MATCH t2.item AGAINST ('sushi'),8)
|
||||
as x FROM t2, t1 WHERE (t2.id2 = t1.id) ORDER BY x DESC,t2.id;
|
||||
q item id x
|
||||
aaaaaaaaa dsaass de sushi 1 1.92378664016724
|
||||
aaaaaaaaa dsaass de Bolo de Chocolate 2 0
|
||||
aaaaaaaaa dsaass de Feijoada 3 0
|
||||
aaaaaaaaa dsaass de Mousse de Chocolate 4 0
|
||||
ssde df s fsda sad er um copo de Vodka 5 0
|
||||
ssde df s fsda sad er um chocolate Snickers 6 0
|
||||
aaaaaaaaa dsaass de Bife 7 0
|
||||
aaaaaaaaa dsaass de Pizza de Salmao 8 0
|
||||
aaaaaaaaa dsaass de sushi 1 1.92378664
|
||||
aaaaaaaaa dsaass de Bolo de Chocolate 2 0.00000000
|
||||
aaaaaaaaa dsaass de Feijoada 3 0.00000000
|
||||
aaaaaaaaa dsaass de Mousse de Chocolate 4 0.00000000
|
||||
ssde df s fsda sad er um copo de Vodka 5 0.00000000
|
||||
ssde df s fsda sad er um chocolate Snickers 6 0.00000000
|
||||
aaaaaaaaa dsaass de Bife 7 0.00000000
|
||||
aaaaaaaaa dsaass de Pizza de Salmao 8 0.00000000
|
||||
SELECT t1.q, t2.item, t2.id, MATCH t2.item AGAINST ('sushi' IN BOOLEAN MODE)
|
||||
as x FROM t2, t1 WHERE (t2.id2 = t1.id) ORDER BY x DESC,t2.id;
|
||||
q item id x
|
||||
|
@ -16,13 +16,13 @@ author VARCHAR(255) NOT NULL
|
||||
INSERT INTO t2 VALUES('123', 'moi');
|
||||
INSERT INTO t2 VALUES('123', 'lui');
|
||||
INSERT INTO t2 VALUES('456', 'lui');
|
||||
select match(t1.texte,t1.sujet,t1.motsclefs) against('droit')
|
||||
select round(match(t1.texte,t1.sujet,t1.motsclefs) against('droit'),5)
|
||||
from t1 left join t2 on t2.id=t1.id;
|
||||
match(t1.texte,t1.sujet,t1.motsclefs) against('droit')
|
||||
0
|
||||
0
|
||||
0.67003107070923
|
||||
0
|
||||
round(match(t1.texte,t1.sujet,t1.motsclefs) against('droit'),5)
|
||||
0.00000
|
||||
0.00000
|
||||
0.67003
|
||||
0.00000
|
||||
select match(t1.texte,t1.sujet,t1.motsclefs) against('droit' IN BOOLEAN MODE)
|
||||
from t1 left join t2 on t2.id=t1.id;
|
||||
match(t1.texte,t1.sujet,t1.motsclefs) against('droit' IN BOOLEAN MODE)
|
||||
|
@ -11,19 +11,19 @@ FULLTEXT KEY a(b,c)
|
||||
INSERT INTO t1 VALUES (1,'lala lolo lili','oooo aaaa pppp');
|
||||
INSERT INTO t1 VALUES (2,'asdf fdsa','lkjh fghj');
|
||||
INSERT INTO t1 VALUES (3,'qpwoei','zmxnvb');
|
||||
SELECT a, MATCH b AGAINST ('lala lkjh') FROM t1;
|
||||
a MATCH b AGAINST ('lala lkjh')
|
||||
1 0.67003107070923
|
||||
2 0
|
||||
3 0
|
||||
SELECT a, MATCH c AGAINST ('lala lkjh') FROM t1;
|
||||
a MATCH c AGAINST ('lala lkjh')
|
||||
1 0
|
||||
2 0.67756325006485
|
||||
3 0
|
||||
SELECT a, MATCH b,c AGAINST ('lala lkjh') FROM t1;
|
||||
a MATCH b,c AGAINST ('lala lkjh')
|
||||
1 0.64840710163116
|
||||
2 0.66266459226608
|
||||
3 0
|
||||
SELECT a, round(MATCH b AGAINST ('lala lkjh'),5) FROM t1;
|
||||
a round(MATCH b AGAINST ('lala lkjh'),5)
|
||||
1 0.67003
|
||||
2 0.00000
|
||||
3 0.00000
|
||||
SELECT a, round(MATCH c AGAINST ('lala lkjh'),5) FROM t1;
|
||||
a round(MATCH c AGAINST ('lala lkjh'),5)
|
||||
1 0.00000
|
||||
2 0.67756
|
||||
3 0.00000
|
||||
SELECT a, round(MATCH b,c AGAINST ('lala lkjh'),5) FROM t1;
|
||||
a round(MATCH b,c AGAINST ('lala lkjh'),5)
|
||||
1 0.64841
|
||||
2 0.66266
|
||||
3 0.00000
|
||||
drop table t1;
|
||||
|
@ -68,3 +68,7 @@ Warnings:
|
||||
Error 1259 ZLIB: Input data corrupted
|
||||
Error 1256 Uncompressed data size too large; the maximum size is 1048576 (probably, length of uncompressed data was corrupted)
|
||||
drop table t1;
|
||||
set @@max_allowed_packet=1048576*100;
|
||||
select compress(repeat('aaaaaaaaaa', 10000000)) is null;
|
||||
compress(repeat('aaaaaaaaaa', 10000000)) is null
|
||||
0
|
||||
|
@ -26,3 +26,9 @@ FROM t1 GROUP BY new LIMIT 1;
|
||||
number alpha new
|
||||
1413006 idlfmv 1413006<------------------>idlfmv
|
||||
drop table t1;
|
||||
create table t1 (a char(4), b double, c date, d tinyint(4));
|
||||
insert into t1 values ('AAAA', 105, '2003-03-01', 1);
|
||||
select * from t1 where concat(A,C,B,D) = 'AAAA2003-03-011051';
|
||||
a b c d
|
||||
AAAA 105 2003-03-01 1
|
||||
drop table t1;
|
||||
|
@ -366,3 +366,94 @@ A_ID B_DESC
|
||||
3 F
|
||||
DROP TABLE t1;
|
||||
DROP TABLE t2;
|
||||
create table t1 (a int, b text);
|
||||
insert into t1 values (1, 'bb'), (1, 'ccc'), (1, 'a'), (1, 'bb'), (1, 'ccc');
|
||||
insert into t1 values (2, 'BB'), (2, 'CCC'), (2, 'A'), (2, 'BB'), (2, 'CCC');
|
||||
select group_concat(b) from t1 group by a;
|
||||
group_concat(b)
|
||||
bb,ccc,a,bb,ccc
|
||||
BB,CCC,A,BB,CCC
|
||||
select group_concat(distinct b) from t1 group by a;
|
||||
group_concat(distinct b)
|
||||
bb,ccc,a
|
||||
BB,CCC,A
|
||||
select group_concat(b order by b) from t1 group by a;
|
||||
group_concat(b order by b)
|
||||
a,bb,bb,ccc,ccc
|
||||
A,BB,BB,CCC,CCC
|
||||
select group_concat(distinct b order by b) from t1 group by a;
|
||||
group_concat(distinct b order by b)
|
||||
a,bb,ccc
|
||||
A,BB,CCC
|
||||
set local group_concat_max_len=4;
|
||||
select group_concat(b) from t1 group by a;
|
||||
group_concat(b)
|
||||
bb,c
|
||||
BB,C
|
||||
Warnings:
|
||||
Warning 1260 2 line(s) were cut by GROUP_CONCAT()
|
||||
select group_concat(distinct b) from t1 group by a;
|
||||
group_concat(distinct b)
|
||||
bb,c
|
||||
BB,C
|
||||
Warnings:
|
||||
Warning 1260 2 line(s) were cut by GROUP_CONCAT()
|
||||
select group_concat(b order by b) from t1 group by a;
|
||||
group_concat(b order by b)
|
||||
a,bb
|
||||
A,BB
|
||||
Warnings:
|
||||
Warning 1260 2 line(s) were cut by GROUP_CONCAT()
|
||||
select group_concat(distinct b order by b) from t1 group by a;
|
||||
group_concat(distinct b order by b)
|
||||
a,bb
|
||||
A,BB
|
||||
Warnings:
|
||||
Warning 1260 2 line(s) were cut by GROUP_CONCAT()
|
||||
insert into t1 values (1, concat(repeat('1', 300), '2')),
|
||||
(1, concat(repeat('1', 300), '2')), (1, concat(repeat('0', 300), '1')),
|
||||
(2, concat(repeat('1', 300), '2')), (2, concat(repeat('1', 300), '2')),
|
||||
(2, concat(repeat('0', 300), '1'));
|
||||
set local group_concat_max_len=1024;
|
||||
select group_concat(b) from t1 group by a;
|
||||
group_concat(b)
|
||||
bb,ccc,a,bb,ccc,1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112,1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112,0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001
|
||||
BB,CCC,A,BB,CCC,1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112,1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112,0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001
|
||||
select group_concat(distinct b) from t1 group by a;
|
||||
group_concat(distinct b)
|
||||
bb,ccc,a,1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112,0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001
|
||||
BB,CCC,A,1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112,0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001
|
||||
select group_concat(b order by b) from t1 group by a;
|
||||
group_concat(b order by b)
|
||||
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001,1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112,1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112,a,bb,bb,ccc,ccc
|
||||
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001,1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112,1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112,A,BB,BB,CCC,CCC
|
||||
select group_concat(distinct b order by b) from t1 group by a;
|
||||
group_concat(distinct b order by b)
|
||||
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001,1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112,a,bb,ccc
|
||||
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001,1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112,A,BB,CCC
|
||||
set local group_concat_max_len=400;
|
||||
select group_concat(b) from t1 group by a;
|
||||
group_concat(b)
|
||||
bb,ccc,a,bb,ccc,1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112,1111111111111111111111111111111111111111111111111111111111111111111111111111111111
|
||||
BB,CCC,A,BB,CCC,1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112,1111111111111111111111111111111111111111111111111111111111111111111111111111111111
|
||||
Warnings:
|
||||
Warning 1260 2 line(s) were cut by GROUP_CONCAT()
|
||||
select group_concat(distinct b) from t1 group by a;
|
||||
group_concat(distinct b)
|
||||
bb,ccc,a,1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112,00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
BB,CCC,A,1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112,00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
Warnings:
|
||||
Warning 1260 2 line(s) were cut by GROUP_CONCAT()
|
||||
select group_concat(b order by b) from t1 group by a;
|
||||
group_concat(b order by b)
|
||||
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001,11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
|
||||
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001,11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
|
||||
Warnings:
|
||||
Warning 1260 2 line(s) were cut by GROUP_CONCAT()
|
||||
select group_concat(distinct b order by b) from t1 group by a;
|
||||
group_concat(distinct b order by b)
|
||||
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001,11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
|
||||
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001,11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
|
||||
Warnings:
|
||||
Warning 1260 2 line(s) were cut by GROUP_CONCAT()
|
||||
drop table t1;
|
||||
|
@ -686,3 +686,38 @@ max(a)
|
||||
2
|
||||
deallocate prepare stmt1;
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (a int primary key);
|
||||
INSERT INTO t1 VALUES (1),(2),(3),(4);
|
||||
SELECT MAX(a) FROM t1 WHERE a > 5;
|
||||
MAX(a)
|
||||
NULL
|
||||
SELECT MIN(a) FROM t1 WHERE a < 0;
|
||||
MIN(a)
|
||||
NULL
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (
|
||||
id int(10) unsigned NOT NULL auto_increment,
|
||||
val enum('one','two','three') NOT NULL default 'one',
|
||||
PRIMARY KEY (id)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
INSERT INTO t1 VALUES
|
||||
(1,'one'),(2,'two'),(3,'three'),(4,'one'),(5,'two');
|
||||
select val, count(*) from t1 group by val;
|
||||
val count(*)
|
||||
one 2
|
||||
two 2
|
||||
three 1
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (
|
||||
id int(10) unsigned NOT NULL auto_increment,
|
||||
val set('one','two','three') NOT NULL default 'one',
|
||||
PRIMARY KEY (id)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
INSERT INTO t1 VALUES
|
||||
(1,'one'),(2,'two'),(3,'three'),(4,'one'),(5,'two');
|
||||
select val, count(*) from t1 group by val;
|
||||
val count(*)
|
||||
one 2
|
||||
two 2
|
||||
three 1
|
||||
drop table t1;
|
||||
|
@ -83,3 +83,6 @@ select if(1>2,a,avg(a)) from t1;
|
||||
if(1>2,a,avg(a))
|
||||
1.5000
|
||||
drop table t1;
|
||||
SELECT NULLIF(5,5) IS NULL, NULLIF(5,5) IS NOT NULL;
|
||||
NULLIF(5,5) IS NULL NULLIF(5,5) IS NOT NULL
|
||||
1 0
|
||||
|
@ -64,3 +64,6 @@ find_in_set('a',binary 'A,B,C')
|
||||
select find_in_set(binary 'a', 'A,B,C');
|
||||
find_in_set(binary 'a', 'A,B,C')
|
||||
0
|
||||
select find_in_set('1','3,1,');
|
||||
find_in_set('1','3,1,')
|
||||
2
|
||||
|
@ -316,6 +316,12 @@ NULL NULL 1 1 n
|
||||
two 'two' 0 0 'two'
|
||||
four 'four' 0 0 'four'
|
||||
drop table t1;
|
||||
select trim(trailing 'foo' from 'foo');
|
||||
trim(trailing 'foo' from 'foo')
|
||||
|
||||
select trim(leading 'foo' from 'foo');
|
||||
trim(leading 'foo' from 'foo')
|
||||
|
||||
select 1=_latin1'1';
|
||||
1=_latin1'1'
|
||||
1
|
||||
|
@ -174,3 +174,12 @@ SELECT GREATEST(d,d) FROM t1 WHERE k=2;
|
||||
GREATEST(d,d)
|
||||
NULL
|
||||
DROP TABLE t1;
|
||||
select 1197.90 mod 50;
|
||||
1197.90 mod 50
|
||||
47.90
|
||||
select 5.1 mod 3, 5.1 mod -3, -5.1 mod 3, -5.1 mod -3;
|
||||
5.1 mod 3 5.1 mod -3 -5.1 mod 3 -5.1 mod -3
|
||||
2.1 2.1 -2.1 -2.1
|
||||
select 5 mod 3, 5 mod -3, -5 mod 3, -5 mod -3;
|
||||
5 mod 3 5 mod -3 -5 mod 3 -5 mod -3
|
||||
2 2 -2 -2
|
||||
|
@ -485,3 +485,99 @@ MBRContains(GeomFromText('Polygon((0 0, 0 7, 7 7, 7 0, 0 0))'), a);
|
||||
AsText(a)
|
||||
POINT(1 1)
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (Coordinates POINT NOT NULL, SPATIAL INDEX(Coordinates));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(383293632 1754448)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(564952612 157516260)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(903994614 180726515)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(98128178 141127631)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(862547902 799334546)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(341989013 850270906)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(803302376 93039099)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(857439153 817431356)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(319757546 343162742)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(826341972 717484432)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(305066789 201736238)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(626068992 616241497)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(55789424 755830108)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(802874458 312435220)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(153795660 551723671)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(242207428 537089292)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(553478119 807160039)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(694605552 457472733)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(987886554 792733729)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(598600363 850434457)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(592068275 940589376)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(700705362 395370650)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(33628474 558144514)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(212802006 353386020)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(901307256 39143977)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(70870451 206374045)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(240880214 696939443)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(822615542 296669638)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(452769551 625489999)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(609104858 606565210)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(177213669 851312285)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(143654501 730691787)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(658472325 838260052)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(188164520 646358878)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(630993781 786764883)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(496793334 223062055)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(727354258 197498696)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(618432704 760982731)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(755643210 831234710)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(114368751 656950466)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(870378686 185239202)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(863324511 111258900)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(882178645 685940052)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(407928538 334948195)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(311430051 17033395)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(941513405 488643719)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(868345680 85167906)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(219335507 526818004)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(923427958 407500026)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(173176882 554421738)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(194264908 669970217)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(777483793 921619165)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(867468912 395916497)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(682601897 623112122)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(227151206 796970647)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(280062588 97529892)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(982209849 143387099)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(208788792 864388493)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(829327151 616717329)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(199336688 140757201)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(633750724 140850093)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(629400920 502096404)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(226017998 848736426)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(28914408 149445955)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(256236452 202091290)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(703867693 450501360)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(872061506 481351486)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(372120524 739530418)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(877267982 54722420)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(362642540 104419188)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(851693067 642705127)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(201949080 833902916)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(786092225 410737872)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(698291409 615419376)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(27455201 897628096)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(756176576 661205925)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(38478189 385577496)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(163302328 264496186)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(234313922 192216735)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(413942141 490550373)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(394308025 117809834)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(941051732 266369530)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(599161319 313172256)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(5899948 476429301)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(367894677 368542487)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(580848489 219587743)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('POINT(11247614 782797569)'));
|
||||
drop table t1;
|
||||
create table t1 select POINT(1,3);
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`POINT(1,3)` longblob NOT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
drop table t1;
|
||||
|
@ -248,6 +248,73 @@ GRANT SELECT ON `ab%`.* TO 'test11'@'localhost'
|
||||
GRANT SELECT ON `a%`.* TO 'test11'@'localhost'
|
||||
delete from mysql.user where user='test11';
|
||||
delete from mysql.db where user='test11';
|
||||
USE test;
|
||||
CREATE TABLE t1 (a int );
|
||||
CREATE TABLE t2 LIKE t1;
|
||||
CREATE TABLE t3 LIKE t1;
|
||||
CREATE TABLE t4 LIKE t1;
|
||||
CREATE TABLE t5 LIKE t1;
|
||||
CREATE TABLE t6 LIKE t1;
|
||||
CREATE TABLE t7 LIKE t1;
|
||||
CREATE TABLE t8 LIKE t1;
|
||||
CREATE TABLE t9 LIKE t1;
|
||||
CREATE TABLE t10 LIKE t1;
|
||||
CREATE DATABASE testdb1;
|
||||
CREATE DATABASE testdb2;
|
||||
CREATE DATABASE testdb3;
|
||||
CREATE DATABASE testdb4;
|
||||
CREATE DATABASE testdb5;
|
||||
CREATE DATABASE testdb6;
|
||||
CREATE DATABASE testdb7;
|
||||
CREATE DATABASE testdb8;
|
||||
CREATE DATABASE testdb9;
|
||||
CREATE DATABASE testdb10;
|
||||
GRANT ALL ON testdb1.* TO testuser@localhost;
|
||||
GRANT ALL ON testdb2.* TO testuser@localhost;
|
||||
GRANT ALL ON testdb3.* TO testuser@localhost;
|
||||
GRANT ALL ON testdb4.* TO testuser@localhost;
|
||||
GRANT ALL ON testdb5.* TO testuser@localhost;
|
||||
GRANT ALL ON testdb6.* TO testuser@localhost;
|
||||
GRANT ALL ON testdb7.* TO testuser@localhost;
|
||||
GRANT ALL ON testdb8.* TO testuser@localhost;
|
||||
GRANT ALL ON testdb9.* TO testuser@localhost;
|
||||
GRANT ALL ON testdb10.* TO testuser@localhost;
|
||||
GRANT SELECT ON test.t1 TO testuser@localhost;
|
||||
GRANT SELECT ON test.t2 TO testuser@localhost;
|
||||
GRANT SELECT ON test.t3 TO testuser@localhost;
|
||||
GRANT SELECT ON test.t4 TO testuser@localhost;
|
||||
GRANT SELECT ON test.t5 TO testuser@localhost;
|
||||
GRANT SELECT ON test.t6 TO testuser@localhost;
|
||||
GRANT SELECT ON test.t7 TO testuser@localhost;
|
||||
GRANT SELECT ON test.t8 TO testuser@localhost;
|
||||
GRANT SELECT ON test.t9 TO testuser@localhost;
|
||||
GRANT SELECT ON test.t10 TO testuser@localhost;
|
||||
GRANT SELECT (a) ON test.t1 TO testuser@localhost;
|
||||
GRANT SELECT (a) ON test.t2 TO testuser@localhost;
|
||||
GRANT SELECT (a) ON test.t3 TO testuser@localhost;
|
||||
GRANT SELECT (a) ON test.t4 TO testuser@localhost;
|
||||
GRANT SELECT (a) ON test.t5 TO testuser@localhost;
|
||||
GRANT SELECT (a) ON test.t6 TO testuser@localhost;
|
||||
GRANT SELECT (a) ON test.t7 TO testuser@localhost;
|
||||
GRANT SELECT (a) ON test.t8 TO testuser@localhost;
|
||||
GRANT SELECT (a) ON test.t9 TO testuser@localhost;
|
||||
GRANT SELECT (a) ON test.t10 TO testuser@localhost;
|
||||
REVOKE ALL PRIVILEGES, GRANT OPTION FROM testuser@localhost;
|
||||
SHOW GRANTS FOR testuser@localhost;
|
||||
Grants for testuser@localhost
|
||||
GRANT USAGE ON *.* TO 'testuser'@'localhost'
|
||||
DROP USER testuser@localhost;
|
||||
DROP TABLE t1,t2,t3,t4,t5,t6,t7,t8,t9,t10;
|
||||
DROP DATABASE testdb1;
|
||||
DROP DATABASE testdb2;
|
||||
DROP DATABASE testdb3;
|
||||
DROP DATABASE testdb4;
|
||||
DROP DATABASE testdb5;
|
||||
DROP DATABASE testdb6;
|
||||
DROP DATABASE testdb7;
|
||||
DROP DATABASE testdb8;
|
||||
DROP DATABASE testdb9;
|
||||
DROP DATABASE testdb10;
|
||||
SHOW PRIVILEGES;
|
||||
Privilege Context Comment
|
||||
Alter Tables To alter the table
|
||||
|
@ -1,6 +1,9 @@
|
||||
SET NAMES binary;
|
||||
drop database if exists mysqltest;
|
||||
delete from mysql.user where user like 'mysqltest\_%';
|
||||
delete from mysql.db where user like 'mysqltest\_%';
|
||||
delete from mysql.tables_priv where user like 'mysqltest\_%';
|
||||
delete from mysql.columns_priv where user like 'mysqltest\_%';
|
||||
flush privileges;
|
||||
grant all privileges on `my\_%`.* to mysqltest_1@localhost with grant option;
|
||||
select current_user();
|
||||
@ -33,3 +36,27 @@ ERROR 42000: There is no such grant defined for user 'mysqltest_3' on host 'loca
|
||||
delete from mysql.user where user like 'mysqltest\_%';
|
||||
delete from mysql.db where user like 'mysqltest\_%';
|
||||
flush privileges;
|
||||
create database mysqltest;
|
||||
grant INSERT, SELECT on mysqltest.* to mysqltest_1@localhost;
|
||||
flush privileges;
|
||||
use mysqltest;
|
||||
create table t1 (id int primary key, data varchar(255));
|
||||
show grants for current_user();
|
||||
Grants for mysqltest_1@localhost
|
||||
GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost'
|
||||
GRANT SELECT, INSERT ON `mysqltest`.* TO 'mysqltest_1'@'localhost'
|
||||
use mysqltest;
|
||||
insert into t1 values (1, 'I can''t change it!');
|
||||
update t1 set data='I can change it!' where id = 1;
|
||||
ERROR 42000: Access denied for user 'mysqltest_1'@'localhost' to database 'mysqltest'
|
||||
insert into t1 values (1, 'XXX') on duplicate key update data= 'I can change it!';
|
||||
ERROR 42000: Access denied for user 'mysqltest_1'@'localhost' to database 'mysqltest'
|
||||
select * from t1;
|
||||
id data
|
||||
1 I can't change it!
|
||||
drop table t1;
|
||||
drop database mysqltest;
|
||||
use test;
|
||||
delete from mysql.user where user like 'mysqltest\_%';
|
||||
delete from mysql.db where user like 'mysqltest\_%';
|
||||
flush privileges;
|
||||
|
@ -629,3 +629,12 @@ explain SELECT i, COUNT(DISTINCT(i)) FROM t1 GROUP BY j ORDER BY NULL;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 6 Using filesort
|
||||
DROP TABLE t1;
|
||||
create table t1 ( col1 int, col2 int );
|
||||
insert into t1 values (1,1),(1,2),(1,3),(2,1),(2,2);
|
||||
select group_concat( distinct col1 ) as alias from t1
|
||||
group by col2 having alias like '%';
|
||||
alias
|
||||
1,2
|
||||
1,2
|
||||
1
|
||||
drop table t1;
|
||||
|
@ -205,3 +205,243 @@ handler t1 read a=(1) where b=1;
|
||||
a b
|
||||
handler t1 close;
|
||||
drop table t1;
|
||||
drop database if exists test_test;
|
||||
create database test_test;
|
||||
use test_test;
|
||||
create table t1(table_id char(20) primary key);
|
||||
insert into t1 values ('test_test.t1');
|
||||
insert into t1 values ('');
|
||||
handler t1 open;
|
||||
handler t1 read first limit 9;
|
||||
table_id
|
||||
test_test.t1
|
||||
|
||||
create table t2(table_id char(20) primary key);
|
||||
insert into t2 values ('test_test.t2');
|
||||
insert into t2 values ('');
|
||||
handler t2 open;
|
||||
handler t2 read first limit 9;
|
||||
table_id
|
||||
test_test.t2
|
||||
|
||||
use test;
|
||||
drop table if exists t1;
|
||||
create table t1(table_id char(20) primary key);
|
||||
insert into t1 values ('test.t1');
|
||||
insert into t1 values ('');
|
||||
handler t1 open;
|
||||
ERROR 42000: Not unique table/alias: 't1'
|
||||
use test;
|
||||
handler test.t1 read first limit 9;
|
||||
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 'read first limit 9' at line 1
|
||||
handler test_test.t1 read first limit 9;
|
||||
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 'read first limit 9' at line 1
|
||||
handler t1 read first limit 9;
|
||||
table_id
|
||||
test_test.t1
|
||||
|
||||
handler test_test.t2 read first limit 9;
|
||||
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 'read first limit 9' at line 1
|
||||
handler t2 read first limit 9;
|
||||
table_id
|
||||
test_test.t2
|
||||
|
||||
handler test_test.t1 close;
|
||||
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 'close' at line 1
|
||||
handler t1 close;
|
||||
drop table test_test.t1;
|
||||
handler test_test.t2 close;
|
||||
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 'close' at line 1
|
||||
handler t2 close;
|
||||
drop table test_test.t2;
|
||||
drop database test_test;
|
||||
use test;
|
||||
handler test.t1 close;
|
||||
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 'close' at line 1
|
||||
handler t1 close;
|
||||
ERROR 42S02: Unknown table 't1' in HANDLER
|
||||
drop table test.t1;
|
||||
drop database if exists test_test;
|
||||
drop table if exists t1;
|
||||
drop table if exists t2;
|
||||
drop table if exists t3;
|
||||
create database test_test;
|
||||
use test_test;
|
||||
create table t1 (c1 char(20));
|
||||
insert into t1 values ('test_test.t1');
|
||||
create table t3 (c1 char(20));
|
||||
insert into t3 values ('test_test.t3');
|
||||
handler t1 open;
|
||||
handler t1 read first limit 9;
|
||||
c1
|
||||
test_test.t1
|
||||
handler t1 open h1;
|
||||
handler h1 read first limit 9;
|
||||
c1
|
||||
test_test.t1
|
||||
use test;
|
||||
create table t1 (c1 char(20));
|
||||
create table t2 (c1 char(20));
|
||||
create table t3 (c1 char(20));
|
||||
insert into t1 values ('t1');
|
||||
insert into t2 values ('t2');
|
||||
insert into t3 values ('t3');
|
||||
handler t1 open;
|
||||
ERROR 42000: Not unique table/alias: 't1'
|
||||
handler t2 open t1;
|
||||
ERROR 42000: Not unique table/alias: 't1'
|
||||
handler t3 open t1;
|
||||
ERROR 42000: Not unique table/alias: 't1'
|
||||
handler t1 read first limit 9;
|
||||
c1
|
||||
test_test.t1
|
||||
handler test.t1 close;
|
||||
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 'close' at line 1
|
||||
handler test.t1 open h1;
|
||||
ERROR 42000: Not unique table/alias: 'h1'
|
||||
handler test_test.t1 open h1;
|
||||
ERROR 42000: Not unique table/alias: 'h1'
|
||||
handler test_test.t3 open h3;
|
||||
handler test.t1 open h2;
|
||||
handler t1 read first limit 9;
|
||||
c1
|
||||
test_test.t1
|
||||
handler h1 read first limit 9;
|
||||
c1
|
||||
test_test.t1
|
||||
handler h2 read first limit 9;
|
||||
c1
|
||||
t1
|
||||
handler h3 read first limit 9;
|
||||
c1
|
||||
test_test.t3
|
||||
handler h2 read first limit 9;
|
||||
c1
|
||||
t1
|
||||
handler test.h1 close;
|
||||
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 'close' at line 1
|
||||
handler t1 close;
|
||||
handler h1 close;
|
||||
handler h2 close;
|
||||
handler t1 read first limit 9;
|
||||
ERROR 42S02: Unknown table 't1' in HANDLER
|
||||
handler h1 read first limit 9;
|
||||
ERROR 42S02: Unknown table 'h1' in HANDLER
|
||||
handler h2 read first limit 9;
|
||||
ERROR 42S02: Unknown table 'h2' in HANDLER
|
||||
handler h3 read first limit 9;
|
||||
c1
|
||||
test_test.t3
|
||||
handler h3 read first limit 9;
|
||||
c1
|
||||
test_test.t3
|
||||
use test_test;
|
||||
handler h3 read first limit 9;
|
||||
c1
|
||||
test_test.t3
|
||||
handler test.h3 read first limit 9;
|
||||
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 'read first limit 9' at line 1
|
||||
handler h3 close;
|
||||
use test;
|
||||
drop table t3;
|
||||
drop table t2;
|
||||
drop table t1;
|
||||
drop database test_test;
|
||||
create table t1 (c1 char(20));
|
||||
insert into t1 values ("t1");
|
||||
handler t1 open as h1;
|
||||
handler h1 read first limit 9;
|
||||
c1
|
||||
t1
|
||||
create table t2 (c1 char(20));
|
||||
insert into t2 values ("t2");
|
||||
handler t2 open as h2;
|
||||
handler h2 read first limit 9;
|
||||
c1
|
||||
t2
|
||||
create table t3 (c1 char(20));
|
||||
insert into t3 values ("t3");
|
||||
handler t3 open as h3;
|
||||
handler h3 read first limit 9;
|
||||
c1
|
||||
t3
|
||||
create table t4 (c1 char(20));
|
||||
insert into t4 values ("t4");
|
||||
handler t4 open as h4;
|
||||
handler h4 read first limit 9;
|
||||
c1
|
||||
t4
|
||||
create table t5 (c1 char(20));
|
||||
insert into t5 values ("t5");
|
||||
handler t5 open as h5;
|
||||
handler h5 read first limit 9;
|
||||
c1
|
||||
t5
|
||||
alter table t1 engine=MyISAM;
|
||||
handler h1 read first limit 9;
|
||||
ERROR 42S02: Unknown table 'h1' in HANDLER
|
||||
handler h2 read first limit 9;
|
||||
c1
|
||||
t2
|
||||
handler h3 read first limit 9;
|
||||
c1
|
||||
t3
|
||||
handler h4 read first limit 9;
|
||||
c1
|
||||
t4
|
||||
handler h5 read first limit 9;
|
||||
c1
|
||||
t5
|
||||
alter table t5 engine=MyISAM;
|
||||
handler h1 read first limit 9;
|
||||
ERROR 42S02: Unknown table 'h1' in HANDLER
|
||||
handler h2 read first limit 9;
|
||||
c1
|
||||
t2
|
||||
handler h3 read first limit 9;
|
||||
c1
|
||||
t3
|
||||
handler h4 read first limit 9;
|
||||
c1
|
||||
t4
|
||||
handler h5 read first limit 9;
|
||||
ERROR 42S02: Unknown table 'h5' in HANDLER
|
||||
alter table t3 engine=MyISAM;
|
||||
handler h1 read first limit 9;
|
||||
ERROR 42S02: Unknown table 'h1' in HANDLER
|
||||
handler h2 read first limit 9;
|
||||
c1
|
||||
t2
|
||||
handler h3 read first limit 9;
|
||||
ERROR 42S02: Unknown table 'h3' in HANDLER
|
||||
handler h4 read first limit 9;
|
||||
c1
|
||||
t4
|
||||
handler h5 read first limit 9;
|
||||
ERROR 42S02: Unknown table 'h5' in HANDLER
|
||||
handler h2 close;
|
||||
handler h4 close;
|
||||
handler t1 open as h1_1;
|
||||
handler t1 open as h1_2;
|
||||
handler t1 open as h1_3;
|
||||
handler h1_1 read first limit 9;
|
||||
c1
|
||||
t1
|
||||
handler h1_2 read first limit 9;
|
||||
c1
|
||||
t1
|
||||
handler h1_3 read first limit 9;
|
||||
c1
|
||||
t1
|
||||
alter table t1 engine=MyISAM;
|
||||
handler h1_1 read first limit 9;
|
||||
ERROR 42S02: Unknown table 'h1_1' in HANDLER
|
||||
handler h1_2 read first limit 9;
|
||||
ERROR 42S02: Unknown table 'h1_2' in HANDLER
|
||||
handler h1_3 read first limit 9;
|
||||
ERROR 42S02: Unknown table 'h1_3' in HANDLER
|
||||
drop table t1;
|
||||
drop table t2;
|
||||
drop table t3;
|
||||
drop table t4;
|
||||
drop table t5;
|
||||
|
@ -227,3 +227,9 @@ SELECT MAX(job_title_id) FROM job_titles;
|
||||
MAX(job_title_id)
|
||||
NULL
|
||||
DROP TABLE job_titles;
|
||||
CREATE TABLE t1 (a INT NOT NULL, B INT, KEY(B)) ENGINE=HEAP;
|
||||
INSERT INTO t1 VALUES(1,1), (1,NULL);
|
||||
SELECT * FROM t1 WHERE B is not null;
|
||||
a B
|
||||
1 1
|
||||
DROP TABLE t1;
|
||||
|
@ -1,4 +1,9 @@
|
||||
set global innodb_table_locks=1;
|
||||
select @@innodb_table_locks;
|
||||
@@innodb_table_locks
|
||||
1
|
||||
drop table if exists t1;
|
||||
set @@innodb_table_locks=1;
|
||||
create table t1 (id integer, x integer) engine=INNODB;
|
||||
insert into t1 values(0, 0);
|
||||
set autocommit=0;
|
||||
@ -20,3 +25,33 @@ id x
|
||||
0 2
|
||||
commit;
|
||||
drop table t1;
|
||||
set @@innodb_table_locks=0;
|
||||
create table t1 (id integer primary key, x integer) engine=INNODB;
|
||||
insert into t1 values(0, 0),(1,1),(2,2);
|
||||
commit;
|
||||
SELECT * from t1 where id = 0 FOR UPDATE;
|
||||
id x
|
||||
0 0
|
||||
set autocommit=0;
|
||||
set @@innodb_table_locks=0;
|
||||
lock table t1 write;
|
||||
update t1 set x=10 where id = 2;
|
||||
SELECT * from t1 where id = 2;
|
||||
id x
|
||||
2 2
|
||||
UPDATE t1 set x=3 where id = 2;
|
||||
commit;
|
||||
SELECT * from t1;
|
||||
id x
|
||||
0 0
|
||||
1 1
|
||||
2 3
|
||||
commit;
|
||||
unlock tables;
|
||||
commit;
|
||||
select * from t1;
|
||||
id x
|
||||
0 0
|
||||
1 1
|
||||
2 10
|
||||
drop table t1;
|
||||
|
@ -1,4 +1,4 @@
|
||||
drop table if exists t1,t2;
|
||||
drop table if exists t1,t2,t3;
|
||||
create table t1 (a int not null);
|
||||
insert into t1 values (1);
|
||||
insert into t1 values (a+2);
|
||||
@ -287,8 +287,7 @@ f_double_u 0
|
||||
f_float_u 0
|
||||
f_double_15_1_u 0.0
|
||||
f_float_3_1_u 0.0
|
||||
use test;
|
||||
drop table if exists t1,t2,t3;
|
||||
drop table t1;
|
||||
create table t1(id1 int not null auto_increment primary key, t char(12));
|
||||
create table t2(id2 int not null, t char(12));
|
||||
create table t3(id3 int not null, t char(12), index(id3));
|
||||
@ -299,4 +298,4 @@ insert into t2 select t1.* from t1, t2 t, t3 where t1.id1 = t.id2 and t.id2 =
|
||||
select count(*) from t2;
|
||||
count(*)
|
||||
25500
|
||||
drop table if exists t1,t2,t3;
|
||||
drop table t1,t2,t3;
|
||||
|
628
mysql-test/r/insert_select.result.es
Normal file
628
mysql-test/r/insert_select.result.es
Normal file
@ -0,0 +1,628 @@
|
||||
drop table if exists t1,t2;
|
||||
create table t1 (bandID MEDIUMINT UNSIGNED NOT NULL PRIMARY KEY, payoutID SMALLINT UNSIGNED NOT NULL);
|
||||
insert into t1 (bandID,payoutID) VALUES (1,6),(2,6),(3,4),(4,9),(5,10),(6,1),(7,12),(8,12);
|
||||
create table t2 (payoutID SMALLINT UNSIGNED NOT NULL PRIMARY KEY);
|
||||
insert into t2 (payoutID) SELECT DISTINCT payoutID FROM t1;
|
||||
insert into t2 (payoutID) SELECT payoutID+10 FROM t1;
|
||||
ERROR 23000: Duplicate entry '16' for key 1
|
||||
insert ignore into t2 (payoutID) SELECT payoutID+10 FROM t1;
|
||||
select * from t2;
|
||||
payoutID
|
||||
1
|
||||
4
|
||||
6
|
||||
9
|
||||
10
|
||||
11
|
||||
12
|
||||
14
|
||||
16
|
||||
19
|
||||
20
|
||||
22
|
||||
drop table t1,t2;
|
||||
CREATE TABLE `t1` (
|
||||
`numeropost` bigint(20) unsigned NOT NULL default '0',
|
||||
`icone` tinyint(4) unsigned NOT NULL default '0',
|
||||
`numreponse` bigint(20) unsigned NOT NULL auto_increment,
|
||||
`contenu` text NOT NULL,
|
||||
`pseudo` varchar(50) NOT NULL default '',
|
||||
`date` datetime NOT NULL default '0000-00-00 00:00:00',
|
||||
`ip` bigint(11) NOT NULL default '0',
|
||||
`signature` tinyint(1) unsigned NOT NULL default '0',
|
||||
PRIMARY KEY (`numeropost`,`numreponse`)
|
||||
,KEY `ip` (`ip`),
|
||||
KEY `date` (`date`),
|
||||
KEY `pseudo` (`pseudo`),
|
||||
KEY `numreponse` (`numreponse`)
|
||||
) ENGINE=MyISAM;
|
||||
CREATE TABLE `t2` (
|
||||
`numeropost` bigint(20) unsigned NOT NULL default '0',
|
||||
`icone` tinyint(4) unsigned NOT NULL default '0',
|
||||
`numreponse` bigint(20) unsigned NOT NULL auto_increment,
|
||||
`contenu` text NOT NULL,
|
||||
`pseudo` varchar(50) NOT NULL default '',
|
||||
`date` datetime NOT NULL default '0000-00-00 00:00:00',
|
||||
`ip` bigint(11) NOT NULL default '0',
|
||||
`signature` tinyint(1) unsigned NOT NULL default '0',
|
||||
PRIMARY KEY (`numeropost`,`numreponse`),
|
||||
KEY `ip` (`ip`),
|
||||
KEY `date` (`date`),
|
||||
KEY `pseudo` (`pseudo`),
|
||||
KEY `numreponse` (`numreponse`)
|
||||
) ENGINE=MyISAM;
|
||||
INSERT INTO t2
|
||||
(numeropost,icone,numreponse,contenu,pseudo,date,ip,signature) VALUES
|
||||
(9,1,56,'test','joce','2001-07-25 13:50:53'
|
||||
,3649052399,0);
|
||||
INSERT INTO t1 (numeropost,icone,contenu,pseudo,date,signature,ip)
|
||||
SELECT 1618,icone,contenu,pseudo,date,signature,ip FROM t2
|
||||
WHERE numeropost=9 ORDER BY numreponse ASC;
|
||||
show variables like '%bulk%';
|
||||
Variable_name Value
|
||||
bulk_insert_buffer_size 8388608
|
||||
INSERT INTO t1 (numeropost,icone,contenu,pseudo,date,signature,ip)
|
||||
SELECT 1718,icone,contenu,pseudo,date,signature,ip FROM t2
|
||||
WHERE numeropost=9 ORDER BY numreponse ASC;
|
||||
DROP TABLE t1,t2;
|
||||
create table t1(a int, unique(a));
|
||||
insert into t1 values(2);
|
||||
create table t2(a int);
|
||||
insert into t2 values(1),(2);
|
||||
reset master;
|
||||
insert into t1 select * from t2;
|
||||
ERROR 23000: Duplicate entry '2' for key 1
|
||||
show binlog events;
|
||||
select * from t1;
|
||||
a
|
||||
1
|
||||
2
|
||||
drop table t1, t2;
|
||||
create table t1 (a int not null);
|
||||
create table t2 (a int not null);
|
||||
insert into t1 values (1);
|
||||
insert into t1 values (a+2);
|
||||
insert into t1 values (a+3);
|
||||
insert into t1 values (4),(a+5);
|
||||
insert into t1 select * from t1;
|
||||
select * from t1;
|
||||
a
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
insert into t1 select * from t1 as t2;
|
||||
select * from t1;
|
||||
a
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
insert into t2 select * from t1 as t2;
|
||||
select * from t1;
|
||||
a
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
insert into t1 select t2.a from t1,t2;
|
||||
select * from t1;
|
||||
a
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
3
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
insert into t1 select * from t1,t1;
|
||||
ERROR 42000: Not unique table/alias: 't1'
|
||||
drop table t1,t2;
|
||||
create table t1 (a int not null primary key, b char(10));
|
||||
create table t2 (a int not null, b char(10));
|
||||
insert into t1 values (1,"t1:1"),(3,"t1:3");
|
||||
insert into t2 values (2,"t2:2"), (3,"t2:3");
|
||||
insert into t1 select * from t2;
|
||||
ERROR 23000: Duplicate entry '3' for key 1
|
||||
select * from t1;
|
||||
a b
|
||||
1 t1:1
|
||||
3 t1:3
|
||||
2 t2:2
|
||||
replace into t1 select * from t2;
|
||||
select * from t1;
|
||||
a b
|
||||
1 t1:1
|
||||
3 t2:3
|
||||
2 t2:2
|
||||
drop table t1,t2;
|
||||
CREATE TABLE t1 ( USID INTEGER UNSIGNED, ServerID TINYINT UNSIGNED, State ENUM ('unknown', 'Access-Granted', 'Session-Active', 'Session-Closed' ) NOT NULL DEFAULT 'unknown', SessionID CHAR(32), User CHAR(32) NOT NULL DEFAULT '<UNKNOWN>', NASAddr INTEGER UNSIGNED, NASPort INTEGER UNSIGNED, NASPortType INTEGER UNSIGNED, ConnectSpeed INTEGER UNSIGNED, CarrierType CHAR(32), CallingStationID CHAR(32), CalledStationID CHAR(32), AssignedAddr INTEGER UNSIGNED, SessionTime INTEGER UNSIGNED, PacketsIn INTEGER UNSIGNED, OctetsIn INTEGER UNSIGNED, PacketsOut INTEGER UNSIGNED, OctetsOut INTEGER UNSIGNED, TerminateCause INTEGER UNSIGNED, UnauthTime TINYINT UNSIGNED, AccessRequestTime DATETIME, AcctStartTime DATETIME, AcctLastTime DATETIME, LastModification TIMESTAMP NOT NULL);
|
||||
CREATE TABLE t2 ( USID INTEGER UNSIGNED AUTO_INCREMENT, ServerID TINYINT UNSIGNED, State ENUM ('unknown', 'Access-Granted', 'Session-Active', 'Session-Closed' ) NOT NULL DEFAULT 'unknown', SessionID CHAR(32), User TEXT NOT NULL, NASAddr INTEGER UNSIGNED, NASPort INTEGER UNSIGNED, NASPortType INTEGER UNSIGNED, ConnectSpeed INTEGER UNSIGNED, CarrierType CHAR(32), CallingStationID CHAR(32), CalledStationID CHAR(32), AssignedAddr INTEGER UNSIGNED, SessionTime INTEGER UNSIGNED, PacketsIn INTEGER UNSIGNED, OctetsIn INTEGER UNSIGNED, PacketsOut INTEGER UNSIGNED, OctetsOut INTEGER UNSIGNED, TerminateCause INTEGER UNSIGNED, UnauthTime TINYINT UNSIGNED, AccessRequestTime DATETIME, AcctStartTime DATETIME, AcctLastTime DATETIME, LastModification TIMESTAMP NOT NULL, INDEX(USID,ServerID,NASAddr,SessionID), INDEX(AssignedAddr));
|
||||
INSERT INTO t1 VALUES (39,42,'Access-Granted','46','491721000045',2130706433,17690,NULL,NULL,'Localnet','491721000045','49172200000',754974766,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2003-07-18 00:11:21',NULL,NULL,20030718001121);
|
||||
INSERT INTO t2 SELECT USID, ServerID, State, SessionID, User, NASAddr, NASPort, NASPortType, ConnectSpeed, CarrierType, CallingStationID, CalledStationID, AssignedAddr, SessionTime, PacketsIn, OctetsIn, PacketsOut, OctetsOut, TerminateCause, UnauthTime, AccessRequestTime, AcctStartTime, AcctLastTime, LastModification from t1 LIMIT 1;
|
||||
drop table t1,t2;
|
||||
CREATE TABLE t1(
|
||||
Month date NOT NULL,
|
||||
Type tinyint(3) unsigned NOT NULL auto_increment,
|
||||
Field int(10) unsigned NOT NULL,
|
||||
Count int(10) unsigned NOT NULL,
|
||||
UNIQUE KEY Month (Month,Type,Field)
|
||||
);
|
||||
insert into t1 Values
|
||||
(20030901, 1, 1, 100),
|
||||
(20030901, 1, 2, 100),
|
||||
(20030901, 2, 1, 100),
|
||||
(20030901, 2, 2, 100),
|
||||
(20030901, 3, 1, 100);
|
||||
select * from t1;
|
||||
Month Type Field Count
|
||||
2003-09-01 1 1 100
|
||||
2003-09-01 1 2 100
|
||||
2003-09-01 2 1 100
|
||||
2003-09-01 2 2 100
|
||||
2003-09-01 3 1 100
|
||||
Select null, Field, Count From t1 Where Month=20030901 and Type=2;
|
||||
NULL Field Count
|
||||
NULL 1 100
|
||||
NULL 2 100
|
||||
create table t2(No int not null, Field int not null, Count int not null);
|
||||
insert into t2 Select null, Field, Count From t1 Where Month=20030901 and Type=2;
|
||||
Warnings:
|
||||
Warning 1263 Data truncated; NULL supplied to NOT NULL column 'No' at row 1
|
||||
Warning 1263 Data truncated; NULL supplied to NOT NULL column 'No' at row 2
|
||||
select * from t2;
|
||||
No Field Count
|
||||
0 1 100
|
||||
0 2 100
|
||||
drop table t1, t2;
|
@ -233,7 +233,7 @@ id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t6 ALL NULL NULL NULL NULL 3
|
||||
1 SIMPLE t8 ALL NULL NULL NULL NULL 2
|
||||
Warnings:
|
||||
Note 1003 select `test`.`t6`.`a` AS `a`,`test`.`t6`.`b` AS `b`,`test`.`t7`.`a` AS `a`,`test`.`t7`.`b` AS `b`,`test`.`t8`.`a` AS `a`,`test`.`t8`.`b` AS `b` from `test`.`t6` join `test`.`t7` left join `test`.`t8` on(((`test`.`t8`.`b` = `test`.`t7`.`b`) and (`test`.`t6`.`b` < 10))) where 1
|
||||
Note 1003 select `test`.`t6`.`a` AS `a`,`test`.`t6`.`b` AS `b`,`test`.`t7`.`a` AS `a`,`test`.`t7`.`b` AS `b`,`test`.`t8`.`a` AS `a`,`test`.`t8`.`b` AS `b` from `test`.`t6` join `test`.`t7` left join `test`.`t8` on(((`test`.`t7`.`b` = `test`.`t8`.`b`) and (`test`.`t6`.`b` < 10))) where 1
|
||||
SELECT t6.a,t6.b,t7.a,t7.b,t8.a,t8.b
|
||||
FROM t6,
|
||||
t7
|
||||
@ -872,7 +872,7 @@ id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t2 ref idx_b idx_b 5 test.t3.b 2
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 3
|
||||
Warnings:
|
||||
Note 1003 select `test`.`t2`.`a` AS `a`,`test`.`t2`.`b` AS `b`,`test`.`t3`.`a` AS `a`,`test`.`t3`.`b` AS `b`,`test`.`t4`.`a` AS `a`,`test`.`t4`.`b` AS `b` from `test`.`t3` join `test`.`t4` left join (`test`.`t1` join `test`.`t2`) on(((`test`.`t4`.`b` = `test`.`t3`.`b`) and (`test`.`t2`.`b` = `test`.`t3`.`b`) and (`test`.`t3`.`a` = 1))) where 1
|
||||
Note 1003 select `test`.`t2`.`a` AS `a`,`test`.`t2`.`b` AS `b`,`test`.`t3`.`a` AS `a`,`test`.`t3`.`b` AS `b`,`test`.`t4`.`a` AS `a`,`test`.`t4`.`b` AS `b` from `test`.`t3` join `test`.`t4` left join (`test`.`t1` join `test`.`t2`) on(((`test`.`t3`.`a` = 1) and (`test`.`t3`.`b` = `test`.`t2`.`b`) and (`test`.`t2`.`b` = `test`.`t4`.`b`))) where 1
|
||||
SELECT t2.a,t2.b,t3.a,t3.b,t4.a,t4.b
|
||||
FROM t3,t4
|
||||
LEFT JOIN
|
||||
|
@ -271,3 +271,43 @@ select t from t1 where t=0xD0B1D0B1212223D0B1D0B1D0B1D0B1;
|
||||
t
|
||||
??!"#????
|
||||
drop table t1;
|
||||
DROP TABLE IF EXISTS t1;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 't1'
|
||||
CREATE TABLE t1 (
|
||||
c1 int,
|
||||
c2 varbinary(240),
|
||||
UNIQUE KEY (c1),
|
||||
KEY (c2)
|
||||
) ENGINE=MyISAM;
|
||||
INSERT INTO t1 VALUES (1,'\Z\Z\Z\Z');
|
||||
INSERT INTO t1 VALUES (2,'\Z\Z\Z\Z\Z\Z');
|
||||
INSERT INTO t1 VALUES (3,'\Z\Z\Z\Z');
|
||||
select c1 from t1 where c2='\Z\Z\Z\Z';
|
||||
c1
|
||||
1
|
||||
3
|
||||
DELETE FROM t1 WHERE (c1 = 1);
|
||||
check table t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check status OK
|
||||
select c1 from t1 where c2='\Z\Z\Z\Z';
|
||||
c1
|
||||
3
|
||||
DELETE FROM t1 WHERE (c1 = 3);
|
||||
check table t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check status OK
|
||||
select c1 from t1 where c2='\Z\Z\Z\Z';
|
||||
c1
|
||||
truncate table t1;
|
||||
insert into t1 values(1,"aaaa"),(2,"aaab"),(3,"aaac"),(4,"aaccc");
|
||||
delete from t1 where c1=3;
|
||||
delete from t1 where c1=1;
|
||||
delete from t1 where c1=4;
|
||||
check table t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check status OK
|
||||
drop table t1;
|
||||
create table t1 (c char(10), index (c(0)));
|
||||
ERROR HY000: Key part 'c' length cannot be 0
|
||||
|
@ -17,6 +17,18 @@ unlock tables;
|
||||
n
|
||||
1
|
||||
drop table t1;
|
||||
create table t1 (a int, b int);
|
||||
create table t2 (c int, d int);
|
||||
insert into t1 values(1,1);
|
||||
insert into t1 values(2,2);
|
||||
insert into t2 values(1,2);
|
||||
lock table t1 read;
|
||||
update t1,t2 set c=a where b=d;
|
||||
select c from t2;
|
||||
c
|
||||
1
|
||||
drop table t1;
|
||||
drop table t2;
|
||||
create table t1 (a int);
|
||||
create table t2 (a int);
|
||||
lock table t1 write, t2 write;
|
||||
|
@ -1,5 +1,8 @@
|
||||
drop table if exists t1,t2,t3;
|
||||
drop database if exists mysqltest;
|
||||
revoke all privileges on mysqltest.t1 from mysqltest_1@localhost;
|
||||
revoke all privileges on mysqltest.* from mysqltest_1@localhost;
|
||||
delete from mysql.user where user=_binary'mysqltest_1';
|
||||
create table t1(id1 int not null auto_increment primary key, t char(12));
|
||||
create table t2(id2 int not null, t char(12));
|
||||
create table t3(id3 int not null, t char(12), index(id3));
|
||||
@ -455,6 +458,12 @@ create table t3 (a int, primary key (a));
|
||||
delete t1,t3 from t1,t2 where t1.a=t2.a and t2.a=(select t3.a from t3 where t1.a=t3.a);
|
||||
ERROR 42S02: Unknown table 't3' in MULTI DELETE
|
||||
drop table t1, t2, t3;
|
||||
create table t1 (col1 int);
|
||||
create table t2 (col1 int);
|
||||
update t1,t2 set t1.col1 = (select max(col1) from t1) where t1.col1 = t2.col1;
|
||||
delete t1 from t1,t2 where t1.col1 < (select max(col1) from t1) and t1.col1 = t2.col1;
|
||||
ERROR HY000: You can't specify target table 't1' for update in FROM clause
|
||||
drop table t1,t2;
|
||||
set @ttype_save=@@storage_engine;
|
||||
set @@storage_engine=innodb;
|
||||
create table t1 ( c char(8) not null );
|
||||
|
@ -4,6 +4,6 @@ TCP
|
||||
ok
|
||||
SOCKET
|
||||
ok
|
||||
ERROR 2047: Wrong or unknown protocol
|
||||
ERROR 2047: Wrong or unknown protocol
|
||||
ERROR 2047 (HY000): Wrong or unknown protocol
|
||||
ERROR 2047 (HY000): Wrong or unknown protocol
|
||||
Unknown option to protocol: NullS
|
||||
|
23
mysql-test/r/mysqltest.result
Normal file
23
mysql-test/r/mysqltest.result
Normal file
@ -0,0 +1,23 @@
|
||||
select otto from (select 1 as otto) as t1;
|
||||
otto
|
||||
1
|
||||
select otto from (select 1 as otto) as t1;
|
||||
otto
|
||||
1
|
||||
select otto from (select 1 as otto) as t1;
|
||||
otto
|
||||
1
|
||||
select friedrich from (select 1 as otto) as t1;
|
||||
ERROR 42S22: Unknown column 'friedrich' in 'field list'
|
||||
select friedrich from (select 1 as otto) as t1;
|
||||
ERROR 42S22: Unknown column 'friedrich' in 'field list'
|
||||
select otto from (select 1 as otto) as t1;
|
||||
otto
|
||||
1
|
||||
select otto from (select 1 as otto) as t1;
|
||||
otto
|
||||
1
|
||||
select friedrich from (select 1 as otto) as t1;
|
||||
ERROR 42S22: Unknown column 'friedrich' in 'field list'
|
||||
select friedrich from (select 1 as otto) as t1;
|
||||
ERROR 42S22: Unknown column 'friedrich' in 'field list'
|
@ -18,12 +18,13 @@ col5 enum('PENDING', 'ACTIVE', 'DISABLED') not null,
|
||||
col6 int not null, to_be_deleted int) ENGINE=ndbcluster;
|
||||
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 ndbcluster 9 Dynamic 100 0 0 NULL 0 0 0 NULL NULL NULL latin1_swedish_ci NULL
|
||||
t1 ndbcluster 9 Dynamic 0 0 0 NULL 0 0 1 NULL NULL NULL latin1_swedish_ci NULL
|
||||
SET SQL_MODE=NO_AUTO_VALUE_ON_ZERO;
|
||||
insert into t1 values
|
||||
(0,4,3,5,"PENDING",1,7),(NULL,4,3,5,"PENDING",1,7),(31,4,3,5,"PENDING",1,7), (7,4,3,5,"PENDING",1,7), (NULL,4,3,5,"PENDING",1,7), (100,4,3,5,"PENDING",1,7), (99,4,3,5,"PENDING",1,7), (8,4,3,5,"PENDING",1,7), (NULL,4,3,5,"PENDING",1,7);
|
||||
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 ndbcluster 9 Dynamic 100 0 0 NULL 0 0 102 NULL NULL NULL latin1_swedish_ci NULL
|
||||
t1 ndbcluster 9 Dynamic 9 0 0 NULL 0 0 102 NULL NULL NULL latin1_swedish_ci NULL
|
||||
select * from t1 order by col1;
|
||||
col1 col2 col3 col4 col5 col6 to_be_deleted
|
||||
0 4 3 5 PENDING 1 7
|
||||
@ -43,7 +44,7 @@ change column col2 fourth varchar(30) not null after col3,
|
||||
modify column col6 int not null first;
|
||||
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 ndbcluster 9 Dynamic 100 0 0 NULL 0 0 102 NULL NULL NULL latin1_swedish_ci NULL
|
||||
t1 ndbcluster 9 Dynamic 9 0 0 NULL 0 0 102 NULL NULL NULL latin1_swedish_ci NULL
|
||||
select * from t1 order by col1;
|
||||
col6 col1 col3 fourth col4 col4_5 col5 col7 col8
|
||||
1 0 3 4 5 PENDING 0000-00-00 00:00:00
|
||||
@ -58,7 +59,7 @@ col6 col1 col3 fourth col4 col4_5 col5 col7 col8
|
||||
insert into t1 values (2, NULL,4,3,5,99,"PENDING","EXTRA",'2004-01-01 00:00:00');
|
||||
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 ndbcluster 9 Dynamic 100 0 0 NULL 0 0 103 NULL NULL NULL latin1_swedish_ci NULL
|
||||
t1 ndbcluster 9 Dynamic 10 0 0 NULL 0 0 103 NULL NULL NULL latin1_swedish_ci NULL
|
||||
select * from t1 order by col1;
|
||||
col6 col1 col3 fourth col4 col4_5 col5 col7 col8
|
||||
1 0 3 4 5 PENDING 0000-00-00 00:00:00
|
||||
@ -71,4 +72,85 @@ col6 col1 col3 fourth col4 col4_5 col5 col7 col8
|
||||
1 100 3 4 5 PENDING 0000-00-00 00:00:00
|
||||
1 101 3 4 5 PENDING 0000-00-00 00:00:00
|
||||
2 102 4 3 5 99 PENDING EXTRA 2004-01-01 00:00:00
|
||||
delete from t1;
|
||||
insert into t1 values (0,0,4,3,5,99,"PENDING","EXTRA",'2004-01-01 00:00:00');
|
||||
SET SQL_MODE='';
|
||||
insert into t1 values (1,0,4,3,5,99,"PENDING","EXTRA",'2004-01-01 00:00:00');
|
||||
select * from t1 order by col1;
|
||||
col6 col1 col3 fourth col4 col4_5 col5 col7 col8
|
||||
0 0 4 3 5 99 PENDING EXTRA 2004-01-01 00:00:00
|
||||
1 103 4 3 5 99 PENDING EXTRA 2004-01-01 00:00:00
|
||||
alter table t1 drop column col4_5;
|
||||
insert into t1 values (2,0,4,3,5,"PENDING","EXTRA",'2004-01-01 00:00:00');
|
||||
select * from t1 order by col1;
|
||||
col6 col1 col3 fourth col4 col5 col7 col8
|
||||
0 0 4 3 5 PENDING EXTRA 2004-01-01 00:00:00
|
||||
1 103 4 3 5 PENDING EXTRA 2004-01-01 00:00:00
|
||||
2 104 4 3 5 PENDING EXTRA 2004-01-01 00:00:00
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (
|
||||
a INT NOT NULL,
|
||||
b INT NOT NULL
|
||||
) ENGINE=ndbcluster;
|
||||
INSERT INTO t1 VALUES (9410,9412);
|
||||
ALTER TABLE t1 ADD COLUMN c int not null;
|
||||
select * from t1 order by a;
|
||||
a b c
|
||||
9410 9412 0
|
||||
select * from t1 order by a;
|
||||
a b c
|
||||
9410 9412 0
|
||||
alter table t1 drop c;
|
||||
select * from t1 order by a;
|
||||
a b
|
||||
9410 9412
|
||||
drop table t1;
|
||||
select * from t1 order by a;
|
||||
ERROR 42S02: Table 'test.t1' doesn't exist
|
||||
CREATE TABLE t1 (
|
||||
a INT NOT NULL PRIMARY KEY,
|
||||
b INT NOT NULL
|
||||
) ENGINE=ndbcluster;
|
||||
INSERT INTO t1 VALUES (0,1),(17,18);
|
||||
select * from t1 order by a;
|
||||
a b
|
||||
0 1
|
||||
17 18
|
||||
SET SQL_MODE=NO_AUTO_VALUE_ON_ZERO;
|
||||
alter table t1 modify column a int not null auto_increment;
|
||||
SET SQL_MODE='';
|
||||
select * from t1 order by a;
|
||||
a b
|
||||
0 1
|
||||
17 18
|
||||
INSERT INTO t1 VALUES (0,19),(20,21);
|
||||
select * from t1 order by a;
|
||||
a b
|
||||
0 1
|
||||
17 18
|
||||
18 19
|
||||
20 21
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (
|
||||
a INT NOT NULL PRIMARY KEY,
|
||||
b INT NOT NULL
|
||||
) ENGINE=ndbcluster;
|
||||
INSERT INTO t1 VALUES (0,1),(17,18);
|
||||
select * from t1 order by a;
|
||||
a b
|
||||
0 1
|
||||
17 18
|
||||
alter table t1 add c int not null unique auto_increment;
|
||||
select c from t1 order by c;
|
||||
c
|
||||
1
|
||||
2
|
||||
INSERT INTO t1 VALUES (1,2,0),(18,19,4),(20,21,0);
|
||||
select c from t1 order by c;
|
||||
c
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
drop table t1;
|
||||
|
@ -1,4 +1,4 @@
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t9;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
flush status;
|
||||
create table t1(
|
||||
id int not null primary key,
|
||||
@ -94,7 +94,6 @@ ERROR 42S01: Table 't3' already exists
|
||||
show status like 'handler_discover%';
|
||||
Variable_name Value
|
||||
Handler_discover 1
|
||||
SHOW TABLES FROM test;
|
||||
Tables_in_test table_type
|
||||
create table IF NOT EXISTS t3(
|
||||
id int not null primary key,
|
||||
@ -119,6 +118,162 @@ Variable_name Value
|
||||
Handler_discover 2
|
||||
drop table t3;
|
||||
flush status;
|
||||
create table t7(
|
||||
id int not null primary key,
|
||||
name char(255)
|
||||
) engine=ndb;
|
||||
create table t6(
|
||||
id int not null primary key,
|
||||
name char(255)
|
||||
) engine=MyISAM;
|
||||
insert into t7 values (1, "Explorer");
|
||||
insert into t6 values (2, "MyISAM table");
|
||||
select * from t7;
|
||||
id name
|
||||
1 Explorer
|
||||
show status like 'handler_discover%';
|
||||
Variable_name Value
|
||||
Handler_discover 0
|
||||
flush tables;
|
||||
show tables from test;
|
||||
Tables_in_test
|
||||
t6
|
||||
t7
|
||||
show status like 'handler_discover%';
|
||||
Variable_name Value
|
||||
Handler_discover 1
|
||||
flush tables;
|
||||
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
|
||||
t6 MyISAM 9 Fixed 1 260 # # # 0 NULL # # NULL # NULL
|
||||
t7 ndbcluster 9 Fixed 1 0 # # # 0 NULL # # NULL # NULL
|
||||
show status like 'handler_discover%';
|
||||
Variable_name Value
|
||||
Handler_discover 2
|
||||
drop table t6, t7;
|
||||
flush status;
|
||||
create table t4(
|
||||
id int not null primary key,
|
||||
name char(27)
|
||||
) engine=ndb;
|
||||
insert into t4 values (1, "Automatic");
|
||||
select * from t4;
|
||||
id name
|
||||
1 Automatic
|
||||
select * from t4;
|
||||
ERROR 42S02: Table 'test.t4' doesn't exist
|
||||
select * from t4;
|
||||
ERROR 42S02: Table 'test.t4' doesn't exist
|
||||
show status like 'handler_discover%';
|
||||
Variable_name Value
|
||||
Handler_discover 0
|
||||
drop table t4;
|
||||
flush status;
|
||||
create table t4(
|
||||
id int not null primary key,
|
||||
id2 int,
|
||||
name char(27)
|
||||
) engine=ndb;
|
||||
insert into t4 values (1, 76, "Automatic2");
|
||||
select * from t4;
|
||||
id id2 name
|
||||
1 76 Automatic2
|
||||
flush tables;
|
||||
SHOW TABLES;
|
||||
Tables_in_test
|
||||
select * from t4;
|
||||
ERROR 42S02: Table 'test.t4' doesn't exist
|
||||
flush status;
|
||||
create table t1(id int) engine=ndbcluster;
|
||||
create table t2(id int, b char(255)) engine=myisam;
|
||||
create table t3(id int, c char(255)) engine=ndbcluster;
|
||||
create table t4(id int) engine=myisam;
|
||||
create table t5(id int, d char(56)) engine=ndbcluster;
|
||||
create table t6(id int) engine=ndbcluster;
|
||||
create table t7(id int) engine=ndbcluster;
|
||||
create table t8(id int, e char(34)) engine=myisam;
|
||||
create table t9(id int) engine=myisam;
|
||||
insert into t2 values (2, "myisam table 2");
|
||||
insert into t3 values (3, "ndb table 3");
|
||||
insert into t5 values (5, "ndb table 5");
|
||||
insert into t6 values (6);
|
||||
insert into t8 values (8, "myisam table 8");
|
||||
insert into t9 values (9);
|
||||
SHOW TABLES;
|
||||
Tables_in_test
|
||||
t1
|
||||
t2
|
||||
t4
|
||||
t8
|
||||
t9
|
||||
t7
|
||||
t6
|
||||
select * from t6;
|
||||
id
|
||||
6
|
||||
select * from t7;
|
||||
id
|
||||
show status like 'handler_discover%';
|
||||
Variable_name Value
|
||||
Handler_discover 2
|
||||
drop table t1, t2, t4, t6, t7, t8, t9;
|
||||
flush status;
|
||||
create table t1(id int) engine=ndbcluster;
|
||||
create table t2(id int, b char(255)) engine=myisam;
|
||||
create table t3(id int, c char(255)) engine=ndbcluster;
|
||||
create table t4(id int) engine=myisam;
|
||||
create table t5(id int, d char(56)) engine=ndbcluster;
|
||||
create table t6(id int) engine=ndbcluster;
|
||||
create table t7(id int) engine=ndbcluster;
|
||||
create table t8(id int, e char(34)) engine=myisam;
|
||||
create table t9(id int) engine=myisam;
|
||||
insert into t2 values (2, "myisam table 2");
|
||||
insert into t3 values (3, "ndb table 3");
|
||||
insert into t5 values (5, "ndb table 5");
|
||||
insert into t6 values (6);
|
||||
insert into t8 values (8, "myisam table 8");
|
||||
insert into t9 values (9);
|
||||
SHOW TABLES LIKE 't6';
|
||||
Tables_in_test (t6)
|
||||
t6
|
||||
show status like 'handler_discover%';
|
||||
Variable_name Value
|
||||
Handler_discover 1
|
||||
create table t3(a int);
|
||||
ERROR 42S01: Table 't3' already exists
|
||||
create table t5(a int);
|
||||
ERROR 42S01: Table 't5' already exists
|
||||
SHOW TABLES LIKE 't%';
|
||||
Tables_in_test (t%)
|
||||
t1
|
||||
t2
|
||||
t4
|
||||
t6
|
||||
t8
|
||||
t9
|
||||
t7
|
||||
show status like 'handler_discover%';
|
||||
Variable_name Value
|
||||
Handler_discover 2
|
||||
drop table t1, t2, t4, t6, t7, t8, t9;
|
||||
flush status;
|
||||
create table t1(id int) engine=ndbcluster;
|
||||
create table t2(id int, b char(255)) engine=ndbcluster;
|
||||
create table t3(id int, c char(255)) engine=ndbcluster;
|
||||
create table t4(id int) engine=myisam;
|
||||
insert into t1 values (1);
|
||||
insert into t2 values (2, "table 2");
|
||||
insert into t3 values (3, "ndb table 3");
|
||||
insert into t4 values (4);
|
||||
flush tables;
|
||||
select * from t1, t2, t3, t4;
|
||||
id id b id c id
|
||||
1 2 table 2 3 ndb table 3 4
|
||||
show status like 'handler_discover%';
|
||||
Variable_name Value
|
||||
Handler_discover 3
|
||||
drop table t1, t2, t3, t4;
|
||||
flush status;
|
||||
show status like 'handler_discover%';
|
||||
Variable_name Value
|
||||
Handler_discover 0
|
||||
@ -176,6 +331,34 @@ show status like 'handler_discover%';
|
||||
Variable_name Value
|
||||
Handler_discover 0
|
||||
drop table t6;
|
||||
show tables;
|
||||
Tables_in_test
|
||||
create table t1 (a int,b longblob) engine=ndb;
|
||||
show tables;
|
||||
Tables_in_test
|
||||
t1
|
||||
create database test2;
|
||||
use test2;
|
||||
show tables;
|
||||
Tables_in_test2
|
||||
select * from t1;
|
||||
ERROR 42S02: Table 'test2.t1' doesn't exist
|
||||
create table t2 (b int,c longblob) engine=ndb;
|
||||
use test;
|
||||
select * from t1;
|
||||
a b
|
||||
show tables;
|
||||
Tables_in_test
|
||||
t1
|
||||
drop table t1;
|
||||
use test2;
|
||||
drop table t2;
|
||||
drop database test2;
|
||||
show databases;
|
||||
Database
|
||||
mysql
|
||||
test
|
||||
use test;
|
||||
CREATE TABLE t9 (
|
||||
a int NOT NULL PRIMARY KEY,
|
||||
b int
|
||||
|
@ -6,7 +6,13 @@ attr1 INT NOT NULL,
|
||||
attr2 INT,
|
||||
attr3 VARCHAR(10)
|
||||
) ENGINE=ndbcluster;
|
||||
SHOW INDEX FROM t1;
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
|
||||
t1 0 PRIMARY 1 pk1 A 0 NULL NULL BTREE
|
||||
INSERT INTO t1 VALUES (9410,9412, NULL, '9412'), (9411,9413, 17, '9413');
|
||||
SHOW INDEX FROM t1;
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
|
||||
t1 0 PRIMARY 1 pk1 A 2 NULL NULL BTREE
|
||||
SELECT pk1 FROM t1 ORDER BY pk1;
|
||||
pk1
|
||||
9410
|
||||
@ -389,3 +395,22 @@ b attr1
|
||||
9413 9412
|
||||
drop table test.t1, t2;
|
||||
drop database mysqltest;
|
||||
use test;
|
||||
create table t1 (a int primary key, b char(0));
|
||||
insert into t1 values (1,"");
|
||||
insert into t1 values (2,NULL);
|
||||
select * from t1 order by a;
|
||||
a b
|
||||
1
|
||||
2 NULL
|
||||
select * from t1 order by b;
|
||||
a b
|
||||
2 NULL
|
||||
1
|
||||
select * from t1 where b IS NULL;
|
||||
a b
|
||||
2 NULL
|
||||
select * from t1 where b IS NOT NULL;
|
||||
a b
|
||||
1
|
||||
drop table t1;
|
||||
|
@ -1,5 +1,25 @@
|
||||
drop table if exists t1;
|
||||
drop database if exists mysqltest;
|
||||
create table t1 (
|
||||
a int not null primary key,
|
||||
b tinytext
|
||||
) engine=ndbcluster;
|
||||
insert into t1 values(1, 'x');
|
||||
update t1 set b = 'y';
|
||||
select * from t1;
|
||||
a b
|
||||
1 y
|
||||
delete from t1;
|
||||
drop table t1;
|
||||
create table t1 (
|
||||
a int not null primary key,
|
||||
b text not null
|
||||
) engine=ndbcluster;
|
||||
insert into t1 values(1, '');
|
||||
select * from t1;
|
||||
a b
|
||||
1
|
||||
drop table t1;
|
||||
set autocommit=0;
|
||||
create table t1 (
|
||||
a int not null primary key,
|
||||
@ -130,7 +150,7 @@ insert into t1 values(9,'b9',999,'dd9');
|
||||
commit;
|
||||
explain select * from t1;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 100
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 9
|
||||
select * from t1 order by a;
|
||||
a b c d
|
||||
1 b1 111 dd1
|
||||
@ -165,7 +185,7 @@ insert into t1 values(2,@b2,222,@d2);
|
||||
commit;
|
||||
explain select * from t1;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 100
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 2
|
||||
select a,length(b),substr(b,1+2*900,2),length(d),substr(d,1+3*900,3)
|
||||
from t1 order by a;
|
||||
a length(b) substr(b,1+2*900,2) length(d) substr(d,1+3*900,3)
|
||||
@ -270,6 +290,41 @@ a b c d a b c
|
||||
2 2xb2 222 2xdd2 2 2 2
|
||||
drop table t2;
|
||||
use test;
|
||||
select * from t1 order by a;
|
||||
a b c d
|
||||
1 1xb1 111 1xdd1
|
||||
2 2xb2 222 2xdd2
|
||||
3 3xb3 333 3xdd3
|
||||
4 4xb4 444 4xdd4
|
||||
5 5xb5 555 5xdd5
|
||||
6 6xb6 666 6xdd6
|
||||
7 7xb7 777 7xdd7
|
||||
8 8xb8 888 8xdd8
|
||||
9 9xb9 999 9xdd9
|
||||
alter table t1 add x int;
|
||||
select * from t1 order by a;
|
||||
a b c d x
|
||||
1 1xb1 111 1xdd1 NULL
|
||||
2 2xb2 222 2xdd2 NULL
|
||||
3 3xb3 333 3xdd3 NULL
|
||||
4 4xb4 444 4xdd4 NULL
|
||||
5 5xb5 555 5xdd5 NULL
|
||||
6 6xb6 666 6xdd6 NULL
|
||||
7 7xb7 777 7xdd7 NULL
|
||||
8 8xb8 888 8xdd8 NULL
|
||||
9 9xb9 999 9xdd9 NULL
|
||||
alter table t1 drop x;
|
||||
select * from t1 order by a;
|
||||
a b c d
|
||||
1 1xb1 111 1xdd1
|
||||
2 2xb2 222 2xdd2
|
||||
3 3xb3 333 3xdd3
|
||||
4 4xb4 444 4xdd4
|
||||
5 5xb5 555 5xdd5
|
||||
6 6xb6 666 6xdd6
|
||||
7 7xb7 777 7xdd7
|
||||
8 8xb8 888 8xdd8
|
||||
9 9xb9 999 9xdd9
|
||||
delete from t1 where c >= 100;
|
||||
commit;
|
||||
select count(*) from t1;
|
||||
@ -322,3 +377,29 @@ count(*)
|
||||
0
|
||||
drop table t1;
|
||||
drop database mysqltest;
|
||||
set autocommit=1;
|
||||
use test;
|
||||
CREATE TABLE t1 (
|
||||
a int,
|
||||
b text,
|
||||
PRIMARY KEY (a)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
|
||||
INSERT INTO t1 VALUES
|
||||
(1,'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA');
|
||||
INSERT INTO t1 VALUES
|
||||
(2,'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB');
|
||||
select * from t1 order by a;
|
||||
a b
|
||||
1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
2 BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
|
||||
alter table t1 engine=ndb;
|
||||
select * from t1 order by a;
|
||||
a b
|
||||
1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
2 BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
|
||||
alter table t1 engine=myisam;
|
||||
select * from t1 order by a;
|
||||
a b
|
||||
1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
2 BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
|
||||
drop table t1;
|
||||
|
191
mysql-test/r/ndb_charset.result
Normal file
191
mysql-test/r/ndb_charset.result
Normal file
@ -0,0 +1,191 @@
|
||||
drop table if exists t1;
|
||||
create table t1 (
|
||||
a char(3) character set latin1 collate latin1_bin primary key
|
||||
) engine=ndb;
|
||||
insert into t1 values('aAa');
|
||||
insert into t1 values('aaa');
|
||||
insert into t1 values('AAA');
|
||||
select * from t1 order by a;
|
||||
a
|
||||
AAA
|
||||
aAa
|
||||
aaa
|
||||
select * from t1 where a = 'aAa';
|
||||
a
|
||||
aAa
|
||||
select * from t1 where a = 'aaa';
|
||||
a
|
||||
aaa
|
||||
select * from t1 where a = 'AaA';
|
||||
a
|
||||
select * from t1 where a = 'AAA';
|
||||
a
|
||||
AAA
|
||||
drop table t1;
|
||||
create table t1 (
|
||||
a char(3) character set latin1 collate latin1_swedish_ci primary key
|
||||
) engine=ndb;
|
||||
insert into t1 values('aAa');
|
||||
insert into t1 values('aaa');
|
||||
ERROR 23000: Duplicate entry 'aaa' for key 1
|
||||
insert into t1 values('AAA');
|
||||
ERROR 23000: Duplicate entry 'AAA' for key 1
|
||||
select * from t1 order by a;
|
||||
a
|
||||
aAa
|
||||
select * from t1 where a = 'aAa';
|
||||
a
|
||||
aAa
|
||||
select * from t1 where a = 'aaa';
|
||||
a
|
||||
aAa
|
||||
select * from t1 where a = 'AaA';
|
||||
a
|
||||
aAa
|
||||
select * from t1 where a = 'AAA';
|
||||
a
|
||||
aAa
|
||||
drop table t1;
|
||||
create table t1 (
|
||||
p int primary key,
|
||||
a char(3) character set latin1 collate latin1_bin not null,
|
||||
unique key(a)
|
||||
) engine=ndb;
|
||||
insert into t1 values(1, 'aAa');
|
||||
insert into t1 values(2, 'aaa');
|
||||
insert into t1 values(3, 'AAA');
|
||||
select * from t1 order by p;
|
||||
p a
|
||||
1 aAa
|
||||
2 aaa
|
||||
3 AAA
|
||||
select * from t1 where a = 'aAa';
|
||||
p a
|
||||
1 aAa
|
||||
select * from t1 where a = 'aaa';
|
||||
p a
|
||||
2 aaa
|
||||
select * from t1 where a = 'AaA';
|
||||
p a
|
||||
select * from t1 where a = 'AAA';
|
||||
p a
|
||||
3 AAA
|
||||
drop table t1;
|
||||
create table t1 (
|
||||
p int primary key,
|
||||
a char(3) character set latin1 collate latin1_swedish_ci not null,
|
||||
unique key(a)
|
||||
) engine=ndb;
|
||||
insert into t1 values(1, 'aAa');
|
||||
insert into t1 values(2, 'aaa');
|
||||
ERROR 23000: Can't write, because of unique constraint, to table 't1'
|
||||
insert into t1 values(3, 'AAA');
|
||||
ERROR 23000: Can't write, because of unique constraint, to table 't1'
|
||||
select * from t1 order by p;
|
||||
p a
|
||||
1 aAa
|
||||
select * from t1 where a = 'aAa';
|
||||
p a
|
||||
1 aAa
|
||||
select * from t1 where a = 'aaa';
|
||||
p a
|
||||
1 aAa
|
||||
select * from t1 where a = 'AaA';
|
||||
p a
|
||||
1 aAa
|
||||
select * from t1 where a = 'AAA';
|
||||
p a
|
||||
1 aAa
|
||||
drop table t1;
|
||||
create table t1 (
|
||||
p int primary key,
|
||||
a char(3) character set latin1 collate latin1_bin not null,
|
||||
index(a)
|
||||
) engine=ndb;
|
||||
insert into t1 values(1, 'aAa');
|
||||
insert into t1 values(2, 'aaa');
|
||||
insert into t1 values(3, 'AAA');
|
||||
insert into t1 values(4, 'aAa');
|
||||
insert into t1 values(5, 'aaa');
|
||||
insert into t1 values(6, 'AAA');
|
||||
select * from t1 order by p;
|
||||
p a
|
||||
1 aAa
|
||||
2 aaa
|
||||
3 AAA
|
||||
4 aAa
|
||||
5 aaa
|
||||
6 AAA
|
||||
explain select * from t1 where a = 'zZz' order by p;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ref a a 3 const 10 Using where; Using filesort
|
||||
select * from t1 where a = 'aAa' order by p;
|
||||
p a
|
||||
1 aAa
|
||||
4 aAa
|
||||
select * from t1 where a = 'aaa' order by p;
|
||||
p a
|
||||
2 aaa
|
||||
5 aaa
|
||||
select * from t1 where a = 'AaA' order by p;
|
||||
p a
|
||||
select * from t1 where a = 'AAA' order by p;
|
||||
p a
|
||||
3 AAA
|
||||
6 AAA
|
||||
drop table t1;
|
||||
create table t1 (
|
||||
p int primary key,
|
||||
a char(3) character set latin1 collate latin1_swedish_ci not null,
|
||||
index(a)
|
||||
) engine=ndb;
|
||||
insert into t1 values(1, 'aAa');
|
||||
insert into t1 values(2, 'aaa');
|
||||
insert into t1 values(3, 'AAA');
|
||||
insert into t1 values(4, 'aAa');
|
||||
insert into t1 values(5, 'aaa');
|
||||
insert into t1 values(6, 'AAA');
|
||||
select * from t1 order by p;
|
||||
p a
|
||||
1 aAa
|
||||
2 aaa
|
||||
3 AAA
|
||||
4 aAa
|
||||
5 aaa
|
||||
6 AAA
|
||||
explain select * from t1 where a = 'zZz' order by p;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ref a a 3 const 10 Using where; Using filesort
|
||||
select * from t1 where a = 'aAa' order by p;
|
||||
p a
|
||||
1 aAa
|
||||
2 aaa
|
||||
3 AAA
|
||||
4 aAa
|
||||
5 aaa
|
||||
6 AAA
|
||||
select * from t1 where a = 'aaa' order by p;
|
||||
p a
|
||||
1 aAa
|
||||
2 aaa
|
||||
3 AAA
|
||||
4 aAa
|
||||
5 aaa
|
||||
6 AAA
|
||||
select * from t1 where a = 'AaA' order by p;
|
||||
p a
|
||||
1 aAa
|
||||
2 aaa
|
||||
3 AAA
|
||||
4 aAa
|
||||
5 aaa
|
||||
6 AAA
|
||||
select * from t1 where a = 'AAA' order by p;
|
||||
p a
|
||||
1 aAa
|
||||
2 aaa
|
||||
3 AAA
|
||||
4 aAa
|
||||
5 aaa
|
||||
6 AAA
|
||||
drop table t1;
|
@ -4,7 +4,7 @@ PORT varchar(16) NOT NULL,
|
||||
ACCESSNODE varchar(16) NOT NULL,
|
||||
POP varchar(48) NOT NULL,
|
||||
ACCESSTYPE int unsigned NOT NULL,
|
||||
CUSTOMER_ID varchar(20) NOT NULL,
|
||||
CUSTOMER_ID varchar(20) collate latin1_bin NOT NULL,
|
||||
PROVIDER varchar(16),
|
||||
TEXPIRE int unsigned,
|
||||
NUM_IP int unsigned,
|
||||
|
@ -37,6 +37,24 @@ a b c
|
||||
1 2 3
|
||||
2 3 5
|
||||
3 4 6
|
||||
select tt1.* from t1 as tt1, t1 as tt2 use index(b) where tt1.b = tt2.b order by tt1.b;
|
||||
a b c
|
||||
1 2 3
|
||||
2 3 5
|
||||
3 4 6
|
||||
4 5 8
|
||||
5 6 2
|
||||
6 7 2
|
||||
select a, b, c from t1 where a!=2 and c=6;
|
||||
a b c
|
||||
3 4 6
|
||||
select a, b, c from t1 where a!=2 order by a;
|
||||
a b c
|
||||
1 2 3
|
||||
3 4 6
|
||||
4 5 8
|
||||
5 6 2
|
||||
6 7 2
|
||||
update t1 set c = 3 where b = 3;
|
||||
select * from t1 order by a;
|
||||
a b c
|
||||
@ -219,10 +237,10 @@ c int unsigned,
|
||||
KEY bc(b,c)
|
||||
) engine = ndb;
|
||||
insert into t1 values(1,1,1),(2,NULL,2),(3,NULL,NULL),(4,4,NULL);
|
||||
select * from t1 use index (bc) where b IS NULL;
|
||||
select * from t1 use index (bc) where b IS NULL order by a;
|
||||
a b c
|
||||
3 NULL NULL
|
||||
2 NULL 2
|
||||
3 NULL NULL
|
||||
select * from t1 use index (bc)order by a;
|
||||
a b c
|
||||
1 1 1
|
||||
|
@ -242,7 +242,7 @@ select * from t1 where cv = 'test';
|
||||
cid cv
|
||||
select * from t2 where cap = 'another dummy';
|
||||
cid cap
|
||||
0 another dummy
|
||||
1 another dummy
|
||||
select * from t4 where uid = 1 and gid=1 and rid=2 and cid=4;
|
||||
uid gid rid cid
|
||||
1 1 2 4
|
||||
|
@ -416,4 +416,144 @@ INSERT INTO t1 VALUES
|
||||
SELECT COUNT(*) FROM t1;
|
||||
COUNT(*)
|
||||
2000
|
||||
INSERT INTO t1 VALUES
|
||||
(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),
|
||||
(6,6,6),(7,7,7),(8,8,8),(9,9,9),(10,10,10);
|
||||
ERROR 23000: Duplicate entry '10' for key 1
|
||||
select count(*) from t1;
|
||||
count(*)
|
||||
2000
|
||||
begin;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
COUNT(*)
|
||||
2000
|
||||
INSERT INTO t1 VALUES
|
||||
(2001,2001,2001),(2002,2002,2002),(2003,2003,2003),(2004,2004,2004),(2005,2005,2005);
|
||||
SELECT COUNT(*) FROM t1;
|
||||
COUNT(*)
|
||||
2005
|
||||
rollback;
|
||||
begin;
|
||||
INSERT INTO t1 VALUES
|
||||
(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),
|
||||
(6,6,6),(7,7,7),(8,8,8),(9,9,9),(10,10,10);
|
||||
ERROR 23000: Duplicate entry '10' for key 1
|
||||
commit;
|
||||
ERROR HY000: Got error 4350 'Transaction already aborted' from ndbcluster
|
||||
select * from t1 where pk1=1;
|
||||
pk1 b c
|
||||
1 1 1
|
||||
select * from t1 where pk1=10;
|
||||
pk1 b c
|
||||
10 10 10
|
||||
select count(*) from t1 where pk1 <= 10 order by pk1;
|
||||
count(*)
|
||||
11
|
||||
select count(*) from t1;
|
||||
count(*)
|
||||
2000
|
||||
begin;
|
||||
INSERT INTO t1 VALUES
|
||||
(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),
|
||||
(6,6,6),(7,7,7),(8,8,8),(9,9,9),(10,10,10);
|
||||
ERROR 23000: Duplicate entry '10' for key 1
|
||||
rollback;
|
||||
select * from t1 where pk1=1;
|
||||
pk1 b c
|
||||
1 1 1
|
||||
select * from t1 where pk1=10;
|
||||
pk1 b c
|
||||
10 10 10
|
||||
select count(*) from t1 where pk1 <= 10 order by pk1;
|
||||
count(*)
|
||||
11
|
||||
select count(*) from t1;
|
||||
count(*)
|
||||
2000
|
||||
begin;
|
||||
INSERT INTO t1 VALUES
|
||||
(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),
|
||||
(6,6,6),(7,7,7),(8,8,8),(9,9,9),(10,10,10);
|
||||
ERROR 23000: Duplicate entry '10' for key 1
|
||||
SELECT * FROM t1 WHERE pk1=10;
|
||||
ERROR HY000: Got error 4350 'Transaction already aborted' from ndbcluster
|
||||
rollback;
|
||||
select * from t1 where pk1=1;
|
||||
pk1 b c
|
||||
1 1 1
|
||||
select * from t1 where pk1=10;
|
||||
pk1 b c
|
||||
10 10 10
|
||||
select count(*) from t1 where pk1 <= 10 order by pk1;
|
||||
count(*)
|
||||
11
|
||||
select count(*) from t1;
|
||||
count(*)
|
||||
2000
|
||||
begin;
|
||||
INSERT INTO t1 VALUES
|
||||
(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),
|
||||
(6,6,6),(7,7,7),(8,8,8),(9,9,9),(10,10,10);
|
||||
ERROR 23000: Duplicate entry '10' for key 1
|
||||
SELECT * FROM t1 WHERE pk1=10;
|
||||
ERROR HY000: Got error 4350 'Transaction already aborted' from ndbcluster
|
||||
SELECT * FROM t1 WHERE pk1=10;
|
||||
ERROR HY000: Got error 4350 'Transaction already aborted' from ndbcluster
|
||||
commit;
|
||||
ERROR HY000: Got error 4350 'Transaction already aborted' from ndbcluster
|
||||
select * from t1 where pk1=1;
|
||||
pk1 b c
|
||||
1 1 1
|
||||
select * from t1 where pk1=10;
|
||||
pk1 b c
|
||||
10 10 10
|
||||
select count(*) from t1 where pk1 <= 10 order by pk1;
|
||||
count(*)
|
||||
11
|
||||
select count(*) from t1;
|
||||
count(*)
|
||||
2000
|
||||
begin;
|
||||
INSERT INTO t1 VALUES
|
||||
(1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5),
|
||||
(6,6,6),(7,7,7),(8,8,8),(9,9,9),(10,10,10);
|
||||
ERROR 23000: Duplicate entry '10' for key 1
|
||||
INSERT INTO t1 values (4000, 40, 44);
|
||||
ERROR HY000: Got error 4350 'Transaction already aborted' from ndbcluster
|
||||
rollback;
|
||||
select * from t1 where pk1=1;
|
||||
pk1 b c
|
||||
1 1 1
|
||||
select * from t1 where pk1=10;
|
||||
pk1 b c
|
||||
10 10 10
|
||||
select count(*) from t1 where pk1 <= 10 order by pk1;
|
||||
count(*)
|
||||
11
|
||||
select count(*) from t1;
|
||||
count(*)
|
||||
2000
|
||||
insert into t1 select * from t1 where b < 10 order by pk1;
|
||||
ERROR 23000: Duplicate entry '9' for key 1
|
||||
begin;
|
||||
INSERT IGNORE INTO t1 VALUES(1,2,3);
|
||||
ERROR HY000: Table storage engine for 't1' doesn't have this option
|
||||
commit;
|
||||
select * from t1 where pk1=1;
|
||||
pk1 b c
|
||||
1 1 1
|
||||
INSERT IGNORE INTO t1 VALUES(1,2,3);
|
||||
ERROR HY000: Table storage engine for 't1' doesn't have this option
|
||||
select * from t1 where pk1=1;
|
||||
pk1 b c
|
||||
1 1 1
|
||||
REPLACE INTO t1 values(1, 2, 3);
|
||||
select * from t1 where pk1=1;
|
||||
pk1 b c
|
||||
1 2 3
|
||||
INSERT INTO t1 VALUES(1,1,1) ON DUPLICATE KEY UPDATE b=79;
|
||||
ERROR HY000: Table storage engine for 't1' doesn't have this option
|
||||
select * from t1 where pk1=1;
|
||||
pk1 b c
|
||||
1 2 3
|
||||
DROP TABLE t1;
|
||||
|
@ -29,3 +29,44 @@ count(*)
|
||||
select * from t2 limit 0;
|
||||
a b c
|
||||
drop table t2;
|
||||
CREATE TABLE `t2` (
|
||||
`views` int(11) NOT NULL default '0',
|
||||
`clicks` int(11) NOT NULL default '0',
|
||||
`day` date NOT NULL default '0000-00-00',
|
||||
`hour` tinyint(4) NOT NULL default '0',
|
||||
`bannerid` smallint(6) NOT NULL default '0',
|
||||
`zoneid` smallint(6) NOT NULL default '0',
|
||||
`source` varchar(50) NOT NULL default '',
|
||||
PRIMARY KEY (`day`,`hour`,`bannerid`,`zoneid`,`source`),
|
||||
KEY `bannerid_day` (`bannerid`,`day`),
|
||||
KEY `zoneid` (`zoneid`)
|
||||
) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
|
||||
INSERT INTO `t2` VALUES
|
||||
( 1,0,'2004-09-17', 5,100,100,''),
|
||||
( 1,0,'2004-09-18', 7,100,100,''),
|
||||
( 17,0,'2004-09-27',20,132,100,''),
|
||||
( 4,0,'2004-09-16',23,132,100,''),
|
||||
( 86,0,'2004-09-18', 7,196,196,''),
|
||||
( 11,0,'2004-09-16',16,132,100,''),
|
||||
(140,0,'2004-09-18', 0,100,164,''),
|
||||
( 2,0,'2004-09-17', 7,132,100,''),
|
||||
(846,0,'2004-09-27',11,132,164,''),
|
||||
( 1,0,'2004-09-18', 8,132,100,''),
|
||||
( 22,0,'2004-09-27', 9,164,132,''),
|
||||
(711,0,'2004-09-27', 9,100,164,''),
|
||||
( 11,0,'2004-09-18', 0,196,132,''),
|
||||
( 41,0,'2004-09-27',15,196,132,''),
|
||||
( 57,0,'2004-09-18', 2,164,196,'');
|
||||
SELECT DATE_FORMAT(day, '%Y%m%d') as date, DATE_FORMAT(day, '%d-%m-%Y')
|
||||
as date_formatted FROM t2 GROUP BY day ORDER BY day DESC;
|
||||
date date_formatted
|
||||
20040927 27-09-2004
|
||||
20040918 18-09-2004
|
||||
20040917 17-09-2004
|
||||
20040916 16-09-2004
|
||||
SELECT DATE_FORMAT(day, '%Y%m%d') as date, DATE_FORMAT(day, '%d-%m-%Y')
|
||||
as date_formatted FROM t2 GROUP BY day ORDER BY day DESC LIMIT 2;
|
||||
date date_formatted
|
||||
20040927 27-09-2004
|
||||
20040918 18-09-2004
|
||||
drop table t2;
|
||||
|
@ -28,3 +28,38 @@ x y
|
||||
2 two
|
||||
3 three
|
||||
commit;
|
||||
drop table t1;
|
||||
create table t1 (pk integer not null primary key, u int not null, o int not null,
|
||||
unique(u), key(o)) engine = ndb;
|
||||
insert into t1 values (1,1,1), (2,2,2), (3,3,3), (4,4,4), (5,5,5);
|
||||
lock tables t1 write;
|
||||
delete from t1 where pk = 1;
|
||||
unlock tables;
|
||||
select * from t1 order by pk;
|
||||
pk u o
|
||||
2 2 2
|
||||
3 3 3
|
||||
4 4 4
|
||||
5 5 5
|
||||
insert into t1 values (1,1,1);
|
||||
lock tables t1 write;
|
||||
delete from t1 where u = 1;
|
||||
unlock tables;
|
||||
select * from t1 order by pk;
|
||||
pk u o
|
||||
2 2 2
|
||||
3 3 3
|
||||
4 4 4
|
||||
5 5 5
|
||||
insert into t1 values (1,1,1);
|
||||
lock tables t1 write;
|
||||
delete from t1 where o = 1;
|
||||
unlock tables;
|
||||
select * from t1 order by pk;
|
||||
pk u o
|
||||
2 2 2
|
||||
3 3 3
|
||||
4 4 4
|
||||
5 5 5
|
||||
insert into t1 values (1,1,1);
|
||||
drop table t1;
|
||||
|
42
mysql-test/r/ndb_subquery.result
Normal file
42
mysql-test/r/ndb_subquery.result
Normal file
@ -0,0 +1,42 @@
|
||||
drop table if exists t1;
|
||||
drop table if exists t2;
|
||||
create table t1 (p int not null primary key, u int not null, o int not null,
|
||||
unique (u), key(o)) engine=ndb;
|
||||
create table t2 (p int not null primary key, u int not null, o int not null,
|
||||
unique (u), key(o)) engine=ndb;
|
||||
insert into t1 values (1,1,1),(2,2,2),(3,3,3);
|
||||
insert into t2 values (1,1,1),(2,2,2),(3,3,3), (4,4,4), (5,5,5);
|
||||
explain select * from t2 where p NOT IN (select p from t1);
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY t2 ALL NULL NULL NULL NULL 5 Using where
|
||||
2 DEPENDENT SUBQUERY t1 unique_subquery PRIMARY PRIMARY 4 func 1 Using index
|
||||
select * from t2 where p NOT IN (select p from t1) order by p;
|
||||
p u o
|
||||
4 4 4
|
||||
5 5 5
|
||||
explain select * from t2 where p NOT IN (select u from t1);
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY t2 ALL NULL NULL NULL NULL 5 Using where
|
||||
2 DEPENDENT SUBQUERY t1 unique_subquery u u 4 func 1 Using index
|
||||
select * from t2 where p NOT IN (select u from t1) order by p;
|
||||
p u o
|
||||
4 4 4
|
||||
5 5 5
|
||||
explain select * from t2 where p NOT IN (select o from t1);
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY t2 ALL NULL NULL NULL NULL 5 Using where
|
||||
2 DEPENDENT SUBQUERY t1 index_subquery o o 4 func 1 Using index
|
||||
select * from t2 where p NOT IN (select o from t1) order by p;
|
||||
p u o
|
||||
4 4 4
|
||||
5 5 5
|
||||
explain select * from t2 where p NOT IN (select p+0 from t1);
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY t2 ALL NULL NULL NULL NULL 5 Using where
|
||||
2 DEPENDENT SUBQUERY t1 ALL NULL NULL NULL NULL 3 Using where
|
||||
select * from t2 where p NOT IN (select p+0 from t1) order by p;
|
||||
p u o
|
||||
4 4 4
|
||||
5 5 5
|
||||
drop table t1;
|
||||
drop table t2;
|
@ -680,6 +680,9 @@ order by col;
|
||||
ERROR 23000: Column 'col' in order clause is ambiguous
|
||||
select col1 from t1, t2 where t1.col1=t2.col2 order by col;
|
||||
ERROR 23000: Column 'col' in order clause is ambiguous
|
||||
select t1.col as t1_col, t2.col2 from t1, t2 where t1.col1=t2.col2
|
||||
order by col;
|
||||
ERROR 23000: Column 'col' in order clause is ambiguous
|
||||
select t1.col as t1_col, t2.col from t1, t2 where t1.col1=t2.col2
|
||||
order by col;
|
||||
t1_col col
|
||||
@ -696,12 +699,6 @@ col col2
|
||||
1 3
|
||||
2 2
|
||||
3 1
|
||||
select t1.col as t1_col, t2.col2 from t1, t2 where t1.col1=t2.col2
|
||||
order by col;
|
||||
t1_col col2
|
||||
1 1
|
||||
2 2
|
||||
3 3
|
||||
select t2.col2, t2.col, t2.col from t2 order by col;
|
||||
col2 col col
|
||||
3 1 1
|
||||
@ -723,3 +720,16 @@ col2 col col
|
||||
2 2 2
|
||||
1 3 3
|
||||
drop table t1, t2;
|
||||
create table t1 (a char(25));
|
||||
insert into t1 set a = repeat('x', 20);
|
||||
insert into t1 set a = concat(repeat('x', 19), 'z');
|
||||
insert into t1 set a = concat(repeat('x', 19), 'ab');
|
||||
insert into t1 set a = concat(repeat('x', 19), 'aa');
|
||||
set max_sort_length=20;
|
||||
select a from t1 order by a;
|
||||
a
|
||||
xxxxxxxxxxxxxxxxxxxab
|
||||
xxxxxxxxxxxxxxxxxxxaa
|
||||
xxxxxxxxxxxxxxxxxxxx
|
||||
xxxxxxxxxxxxxxxxxxxz
|
||||
drop table t1;
|
||||
|
10
mysql-test/r/outfile.result
Normal file
10
mysql-test/r/outfile.result
Normal file
@ -0,0 +1,10 @@
|
||||
drop table if exists t1;
|
||||
CREATE TABLE t1 (a INT);
|
||||
EXPLAIN
|
||||
SELECT *
|
||||
INTO OUTFILE '/tmp/t1.txt'
|
||||
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\r\n'
|
||||
FROM t1;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 system NULL NULL NULL NULL 0 const row not found
|
||||
DROP TABLE t1;
|
26
mysql-test/r/packet.result.es
Normal file
26
mysql-test/r/packet.result.es
Normal file
@ -0,0 +1,26 @@
|
||||
set global max_allowed_packet=100;
|
||||
set max_allowed_packet=100;
|
||||
set global net_buffer_length=100;
|
||||
set net_buffer_length=100;
|
||||
SELECT length("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") as len;
|
||||
len
|
||||
1024
|
||||
select repeat('a',2000);
|
||||
repeat('a',2000)
|
||||
NULL
|
||||
Warnings:
|
||||
Warning 1301 Result of repeat() was larger than max_allowed_packet (1024) - truncated
|
||||
select @@net_buffer_length, @@max_allowed_packet;
|
||||
@@net_buffer_length @@max_allowed_packet
|
||||
1024 1024
|
||||
SELECT length("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") as len;
|
||||
set global max_allowed_packet=default;
|
||||
set max_allowed_packet=default;
|
||||
set global net_buffer_length=default;
|
||||
set net_buffer_length=default;
|
||||
SELECT length("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") as len;
|
||||
len
|
||||
100
|
||||
select length(repeat('a',2000));
|
||||
length(repeat('a',2000))
|
||||
2000
|
@ -270,3 +270,189 @@ execute stmt using @var;
|
||||
a
|
||||
deallocate prepare stmt;
|
||||
drop table t1;
|
||||
create table t1 (a bigint(20) not null primary key auto_increment);
|
||||
insert into t1 (a) values (null);
|
||||
select * from t1;
|
||||
a
|
||||
1
|
||||
prepare stmt from "insert into t1 (a) values (?)";
|
||||
set @var=null;
|
||||
execute stmt using @var;
|
||||
select * from t1;
|
||||
a
|
||||
1
|
||||
2
|
||||
drop table t1;
|
||||
create table t1 (a timestamp not null);
|
||||
prepare stmt from "insert into t1 (a) values (?)";
|
||||
execute stmt using @var;
|
||||
select * from t1;
|
||||
deallocate prepare stmt;
|
||||
drop table t1;
|
||||
prepare stmt from "select 'abc' like convert('abc' using utf8)";
|
||||
execute stmt;
|
||||
'abc' like convert('abc' using utf8)
|
||||
1
|
||||
execute stmt;
|
||||
'abc' like convert('abc' using utf8)
|
||||
1
|
||||
deallocate prepare stmt;
|
||||
create table t1 ( a bigint );
|
||||
prepare stmt from 'select a from t1 where a between ? and ?';
|
||||
set @a=1;
|
||||
execute stmt using @a, @a;
|
||||
a
|
||||
execute stmt using @a, @a;
|
||||
a
|
||||
execute stmt using @a, @a;
|
||||
a
|
||||
drop table t1;
|
||||
deallocate prepare stmt;
|
||||
create table t1 (a int);
|
||||
prepare stmt from "select * from t1 where 1 > (1 in (SELECT * FROM t1))";
|
||||
execute stmt;
|
||||
a
|
||||
execute stmt;
|
||||
a
|
||||
execute stmt;
|
||||
a
|
||||
drop table t1;
|
||||
deallocate prepare stmt;
|
||||
create table t1 (a int, b int);
|
||||
insert into t1 (a, b) values (1,1), (1,2), (2,1), (2,2);
|
||||
prepare stmt from
|
||||
"explain select * from t1 where t1.a=2 and t1.a=t1.b and t1.b > 1 + ?";
|
||||
set @v=5;
|
||||
execute stmt using @v;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
- - - - - - - - NULL Impossible WHERE
|
||||
set @v=0;
|
||||
execute stmt using @v;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
- - - - - - - - 4 Using where
|
||||
set @v=5;
|
||||
execute stmt using @v;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
- - - - - - - - NULL Impossible WHERE
|
||||
drop table t1;
|
||||
deallocate prepare stmt;
|
||||
create table t1 (a int);
|
||||
insert into t1 (a) values (1), (2), (3), (4);
|
||||
set @precision=10000000000;
|
||||
select rand(),
|
||||
cast(rand(10)*@precision as unsigned integer),
|
||||
cast(rand(a)*@precision as unsigned integer) from t1;
|
||||
rand() cast(rand(10)*@precision as unsigned integer) cast(rand(a)*@precision as unsigned integer)
|
||||
- 6570515219 -
|
||||
- 1282061302 -
|
||||
- 6698761160 -
|
||||
- 9647622201 -
|
||||
prepare stmt from
|
||||
"select rand(),
|
||||
cast(rand(10)*@precision as unsigned integer),
|
||||
cast(rand(a)*@precision as unsigned integer),
|
||||
cast(rand(?)*@precision as unsigned integer) from t1";
|
||||
set @var=1;
|
||||
execute stmt using @var;
|
||||
rand() cast(rand(10)*@precision as unsigned integer) cast(rand(a)*@precision as unsigned integer) cast(rand(?)*@precision as unsigned integer)
|
||||
- 6570515219 - 4054035371
|
||||
- 1282061302 - 8716141803
|
||||
- 6698761160 - 1418603212
|
||||
- 9647622201 - 944590960
|
||||
set @var=2;
|
||||
execute stmt using @var;
|
||||
rand() cast(rand(10)*@precision as unsigned integer) cast(rand(a)*@precision as unsigned integer) cast(rand(?)*@precision as unsigned integer)
|
||||
- 6570515219 1559528654 6555866465
|
||||
- 1282061302 6238114970 1223466192
|
||||
- 6698761160 6511989195 6449731873
|
||||
- 9647622201 3845601374 8578261098
|
||||
set @var=3;
|
||||
execute stmt using @var;
|
||||
rand() cast(rand(10)*@precision as unsigned integer) cast(rand(a)*@precision as unsigned integer) cast(rand(?)*@precision as unsigned integer)
|
||||
- 6570515219 1559528654 9057697559
|
||||
- 1282061302 6238114970 3730790581
|
||||
- 6698761160 6511989195 1480860534
|
||||
- 9647622201 3845601374 6211931236
|
||||
drop table t1;
|
||||
deallocate prepare stmt;
|
||||
create database mysqltest1;
|
||||
create table t1 (a int);
|
||||
create table mysqltest1.t1 (a int);
|
||||
select * from t1, mysqltest1.t1;
|
||||
a a
|
||||
prepare stmt from "select * from t1, mysqltest1.t1";
|
||||
execute stmt;
|
||||
a a
|
||||
execute stmt;
|
||||
a a
|
||||
execute stmt;
|
||||
a a
|
||||
drop table t1;
|
||||
drop table mysqltest1.t1;
|
||||
drop database mysqltest1;
|
||||
deallocate prepare stmt;
|
||||
select '1.1' as a, '1.2' as a UNION SELECT '2.1', '2.2';
|
||||
a a
|
||||
1.1 1.2
|
||||
2.1 2.2
|
||||
prepare stmt from
|
||||
"select '1.1' as a, '1.2' as a UNION SELECT '2.1', '2.2'";
|
||||
execute stmt;
|
||||
a a
|
||||
1.1 1.2
|
||||
2.1 2.2
|
||||
execute stmt;
|
||||
a a
|
||||
1.1 1.2
|
||||
2.1 2.2
|
||||
execute stmt;
|
||||
a a
|
||||
1.1 1.2
|
||||
2.1 2.2
|
||||
deallocate prepare stmt;
|
||||
create table t1 (a int);
|
||||
insert into t1 values (1),(2),(3);
|
||||
create table t2 select * from t1;
|
||||
prepare stmt FROM 'create table t2 select * from t1';
|
||||
drop table t2;
|
||||
execute stmt;
|
||||
drop table t2;
|
||||
execute stmt;
|
||||
execute stmt;
|
||||
ERROR 42S01: Table 't2' already exists
|
||||
drop table t2;
|
||||
execute stmt;
|
||||
drop table t1,t2;
|
||||
deallocate prepare stmt;
|
||||
create table t1 (a int);
|
||||
insert into t1 (a) values (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);
|
||||
prepare stmt from "select sql_calc_found_rows * from t1 limit 2";
|
||||
execute stmt;
|
||||
a
|
||||
1
|
||||
2
|
||||
select found_rows();
|
||||
found_rows()
|
||||
10
|
||||
execute stmt;
|
||||
a
|
||||
1
|
||||
2
|
||||
select found_rows();
|
||||
found_rows()
|
||||
10
|
||||
execute stmt;
|
||||
a
|
||||
1
|
||||
2
|
||||
select found_rows();
|
||||
found_rows()
|
||||
10
|
||||
deallocate prepare stmt;
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (N int, M tinyint);
|
||||
INSERT INTO t1 VALUES (1,0),(1,0),(2,0),(2,0),(3,0);
|
||||
PREPARE stmt FROM 'UPDATE t1 AS P1 INNER JOIN (SELECT N FROM t1 GROUP BY N HAVING COUNT(M) > 1) AS P2 ON P1.N = P2.N SET P1.M = 2';
|
||||
EXECUTE stmt;
|
||||
DEALLOCATE PREPARE stmt;
|
||||
DROP TABLE t1;
|
||||
|
65
mysql-test/r/ps_10nestset.result
Normal file
65
mysql-test/r/ps_10nestset.result
Normal file
@ -0,0 +1,65 @@
|
||||
drop table if exists t1;
|
||||
create table t1 (
|
||||
id INTEGER AUTO_INCREMENT PRIMARY KEY,
|
||||
emp CHAR(10) NOT NULL,
|
||||
salary DECIMAL(6,2) NOT NULL,
|
||||
l INTEGER NOT NULL,
|
||||
r INTEGER NOT NULL);
|
||||
prepare st_ins from 'insert into t1 set emp = ?, salary = ?, l = ?, r = ?';
|
||||
set @arg_nam= 'Jerry';
|
||||
set @arg_sal= 1000;
|
||||
set @arg_l= 1;
|
||||
set @arg_r= 12;
|
||||
execute st_ins using @arg_nam, @arg_sal, @arg_l, @arg_r ;
|
||||
set @arg_nam= 'Bert';
|
||||
set @arg_sal= 900;
|
||||
set @arg_l= 2;
|
||||
set @arg_r= 3;
|
||||
execute st_ins using @arg_nam, @arg_sal, @arg_l, @arg_r ;
|
||||
set @arg_nam= 'Chuck';
|
||||
set @arg_sal= 900;
|
||||
set @arg_l= 4;
|
||||
set @arg_r= 11;
|
||||
execute st_ins using @arg_nam, @arg_sal, @arg_l, @arg_r ;
|
||||
set @arg_nam= 'Donna';
|
||||
set @arg_sal= 800;
|
||||
set @arg_l= 5;
|
||||
set @arg_r= 6;
|
||||
execute st_ins using @arg_nam, @arg_sal, @arg_l, @arg_r ;
|
||||
set @arg_nam= 'Eddie';
|
||||
set @arg_sal= 700;
|
||||
set @arg_l= 7;
|
||||
set @arg_r= 8;
|
||||
execute st_ins using @arg_nam, @arg_sal, @arg_l, @arg_r ;
|
||||
set @arg_nam= 'Fred';
|
||||
set @arg_sal= 600;
|
||||
set @arg_l= 9;
|
||||
set @arg_r= 10;
|
||||
execute st_ins using @arg_nam, @arg_sal, @arg_l, @arg_r ;
|
||||
select * from t1;
|
||||
id emp salary l r
|
||||
1 Jerry 1000.00 1 12
|
||||
2 Bert 900.00 2 3
|
||||
3 Chuck 900.00 4 11
|
||||
4 Donna 800.00 5 6
|
||||
5 Eddie 700.00 7 8
|
||||
6 Fred 600.00 9 10
|
||||
prepare st_raise_base from 'update t1 set salary = salary * ( 1 + ? ) where r - l = 1';
|
||||
prepare st_raise_mgr from 'update t1 set salary = salary + ? where r - l > 1';
|
||||
set @arg_percent= .10;
|
||||
set @arg_amount= 100;
|
||||
execute st_raise_base using @arg_percent;
|
||||
execute st_raise_mgr using @arg_amount;
|
||||
execute st_raise_base using @arg_percent;
|
||||
execute st_raise_mgr using @arg_amount;
|
||||
execute st_raise_base using @arg_percent;
|
||||
execute st_raise_mgr using @arg_amount;
|
||||
select * from t1;
|
||||
id emp salary l r
|
||||
1 Jerry 1300.00 1 12
|
||||
2 Bert 1197.90 2 3
|
||||
3 Chuck 1200.00 4 11
|
||||
4 Donna 1064.80 5 6
|
||||
5 Eddie 931.70 7 8
|
||||
6 Fred 798.60 9 10
|
||||
drop table t1;
|
118
mysql-test/r/ps_11bugs.result
Normal file
118
mysql-test/r/ps_11bugs.result
Normal file
@ -0,0 +1,118 @@
|
||||
drop table if exists t1, t2;
|
||||
CREATE TABLE t1(session_id char(9) NOT NULL);
|
||||
INSERT INTO t1 VALUES ("abc");
|
||||
SELECT * FROM t1;
|
||||
session_id
|
||||
abc
|
||||
prepare st_1180 from 'SELECT * FROM t1 WHERE ?="1111" and session_id = "abc"';
|
||||
set @arg1= 'abc';
|
||||
execute st_1180 using @arg1;
|
||||
session_id
|
||||
set @arg1= '1111';
|
||||
execute st_1180 using @arg1;
|
||||
session_id
|
||||
abc
|
||||
set @arg1= 'abc';
|
||||
execute st_1180 using @arg1;
|
||||
session_id
|
||||
drop table t1;
|
||||
create table t1 (
|
||||
c_01 char(6), c_02 integer, c_03 real, c_04 int(3), c_05 varchar(20),
|
||||
c_06 date, c_07 char(1), c_08 real, c_09 int(11), c_10 time,
|
||||
c_11 char(6), c_12 integer, c_13 real, c_14 int(3), c_15 varchar(20),
|
||||
c_16 date, c_17 char(1), c_18 real, c_19 int(11), c_20 text);
|
||||
prepare st_1644 from 'insert into t1 values ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
|
||||
set @arg01= 'row_1';
|
||||
set @arg02= 1;
|
||||
set @arg03= 1.1;
|
||||
set @arg04= 111;
|
||||
set @arg05= 'row_one';
|
||||
set @arg06= '2004-10-12';
|
||||
set @arg07= '1';
|
||||
set @arg08= 1.1;
|
||||
set @arg09= '100100100';
|
||||
set @arg10= '12:34:56';
|
||||
set @arg11= 'row_1';
|
||||
set @arg12= 1;
|
||||
set @arg13= 1.1;
|
||||
set @arg14= 111;
|
||||
set @arg15= 'row_one';
|
||||
set @arg16= '2004-10-12';
|
||||
set @arg17= '1';
|
||||
set @arg18= 1.1;
|
||||
set @arg19= '100100100';
|
||||
set @arg20= '12:34:56';
|
||||
execute st_1644 using @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08, @arg09, @arg10,
|
||||
@arg11, @arg12, @arg13, @arg14, @arg15, @arg16, @arg17, @arg18, @arg19, @arg20;
|
||||
set @arg01= NULL;
|
||||
set @arg02= NULL;
|
||||
set @arg03= NULL;
|
||||
set @arg04= NULL;
|
||||
set @arg05= NULL;
|
||||
set @arg06= NULL;
|
||||
set @arg07= NULL;
|
||||
set @arg08= NULL;
|
||||
set @arg09= NULL;
|
||||
set @arg10= NULL;
|
||||
set @arg11= NULL;
|
||||
set @arg12= NULL;
|
||||
set @arg13= NULL;
|
||||
set @arg14= NULL;
|
||||
set @arg15= NULL;
|
||||
set @arg16= NULL;
|
||||
set @arg17= NULL;
|
||||
set @arg18= NULL;
|
||||
set @arg19= NULL;
|
||||
set @arg20= NULL;
|
||||
execute st_1644 using @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08, @arg09, @arg10,
|
||||
@arg11, @arg12, @arg13, @arg14, @arg15, @arg16, @arg17, @arg18, @arg19, @arg20;
|
||||
set @arg01= 'row_3';
|
||||
set @arg02= 3;
|
||||
set @arg03= 3.3;
|
||||
set @arg04= 333;
|
||||
set @arg05= 'row_three';
|
||||
set @arg06= '2004-10-12';
|
||||
set @arg07= '3';
|
||||
set @arg08= 3.3;
|
||||
set @arg09= '300300300';
|
||||
set @arg10= '12:34:56';
|
||||
set @arg11= 'row_3';
|
||||
set @arg12= 3;
|
||||
set @arg13= 3.3;
|
||||
set @arg14= 333;
|
||||
set @arg15= 'row_three';
|
||||
set @arg16= '2004-10-12';
|
||||
set @arg17= '3';
|
||||
set @arg18= 3.3;
|
||||
set @arg19= '300300300';
|
||||
set @arg20= '12:34:56';
|
||||
execute st_1644 using @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08, @arg09, @arg10,
|
||||
@arg11, @arg12, @arg13, @arg14, @arg15, @arg16, @arg17, @arg18, @arg19, @arg20;
|
||||
select * from t1;
|
||||
c_01 c_02 c_03 c_04 c_05 c_06 c_07 c_08 c_09 c_10 c_11 c_12 c_13 c_14 c_15 c_16 c_17 c_18 c_19 c_20
|
||||
row_1 1 1.1 111 row_one 2004-10-12 1 1.1 100100100 12:34:56 row_1 1 1.1 111 row_one 2004-10-12 1 1.1 100100100 12:34:56
|
||||
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||
row_3 3 3.3 333 row_three 2004-10-12 3 3.3 300300300 12:34:56 row_3 3 3.3 333 row_three 2004-10-12 3 3.3 300300300 12:34:56
|
||||
drop table t1;
|
||||
create table t1(
|
||||
cola varchar(50) not null,
|
||||
colb varchar(8) not null,
|
||||
colc varchar(12) not null,
|
||||
cold varchar(2) not null,
|
||||
primary key (cola, colb, cold));
|
||||
create table t2(
|
||||
cola varchar(50) not null,
|
||||
colb varchar(8) not null,
|
||||
colc varchar(2) not null,
|
||||
cold float,
|
||||
primary key (cold));
|
||||
insert into t1 values ('aaaa', 'yyyy', 'yyyy-dd-mm', 'R');
|
||||
insert into t2 values ('aaaa', 'yyyy', 'R', 203), ('bbbb', 'zzzz', 'C', 201);
|
||||
prepare st_1676 from 'select a.cola, a.colb, a.cold from t1 a, t2 b where a.cola = ? and a.colb = ? and a.cold = ? and b.cola = a.cola and b.colb = a.colb and b.colc = a.cold';
|
||||
set @arg0= "aaaa";
|
||||
set @arg1= "yyyy";
|
||||
set @arg2= "R";
|
||||
execute st_1676 using @arg0, @arg1, @arg2;
|
||||
cola colb cold
|
||||
aaaa yyyy R
|
||||
drop table t1, t2;
|
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
3090
mysql-test/r/ps_7ndb.result
Normal file
3090
mysql-test/r/ps_7ndb.result
Normal file
File diff suppressed because it is too large
Load Diff
@ -791,6 +791,19 @@ Qcache_queries_in_cache 1
|
||||
unlock table;
|
||||
drop table t1,t2;
|
||||
set query_cache_wlock_invalidate=default;
|
||||
CREATE TABLE t1 (id INT PRIMARY KEY);
|
||||
insert into t1 values (1),(2),(3);
|
||||
select * from t1;
|
||||
id
|
||||
1
|
||||
2
|
||||
3
|
||||
create temporary table t1 (a int not null auto_increment
|
||||
primary key);
|
||||
select * from t1;
|
||||
a
|
||||
drop table t1;
|
||||
drop table t1;
|
||||
SET NAMES koi8r;
|
||||
CREATE TABLE t1 (a char(1) character set koi8r);
|
||||
INSERT INTO t1 VALUES (_koi8r'<27>'),(_koi8r'<27>');
|
||||
@ -851,13 +864,71 @@ select @@character_set_results;
|
||||
@@character_set_results
|
||||
NULL
|
||||
set character_set_results=default;
|
||||
set GLOBAL query_cache_size=1355776;
|
||||
create table t1 (id int auto_increment primary key, c char(25));
|
||||
insert into t1 set c = repeat('x',24);
|
||||
insert into t1 set c = concat(repeat('x',24),'x');
|
||||
insert into t1 set c = concat(repeat('x',24),'w');
|
||||
insert into t1 set c = concat(repeat('x',24),'y');
|
||||
set max_sort_length=200;
|
||||
select c from t1 order by c, id;
|
||||
c
|
||||
xxxxxxxxxxxxxxxxxxxxxxxx
|
||||
xxxxxxxxxxxxxxxxxxxxxxxxw
|
||||
xxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
xxxxxxxxxxxxxxxxxxxxxxxxy
|
||||
reset query cache;
|
||||
set max_sort_length=20;
|
||||
select c from t1 order by c, id;
|
||||
c
|
||||
xxxxxxxxxxxxxxxxxxxxxxxx
|
||||
xxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
xxxxxxxxxxxxxxxxxxxxxxxxw
|
||||
xxxxxxxxxxxxxxxxxxxxxxxxy
|
||||
set max_sort_length=200;
|
||||
select c from t1 order by c, id;
|
||||
c
|
||||
xxxxxxxxxxxxxxxxxxxxxxxx
|
||||
xxxxxxxxxxxxxxxxxxxxxxxxw
|
||||
xxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
xxxxxxxxxxxxxxxxxxxxxxxxy
|
||||
set max_sort_length=default;
|
||||
select '1' || '3' from t1;
|
||||
'1' || '3'
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
set SQL_MODE=oracle;
|
||||
select '1' || '3' from t1;
|
||||
'1' || '3'
|
||||
13
|
||||
13
|
||||
13
|
||||
13
|
||||
set SQL_MODE=default;
|
||||
drop table t1;
|
||||
create table t1 (a varchar(20), b int);
|
||||
insert into t1 values ('12345678901234567890', 1);
|
||||
set group_concat_max_len=10;
|
||||
select group_concat(a) FROM t1 group by b;
|
||||
group_concat(a)
|
||||
1234567890
|
||||
Warnings:
|
||||
Warning 1260 1 line(s) were cut by GROUP_CONCAT()
|
||||
set group_concat_max_len=1024;
|
||||
select group_concat(a) FROM t1 group by b;
|
||||
group_concat(a)
|
||||
12345678901234567890
|
||||
set group_concat_max_len=default;
|
||||
drop table t1;
|
||||
create table t1 (a int);
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 0
|
||||
show status like "Qcache_inserts";
|
||||
Variable_name Value
|
||||
Qcache_inserts 11
|
||||
Qcache_inserts 19
|
||||
show status like "Qcache_hits";
|
||||
Variable_name Value
|
||||
Qcache_hits 6
|
||||
@ -870,7 +941,7 @@ Variable_name Value
|
||||
Qcache_queries_in_cache 1
|
||||
show status like "Qcache_inserts";
|
||||
Variable_name Value
|
||||
Qcache_inserts 12
|
||||
Qcache_inserts 20
|
||||
show status like "Qcache_hits";
|
||||
Variable_name Value
|
||||
Qcache_hits 7
|
||||
|
910
mysql-test/r/query_cache.result.es
Normal file
910
mysql-test/r/query_cache.result.es
Normal file
@ -0,0 +1,910 @@
|
||||
set GLOBAL query_cache_size=1355776;
|
||||
flush query cache;
|
||||
flush query cache;
|
||||
reset query cache;
|
||||
flush status;
|
||||
drop table if exists t1,t2,t3,t4,t11,t21;
|
||||
drop database if exists mysqltest;
|
||||
create table t1 (a int not null);
|
||||
insert into t1 values (1),(2),(3);
|
||||
select * from t1;
|
||||
a
|
||||
1
|
||||
2
|
||||
3
|
||||
select * from t1;
|
||||
a
|
||||
1
|
||||
2
|
||||
3
|
||||
select sql_no_cache * from t1;
|
||||
a
|
||||
1
|
||||
2
|
||||
3
|
||||
select length(now()) from t1;
|
||||
length(now())
|
||||
19
|
||||
19
|
||||
19
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 1
|
||||
show status like "Qcache_inserts";
|
||||
Variable_name Value
|
||||
Qcache_inserts 1
|
||||
show status like "Qcache_hits";
|
||||
Variable_name Value
|
||||
Qcache_hits 1
|
||||
drop table t1;
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 0
|
||||
create table t1 (a int not null);
|
||||
insert into t1 values (1),(2),(3);
|
||||
create table t2 (a int not null);
|
||||
insert into t2 values (4),(5),(6);
|
||||
create table t3 (a int not null) engine=MERGE UNION=(t1,t2) INSERT_METHOD=FIRST;
|
||||
select * from t3;
|
||||
a
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
6
|
||||
select * from t3;
|
||||
a
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
6
|
||||
show status like "Qcache_hits";
|
||||
Variable_name Value
|
||||
Qcache_hits 2
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 1
|
||||
insert into t2 values (7);
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 0
|
||||
select * from t1;
|
||||
a
|
||||
1
|
||||
2
|
||||
3
|
||||
select * from t1;
|
||||
a
|
||||
1
|
||||
2
|
||||
3
|
||||
show status like "Qcache_hits";
|
||||
Variable_name Value
|
||||
Qcache_hits 3
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 1
|
||||
insert into t3 values (8);
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 0
|
||||
select * from t3;
|
||||
a
|
||||
1
|
||||
2
|
||||
3
|
||||
8
|
||||
4
|
||||
5
|
||||
6
|
||||
7
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 1
|
||||
update t2 set a=9 where a=7;
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 0
|
||||
select * from t1;
|
||||
a
|
||||
1
|
||||
2
|
||||
3
|
||||
8
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 1
|
||||
update t3 set a=10 where a=1;
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 0
|
||||
select * from t3;
|
||||
a
|
||||
10
|
||||
2
|
||||
3
|
||||
8
|
||||
4
|
||||
5
|
||||
6
|
||||
9
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 1
|
||||
delete from t2 where a=9;
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 0
|
||||
select * from t1;
|
||||
a
|
||||
10
|
||||
2
|
||||
3
|
||||
8
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 1
|
||||
delete from t3 where a=10;
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 0
|
||||
drop table t1, t2, t3;
|
||||
create table t1 (a int not null);
|
||||
insert into t1 values (1),(2),(3);
|
||||
create table t2 (a int not null);
|
||||
insert into t2 values (1),(2),(3);
|
||||
select * from t1;
|
||||
a
|
||||
1
|
||||
2
|
||||
3
|
||||
select * from t2;
|
||||
a
|
||||
1
|
||||
2
|
||||
3
|
||||
insert into t1 values (4);
|
||||
show status like "Qcache_free_blocks";
|
||||
Variable_name Value
|
||||
Qcache_free_blocks 2
|
||||
flush query cache;
|
||||
show status like "Qcache_free_blocks";
|
||||
Variable_name Value
|
||||
Qcache_free_blocks 1
|
||||
drop table t1, t2;
|
||||
create table t1 (a text not null);
|
||||
create table t11 (a text not null);
|
||||
create table t2 (a text not null);
|
||||
create table t21 (a text not null);
|
||||
create table t3 (a text not null);
|
||||
insert into t1 values("1111111111111111111111111111111111111111111111111111");
|
||||
insert into t2 select * from t1;
|
||||
insert into t1 select * from t2;
|
||||
insert into t2 select * from t1;
|
||||
insert into t1 select * from t2;
|
||||
insert into t2 select * from t1;
|
||||
insert into t1 select * from t2;
|
||||
insert into t2 select * from t1;
|
||||
insert into t1 select * from t2;
|
||||
insert into t2 select * from t1;
|
||||
insert into t1 select * from t2;
|
||||
insert into t2 select * from t1;
|
||||
insert into t1 select * from t2;
|
||||
insert into t2 select * from t1;
|
||||
insert into t1 select * from t2;
|
||||
insert into t2 select * from t1;
|
||||
insert into t11 select * from t1;
|
||||
insert into t21 select * from t1;
|
||||
insert into t1 select * from t2;
|
||||
insert into t2 select * from t1;
|
||||
insert into t1 select * from t2;
|
||||
insert into t3 select * from t1;
|
||||
insert into t3 select * from t2;
|
||||
insert into t3 select * from t1;
|
||||
select * from t11;
|
||||
select * from t21;
|
||||
show status like "Qcache_total_blocks";
|
||||
Variable_name Value
|
||||
Qcache_total_blocks 7
|
||||
show status like "Qcache_free_blocks";
|
||||
Variable_name Value
|
||||
Qcache_free_blocks 1
|
||||
insert into t11 values("");
|
||||
select * from t3;
|
||||
show status like "Qcache_total_blocks";
|
||||
Variable_name Value
|
||||
Qcache_total_blocks 8
|
||||
show status like "Qcache_free_blocks";
|
||||
Variable_name Value
|
||||
Qcache_free_blocks 2
|
||||
flush query cache;
|
||||
show status like "Qcache_total_blocks";
|
||||
Variable_name Value
|
||||
Qcache_total_blocks 7
|
||||
show status like "Qcache_free_blocks";
|
||||
Variable_name Value
|
||||
Qcache_free_blocks 1
|
||||
drop table t1, t2, t3, t11, t21;
|
||||
set query_cache_type=demand;
|
||||
create table t1 (a int not null);
|
||||
insert into t1 values (1),(2),(3);
|
||||
select * from t1;
|
||||
a
|
||||
1
|
||||
2
|
||||
3
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 0
|
||||
select sql_cache * from t1 union select * from t1;
|
||||
a
|
||||
1
|
||||
2
|
||||
3
|
||||
set query_cache_type=2;
|
||||
select sql_cache * from t1 union select * from t1;
|
||||
a
|
||||
1
|
||||
2
|
||||
3
|
||||
select * from t1 union select sql_cache * from t1;
|
||||
a
|
||||
1
|
||||
2
|
||||
3
|
||||
show status like "Qcache_hits";
|
||||
Variable_name Value
|
||||
Qcache_hits 4
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 2
|
||||
set query_cache_type=on;
|
||||
reset query cache;
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 0
|
||||
select sql_no_cache * from t1;
|
||||
a
|
||||
1
|
||||
2
|
||||
3
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 0
|
||||
drop table t1;
|
||||
create table t1 (a text not null);
|
||||
select CONNECTION_ID() from t1;
|
||||
CONNECTION_ID()
|
||||
select FOUND_ROWS();
|
||||
FOUND_ROWS()
|
||||
0
|
||||
select NOW() from t1;
|
||||
NOW()
|
||||
select CURDATE() from t1;
|
||||
CURDATE()
|
||||
select CURTIME() from t1;
|
||||
CURTIME()
|
||||
select DATABASE() from t1;
|
||||
DATABASE()
|
||||
select ENCRYPT("test") from t1;
|
||||
ENCRYPT("test")
|
||||
select LAST_INSERT_ID() from t1;
|
||||
LAST_INSERT_ID()
|
||||
select RAND() from t1;
|
||||
RAND()
|
||||
select UNIX_TIMESTAMP() from t1;
|
||||
UNIX_TIMESTAMP()
|
||||
select USER() from t1;
|
||||
USER()
|
||||
select benchmark(1,1) from t1;
|
||||
benchmark(1,1)
|
||||
explain extended select benchmark(1,1) from t1;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 system NULL NULL NULL NULL 0 const row not found
|
||||
Warnings:
|
||||
Note 1003 select sql_no_cache benchmark(1,1) AS `benchmark(1,1)` from test.t1
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 0
|
||||
create table t2 (a text not null);
|
||||
insert into t1 values("1111111111111111111111111111111111111111111111111111");
|
||||
insert into t2 select * from t1;
|
||||
insert into t1 select * from t2;
|
||||
insert into t2 select * from t1;
|
||||
insert into t1 select * from t2;
|
||||
insert into t2 select * from t1;
|
||||
insert into t1 select * from t2;
|
||||
insert into t2 select * from t1;
|
||||
insert into t1 select * from t2;
|
||||
insert into t2 select * from t1;
|
||||
insert into t1 select * from t2;
|
||||
insert into t2 select * from t1;
|
||||
insert into t1 select * from t2;
|
||||
insert into t2 select * from t1;
|
||||
insert into t1 select * from t2;
|
||||
insert into t2 select * from t1;
|
||||
insert into t1 select * from t2;
|
||||
insert into t2 select * from t1;
|
||||
insert into t1 select * from t2;
|
||||
show status like "Qcache_hits";
|
||||
Variable_name Value
|
||||
Qcache_hits 4
|
||||
show status like "Qcache_lowmem_prunes";
|
||||
Variable_name Value
|
||||
Qcache_lowmem_prunes 0
|
||||
select a as a1, a as a2 from t1;
|
||||
select a as a2, a as a3 from t1;
|
||||
select a as a3, a as a4 from t1;
|
||||
select a as a1, a as a2 from t1;
|
||||
show status like "Qcache_hits";
|
||||
Variable_name Value
|
||||
Qcache_hits 4
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 2
|
||||
show status like "Qcache_lowmem_prunes";
|
||||
Variable_name Value
|
||||
Qcache_lowmem_prunes 2
|
||||
reset query cache;
|
||||
insert into t2 select * from t1;
|
||||
insert into t1 select * from t2;
|
||||
insert into t2 select * from t1;
|
||||
insert into t1 select * from t2;
|
||||
insert into t2 select * from t1;
|
||||
insert into t1 select * from t2;
|
||||
insert into t2 select * from t1;
|
||||
insert into t1 select * from t2;
|
||||
insert into t2 select * from t1;
|
||||
insert into t1 select * from t2;
|
||||
select * from t1;
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 0
|
||||
drop table t1,t2;
|
||||
create database mysqltest;
|
||||
create table mysqltest.t1 (i int not null auto_increment, a int, primary key (i));
|
||||
insert into mysqltest.t1 (a) values (1);
|
||||
select * from mysqltest.t1 where i is null;
|
||||
i a
|
||||
1 1
|
||||
create table t1(a int);
|
||||
select * from t1;
|
||||
a
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 2
|
||||
select * from mysqltest.t1;
|
||||
i a
|
||||
1 1
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 3
|
||||
drop database mysqltest;
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 1
|
||||
drop table t1;
|
||||
create table t1 (a char(1) not null collate koi8r_general_ci);
|
||||
insert into t1 values(_koi8r"<EFBFBD>");
|
||||
set CHARACTER SET koi8r;
|
||||
select * from t1;
|
||||
a
|
||||
<EFBFBD>
|
||||
set CHARACTER SET cp1251_koi8;
|
||||
select * from t1;
|
||||
a
|
||||
<EFBFBD>
|
||||
set CHARACTER SET DEFAULT;
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 2
|
||||
show status like "Qcache_hits";
|
||||
Variable_name Value
|
||||
Qcache_hits 4
|
||||
drop table t1;
|
||||
create database if not exists mysqltest;
|
||||
create table mysqltest.t1 (i int not null);
|
||||
create table t1 (i int not null);
|
||||
insert into mysqltest.t1 (i) values (1);
|
||||
insert into t1 (i) values (2);
|
||||
select * from t1;
|
||||
i
|
||||
2
|
||||
use mysqltest;
|
||||
select * from t1;
|
||||
i
|
||||
1
|
||||
select * from t1;
|
||||
i
|
||||
1
|
||||
use test;
|
||||
select * from t1;
|
||||
i
|
||||
2
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 2
|
||||
show status like "Qcache_hits";
|
||||
Variable_name Value
|
||||
Qcache_hits 6
|
||||
drop database mysqltest;
|
||||
drop table t1;
|
||||
create table t1 (i int not null);
|
||||
insert into t1 (i) values (1),(2),(3),(4);
|
||||
select SQL_CALC_FOUND_ROWS * from t1 limit 2;
|
||||
i
|
||||
1
|
||||
2
|
||||
select FOUND_ROWS();
|
||||
FOUND_ROWS()
|
||||
4
|
||||
show status like "Qcache_hits";
|
||||
Variable_name Value
|
||||
Qcache_hits 6
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 1
|
||||
select * from t1 where i=1;
|
||||
i
|
||||
1
|
||||
select FOUND_ROWS();
|
||||
FOUND_ROWS()
|
||||
1
|
||||
show status like "Qcache_hits";
|
||||
Variable_name Value
|
||||
Qcache_hits 6
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 2
|
||||
select SQL_CALC_FOUND_ROWS * from t1 limit 2;
|
||||
i
|
||||
1
|
||||
2
|
||||
select FOUND_ROWS();
|
||||
FOUND_ROWS()
|
||||
4
|
||||
show status like "Qcache_hits";
|
||||
Variable_name Value
|
||||
Qcache_hits 7
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 2
|
||||
select * from t1 where i=1;
|
||||
i
|
||||
1
|
||||
select FOUND_ROWS();
|
||||
FOUND_ROWS()
|
||||
1
|
||||
show status like "Qcache_hits";
|
||||
Variable_name Value
|
||||
Qcache_hits 8
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 2
|
||||
drop table t1;
|
||||
flush query cache;
|
||||
reset query cache;
|
||||
create table t1 (a int not null);
|
||||
insert into t1 values (1),(2),(3);
|
||||
select * from t1;
|
||||
a
|
||||
1
|
||||
2
|
||||
3
|
||||
select * from t1;
|
||||
a
|
||||
1
|
||||
2
|
||||
3
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 1
|
||||
insert delayed into t1 values (4);
|
||||
select a from t1;
|
||||
a
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 1
|
||||
drop table t1;
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 0
|
||||
show global variables like "query_cache_min_res_unit";
|
||||
Variable_name Value
|
||||
query_cache_min_res_unit 4096
|
||||
set GLOBAL query_cache_min_res_unit=1001;
|
||||
show global variables like "query_cache_min_res_unit";
|
||||
Variable_name Value
|
||||
query_cache_min_res_unit 1008
|
||||
create table t1 (a int not null);
|
||||
insert into t1 values (1),(2),(3);
|
||||
create table t2 (a int not null);
|
||||
insert into t2 values (1),(2),(3);
|
||||
select * from t1;
|
||||
a
|
||||
1
|
||||
2
|
||||
3
|
||||
select * from t1;
|
||||
a
|
||||
1
|
||||
2
|
||||
3
|
||||
select * from t2;
|
||||
a
|
||||
1
|
||||
2
|
||||
3
|
||||
select * from t2;
|
||||
a
|
||||
1
|
||||
2
|
||||
3
|
||||
show status like "Qcache_hits";
|
||||
Variable_name Value
|
||||
Qcache_hits 11
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 2
|
||||
drop table t1;
|
||||
select a from t2;
|
||||
a
|
||||
1
|
||||
2
|
||||
3
|
||||
select a from t2;
|
||||
a
|
||||
1
|
||||
2
|
||||
3
|
||||
show status like "Qcache_hits";
|
||||
Variable_name Value
|
||||
Qcache_hits 12
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 2
|
||||
drop table t2;
|
||||
set GLOBAL query_cache_min_res_unit=default;
|
||||
show global variables like "query_cache_min_res_unit";
|
||||
Variable_name Value
|
||||
query_cache_min_res_unit 4096
|
||||
create table t1 (a int not null);
|
||||
insert into t1 values (1);
|
||||
select "aaa" from t1;
|
||||
aaa
|
||||
aaa
|
||||
select "AAA" from t1;
|
||||
AAA
|
||||
AAA
|
||||
drop table t1;
|
||||
create table t1 (a int);
|
||||
set GLOBAL query_cache_size=1000;
|
||||
show global variables like "query_cache_size";
|
||||
Variable_name Value
|
||||
query_cache_size 0
|
||||
select * from t1;
|
||||
a
|
||||
set GLOBAL query_cache_size=1024;
|
||||
Warnings:
|
||||
Warning 1282 Query cache failed to set size 1024; new query cache size is 0
|
||||
show global variables like "query_cache_size";
|
||||
Variable_name Value
|
||||
query_cache_size 0
|
||||
select * from t1;
|
||||
a
|
||||
set GLOBAL query_cache_size=10240;
|
||||
Warnings:
|
||||
Warning 1282 Query cache failed to set size 10240; new query cache size is 0
|
||||
show global variables like "query_cache_size";
|
||||
Variable_name Value
|
||||
query_cache_size 0
|
||||
select * from t1;
|
||||
a
|
||||
set GLOBAL query_cache_size=20480;
|
||||
Warnings:
|
||||
Warning 1282 Query cache failed to set size 20480; new query cache size is 0
|
||||
show global variables like "query_cache_size";
|
||||
Variable_name Value
|
||||
query_cache_size 0
|
||||
select * from t1;
|
||||
a
|
||||
set GLOBAL query_cache_size=40960;
|
||||
Warnings:
|
||||
Warning 1282 Query cache failed to set size 40960; new query cache size is 0
|
||||
show global variables like "query_cache_size";
|
||||
Variable_name Value
|
||||
query_cache_size 0
|
||||
select * from t1;
|
||||
a
|
||||
set GLOBAL query_cache_size=51200;
|
||||
show global variables like "query_cache_size";
|
||||
Variable_name Value
|
||||
query_cache_size 51200
|
||||
select * from t1;
|
||||
a
|
||||
set GLOBAL query_cache_size=61440;
|
||||
show global variables like "query_cache_size";
|
||||
Variable_name Value
|
||||
query_cache_size 61440
|
||||
select * from t1;
|
||||
a
|
||||
set GLOBAL query_cache_size=81920;
|
||||
show global variables like "query_cache_size";
|
||||
Variable_name Value
|
||||
query_cache_size 81920
|
||||
select * from t1;
|
||||
a
|
||||
set GLOBAL query_cache_size=102400;
|
||||
show global variables like "query_cache_size";
|
||||
Variable_name Value
|
||||
query_cache_size 102400
|
||||
select * from t1;
|
||||
a
|
||||
drop table t1;
|
||||
set GLOBAL query_cache_size=1048576;
|
||||
create table t1 (i int not null);
|
||||
create table t2 (i int not null);
|
||||
select * from t1;
|
||||
i
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 1
|
||||
create temporary table t3 (i int not null);
|
||||
select * from t2;
|
||||
i
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 2
|
||||
select * from t3;
|
||||
i
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 2
|
||||
update t1 set i=(select distinct 1 from (select * from t2) a);
|
||||
drop table t1, t2, t3;
|
||||
use mysql;
|
||||
select * from db;
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 0
|
||||
use test;
|
||||
select * from mysql.db;
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 0
|
||||
create table t1(id int auto_increment primary key);
|
||||
insert into t1 values (NULL), (NULL), (NULL);
|
||||
select * from t1 where id=2;
|
||||
id
|
||||
2
|
||||
alter table t1 rename to t2;
|
||||
select * from t1 where id=2;
|
||||
ERROR 42S02: Table 'test.t1' doesn't exist
|
||||
drop table t2;
|
||||
select * from t1 where id=2;
|
||||
ERROR 42S02: Table 'test.t1' doesn't exist
|
||||
create table t1 (word char(20) not null);
|
||||
select * from t1;
|
||||
word
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 1
|
||||
load data infile 'TEST_DIR/std_data/words.dat' into table t1;
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 0
|
||||
select count(*) from t1;
|
||||
count(*)
|
||||
70
|
||||
drop table t1;
|
||||
create table t1 (a int);
|
||||
insert into t1 values (1),(2),(3);
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 0
|
||||
select * from t1 into outfile "query_cache.out.file";
|
||||
select * from t1 into outfile "query_cache.out.file";
|
||||
ERROR HY000: File 'query_cache.out.file' already exists
|
||||
select * from t1 limit 1 into dumpfile "query_cache.dump.file";
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 0
|
||||
drop table t1;
|
||||
create table t1 (a int);
|
||||
insert into t1 values (1),(2);
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 0
|
||||
select * from t1;
|
||||
a
|
||||
1
|
||||
2
|
||||
SET OPTION SQL_SELECT_LIMIT=1;
|
||||
select * from t1;
|
||||
a
|
||||
1
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 2
|
||||
SET OPTION SQL_SELECT_LIMIT=DEFAULT;
|
||||
drop table t1;
|
||||
flush query cache;
|
||||
reset query cache;
|
||||
flush status;
|
||||
set GLOBAL query_cache_size=1048576;
|
||||
create table t1 (a int not null);
|
||||
insert into t1 values (1),(2),(3);
|
||||
create table t2 (a text not null);
|
||||
create table t3 (a text not null);
|
||||
insert into t3 values("1111111111111111111111111111111111111111111111111111");
|
||||
insert into t2 select * from t3;
|
||||
insert into t3 select * from t2;
|
||||
insert into t2 select * from t3;
|
||||
insert into t3 select * from t2;
|
||||
insert into t2 select * from t3;
|
||||
insert into t3 select * from t2;
|
||||
insert into t2 select * from t3;
|
||||
insert into t3 select * from t2;
|
||||
insert into t2 select * from t3;
|
||||
insert into t3 select * from t2;
|
||||
drop table t2;
|
||||
create table t2 (a int not null);
|
||||
insert into t2 values (1),(2),(3);
|
||||
create table t4 (a int not null);
|
||||
insert into t4 values (1),(2),(3);
|
||||
select * from t4;
|
||||
select * from t2;
|
||||
select * from t1 as tt, t1 as ttt where tt.a=1 and ttt.a=2;
|
||||
select * from t2;
|
||||
select * from t4;
|
||||
select * from t1 as tt, t1 as ttt where tt.a=1 and ttt.a=2;
|
||||
select * from t2;
|
||||
select * from t4;
|
||||
select * from t1 as tt, t1 as ttt where tt.a=1 and ttt.a=2;
|
||||
delete from t2 where a=1;
|
||||
flush query cache;
|
||||
select * from t3;
|
||||
delete from t4 where a=1;
|
||||
flush query cache;
|
||||
drop table t1,t2,t3,t4;
|
||||
set query_cache_wlock_invalidate=1;
|
||||
create table t1 (a int not null);
|
||||
create table t2 (a int not null);
|
||||
select * from t1;
|
||||
a
|
||||
select * from t2;
|
||||
a
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 2
|
||||
lock table t1 write, t2 read;
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 1
|
||||
unlock table;
|
||||
drop table t1,t2;
|
||||
set query_cache_wlock_invalidate=default;
|
||||
SET NAMES koi8r;
|
||||
CREATE TABLE t1 (a char(1) character set koi8r);
|
||||
INSERT INTO t1 VALUES (_koi8r'<27>'),(_koi8r'<27>');
|
||||
SELECT a,'<27>','<27>'='<27>' FROM t1;
|
||||
a б 'Б'='б'
|
||||
<EFBFBD> <EFBFBD> 1
|
||||
<EFBFBD> <EFBFBD> 1
|
||||
show status like "Qcache_hits";
|
||||
Variable_name Value
|
||||
Qcache_hits 6
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 1
|
||||
set collation_connection=koi8r_bin;
|
||||
SELECT a,'<27>','<27>'='<27>' FROM t1;
|
||||
a б 'Б'='б'
|
||||
<EFBFBD> <EFBFBD> 0
|
||||
<EFBFBD> <EFBFBD> 0
|
||||
show status like "Qcache_hits";
|
||||
Variable_name Value
|
||||
Qcache_hits 6
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 2
|
||||
set character_set_client=cp1251;
|
||||
SELECT a,'<27>','<27>'='<27>' FROM t1;
|
||||
a В 'в'='В'
|
||||
<EFBFBD> <EFBFBD> 0
|
||||
<EFBFBD> <EFBFBD> 0
|
||||
show status like "Qcache_hits";
|
||||
Variable_name Value
|
||||
Qcache_hits 6
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 3
|
||||
set character_set_results=cp1251;
|
||||
SELECT a,'<27>','<27>'='<27>' FROM t1;
|
||||
a В 'в'='В'
|
||||
<EFBFBD> <EFBFBD> 0
|
||||
<EFBFBD> <EFBFBD> 0
|
||||
show status like "Qcache_hits";
|
||||
Variable_name Value
|
||||
Qcache_hits 6
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 4
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (a int(1));
|
||||
CREATE DATABASE mysqltest;
|
||||
USE mysqltest;
|
||||
DROP DATABASE mysqltest;
|
||||
SELECT * FROM test.t1;
|
||||
a
|
||||
USE test;
|
||||
DROP TABLE t1;
|
||||
set character_set_results=null;
|
||||
select @@character_set_results;
|
||||
@@character_set_results
|
||||
NULL
|
||||
set character_set_results=default;
|
||||
set GLOBAL query_cache_size=1355776;
|
||||
create table t1 (id int auto_increment primary key, c char(25));
|
||||
insert into t1 set c = repeat('x',24);
|
||||
insert into t1 set c = concat(repeat('x',24),'x');
|
||||
insert into t1 set c = concat(repeat('x',24),'w');
|
||||
insert into t1 set c = concat(repeat('x',24),'y');
|
||||
set max_sort_length=200;
|
||||
select c from t1 order by c, id;
|
||||
c
|
||||
xxxxxxxxxxxxxxxxxxxxxxxx
|
||||
xxxxxxxxxxxxxxxxxxxxxxxxw
|
||||
xxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
xxxxxxxxxxxxxxxxxxxxxxxxy
|
||||
reset query cache;
|
||||
set max_sort_length=20;
|
||||
select c from t1 order by c, id;
|
||||
c
|
||||
xxxxxxxxxxxxxxxxxxxxxxxx
|
||||
xxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
xxxxxxxxxxxxxxxxxxxxxxxxw
|
||||
xxxxxxxxxxxxxxxxxxxxxxxxy
|
||||
set max_sort_length=200;
|
||||
select c from t1 order by c, id;
|
||||
c
|
||||
xxxxxxxxxxxxxxxxxxxxxxxx
|
||||
xxxxxxxxxxxxxxxxxxxxxxxxw
|
||||
xxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
xxxxxxxxxxxxxxxxxxxxxxxxy
|
||||
set max_sort_length=default;
|
||||
select '1' || '3' from t1;
|
||||
'1' || '3'
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
set SQL_MODE=oracle;
|
||||
select '1' || '3' from t1;
|
||||
'1' || '3'
|
||||
13
|
||||
13
|
||||
13
|
||||
13
|
||||
set SQL_MODE=default;
|
||||
drop table t1;
|
||||
create table t1 (a varchar(20), b int);
|
||||
insert into t1 values ('12345678901234567890', 1);
|
||||
set group_concat_max_len=10;
|
||||
select group_concat(a) FROM t1 group by b;
|
||||
group_concat(a)
|
||||
1234567890
|
||||
set group_concat_max_len=1024;
|
||||
select group_concat(a) FROM t1 group by b;
|
||||
group_concat(a)
|
||||
12345678901234567890
|
||||
set group_concat_max_len=default;
|
||||
drop table t1;
|
||||
SET GLOBAL query_cache_size=0;
|
@ -546,4 +546,4 @@ count(*)
|
||||
select count(*) from t2 where x = 18446744073709551601;
|
||||
count(*)
|
||||
0
|
||||
drop table t1;
|
||||
drop table t1,t2;
|
||||
|
@ -1,5 +1,5 @@
|
||||
drop table if exists t0,t1,t2,t3,t4;
|
||||
drop table if exists t0,t5,t6,t7,t8,t9;
|
||||
drop table if exists t0,t5,t6,t7,t8,t9,t1_1,t1_2,t9_1,t9_2;
|
||||
create table t0 SELECT 1,"table 1";
|
||||
create table t2 SELECT 2,"table 2";
|
||||
create table t3 SELECT 3,"table 3";
|
||||
|
@ -41,6 +41,7 @@ show variables like "%auto%";
|
||||
Variable_name Value
|
||||
auto_increment_increment 100
|
||||
auto_increment_offset 10
|
||||
innodb_autoextend_increment 8
|
||||
create table t1 (a int not null auto_increment, primary key (a)) engine=myisam;
|
||||
insert into t1 values (NULL),(5),(NULL);
|
||||
insert into t1 values (250),(NULL);
|
||||
|
@ -198,4 +198,12 @@ CDF32C20E7E020F0FBE1E0EBEAF3 CDF32C20E7E020F0FBE1E0EBEAF3
|
||||
select hex(c1), hex(c2) from t1;
|
||||
hex(c1) hex(c2)
|
||||
CDF32C20E7E020F0FBE1E0EBEAF3 CDF32C20E7E020F0FBE1E0EBEAF3
|
||||
stop slave;
|
||||
delete from t1;
|
||||
change master to master_log_pos=6763;
|
||||
start slave until master_log_file='master-bin.000001', master_log_pos=6921;
|
||||
start slave;
|
||||
select hex(c1), hex(c2) from t1;
|
||||
hex(c1) hex(c2)
|
||||
CDF32C20E7E020F0FBE1E0EBEAF3 CDF32C20E7E020F0FBE1E0EBEAF3
|
||||
drop table t1;
|
||||
|
13
mysql-test/r/rpl_commit_after_flush.result
Normal file
13
mysql-test/r/rpl_commit_after_flush.result
Normal file
@ -0,0 +1,13 @@
|
||||
stop slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
reset master;
|
||||
reset slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
start slave;
|
||||
create table t1 (a int) engine=innodb;
|
||||
begin;
|
||||
insert into t1 values(1);
|
||||
flush tables with read lock;
|
||||
commit;
|
||||
unlock tables;
|
||||
drop table t1;
|
48
mysql-test/r/rpl_set_charset.result
Normal file
48
mysql-test/r/rpl_set_charset.result
Normal file
@ -0,0 +1,48 @@
|
||||
stop slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
reset master;
|
||||
reset slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
start slave;
|
||||
drop database if exists mysqltest1;
|
||||
create database mysqltest1 /*!40100 character set latin2 */;
|
||||
use mysqltest1;
|
||||
drop table if exists t1;
|
||||
create table t1 (a varchar(255) character set latin2, b varchar(4));
|
||||
SET CHARACTER SET cp1250_latin2;
|
||||
INSERT INTO t1 VALUES ('<27><><EFBFBD><EFBFBD><EFBFBD>','80');
|
||||
INSERT INTO t1 VALUES ('<27><><EFBFBD><EFBFBD><EFBFBD>','90');
|
||||
INSERT INTO t1 VALUES ('<27><><EFBFBD><EFBFBD>','A0');
|
||||
INSERT INTO t1 VALUES ('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','B0');
|
||||
INSERT INTO t1 VALUES ('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','C0');
|
||||
INSERT INTO t1 VALUES ('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','D0');
|
||||
INSERT INTO t1 VALUES ('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','E0');
|
||||
INSERT INTO t1 VALUES ('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','F0');
|
||||
select "--- on master ---";
|
||||
--- on master ---
|
||||
--- on master ---
|
||||
select hex(a),b from t1 order by b;
|
||||
hex(a) b
|
||||
A9A6ABAEAC 80
|
||||
B9B6BBBEBC 90
|
||||
A3A1AAAF A0
|
||||
B3B1BAA5B5BF B0
|
||||
C0C1C2C3C4C5C6C7C8C9CACBCCCDCECF C0
|
||||
D0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF D0
|
||||
E0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF E0
|
||||
F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF F0
|
||||
use mysqltest1;
|
||||
select "--- on slave ---";
|
||||
--- on slave ---
|
||||
--- on slave ---
|
||||
select hex(a),b from t1 order by b;
|
||||
hex(a) b
|
||||
A9A6ABAEAC 80
|
||||
B9B6BBBEBC 90
|
||||
A3A1AAAF A0
|
||||
B3B1BAA5B5BF B0
|
||||
C0C1C2C3C4C5C6C7C8C9CACBCCCDCECF C0
|
||||
D0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF D0
|
||||
E0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF E0
|
||||
F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF F0
|
||||
drop database mysqltest1;
|
@ -1,4 +1,5 @@
|
||||
drop table if exists t1,t2,t3,t4;
|
||||
drop table if exists t1_1,t1_2,t9_1,t9_2;
|
||||
drop view if exists v1;
|
||||
CREATE TABLE t1 (
|
||||
Period smallint(4) unsigned zerofill DEFAULT '0000' NOT NULL,
|
||||
@ -2316,3 +2317,19 @@ select * from t2,t3 where t2.s = t3.s;
|
||||
s s
|
||||
two two
|
||||
drop table t1, t2, t3;
|
||||
CREATE TABLE t1 (
|
||||
i int(11) NOT NULL default '0',
|
||||
c char(10) NOT NULL default '',
|
||||
PRIMARY KEY (i),
|
||||
UNIQUE KEY c (c)
|
||||
) ENGINE=MyISAM;
|
||||
INSERT INTO t1 VALUES (1,'a');
|
||||
INSERT INTO t1 VALUES (2,'b');
|
||||
INSERT INTO t1 VALUES (3,'c');
|
||||
EXPLAIN SELECT i FROM t1 WHERE i=1;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 const PRIMARY PRIMARY 4 const 1 Using index
|
||||
EXPLAIN SELECT i FROM t1 WHERE i=1;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 const PRIMARY PRIMARY 4 const 1 Using index
|
||||
DROP TABLE t1;
|
||||
|
2366
mysql-test/r/select.result.es
Normal file
2366
mysql-test/r/select.result.es
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,5 +1,8 @@
|
||||
drop table if exists t1,t2;
|
||||
drop database if exists mysqltest;
|
||||
delete from mysql.user where user='mysqltest_1' || user='mysqltest_2' || user='mysqltest_3';
|
||||
delete from mysql.db where user='mysqltest_1' || user='mysqltest_2' || user='mysqltest_3';
|
||||
flush privileges;
|
||||
create table t1 (a int not null primary key, b int not null,c int not null, key(b,c));
|
||||
insert into t1 values (1,2,2),(2,2,3),(3,2,4),(4,2,4);
|
||||
check table t1 fast;
|
||||
|
@ -85,6 +85,29 @@ t1 CREATE TABLE "t1" (
|
||||
UNIQUE KEY "email" ("email")
|
||||
)
|
||||
drop table t1;
|
||||
set session sql_mode = '';
|
||||
create table t1 ( min_num dec(6,6) default .000001);
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`min_num` decimal(7,6) default '0.000001'
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
drop table t1 ;
|
||||
set session sql_mode = 'IGNORE_SPACE';
|
||||
create table t1 ( min_num dec(6,6) default 0.000001);
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`min_num` decimal(7,6) default '0.000001'
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
drop table t1 ;
|
||||
create table t1 ( min_num dec(6,6) default .000001);
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`min_num` decimal(7,6) default '0.000001'
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
drop table t1 ;
|
||||
SET @OLD_SQL_MODE=@@SQL_MODE, @@SQL_MODE='';
|
||||
show local variables like 'SQL_MODE';
|
||||
Variable_name Value
|
||||
|
@ -55,7 +55,7 @@ SELECT 1 FROM (SELECT 1 as a) as b HAVING (SELECT a)=1;
|
||||
1
|
||||
1
|
||||
SELECT (SELECT 1), a;
|
||||
ERROR 42S22: Unknown column 'a' in 'checking transformed subquery'
|
||||
ERROR 42S22: Unknown column 'a' in 'field list'
|
||||
SELECT 1 as a FROM (SELECT 1) as b HAVING (SELECT a)=1;
|
||||
a
|
||||
1
|
||||
@ -176,17 +176,17 @@ a b
|
||||
a b
|
||||
1 7
|
||||
2 7
|
||||
3 8
|
||||
4 8
|
||||
3 8
|
||||
explain extended (select * from t2 where t2.b=(select a from t3 order by 1 desc limit 1)) union (select * from t4 where t4.b=(select max(t2.a)*4 from t2) order by a);
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY t2 ALL NULL NULL NULL NULL 2 Using where
|
||||
2 SUBQUERY t3 ALL NULL NULL NULL NULL 3 Using filesort
|
||||
3 UNION t4 ALL NULL NULL NULL NULL 3 Using where; Using filesort
|
||||
3 UNION t4 ALL NULL NULL NULL NULL 3 Using where
|
||||
4 SUBQUERY t2 ALL NULL NULL NULL NULL 2
|
||||
NULL UNION RESULT <union1,3> ALL NULL NULL NULL NULL NULL
|
||||
Warnings:
|
||||
Note 1003 (select `test`.`t2`.`a` AS `a`,`test`.`t2`.`b` AS `b` from `test`.`t2` where (`test`.`t2`.`b` = (select `test`.`t3`.`a` AS `a` from `test`.`t3` order by 1 desc limit 1))) union (select `test`.`t4`.`a` AS `a`,`test`.`t4`.`b` AS `b` from `test`.`t4` where (`test`.`t4`.`b` = (select (max(`test`.`t2`.`a`) * 4) AS `max(t2.a)*4` from `test`.`t2`)) order by `test`.`t4`.`a`)
|
||||
Note 1003 (select `test`.`t2`.`a` AS `a`,`test`.`t2`.`b` AS `b` from `test`.`t2` where (`test`.`t2`.`b` = (select `test`.`t3`.`a` AS `a` from `test`.`t3` order by 1 desc limit 1))) union (select `test`.`t4`.`a` AS `a`,`test`.`t4`.`b` AS `b` from `test`.`t4` where (`test`.`t4`.`b` = (select (max(`test`.`t2`.`a`) * 4) AS `max(t2.a)*4` from `test`.`t2`)) order by `a`)
|
||||
select (select a from t3 where a<t2.a*4 order by 1 desc limit 1), a from t2;
|
||||
(select a from t3 where a<t2.a*4 order by 1 desc limit 1) a
|
||||
3 1
|
||||
@ -1007,7 +1007,9 @@ drop table t1, t2;
|
||||
CREATE TABLE `t1` (`i` int(11) NOT NULL default '0',PRIMARY KEY (`i`)) ENGINE=MyISAM CHARSET=latin1;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
UPDATE t1 SET i=i+1 WHERE i=(SELECT MAX(i));
|
||||
ERROR HY000: Invalid use of group function
|
||||
select * from t1;
|
||||
i
|
||||
1
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (a int(1));
|
||||
EXPLAIN EXTENDED SELECT (SELECT RAND() FROM t1) FROM t1;
|
||||
@ -1194,11 +1196,12 @@ PRIMARY KEY (`i`)
|
||||
) ENGINE=MyISAM CHARSET=latin1;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
UPDATE t1 SET i=i+(SELECT MAX(i) FROM (SELECT 1) t) WHERE i=(SELECT MAX(i));
|
||||
ERROR HY000: Invalid use of group function
|
||||
UPDATE t1 SET i=i+1 WHERE i=(SELECT MAX(i));
|
||||
ERROR HY000: Invalid use of group function
|
||||
UPDATE t1 SET t.i=i+(SELECT MAX(i) FROM (SELECT 1) t);
|
||||
ERROR 42S02: Unknown table 't' in field list
|
||||
select * from t1;
|
||||
i
|
||||
1
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (
|
||||
id int(11) default NULL
|
||||
@ -1974,5 +1977,24 @@ howmanyvalues mycount
|
||||
3 3
|
||||
4 4
|
||||
SELECT a.howmanyvalues, (SELECT count(*) from t1 b where b.howmanyvalues = a.avalue) as mycount from t1 a group by a.howmanyvalues;
|
||||
ERROR 42S22: Unknown column 'a.avalue' in 'where clause'
|
||||
howmanyvalues mycount
|
||||
1 1
|
||||
2 1
|
||||
3 1
|
||||
4 1
|
||||
drop table t1;
|
||||
create table t1 (x int);
|
||||
select (select b.x from t1 as b where b.x=a.x) from t1 as a where a.x=2 group by a.x;
|
||||
(select b.x from t1 as b where b.x=a.x)
|
||||
drop table t1;
|
||||
CREATE TABLE `t1` ( `master` int(10) unsigned NOT NULL default '0', `map` smallint(6) unsigned NOT NULL default '0', `slave` int(10) unsigned NOT NULL default '0', `access` int(10) unsigned NOT NULL default '0', UNIQUE KEY `access_u` (`master`,`map`,`slave`));
|
||||
INSERT INTO `t1` VALUES (1,0,0,700),(1,1,1,400),(1,5,5,400),(1,12,12,400),(1,12,32,400),(4,12,32,400);
|
||||
CREATE TABLE `t2` ( `id` int(10) unsigned NOT NULL default '0', `pid` int(10) unsigned NOT NULL default '0', `map` smallint(6) unsigned NOT NULL default '0', `level` tinyint(4) unsigned NOT NULL default '0', `title` varchar(255) default NULL, PRIMARY KEY (`id`,`pid`,`map`), KEY `level` (`level`), KEY `id` (`id`,`map`)) ;
|
||||
INSERT INTO `t2` VALUES (6,5,12,7,'a'),(12,0,0,7,'a'),(12,1,0,7,'a'),(12,5,5,7,'a'),(12,5,12,7,'a');
|
||||
SELECT b.sc FROM (SELECT (SELECT a.access FROM t1 a WHERE a.map = op.map AND a.slave = op.pid AND a.master = 1) ac FROM t2 op WHERE op.id = 12 AND op.map = 0) b;
|
||||
ERROR 42S22: Unknown column 'b.sc' in 'field list'
|
||||
SELECT b.ac FROM (SELECT (SELECT a.access FROM t1 a WHERE a.map = op.map AND a.slave = op.pid AND a.master = 1) ac FROM t2 op WHERE op.id = 12 AND op.map = 0) b;
|
||||
ac
|
||||
700
|
||||
NULL
|
||||
drop tables t1,t2;
|
||||
|
@ -106,3 +106,11 @@ a b
|
||||
2 12
|
||||
4 105
|
||||
drop table t1, t2;
|
||||
CREATE TABLE `t1` ( `unit` varchar(50) NOT NULL default '', `ingredient` varchar(50) NOT NULL default '') ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
CREATE TABLE `t2` ( `ingredient` varchar(50) NOT NULL default '', `unit` varchar(50) NOT NULL default '', PRIMARY KEY (ingredient, unit)) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
INSERT INTO `t1` VALUES ('xx','yy');
|
||||
INSERT INTO `t2` VALUES ('yy','xx');
|
||||
SELECT R.unit, R.ingredient FROM t1 R WHERE R.ingredient IN (SELECT N.ingredient FROM t2 N WHERE N.unit = R.unit);
|
||||
unit ingredient
|
||||
xx yy
|
||||
drop table t1, t2;
|
||||
|
@ -251,3 +251,23 @@ select convert_tz(ts, @@time_zone, 'Japan') from t1;
|
||||
convert_tz(ts, @@time_zone, 'Japan')
|
||||
2001-09-09 10:46:40
|
||||
drop table t1;
|
||||
delete from mysql.user where user like 'mysqltest\_%';
|
||||
delete from mysql.db where user like 'mysqltest\_%';
|
||||
delete from mysql.tables_priv where user like 'mysqltest\_%';
|
||||
delete from mysql.columns_priv where user like 'mysqltest\_%';
|
||||
flush privileges;
|
||||
grant usage on mysqltest.* to mysqltest_1@localhost;
|
||||
show grants for current_user();
|
||||
Grants for mysqltest_1@localhost
|
||||
GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost'
|
||||
set time_zone= '+00:00';
|
||||
set time_zone= 'Europe/Moscow';
|
||||
select convert_tz('2004-10-21 19:00:00', 'Europe/Moscow', 'UTC');
|
||||
convert_tz('2004-10-21 19:00:00', 'Europe/Moscow', 'UTC')
|
||||
2004-10-21 15:00:00
|
||||
select * from mysql.time_zone_name;
|
||||
ERROR 42000: Access denied for user 'mysqltest_1'@'localhost' to database 'mysql'
|
||||
select Name, convert_tz('2004-10-21 19:00:00', Name, 'UTC') from mysql.time_zone_name;
|
||||
ERROR 42000: Access denied for user 'mysqltest_1'@'localhost' to database 'mysql'
|
||||
delete from mysql.user where user like 'mysqltest\_%';
|
||||
flush privileges;
|
||||
|
692
mysql-test/r/type_blob.result.es
Normal file
692
mysql-test/r/type_blob.result.es
Normal file
@ -0,0 +1,692 @@
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7;
|
||||
CREATE TABLE t1 (a blob, b text, c blob(250), d text(70000), e text(70000000));
|
||||
show columns from t1;
|
||||
Field Type Null Key Default Extra
|
||||
a blob YES NULL
|
||||
b text YES NULL
|
||||
c blob YES NULL
|
||||
d mediumtext YES NULL
|
||||
e longtext YES NULL
|
||||
CREATE TABLE t2 (a char(257), b varbinary(70000), c varchar(70000000));
|
||||
Warnings:
|
||||
Warning 1246 Converting column 'a' from CHAR to TEXT
|
||||
Warning 1246 Converting column 'b' from CHAR to BLOB
|
||||
Warning 1246 Converting column 'c' from CHAR to TEXT
|
||||
show columns from t2;
|
||||
Field Type Null Key Default Extra
|
||||
a text YES NULL
|
||||
b mediumblob YES NULL
|
||||
c longtext YES NULL
|
||||
create table t3 (a long, b long byte);
|
||||
show create TABLE t3;
|
||||
Table Create Table
|
||||
t3 CREATE TABLE `t3` (
|
||||
`a` mediumtext,
|
||||
`b` mediumblob
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
drop table t1,t2,t3
|
||||
#;
|
||||
CREATE TABLE t1 (a char(257) default "hello");
|
||||
ERROR 42000: Column length too big for column 'a' (max = 255); use BLOB instead
|
||||
CREATE TABLE t2 (a blob default "hello");
|
||||
ERROR 42000: BLOB/TEXT column 'a' can't have a default value
|
||||
drop table if exists t1,t2;
|
||||
create table t1 (nr int(5) not null auto_increment,b blob,str char(10), primary key (nr));
|
||||
insert into t1 values (null,"a","A");
|
||||
insert into t1 values (null,"bbb","BBB");
|
||||
insert into t1 values (null,"ccc","CCC");
|
||||
select last_insert_id();
|
||||
last_insert_id()
|
||||
3
|
||||
select * from t1,t1 as t2;
|
||||
nr b str nr b str
|
||||
1 a A 1 a A
|
||||
2 bbb BBB 1 a A
|
||||
3 ccc CCC 1 a A
|
||||
1 a A 2 bbb BBB
|
||||
2 bbb BBB 2 bbb BBB
|
||||
3 ccc CCC 2 bbb BBB
|
||||
1 a A 3 ccc CCC
|
||||
2 bbb BBB 3 ccc CCC
|
||||
3 ccc CCC 3 ccc CCC
|
||||
drop table t1;
|
||||
create table t1 (a text);
|
||||
insert into t1 values ('where');
|
||||
update t1 set a='Where';
|
||||
select * from t1;
|
||||
a
|
||||
Where
|
||||
drop table t1;
|
||||
create table t1 (t text,c char(10),b blob, d binary(10));
|
||||
insert into t1 values (NULL,NULL,NULL,NULL);
|
||||
insert into t1 values ("","","","");
|
||||
insert into t1 values ("hello","hello","hello","hello");
|
||||
insert into t1 values ("HELLO","HELLO","HELLO","HELLO");
|
||||
insert into t1 values ("HELLO MY","HELLO MY","HELLO MY","HELLO MY");
|
||||
insert into t1 values ("a","a","a","a");
|
||||
insert into t1 values (1,1,1,1);
|
||||
insert into t1 values (NULL,NULL,NULL,NULL);
|
||||
update t1 set c="",b=null where c="1";
|
||||
lock tables t1 READ;
|
||||
show full fields from t1;
|
||||
Field Type Collation Null Key Default Extra Privileges Comment
|
||||
t text latin1_swedish_ci YES NULL
|
||||
c varchar(10) latin1_swedish_ci YES NULL
|
||||
b blob NULL YES NULL
|
||||
d varbinary(10) NULL YES NULL
|
||||
lock tables t1 WRITE;
|
||||
show full fields from t1;
|
||||
Field Type Collation Null Key Default Extra Privileges Comment
|
||||
t text latin1_swedish_ci YES NULL
|
||||
c varchar(10) latin1_swedish_ci YES NULL
|
||||
b blob NULL YES NULL
|
||||
d varbinary(10) NULL YES NULL
|
||||
unlock tables;
|
||||
select t from t1 where t like "hello";
|
||||
t
|
||||
hello
|
||||
HELLO
|
||||
select c from t1 where c like "hello";
|
||||
c
|
||||
hello
|
||||
HELLO
|
||||
select b from t1 where b like "hello";
|
||||
b
|
||||
hello
|
||||
select d from t1 where d like "hello";
|
||||
d
|
||||
hello
|
||||
select c from t1 having c like "hello";
|
||||
c
|
||||
hello
|
||||
HELLO
|
||||
select d from t1 having d like "hello";
|
||||
d
|
||||
hello
|
||||
select t from t1 where t like "%HELLO%";
|
||||
t
|
||||
hello
|
||||
HELLO
|
||||
HELLO MY
|
||||
select c from t1 where c like "%HELLO%";
|
||||
c
|
||||
hello
|
||||
HELLO
|
||||
HELLO MY
|
||||
select b from t1 where b like "%HELLO%";
|
||||
b
|
||||
HELLO
|
||||
HELLO MY
|
||||
select d from t1 where d like "%HELLO%";
|
||||
d
|
||||
HELLO
|
||||
HELLO MY
|
||||
select c from t1 having c like "%HELLO%";
|
||||
c
|
||||
hello
|
||||
HELLO
|
||||
HELLO MY
|
||||
select d from t1 having d like "%HELLO%";
|
||||
d
|
||||
HELLO
|
||||
HELLO MY
|
||||
select d from t1 having d like "%HE%LLO%";
|
||||
d
|
||||
HELLO
|
||||
HELLO MY
|
||||
select t from t1 order by t;
|
||||
t
|
||||
NULL
|
||||
NULL
|
||||
|
||||
1
|
||||
a
|
||||
hello
|
||||
HELLO
|
||||
HELLO MY
|
||||
select c from t1 order by c;
|
||||
c
|
||||
NULL
|
||||
NULL
|
||||
|
||||
|
||||
a
|
||||
hello
|
||||
HELLO
|
||||
HELLO MY
|
||||
select b from t1 order by b;
|
||||
b
|
||||
NULL
|
||||
NULL
|
||||
NULL
|
||||
|
||||
HELLO
|
||||
HELLO MY
|
||||
a
|
||||
hello
|
||||
select d from t1 order by d;
|
||||
d
|
||||
NULL
|
||||
NULL
|
||||
|
||||
1
|
||||
HELLO
|
||||
HELLO MY
|
||||
a
|
||||
hello
|
||||
select distinct t from t1;
|
||||
t
|
||||
NULL
|
||||
|
||||
hello
|
||||
HELLO MY
|
||||
a
|
||||
1
|
||||
select distinct b from t1;
|
||||
b
|
||||
NULL
|
||||
|
||||
hello
|
||||
HELLO
|
||||
HELLO MY
|
||||
a
|
||||
select distinct t from t1 order by t;
|
||||
t
|
||||
NULL
|
||||
|
||||
1
|
||||
a
|
||||
hello
|
||||
HELLO MY
|
||||
select distinct b from t1 order by b;
|
||||
b
|
||||
NULL
|
||||
|
||||
HELLO
|
||||
HELLO MY
|
||||
a
|
||||
hello
|
||||
select t from t1 group by t;
|
||||
t
|
||||
NULL
|
||||
|
||||
1
|
||||
a
|
||||
hello
|
||||
HELLO MY
|
||||
select b from t1 group by b;
|
||||
b
|
||||
NULL
|
||||
|
||||
HELLO
|
||||
HELLO MY
|
||||
a
|
||||
hello
|
||||
set option sql_big_tables=1;
|
||||
select distinct t from t1;
|
||||
t
|
||||
NULL
|
||||
|
||||
hello
|
||||
HELLO MY
|
||||
a
|
||||
1
|
||||
select distinct b from t1;
|
||||
b
|
||||
NULL
|
||||
|
||||
hello
|
||||
HELLO
|
||||
HELLO MY
|
||||
a
|
||||
select distinct t from t1 order by t;
|
||||
t
|
||||
NULL
|
||||
|
||||
1
|
||||
a
|
||||
hello
|
||||
HELLO MY
|
||||
select distinct b from t1 order by b;
|
||||
b
|
||||
NULL
|
||||
|
||||
HELLO
|
||||
HELLO MY
|
||||
a
|
||||
hello
|
||||
select distinct c from t1;
|
||||
c
|
||||
NULL
|
||||
|
||||
hello
|
||||
HELLO MY
|
||||
a
|
||||
select distinct d from t1;
|
||||
d
|
||||
NULL
|
||||
|
||||
hello
|
||||
HELLO
|
||||
HELLO MY
|
||||
a
|
||||
1
|
||||
select distinct c from t1 order by c;
|
||||
c
|
||||
NULL
|
||||
|
||||
a
|
||||
hello
|
||||
HELLO MY
|
||||
select distinct d from t1 order by d;
|
||||
d
|
||||
NULL
|
||||
|
||||
1
|
||||
HELLO
|
||||
HELLO MY
|
||||
a
|
||||
hello
|
||||
select c from t1 group by c;
|
||||
c
|
||||
NULL
|
||||
|
||||
a
|
||||
hello
|
||||
HELLO MY
|
||||
select d from t1 group by d;
|
||||
d
|
||||
NULL
|
||||
|
||||
1
|
||||
HELLO
|
||||
HELLO MY
|
||||
a
|
||||
hello
|
||||
set option sql_big_tables=0;
|
||||
select distinct * from t1;
|
||||
t c b d
|
||||
NULL NULL NULL NULL
|
||||
|
||||
hello hello hello hello
|
||||
HELLO HELLO HELLO HELLO
|
||||
HELLO MY HELLO MY HELLO MY HELLO MY
|
||||
a a a a
|
||||
1 NULL 1
|
||||
select t,count(*) from t1 group by t;
|
||||
t count(*)
|
||||
NULL 2
|
||||
1
|
||||
1 1
|
||||
a 1
|
||||
hello 2
|
||||
HELLO MY 1
|
||||
select b,count(*) from t1 group by b;
|
||||
b count(*)
|
||||
NULL 3
|
||||
1
|
||||
HELLO 1
|
||||
HELLO MY 1
|
||||
a 1
|
||||
hello 1
|
||||
select c,count(*) from t1 group by c;
|
||||
c count(*)
|
||||
NULL 2
|
||||
2
|
||||
a 1
|
||||
hello 2
|
||||
HELLO MY 1
|
||||
select d,count(*) from t1 group by d;
|
||||
d count(*)
|
||||
NULL 2
|
||||
1
|
||||
1 1
|
||||
HELLO 1
|
||||
HELLO MY 1
|
||||
a 1
|
||||
hello 1
|
||||
drop table t1;
|
||||
create table t1 (a text, unique (a(2100)));
|
||||
ERROR 42000: Specified key was too long; max key length is 1000 bytes
|
||||
create table t1 (a text, key (a(2100)));
|
||||
Warnings:
|
||||
Warning 1071 Specified key was too long; max key length is 1000 bytes
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` text,
|
||||
KEY `a` (`a`(1000))
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (
|
||||
t1_id bigint(21) NOT NULL auto_increment,
|
||||
_field_72 varchar(128) DEFAULT '' NOT NULL,
|
||||
_field_95 varchar(32),
|
||||
_field_115 tinyint(4) DEFAULT '0' NOT NULL,
|
||||
_field_122 tinyint(4) DEFAULT '0' NOT NULL,
|
||||
_field_126 tinyint(4),
|
||||
_field_134 tinyint(4),
|
||||
PRIMARY KEY (t1_id),
|
||||
UNIQUE _field_72 (_field_72),
|
||||
KEY _field_115 (_field_115),
|
||||
KEY _field_122 (_field_122)
|
||||
);
|
||||
INSERT INTO t1 VALUES (1,'admin','21232f297a57a5a743894a0e4a801fc3',0,1,NULL,NULL);
|
||||
INSERT INTO t1 VALUES (2,'hroberts','7415275a8c95952901e42b13a6b78566',0,1,NULL,NULL);
|
||||
INSERT INTO t1 VALUES (3,'guest','d41d8cd98f00b204e9800998ecf8427e',1,0,NULL,NULL);
|
||||
CREATE TABLE t2 (
|
||||
seq_0_id bigint(21) DEFAULT '0' NOT NULL,
|
||||
seq_1_id bigint(21) DEFAULT '0' NOT NULL,
|
||||
PRIMARY KEY (seq_0_id,seq_1_id)
|
||||
);
|
||||
INSERT INTO t2 VALUES (1,1);
|
||||
INSERT INTO t2 VALUES (2,1);
|
||||
INSERT INTO t2 VALUES (2,2);
|
||||
CREATE TABLE t3 (
|
||||
t3_id bigint(21) NOT NULL auto_increment,
|
||||
_field_131 varchar(128),
|
||||
_field_133 tinyint(4) DEFAULT '0' NOT NULL,
|
||||
_field_135 datetime DEFAULT '0000-00-00 00:00:00' NOT NULL,
|
||||
_field_137 tinyint(4),
|
||||
_field_139 datetime DEFAULT '0000-00-00 00:00:00' NOT NULL,
|
||||
_field_140 blob,
|
||||
_field_142 tinyint(4) DEFAULT '0' NOT NULL,
|
||||
_field_145 tinyint(4) DEFAULT '0' NOT NULL,
|
||||
_field_148 tinyint(4) DEFAULT '0' NOT NULL,
|
||||
PRIMARY KEY (t3_id),
|
||||
KEY _field_133 (_field_133),
|
||||
KEY _field_135 (_field_135),
|
||||
KEY _field_139 (_field_139),
|
||||
KEY _field_142 (_field_142),
|
||||
KEY _field_145 (_field_145),
|
||||
KEY _field_148 (_field_148)
|
||||
);
|
||||
INSERT INTO t3 VALUES (1,'test job 1',0,'0000-00-00 00:00:00',0,'1999-02-25 22:43:32','test\r\njob\r\n1',0,0,0);
|
||||
INSERT INTO t3 VALUES (2,'test job 2',0,'0000-00-00 00:00:00',0,'1999-02-26 21:08:04','',0,0,0);
|
||||
CREATE TABLE t4 (
|
||||
seq_0_id bigint(21) DEFAULT '0' NOT NULL,
|
||||
seq_1_id bigint(21) DEFAULT '0' NOT NULL,
|
||||
PRIMARY KEY (seq_0_id,seq_1_id)
|
||||
);
|
||||
INSERT INTO t4 VALUES (1,1);
|
||||
INSERT INTO t4 VALUES (2,1);
|
||||
CREATE TABLE t5 (
|
||||
t5_id bigint(21) NOT NULL auto_increment,
|
||||
_field_149 tinyint(4),
|
||||
_field_156 varchar(128) DEFAULT '' NOT NULL,
|
||||
_field_157 varchar(128) DEFAULT '' NOT NULL,
|
||||
_field_158 varchar(128) DEFAULT '' NOT NULL,
|
||||
_field_159 varchar(128) DEFAULT '' NOT NULL,
|
||||
_field_160 varchar(128) DEFAULT '' NOT NULL,
|
||||
_field_161 varchar(128) DEFAULT '' NOT NULL,
|
||||
PRIMARY KEY (t5_id),
|
||||
KEY _field_156 (_field_156),
|
||||
KEY _field_157 (_field_157),
|
||||
KEY _field_158 (_field_158),
|
||||
KEY _field_159 (_field_159),
|
||||
KEY _field_160 (_field_160),
|
||||
KEY _field_161 (_field_161)
|
||||
);
|
||||
INSERT INTO t5 VALUES (1,0,'tomato','','','','','');
|
||||
INSERT INTO t5 VALUES (2,0,'cilantro','','','','','');
|
||||
CREATE TABLE t6 (
|
||||
seq_0_id bigint(21) DEFAULT '0' NOT NULL,
|
||||
seq_1_id bigint(21) DEFAULT '0' NOT NULL,
|
||||
PRIMARY KEY (seq_0_id,seq_1_id)
|
||||
);
|
||||
INSERT INTO t6 VALUES (1,1);
|
||||
INSERT INTO t6 VALUES (1,2);
|
||||
INSERT INTO t6 VALUES (2,2);
|
||||
CREATE TABLE t7 (
|
||||
t7_id bigint(21) NOT NULL auto_increment,
|
||||
_field_143 tinyint(4),
|
||||
_field_165 varchar(32),
|
||||
_field_166 smallint(6) DEFAULT '0' NOT NULL,
|
||||
PRIMARY KEY (t7_id),
|
||||
KEY _field_166 (_field_166)
|
||||
);
|
||||
INSERT INTO t7 VALUES (1,0,'High',1);
|
||||
INSERT INTO t7 VALUES (2,0,'Medium',2);
|
||||
INSERT INTO t7 VALUES (3,0,'Low',3);
|
||||
select replace(t3._field_140, "\r","^M"),t3_id,min(t3._field_131), min(t3._field_135), min(t3._field_139), min(t3._field_137), min(link_alias_142._field_165), min(link_alias_133._field_72), min(t3._field_145), min(link_alias_148._field_156), replace(min(t3._field_140), "\r","^M"),t3.t3_id from t3 left join t4 on t4.seq_0_id = t3.t3_id left join t7 link_alias_142 on t4.seq_1_id = link_alias_142.t7_id left join t6 on t6.seq_0_id = t3.t3_id left join t1 link_alias_133 on t6.seq_1_id = link_alias_133.t1_id left join t2 on t2.seq_0_id = t3.t3_id left join t5 link_alias_148 on t2.seq_1_id = link_alias_148.t5_id where t3.t3_id in (1) group by t3.t3_id order by link_alias_142._field_166, _field_139, link_alias_133._field_72, _field_135, link_alias_148._field_156;
|
||||
replace(t3._field_140, "\r","^M") t3_id min(t3._field_131) min(t3._field_135) min(t3._field_139) min(t3._field_137) min(link_alias_142._field_165) min(link_alias_133._field_72) min(t3._field_145) min(link_alias_148._field_156) replace(min(t3._field_140), "\r","^M") t3_id
|
||||
test^M
|
||||
job^M
|
||||
1 1 test job 1 0000-00-00 00:00:00 1999-02-25 22:43:32 0 High admin 0 tomato test^M
|
||||
job^M
|
||||
1 1
|
||||
drop table t1,t2,t3,t4,t5,t6,t7;
|
||||
create table t1 (a blob);
|
||||
insert into t1 values ("empty"),("");
|
||||
select a,reverse(a) from t1;
|
||||
a reverse(a)
|
||||
empty ytpme
|
||||
|
||||
drop table t1;
|
||||
create table t1 (a blob, key (a(10)));
|
||||
insert into t1 values ("bye"),("hello"),("hello"),("hello word");
|
||||
select * from t1 where a like "hello%";
|
||||
a
|
||||
hello
|
||||
hello
|
||||
hello word
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (
|
||||
f1 int(11) DEFAULT '0' NOT NULL,
|
||||
f2 varchar(16) DEFAULT '' NOT NULL,
|
||||
f5 text,
|
||||
KEY index_name (f1,f2,f5(16))
|
||||
);
|
||||
INSERT INTO t1 VALUES (0,'traktor','1111111111111');
|
||||
INSERT INTO t1 VALUES (1,'traktor','1111111111111111111111111');
|
||||
select count(*) from t1 where f2='traktor';
|
||||
count(*)
|
||||
2
|
||||
drop table t1;
|
||||
create table t1 (foobar tinyblob not null, boggle smallint not null, key (foobar(32), boggle));
|
||||
insert into t1 values ('fish', 10),('bear', 20);
|
||||
select foobar, boggle from t1 where foobar = 'fish';
|
||||
foobar boggle
|
||||
fish 10
|
||||
select foobar, boggle from t1 where foobar = 'fish' and boggle = 10;
|
||||
foobar boggle
|
||||
fish 10
|
||||
drop table t1;
|
||||
create table t1 (id integer auto_increment unique,imagem LONGBLOB not null);
|
||||
insert into t1 (id) values (1);
|
||||
select
|
||||
charset(load_file('../../std_data/words.dat')),
|
||||
collation(load_file('../../std_data/words.dat')),
|
||||
coercibility(load_file('../../std_data/words.dat'));
|
||||
charset(load_file('../../std_data/words.dat')) collation(load_file('../../std_data/words.dat')) coercibility(load_file('../../std_data/words.dat'))
|
||||
NULL NULL 3
|
||||
explain extended select
|
||||
charset(load_file('../../std_data/words.dat')),
|
||||
collation(load_file('../../std_data/words.dat')),
|
||||
coercibility(load_file('../../std_data/words.dat'));
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
|
||||
Warnings:
|
||||
Note 1003 select sql_no_cache charset(load_file(_latin1'../../std_data/words.dat')) AS `charset(load_file('../../std_data/words.dat'))`,collation(load_file(_latin1'../../std_data/words.dat')) AS `collation(load_file('../../std_data/words.dat'))`,coercibility(load_file(_latin1'../../std_data/words.dat')) AS `coercibility(load_file('../../std_data/words.dat'))`
|
||||
update t1 set imagem=load_file('../../std_data/words.dat') where id=1;
|
||||
Warnings:
|
||||
Warning 1263 Data truncated; NULL supplied to NOT NULL column 'imagem' at row 1
|
||||
select if(imagem is null, "ERROR", "OK"),length(imagem) from t1 where id = 1;
|
||||
if(imagem is null, "ERROR", "OK") length(imagem)
|
||||
OK 0
|
||||
drop table t1;
|
||||
create table t1 select load_file('../../std_data/words.dat');
|
||||
show full fields from t1;
|
||||
Field Type Collation Null Key Default Extra Privileges Comment
|
||||
load_file('../../std_data/words.dat') longblob NULL YES NULL
|
||||
drop table t1;
|
||||
create table t1 (id integer primary key auto_increment, txt text not null, unique index txt_index (txt (20)));
|
||||
insert into t1 (txt) values ('Chevy'), ('Chevy ');
|
||||
select * from t1 where txt='Chevy';
|
||||
id txt
|
||||
1 Chevy
|
||||
2 Chevy
|
||||
select * from t1 where txt='Chevy ';
|
||||
id txt
|
||||
1 Chevy
|
||||
2 Chevy
|
||||
select * from t1 where txt='Chevy ' or txt='Chevy';
|
||||
id txt
|
||||
1 Chevy
|
||||
2 Chevy
|
||||
select * from t1 where txt='Chevy' or txt='Chevy ';
|
||||
id txt
|
||||
1 Chevy
|
||||
2 Chevy
|
||||
select * from t1 where id='1' or id='2';
|
||||
id txt
|
||||
1 Chevy
|
||||
2 Chevy
|
||||
insert into t1 (txt) values('Ford');
|
||||
select * from t1 where txt='Chevy' or txt='Chevy ' or txt='Ford';
|
||||
id txt
|
||||
1 Chevy
|
||||
2 Chevy
|
||||
3 Ford
|
||||
select * from t1 where txt='Chevy' or txt='Chevy ';
|
||||
id txt
|
||||
1 Chevy
|
||||
2 Chevy
|
||||
select * from t1 where txt='Chevy' or txt='Chevy ' or txt=' Chevy';
|
||||
id txt
|
||||
1 Chevy
|
||||
2 Chevy
|
||||
select * from t1 where txt in ('Chevy ','Chevy');
|
||||
id txt
|
||||
1 Chevy
|
||||
2 Chevy
|
||||
select * from t1 where txt in ('Chevy');
|
||||
id txt
|
||||
1 Chevy
|
||||
2 Chevy
|
||||
select * from t1 where txt between 'Chevy' and 'Chevy';
|
||||
id txt
|
||||
1 Chevy
|
||||
2 Chevy
|
||||
select * from t1 where txt between 'Chevy' and 'Chevy' or txt='Chevy ';
|
||||
id txt
|
||||
1 Chevy
|
||||
2 Chevy
|
||||
select * from t1 where txt between 'Chevy' and 'Chevy ';
|
||||
id txt
|
||||
1 Chevy
|
||||
2 Chevy
|
||||
select * from t1 where txt < 'Chevy ';
|
||||
id txt
|
||||
select * from t1 where txt <= 'Chevy';
|
||||
id txt
|
||||
1 Chevy
|
||||
2 Chevy
|
||||
select * from t1 where txt > 'Chevy';
|
||||
id txt
|
||||
3 Ford
|
||||
select * from t1 where txt >= 'Chevy';
|
||||
id txt
|
||||
1 Chevy
|
||||
2 Chevy
|
||||
3 Ford
|
||||
drop table t1;
|
||||
create table t1 (id integer primary key auto_increment, txt text, unique index txt_index (txt (20)));
|
||||
insert into t1 (txt) values ('Chevy'), ('Chevy '), (NULL);
|
||||
select * from t1 where txt='Chevy' or txt is NULL;
|
||||
id txt
|
||||
3 NULL
|
||||
1 Chevy
|
||||
2 Chevy
|
||||
explain select * from t1 where txt='Chevy' or txt is NULL;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 range txt_index txt_index 23 NULL 2 Using where
|
||||
select * from t1 where txt='Chevy ';
|
||||
id txt
|
||||
1 Chevy
|
||||
2 Chevy
|
||||
select * from t1 where txt='Chevy ' or txt='Chevy';
|
||||
id txt
|
||||
1 Chevy
|
||||
2 Chevy
|
||||
select * from t1 where txt='Chevy' or txt='Chevy ';
|
||||
id txt
|
||||
1 Chevy
|
||||
2 Chevy
|
||||
select * from t1 where id='1' or id='2';
|
||||
id txt
|
||||
1 Chevy
|
||||
2 Chevy
|
||||
insert into t1 (txt) values('Ford');
|
||||
select * from t1 where txt='Chevy' or txt='Chevy ' or txt='Ford';
|
||||
id txt
|
||||
1 Chevy
|
||||
2 Chevy
|
||||
4 Ford
|
||||
select * from t1 where txt='Chevy' or txt='Chevy ';
|
||||
id txt
|
||||
1 Chevy
|
||||
2 Chevy
|
||||
select * from t1 where txt='Chevy' or txt='Chevy ' or txt=' Chevy';
|
||||
id txt
|
||||
1 Chevy
|
||||
2 Chevy
|
||||
select * from t1 where txt in ('Chevy ','Chevy');
|
||||
id txt
|
||||
1 Chevy
|
||||
2 Chevy
|
||||
select * from t1 where txt in ('Chevy');
|
||||
id txt
|
||||
1 Chevy
|
||||
2 Chevy
|
||||
select * from t1 where txt between 'Chevy' and 'Chevy';
|
||||
id txt
|
||||
1 Chevy
|
||||
2 Chevy
|
||||
select * from t1 where txt between 'Chevy' and 'Chevy' or txt='Chevy ';
|
||||
id txt
|
||||
1 Chevy
|
||||
2 Chevy
|
||||
select * from t1 where txt between 'Chevy' and 'Chevy ';
|
||||
id txt
|
||||
1 Chevy
|
||||
2 Chevy
|
||||
select * from t1 where txt < 'Chevy ';
|
||||
id txt
|
||||
select * from t1 where txt < 'Chevy ' or txt is NULL;
|
||||
id txt
|
||||
3 NULL
|
||||
select * from t1 where txt <= 'Chevy';
|
||||
id txt
|
||||
1 Chevy
|
||||
2 Chevy
|
||||
select * from t1 where txt > 'Chevy';
|
||||
id txt
|
||||
4 Ford
|
||||
select * from t1 where txt >= 'Chevy';
|
||||
id txt
|
||||
1 Chevy
|
||||
2 Chevy
|
||||
4 Ford
|
||||
alter table t1 modify column txt blob;
|
||||
explain select * from t1 where txt='Chevy' or txt is NULL;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ref_or_null txt_index txt_index 23 const 2 Using where
|
||||
select * from t1 where txt='Chevy' or txt is NULL;
|
||||
id txt
|
||||
1 Chevy
|
||||
3 NULL
|
||||
explain select * from t1 where txt='Chevy' or txt is NULL order by txt;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ref_or_null txt_index txt_index 23 const 2 Using where; Using filesort
|
||||
select * from t1 where txt='Chevy' or txt is NULL order by txt;
|
||||
id txt
|
||||
3 NULL
|
||||
1 Chevy
|
||||
drop table t1;
|
||||
CREATE TABLE t1 ( i int(11) NOT NULL default '0', c text NOT NULL, PRIMARY KEY (i), KEY (c(1),c(1)));
|
||||
INSERT t1 VALUES (1,''),(2,''),(3,'asdfh'),(4,'');
|
||||
select max(i) from t1 where c = '';
|
||||
max(i)
|
||||
4
|
||||
drop table t1;
|
@ -1661,3 +1661,35 @@ t1 CREATE TABLE `t1` (
|
||||
`a` enum('<27>','1','2') NOT NULL default '<27>'
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
drop table t1;
|
||||
set names latin1;
|
||||
CREATE TABLE t1 (
|
||||
a INT default 1,
|
||||
b ENUM('value','<27><><EFBFBD>_value','<27><><EFBFBD>') character set latin1 NOT NULL
|
||||
);
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` int(11) default '1',
|
||||
`b` enum('value','<27><><EFBFBD>_value','<27><><EFBFBD>') NOT NULL default 'value'
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
show columns from t1;
|
||||
Field Type Null Key Default Extra
|
||||
a int(11) YES 1
|
||||
b enum('value','<27><><EFBFBD>_value','<27><><EFBFBD>') value
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (c enum('a', 'A') BINARY);
|
||||
INSERT INTO t1 VALUES ('a'),('A');
|
||||
SELECT * FROM t1;
|
||||
c
|
||||
a
|
||||
A
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (c enum('ae','oe','ue','ss') collate latin1_german2_ci);
|
||||
INSERT INTO t1 VALUES ('<27>'),('<27>'),('<27>'),('<27>');
|
||||
SELECT * FROM t1;
|
||||
c
|
||||
ae
|
||||
oe
|
||||
ue
|
||||
ss
|
||||
DROP TABLE t1;
|
||||
|
@ -137,6 +137,8 @@ t1 CREATE TABLE `t1` (
|
||||
drop table t1;
|
||||
create table t1 (c20 char);
|
||||
insert into t1 values (5000.0);
|
||||
Warnings:
|
||||
Warning 1265 Data truncated for column 'c20' at row 1
|
||||
drop table t1;
|
||||
create table t1 (f float(54));
|
||||
ERROR 42000: Incorrect column specifier for column 'f'
|
||||
|
143
mysql-test/r/type_float.result.es
Normal file
143
mysql-test/r/type_float.result.es
Normal file
@ -0,0 +1,143 @@
|
||||
drop table if exists t1;
|
||||
SELECT 10,10.0,10.,.1e+2,100.0e-1;
|
||||
10 10.0 10. .1e+2 100.0e-1
|
||||
10 10.0 10 10 10
|
||||
SELECT 6e-05, -6e-05, --6e-05, -6e-05+1.000000;
|
||||
6e-05 -6e-05 --6e-05 -6e-05+1.000000
|
||||
6e-05 -6e-05 6e-05 0.99994
|
||||
SELECT 1e1,1.e1,1.0e1,1e+1,1.e+1,1.0e+1,1e-1,1.e-1,1.0e-1;
|
||||
1e1 1.e1 1.0e1 1e+1 1.e+1 1.0e+1 1e-1 1.e-1 1.0e-1
|
||||
10 10 10 10 10 10 0.1 0.1 0.1
|
||||
create table t1 (f1 float(24),f2 float(52));
|
||||
show full columns from t1;
|
||||
Field Type Collation Null Key Default Extra Privileges Comment
|
||||
f1 float NULL YES NULL
|
||||
f2 double NULL YES NULL
|
||||
insert into t1 values(10,10),(1e+5,1e+5),(1234567890,1234567890),(1e+10,1e+10),(1e+15,1e+15),(1e+20,1e+20),(1e+50,1e+50),(1e+150,1e+150);
|
||||
Warnings:
|
||||
Warning 1264 Data truncated; out of range for column 'f1' at row 7
|
||||
Warning 1264 Data truncated; out of range for column 'f1' at row 8
|
||||
insert into t1 values(-10,-10),(1e-5,1e-5),(1e-10,1e-10),(1e-15,1e-15),(1e-20,1e-20),(1e-50,1e-50),(1e-150,1e-150);
|
||||
select * from t1;
|
||||
f1 f2
|
||||
10 10
|
||||
100000 100000
|
||||
1.23457e+09 1234567890
|
||||
1e+10 10000000000
|
||||
1e+15 1e+15
|
||||
1e+20 1e+20
|
||||
3.40282e+38 1e+50
|
||||
3.40282e+38 1e+150
|
||||
-10 -10
|
||||
1e-05 1e-05
|
||||
1e-10 1e-10
|
||||
1e-15 1e-15
|
||||
1e-20 1e-20
|
||||
0 1e-50
|
||||
0 1e-150
|
||||
drop table t1;
|
||||
create table t1 (datum double);
|
||||
insert into t1 values (0.5),(1.0),(1.5),(2.0),(2.5);
|
||||
select * from t1;
|
||||
datum
|
||||
0.5
|
||||
1
|
||||
1.5
|
||||
2
|
||||
2.5
|
||||
select * from t1 where datum < 1.5;
|
||||
datum
|
||||
0.5
|
||||
1
|
||||
select * from t1 where datum > 1.5;
|
||||
datum
|
||||
2
|
||||
2.5
|
||||
select * from t1 where datum = 1.5;
|
||||
datum
|
||||
1.5
|
||||
drop table t1;
|
||||
create table t1 (a decimal(7,3) not null, key (a));
|
||||
insert into t1 values ("0"),("-0.00"),("-0.01"),("-0.002"),("1");
|
||||
select a from t1 order by a;
|
||||
a
|
||||
-0.010
|
||||
-0.002
|
||||
-0.000
|
||||
0.000
|
||||
1.000
|
||||
select min(a) from t1;
|
||||
min(a)
|
||||
-0.010
|
||||
drop table t1;
|
||||
create table t1 (c1 double, c2 varchar(20));
|
||||
insert t1 values (121,"16");
|
||||
select c1 + c1 * (c2 / 100) as col from t1;
|
||||
col
|
||||
140.36
|
||||
create table t2 select c1 + c1 * (c2 / 100) as col1, round(c1, 5) as col2, round(c1, 35) as col3, sqrt(c1*1e-15) col4 from t1;
|
||||
select * from t2;
|
||||
col1 col2 col3 col4
|
||||
140.36 121.00000 121 3.47850542618522e-07
|
||||
show create table t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`col1` double default NULL,
|
||||
`col2` double(22,5) default NULL,
|
||||
`col3` double default NULL,
|
||||
`col4` double default NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
drop table t1,t2;
|
||||
create table t1 (a float);
|
||||
insert into t1 values (1);
|
||||
select max(a),min(a),avg(a) from t1;
|
||||
max(a) min(a) avg(a)
|
||||
1 1 1
|
||||
drop table t1;
|
||||
create table t1 (f float, f2 float(24), f3 float(6,2), d double, d2 float(53), d3 double(10,3), de decimal, de2 decimal(6), de3 decimal(5,2), n numeric, n2 numeric(8), n3 numeric(5,6));
|
||||
show full columns from t1;
|
||||
Field Type Collation Null Key Default Extra Privileges Comment
|
||||
f float NULL YES NULL
|
||||
f2 float NULL YES NULL
|
||||
f3 float(6,2) NULL YES NULL
|
||||
d double NULL YES NULL
|
||||
d2 double NULL YES NULL
|
||||
d3 double(10,3) NULL YES NULL
|
||||
de decimal(10,0) NULL YES NULL
|
||||
de2 decimal(6,0) NULL YES NULL
|
||||
de3 decimal(5,2) NULL YES NULL
|
||||
n decimal(10,0) NULL YES NULL
|
||||
n2 decimal(8,0) NULL YES NULL
|
||||
n3 decimal(7,6) NULL YES NULL
|
||||
drop table t1;
|
||||
create table t1 (a decimal(7,3) not null, key (a));
|
||||
insert into t1 values ("0"),("-0.00"),("-0.01"),("-0.002"),("1");
|
||||
select a from t1 order by a;
|
||||
a
|
||||
-0.010
|
||||
-0.002
|
||||
-0.000
|
||||
0.000
|
||||
1.000
|
||||
select min(a) from t1;
|
||||
min(a)
|
||||
-0.010
|
||||
drop table t1;
|
||||
create table t1 (a float(200,100), b double(200,100));
|
||||
insert t1 values (1.0, 2.0);
|
||||
select * from t1;
|
||||
a b
|
||||
1.000000000000000000000000000000 2.000000000000000000000000000000
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` float(200,30) default NULL,
|
||||
`b` double(200,30) default NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
drop table t1;
|
||||
create table t1 (c20 char);
|
||||
insert into t1 values (5000.0);
|
||||
drop table t1;
|
||||
create table t1 (f float(54));
|
||||
ERROR 42000: Incorrect column specifier for column 'f'
|
||||
drop table if exists t1;
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user