2000-12-28 02:56:38 +01:00
|
|
|
#
|
|
|
|
# Check for problems with delete
|
|
|
|
#
|
|
|
|
|
2003-01-06 00:48:59 +01:00
|
|
|
--disable_warnings
|
2005-05-30 19:48:40 +02:00
|
|
|
drop table if exists t1,t2,t3,t11,t12;
|
2003-01-06 00:48:59 +01:00
|
|
|
--enable_warnings
|
2000-12-28 02:56:38 +01:00
|
|
|
CREATE TABLE t1 (a tinyint(3), b tinyint(5));
|
|
|
|
INSERT INTO t1 VALUES (1,1);
|
|
|
|
INSERT LOW_PRIORITY INTO t1 VALUES (1,2);
|
|
|
|
INSERT INTO t1 VALUES (1,3);
|
|
|
|
DELETE from t1 where a=1 limit 1;
|
|
|
|
DELETE LOW_PRIORITY from t1 where a=1;
|
|
|
|
|
|
|
|
INSERT INTO t1 VALUES (1,1);
|
|
|
|
DELETE from t1;
|
|
|
|
LOCK TABLE t1 write;
|
|
|
|
INSERT INTO t1 VALUES (1,2);
|
|
|
|
DELETE from t1;
|
|
|
|
UNLOCK TABLES;
|
|
|
|
INSERT INTO t1 VALUES (1,2);
|
|
|
|
SET AUTOCOMMIT=0;
|
|
|
|
DELETE from t1;
|
|
|
|
SET AUTOCOMMIT=1;
|
|
|
|
drop table t1;
|
2000-12-21 10:58:02 +01:00
|
|
|
|
2000-12-28 02:56:38 +01:00
|
|
|
#
|
|
|
|
# Test of delete when the delete will cause a node to disappear and reappear
|
|
|
|
# (This assumes a block size of 1024)
|
|
|
|
#
|
2000-12-21 10:58:02 +01:00
|
|
|
|
2004-11-22 19:07:04 +01:00
|
|
|
create table t1 (
|
|
|
|
a bigint not null,
|
|
|
|
b bigint not null default 0,
|
|
|
|
c bigint not null default 0,
|
|
|
|
d bigint not null default 0,
|
|
|
|
e bigint not null default 0,
|
|
|
|
f bigint not null default 0,
|
|
|
|
g bigint not null default 0,
|
|
|
|
h bigint not null default 0,
|
|
|
|
i bigint not null default 0,
|
|
|
|
j bigint not null default 0,
|
|
|
|
primary key (a,b,c,d,e,f,g,h,i,j));
|
|
|
|
insert into t1 (a) values (2),(4),(6),(8),(10),(12),(14),(16),(18),(20),(22),(24),(26),(23);
|
2000-12-28 02:56:38 +01:00
|
|
|
delete from t1 where a=26;
|
|
|
|
drop table t1;
|
2004-11-22 19:07:04 +01:00
|
|
|
create table t1 (
|
|
|
|
a bigint not null,
|
|
|
|
b bigint not null default 0,
|
|
|
|
c bigint not null default 0,
|
|
|
|
d bigint not null default 0,
|
|
|
|
e bigint not null default 0,
|
|
|
|
f bigint not null default 0,
|
|
|
|
g bigint not null default 0,
|
|
|
|
h bigint not null default 0,
|
|
|
|
i bigint not null default 0,
|
|
|
|
j bigint not null default 0,
|
|
|
|
primary key (a,b,c,d,e,f,g,h,i,j));
|
|
|
|
insert into t1 (a) values (2),(4),(6),(8),(10),(12),(14),(16),(18),(20),(22),(24),(26),(23),(27);
|
2000-12-28 02:56:38 +01:00
|
|
|
delete from t1 where a=27;
|
2000-12-21 10:58:02 +01:00
|
|
|
drop table t1;
|
2002-12-15 21:01:09 +01:00
|
|
|
|
2003-03-17 14:05:04 +01:00
|
|
|
CREATE TABLE `t1` (
|
2002-12-15 21:01:09 +01:00
|
|
|
`i` int(10) NOT NULL default '0',
|
|
|
|
`i2` int(10) NOT NULL default '0',
|
|
|
|
PRIMARY KEY (`i`)
|
2003-03-17 14:05:04 +01:00
|
|
|
);
|
2002-12-15 21:01:09 +01:00
|
|
|
-- error 1054
|
2003-03-17 14:05:04 +01:00
|
|
|
DELETE FROM t1 USING t1 WHERE post='1';
|
|
|
|
drop table t1;
|
2003-03-16 18:17:54 +01:00
|
|
|
|
2003-03-04 18:02:56 +01:00
|
|
|
#
|
|
|
|
# CHAR(0) bug - not actually DELETE bug, but anyway...
|
|
|
|
#
|
|
|
|
|
|
|
|
CREATE TABLE t1 (
|
|
|
|
bool char(0) default NULL,
|
|
|
|
not_null varchar(20) binary NOT NULL default '',
|
|
|
|
misc integer not null,
|
|
|
|
PRIMARY KEY (not_null)
|
2003-12-10 05:31:42 +01:00
|
|
|
) ENGINE=MyISAM;
|
2003-03-04 18:02:56 +01:00
|
|
|
|
|
|
|
INSERT INTO t1 VALUES (NULL,'a',4), (NULL,'b',5), (NULL,'c',6), (NULL,'d',7);
|
|
|
|
|
|
|
|
select * from t1 where misc > 5 and bool is null;
|
|
|
|
delete from t1 where misc > 5 and bool is null;
|
|
|
|
select * from t1 where misc > 5 and bool is null;
|
|
|
|
|
2003-05-03 18:08:11 +02:00
|
|
|
select count(*) from t1;
|
|
|
|
delete from t1 where 1 > 2;
|
|
|
|
select count(*) from t1;
|
|
|
|
delete from t1 where 3 > 2;
|
|
|
|
select count(*) from t1;
|
|
|
|
|
2003-03-04 18:02:56 +01:00
|
|
|
drop table t1;
|
2004-10-01 13:23:54 +02:00
|
|
|
#
|
|
|
|
# Bug #5733: Table handler error with self-join multi-table DELETE
|
|
|
|
#
|
|
|
|
|
|
|
|
create table t1 (a int not null auto_increment primary key, b char(32));
|
|
|
|
insert into t1 (b) values ('apple'), ('apple');
|
|
|
|
select * from t1;
|
|
|
|
delete t1 from t1, t1 as t2 where t1.b = t2.b and t1.a > t2.a;
|
|
|
|
select * from t1;
|
2003-03-04 18:02:56 +01:00
|
|
|
drop table t1;
|
2003-11-17 21:45:07 +01:00
|
|
|
|
|
|
|
#
|
|
|
|
# IGNORE option
|
|
|
|
#
|
|
|
|
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));
|
|
|
|
insert into t11 values (0, 10),(1, 11),(2, 12);
|
|
|
|
insert into t12 values (33, 10),(0, 11),(2, 12);
|
|
|
|
insert into t2 values (1, 21),(2, 12),(3, 23);
|
|
|
|
select * from t11;
|
|
|
|
select * from t12;
|
|
|
|
select * from t2;
|
After merge fixes
Added more DBUG statements
Ensure that we are comparing end space with BINARY strings
Use 'any_db' instead of '' to mean any database. (For HANDLER command)
Only strip ' ' when comparing CHAR, not other space-like characters (like \t)
BitKeeper/deleted/.del-ctype_tis620.result-old~3578ceb0b8284685:
Delete: mysql-test/r/ctype_tis620.result-old
BitKeeper/deleted/.del-ctype_tis620.test-old~ffb1bbd2935d1aba:
Delete: mysql-test/t/ctype_tis620.test-old
client/mysqlbinlog.cc:
Added DBUG statements
Added call of my_end() to free all used memory on exit
heap/hp_info.c:
After merge fixes
heap/hp_open.c:
After merge fixes
include/heap.h:
After merge fixes
include/m_ctype.h:
Use pchar instead of 'int' for character parameters.
Added 'my_binary_compare()'
include/m_string.h:
Fixed wrong define
innobase/ibuf/ibuf0ibuf.c:
After merge fixes
innobase/srv/srv0start.c:
After merge fixes
mysql-test/r/alter_table.result:
Fixed results after merge
mysql-test/r/auto_increment.result:
Fixed results after merge
mysql-test/r/bdb.result:
Fixed results after merge
mysql-test/r/binary.result:
Fixed results after merge
mysql-test/r/create.result:
Fixed results after merge
mysql-test/r/ctype_mb.result:
Fixed results after merge
mysql-test/r/ctype_tis620.result:
Fixed results after merge
mysql-test/r/ctype_utf8.result:
Fixed results after merge
mysql-test/r/delete.result:
Fixed results after merge
mysql-test/r/func_compress.result:
Fixed results after merge
mysql-test/r/func_gconcat.result:
Fixed results after merge
mysql-test/r/func_group.result:
Fixed results after merge
mysql-test/r/func_str.result:
Fixed results after merge
mysql-test/r/innodb.result:
Fixed results after merge
mysql-test/r/insert.result:
Fixed results after merge
mysql-test/r/insert_select.result:
Fixed results after merge
mysql-test/r/key.result:
Fixed results after merge
mysql-test/r/loaddata.result:
Fixed results after merge
mysql-test/r/lock.result:
Fixed results after merge
mysql-test/r/myisam.result:
Fixed results after merge
mysql-test/r/null.result:
Fixed results after merge
mysql-test/r/null_key.result:
Fixed results after merge
mysql-test/r/order_by.result:
Fixed results after merge
mysql-test/r/query_cache.result:
Fixed results after merge
mysql-test/r/range.result:
Fixed results after merge
mysql-test/r/rpl_multi_delete.result:
Fixed results after merge
mysql-test/r/rpl_until.result:
Fixed results after merge
mysql-test/r/subselect.result:
Fixed results after merge
mysql-test/r/subselect_innodb.result:
Fixed results after merge
mysql-test/r/type_blob.result:
Fixed results after merge
mysql-test/r/type_datetime.result:
Fixed results after merge
mysql-test/r/type_decimal.result:
Fixed results after merge
mysql-test/r/type_enum.result:
Fixed results after merge
mysql-test/r/type_float.result:
Fixed results after merge
mysql-test/r/type_ranges.result:
Fixed results after merge
mysql-test/r/type_time.result:
Fixed results after merge
mysql-test/r/type_timestamp.result:
Fixed results after merge
mysql-test/r/type_uint.result:
Fixed results after merge
mysql-test/r/type_year.result:
Fixed results after merge
mysql-test/r/variables.result:
Fixed results after merge
mysql-test/r/warnings.result:
Fixed results after merge
mysql-test/t/case.test:
Fixed shifted error messages
mysql-test/t/create.test:
Fixed shifted error messages
mysql-test/t/ctype_collate.test:
Fixed shifted error messages
mysql-test/t/ctype_tis620.test:
Merge with 4.0 ctype_tis620 test
mysql-test/t/delete.test:
Fixed shifted error messages
mysql-test/t/derived.test:
Fixed shifted error messages
mysql-test/t/fulltext.test:
Fixed shifted error messages
mysql-test/t/func_in.test:
Fixed shifted error messages
mysql-test/t/func_str.test:
Fixed shifted error messages
mysql-test/t/func_test.test:
Fixed shifted error messages
mysql-test/t/grant.test:
Fixed shifted error messages
mysql-test/t/innodb.test:
Change to 4.1 syntax
mysql-test/t/key_cache.test:
Fixed shifted error messages
mysql-test/t/myisam.test:
New test of blob and end space
mysql-test/t/row.test:
Fixed shifted error messages
mysql-test/t/rpl_until.test:
Fixed shifted error messages
mysql-test/t/subselect.test:
Fixed shifted error messages
mysql-test/t/subselect_innodb.test:
Fix test to take into account foreign key constraints
mysql-test/t/union.test:
Fixed shifted error messages
mysql-test/t/user_var.test:
Fixed shifted error messages
mysql-test/t/variables.test:
Fixed shifted error messages
mysys/my_handler.c:
Merge with 4.0 code
sql/ha_heap.cc:
After merge fixes
sql/handler.cc:
After merge fixes
sql/item.cc:
After merge fixes
sql/item_cmpfunc.cc:
Ensure that we are comparing end space with BINARY strings
sql/item_cmpfunc.h:
Ensure that we are comparing end space with BINARY strings
sql/log_event.cc:
More DBUG statements
Ensure that we use all options to LOAD DATA in replication
sql/opt_range.cc:
After merge fixes
sql/sql_db.cc:
After merge fixes
sql/sql_handler.cc:
After merge fixes
Use 'any_db' instead of '' to mean 'no database comparison'
sql/sql_parse.cc:
After merge fixes
sql/sql_select.cc:
After merge fixes
Added function comment for setup_group()
sql/sql_string.cc:
Added stringcmp() for binary comparison.
Added function comments for sortcmp() and stringcmp()
sql/sql_string.h:
Added stringcmp()
sql/sql_table.cc:
After merge fixes
sql/sql_update.cc:
After merge fixes
sql/sql_yacc.yy:
Use 'any_db' instead of '' to mean any database. Using "" causes a 'wrong db name' error.
strings/ctype-big5.c:
Strip only end space, not other space characters.
strings/ctype-bin.c:
Removed some not needed functions.
Added function comments
Don't remove end space in comparisons
Change my_wildcmp_bin() to be 'identical' with other similar code
strings/ctype-czech.c:
Strip only end space, not other space characters.
strings/ctype-gbk.c:
Strip only end space, not other space characters.
strings/ctype-latin1.c:
Strip only end space, not other space characters.
strings/ctype-mb.c:
Strip only end space, not other space characters.
strings/ctype-simple.c:
Strip only end space, not other space characters.
strings/ctype-sjis.c:
Strip only end space, not other space characters.
strings/ctype-tis620.c:
Added usage of my_instr_simple. This needs to be cleaned up!
strings/ctype-utf8.c:
Strip only end space, not other space characters.
strings/ctype-win1250ch.c:
Strip only end space, not other space characters.
Fixed indentation
strings/strto.c:
Code cleanup
2004-02-16 09:03:25 +01:00
|
|
|
-- error 1242
|
2003-11-17 21:45:07 +01:00
|
|
|
delete t11.*, t12.* from t11,t12 where t11.a = t12.a and t11.b <> (select b from t2 where t11.a < t2.a);
|
|
|
|
select * from t11;
|
|
|
|
select * from t12;
|
|
|
|
delete ignore t11.*, t12.* from t11,t12 where t11.a = t12.a and t11.b <> (select b from t2 where t11.a < t2.a);
|
|
|
|
select * from t11;
|
|
|
|
select * from t12;
|
|
|
|
insert into t11 values (2, 12);
|
After merge fixes
Added more DBUG statements
Ensure that we are comparing end space with BINARY strings
Use 'any_db' instead of '' to mean any database. (For HANDLER command)
Only strip ' ' when comparing CHAR, not other space-like characters (like \t)
BitKeeper/deleted/.del-ctype_tis620.result-old~3578ceb0b8284685:
Delete: mysql-test/r/ctype_tis620.result-old
BitKeeper/deleted/.del-ctype_tis620.test-old~ffb1bbd2935d1aba:
Delete: mysql-test/t/ctype_tis620.test-old
client/mysqlbinlog.cc:
Added DBUG statements
Added call of my_end() to free all used memory on exit
heap/hp_info.c:
After merge fixes
heap/hp_open.c:
After merge fixes
include/heap.h:
After merge fixes
include/m_ctype.h:
Use pchar instead of 'int' for character parameters.
Added 'my_binary_compare()'
include/m_string.h:
Fixed wrong define
innobase/ibuf/ibuf0ibuf.c:
After merge fixes
innobase/srv/srv0start.c:
After merge fixes
mysql-test/r/alter_table.result:
Fixed results after merge
mysql-test/r/auto_increment.result:
Fixed results after merge
mysql-test/r/bdb.result:
Fixed results after merge
mysql-test/r/binary.result:
Fixed results after merge
mysql-test/r/create.result:
Fixed results after merge
mysql-test/r/ctype_mb.result:
Fixed results after merge
mysql-test/r/ctype_tis620.result:
Fixed results after merge
mysql-test/r/ctype_utf8.result:
Fixed results after merge
mysql-test/r/delete.result:
Fixed results after merge
mysql-test/r/func_compress.result:
Fixed results after merge
mysql-test/r/func_gconcat.result:
Fixed results after merge
mysql-test/r/func_group.result:
Fixed results after merge
mysql-test/r/func_str.result:
Fixed results after merge
mysql-test/r/innodb.result:
Fixed results after merge
mysql-test/r/insert.result:
Fixed results after merge
mysql-test/r/insert_select.result:
Fixed results after merge
mysql-test/r/key.result:
Fixed results after merge
mysql-test/r/loaddata.result:
Fixed results after merge
mysql-test/r/lock.result:
Fixed results after merge
mysql-test/r/myisam.result:
Fixed results after merge
mysql-test/r/null.result:
Fixed results after merge
mysql-test/r/null_key.result:
Fixed results after merge
mysql-test/r/order_by.result:
Fixed results after merge
mysql-test/r/query_cache.result:
Fixed results after merge
mysql-test/r/range.result:
Fixed results after merge
mysql-test/r/rpl_multi_delete.result:
Fixed results after merge
mysql-test/r/rpl_until.result:
Fixed results after merge
mysql-test/r/subselect.result:
Fixed results after merge
mysql-test/r/subselect_innodb.result:
Fixed results after merge
mysql-test/r/type_blob.result:
Fixed results after merge
mysql-test/r/type_datetime.result:
Fixed results after merge
mysql-test/r/type_decimal.result:
Fixed results after merge
mysql-test/r/type_enum.result:
Fixed results after merge
mysql-test/r/type_float.result:
Fixed results after merge
mysql-test/r/type_ranges.result:
Fixed results after merge
mysql-test/r/type_time.result:
Fixed results after merge
mysql-test/r/type_timestamp.result:
Fixed results after merge
mysql-test/r/type_uint.result:
Fixed results after merge
mysql-test/r/type_year.result:
Fixed results after merge
mysql-test/r/variables.result:
Fixed results after merge
mysql-test/r/warnings.result:
Fixed results after merge
mysql-test/t/case.test:
Fixed shifted error messages
mysql-test/t/create.test:
Fixed shifted error messages
mysql-test/t/ctype_collate.test:
Fixed shifted error messages
mysql-test/t/ctype_tis620.test:
Merge with 4.0 ctype_tis620 test
mysql-test/t/delete.test:
Fixed shifted error messages
mysql-test/t/derived.test:
Fixed shifted error messages
mysql-test/t/fulltext.test:
Fixed shifted error messages
mysql-test/t/func_in.test:
Fixed shifted error messages
mysql-test/t/func_str.test:
Fixed shifted error messages
mysql-test/t/func_test.test:
Fixed shifted error messages
mysql-test/t/grant.test:
Fixed shifted error messages
mysql-test/t/innodb.test:
Change to 4.1 syntax
mysql-test/t/key_cache.test:
Fixed shifted error messages
mysql-test/t/myisam.test:
New test of blob and end space
mysql-test/t/row.test:
Fixed shifted error messages
mysql-test/t/rpl_until.test:
Fixed shifted error messages
mysql-test/t/subselect.test:
Fixed shifted error messages
mysql-test/t/subselect_innodb.test:
Fix test to take into account foreign key constraints
mysql-test/t/union.test:
Fixed shifted error messages
mysql-test/t/user_var.test:
Fixed shifted error messages
mysql-test/t/variables.test:
Fixed shifted error messages
mysys/my_handler.c:
Merge with 4.0 code
sql/ha_heap.cc:
After merge fixes
sql/handler.cc:
After merge fixes
sql/item.cc:
After merge fixes
sql/item_cmpfunc.cc:
Ensure that we are comparing end space with BINARY strings
sql/item_cmpfunc.h:
Ensure that we are comparing end space with BINARY strings
sql/log_event.cc:
More DBUG statements
Ensure that we use all options to LOAD DATA in replication
sql/opt_range.cc:
After merge fixes
sql/sql_db.cc:
After merge fixes
sql/sql_handler.cc:
After merge fixes
Use 'any_db' instead of '' to mean 'no database comparison'
sql/sql_parse.cc:
After merge fixes
sql/sql_select.cc:
After merge fixes
Added function comment for setup_group()
sql/sql_string.cc:
Added stringcmp() for binary comparison.
Added function comments for sortcmp() and stringcmp()
sql/sql_string.h:
Added stringcmp()
sql/sql_table.cc:
After merge fixes
sql/sql_update.cc:
After merge fixes
sql/sql_yacc.yy:
Use 'any_db' instead of '' to mean any database. Using "" causes a 'wrong db name' error.
strings/ctype-big5.c:
Strip only end space, not other space characters.
strings/ctype-bin.c:
Removed some not needed functions.
Added function comments
Don't remove end space in comparisons
Change my_wildcmp_bin() to be 'identical' with other similar code
strings/ctype-czech.c:
Strip only end space, not other space characters.
strings/ctype-gbk.c:
Strip only end space, not other space characters.
strings/ctype-latin1.c:
Strip only end space, not other space characters.
strings/ctype-mb.c:
Strip only end space, not other space characters.
strings/ctype-simple.c:
Strip only end space, not other space characters.
strings/ctype-sjis.c:
Strip only end space, not other space characters.
strings/ctype-tis620.c:
Added usage of my_instr_simple. This needs to be cleaned up!
strings/ctype-utf8.c:
Strip only end space, not other space characters.
strings/ctype-win1250ch.c:
Strip only end space, not other space characters.
Fixed indentation
strings/strto.c:
Code cleanup
2004-02-16 09:03:25 +01:00
|
|
|
-- error 1242
|
2003-11-17 21:45:07 +01:00
|
|
|
delete from t11 where t11.b <> (select b from t2 where t11.a < t2.a);
|
|
|
|
select * from t11;
|
|
|
|
delete ignore from t11 where t11.b <> (select b from t2 where t11.a < t2.a);
|
|
|
|
select * from t11;
|
|
|
|
drop table t11, t12, t2;
|
2004-06-21 12:17:07 +02:00
|
|
|
|
|
|
|
#
|
|
|
|
# Bug #4198: deletion and KEYREAD
|
|
|
|
#
|
|
|
|
|
|
|
|
create table t1 (a int, b int, unique key (a), key (b));
|
|
|
|
insert into t1 values (3, 3), (7, 7);
|
|
|
|
delete t1 from t1 where a = 3;
|
|
|
|
check table t1;
|
|
|
|
select * from t1;
|
|
|
|
drop table t1;
|
2005-02-16 06:03:17 +01:00
|
|
|
|
2005-02-16 03:45:42 +01:00
|
|
|
#
|
|
|
|
# Bug #8392: delete with ORDER BY containing a direct reference to the table
|
|
|
|
#
|
|
|
|
|
|
|
|
CREATE TABLE t1 ( a int PRIMARY KEY );
|
|
|
|
DELETE FROM t1 WHERE t1.a > 0 ORDER BY t1.a;
|
|
|
|
INSERT INTO t1 VALUES (0),(1),(2);
|
|
|
|
DELETE FROM t1 WHERE t1.a > 0 ORDER BY t1.a LIMIT 1;
|
|
|
|
SELECT * FROM t1;
|
|
|
|
DROP TABLE t1;
|
2005-05-30 19:48:40 +02:00
|
|
|
|
2006-09-04 17:40:30 +02:00
|
|
|
#
|
|
|
|
# Bug #21392: multi-table delete with alias table name fails with
|
|
|
|
# 1003: Incorrect table name
|
|
|
|
#
|
|
|
|
|
|
|
|
create table t1 (a int);
|
|
|
|
delete `4.t1` from t1 as `4.t1` where `4.t1`.a = 5;
|
|
|
|
delete FROM `4.t1` USING t1 as `4.t1` where `4.t1`.a = 5;
|
|
|
|
drop table t1;
|
|
|
|
|
2007-01-11 14:05:03 +01:00
|
|
|
#
|
|
|
|
# Bug#17711: DELETE doesn't use index when ORDER BY, LIMIT and
|
|
|
|
# non-restricting WHERE is present.
|
|
|
|
#
|
|
|
|
create table t1(f1 int primary key);
|
|
|
|
insert into t1 values (4),(3),(1),(2);
|
|
|
|
delete from t1 where (@a:= f1) order by f1 limit 1;
|
|
|
|
select @a;
|
|
|
|
drop table t1;
|
|
|
|
|
2007-09-10 14:26:51 +02:00
|
|
|
# BUG#30385 "Server crash when deleting with order by and limit"
|
|
|
|
CREATE TABLE t1 (
|
|
|
|
`date` date ,
|
|
|
|
`time` time ,
|
|
|
|
`seq` int(10) unsigned NOT NULL auto_increment,
|
|
|
|
PRIMARY KEY (`seq`),
|
|
|
|
KEY `seq` (`seq`),
|
|
|
|
KEY `time` (`time`),
|
|
|
|
KEY `date` (`date`)
|
|
|
|
);
|
|
|
|
DELETE FROM t1 ORDER BY date ASC, time ASC LIMIT 1;
|
|
|
|
drop table t1;
|
|
|
|
|
2006-10-27 15:08:50 +02:00
|
|
|
--echo End of 4.1 tests
|
2005-07-28 16:09:54 +02:00
|
|
|
|
2005-05-30 19:48:40 +02:00
|
|
|
#
|
|
|
|
# Test of multi-delete where we are not scanning the first table
|
|
|
|
#
|
|
|
|
|
|
|
|
CREATE TABLE t1 (a int not null,b int not null);
|
|
|
|
CREATE TABLE t2 (a int not null, b int not null, primary key (a,b));
|
|
|
|
CREATE TABLE t3 (a int not null, b int not null, primary key (a,b));
|
|
|
|
insert into t1 values (1,1),(2,1),(1,3);
|
|
|
|
insert into t2 values (1,1),(2,2),(3,3);
|
|
|
|
insert into t3 values (1,1),(2,1),(1,3);
|
|
|
|
select * from t1,t2,t3 where t1.a=t2.a AND t2.b=t3.a and t1.b=t3.b;
|
|
|
|
explain select * from t1,t2,t3 where t1.a=t2.a AND t2.b=t3.a and t1.b=t3.b;
|
|
|
|
delete t2.*,t3.* from t1,t2,t3 where t1.a=t2.a AND t2.b=t3.a and t1.b=t3.b;
|
|
|
|
# This should be empty
|
|
|
|
select * from t3;
|
|
|
|
drop table t1,t2,t3;
|
2006-07-23 12:25:30 +02:00
|
|
|
|
|
|
|
#
|
|
|
|
# Bug #8143: deleting '0000-00-00' values using IS NULL
|
|
|
|
#
|
|
|
|
|
|
|
|
create table t1(a date not null);
|
|
|
|
insert into t1 values (0);
|
|
|
|
select * from t1 where a is null;
|
|
|
|
delete from t1 where a is null;
|
|
|
|
select count(*) from t1;
|
|
|
|
drop table t1;
|
2007-02-23 17:49:41 +01:00
|
|
|
|
|
|
|
#
|
|
|
|
# Bug #26186: delete order by, sometimes accept unknown column
|
|
|
|
#
|
|
|
|
CREATE TABLE t1 (a INT); INSERT INTO t1 VALUES (1);
|
|
|
|
|
|
|
|
--error ER_BAD_FIELD_ERROR
|
|
|
|
DELETE FROM t1 ORDER BY x;
|
|
|
|
|
|
|
|
# even columns from a table not used in query (and not even existing)
|
|
|
|
--error ER_BAD_FIELD_ERROR
|
|
|
|
DELETE FROM t1 ORDER BY t2.x;
|
|
|
|
|
|
|
|
# subquery (as long as the subquery from is valid or DUAL)
|
|
|
|
--error ER_BAD_FIELD_ERROR
|
|
|
|
DELETE FROM t1 ORDER BY (SELECT x);
|
|
|
|
|
|
|
|
DROP TABLE t1;
|
2007-09-03 11:55:35 +02:00
|
|
|
|
2007-10-22 14:10:08 +02:00
|
|
|
#
|
|
|
|
# Bug 31742: delete from ... order by function call that causes an error,
|
|
|
|
# asserts server
|
|
|
|
#
|
|
|
|
|
|
|
|
CREATE FUNCTION f1() RETURNS INT RETURN 1;
|
|
|
|
CREATE TABLE t1 (a INT);
|
|
|
|
INSERT INTO t1 VALUES (0);
|
|
|
|
--error 1318
|
|
|
|
DELETE FROM t1 ORDER BY (f1(10)) LIMIT 1;
|
|
|
|
DROP TABLE t1;
|
|
|
|
DROP FUNCTION f1;
|
|
|
|
|
|
|
|
--echo End of 5.0 tests
|