mirror of
https://github.com/MariaDB/server.git
synced 2025-01-23 23:34:34 +01:00
0f6047e455
The patch for WL 1563 added a new duplicate key error message so that the key name could be provided instead of the key number. But the error code for the new message was used even though that did not need to change. This could cause unnecessary problems for applications that used the old ER_DUP_ENTRY error code to detect duplicate key errors. mysql-test/t/auto_increment.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/create.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/create_select_tmp.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/ctype_ucs2_def.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/ctype_utf8.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/delayed.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/heap.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/heap_btree.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/heap_hash.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/innodb.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/insert_select.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/insert_update.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/join_outer.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/key.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/merge.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/myisam.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/ndb_basic.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/ndb_charset.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/ndb_index_unique.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/ndb_insert.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/ndb_replace.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/ndb_update.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/replace.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/rpl_err_ignoredtable.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/rpl_ndb_do_table.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/rpl_row_create_table.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/rpl_sp.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/show_check.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/sp-error.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/sp.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/sp_trans.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/sp_trans_log.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/temp_table.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/type_binary.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/type_bit.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/type_bit_innodb.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/type_blob.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/type_varchar.test: Update ER_DUP_ENTRY-related error message values mysql-test/r/create.result: Update ER_DUP_ENTRY-related error message values mysql-test/r/rpl_sp.result: Update ER_DUP_ENTRY-related error message values mysql-test/r/sp.result: Update ER_DUP_ENTRY-related error message values mysql-test/include/mix1.inc: Update ER_DUP_ENTRY-related error message values mysql-test/include/mix2.inc: Update ER_DUP_ENTRY-related error message values mysql-test/include/ps_modify.inc: Update ER_DUP_ENTRY-related error message values mysql-test/include/query_cache.inc: Update ER_DUP_ENTRY-related error message values mysql-test/include/varchar.inc: Update ER_DUP_ENTRY-related error message values mysql-test/extra/binlog_tests/insert_select-binlog.test: Update ER_DUP_ENTRY-related error message values mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test: Update ER_DUP_ENTRY-related error message values mysql-test/extra/rpl_tests/rpl_auto_increment.test: Update ER_DUP_ENTRY-related error message values mysql-test/extra/rpl_tests/rpl_foreign_key.test: Update ER_DUP_ENTRY-related error message values mysql-test/extra/rpl_tests/rpl_insert_delayed.test: Update ER_DUP_ENTRY-related error message values mysql-test/extra/rpl_tests/rpl_insert_id.test: Update ER_DUP_ENTRY-related error message values mysql-test/extra/rpl_tests/rpl_insert_id_pk.test: Update ER_DUP_ENTRY-related error message values mysql-test/extra/rpl_tests/rpl_loaddata.test: Update ER_DUP_ENTRY-related error message values mysql-test/extra/rpl_tests/rpl_row_basic.test: Update ER_DUP_ENTRY-related error message values mysql-test/extra/rpl_tests/rpl_stm_EE_err2.test: Update ER_DUP_ENTRY-related error message values mysql-test/extra/rpl_tests/rpl_trig004.test: Update ER_DUP_ENTRY-related error message values sql/handler.cc: Restore use of ER_DUP_ENTRY error code even when ER_DUP_ENTRY_WITH_KEY_NAME error message is being used. (Bug #28842)
104 lines
3.3 KiB
Text
104 lines
3.3 KiB
Text
-- source include/have_ndb.inc
|
|
-- source include/not_embedded.inc
|
|
|
|
#
|
|
# Test of REPLACE with NDB
|
|
#
|
|
|
|
--disable_warnings
|
|
drop table if exists t1,t2;
|
|
--enable_warnings
|
|
|
|
CREATE TABLE t1 (
|
|
gesuchnr int(11) DEFAULT '0' NOT NULL,
|
|
benutzer_id int(11) DEFAULT '0' NOT NULL,
|
|
PRIMARY KEY (gesuchnr,benutzer_id)
|
|
) engine=ndbcluster;
|
|
|
|
replace into t1 (gesuchnr,benutzer_id) values (2,1);
|
|
replace into t1 (gesuchnr,benutzer_id) values (1,1);
|
|
replace into t1 (gesuchnr,benutzer_id) values (1,1);
|
|
insert into t1 (gesuchnr, benutzer_id) value (3,2);
|
|
replace into t1 (gesuchnr,benutzer_id) values (1,1);
|
|
replace into t1 (gesuchnr,benutzer_id) values (1,1);
|
|
--error ER_DUP_ENTRY
|
|
insert into t1 (gesuchnr,benutzer_id) values (1,1);
|
|
replace into t1 (gesuchnr,benutzer_id) values (1,1);
|
|
select * from t1 order by gesuchnr;
|
|
drop table t1;
|
|
|
|
# End of 4.1 tests
|
|
|
|
# bug#17431
|
|
CREATE TABLE t1(i INT PRIMARY KEY AUTO_INCREMENT,
|
|
j INT,
|
|
k INT,
|
|
UNIQUE INDEX(j)
|
|
) ENGINE = ndb;
|
|
INSERT INTO t1 VALUES (1,1,23),(2,2,24);
|
|
REPLACE INTO t1 (j,k) VALUES (1,42);
|
|
REPLACE INTO t1 (i,j) VALUES (17,2);
|
|
SELECT * from t1 ORDER BY i;
|
|
DROP TABLE t1;
|
|
|
|
# bug#19906
|
|
CREATE TABLE t2 (a INT(11) NOT NULL,
|
|
b INT(11) NOT NULL,
|
|
c INT(11) NOT NULL,
|
|
x TEXT,
|
|
y TEXT,
|
|
z TEXT,
|
|
id INT(10) unsigned NOT NULL AUTO_INCREMENT,
|
|
i INT(11) DEFAULT NULL,
|
|
PRIMARY KEY (id),
|
|
UNIQUE KEY a (a,b,c)
|
|
) ENGINE=ndbcluster;
|
|
|
|
REPLACE INTO t2 (a,b,c,x,y,z,i) VALUES (1,1,1,'a','a','a',1),(1,1,1,'b','b','b',2), (1,1,1,'c','c','c',3);
|
|
|
|
SELECT * FROM t2 ORDER BY id;
|
|
|
|
REPLACE INTO t2(a,b,c,x,y,z,i) values (1,1,1,'a','a','a',1);
|
|
REPLACE INTO t2(a,b,c,x,y,z,i) values (1,1,1,'b','b','b',2);
|
|
|
|
SELECT * FROM t2 ORDER BY id;
|
|
|
|
DROP TABLE t2;
|
|
|
|
#
|
|
# Bug #20728 "REPLACE does not work correctly for NDB table with PK and
|
|
# unique index"
|
|
#
|
|
--disable_warnings
|
|
drop table if exists t1;
|
|
--enable_warnings
|
|
create table t1 (pk int primary key, apk int unique, data int) engine=ndbcluster;
|
|
# Test for plain replace which updates pk
|
|
insert into t1 values (1, 1, 1), (2, 2, 2), (3, 3, 3);
|
|
replace into t1 (pk, apk) values (4, 1), (5, 2);
|
|
select * from t1 order by pk;
|
|
delete from t1;
|
|
# Another test for plain replace which doesn't touch pk
|
|
insert into t1 values (1, 1, 1), (2, 2, 2), (3, 3, 3);
|
|
replace into t1 (pk, apk) values (1, 4), (2, 5);
|
|
select * from t1 order by pk;
|
|
delete from t1;
|
|
# Test for load data replace which updates pk
|
|
insert into t1 values (1, 1, 1), (4, 4, 4), (6, 6, 6);
|
|
load data infile '../std_data_ln/loaddata5.dat' replace into table t1 fields terminated by '' enclosed by '' ignore 1 lines (pk, apk);
|
|
select * from t1 order by pk;
|
|
delete from t1;
|
|
# Now test for load data replace which doesn't touch pk
|
|
insert into t1 values (1, 1, 1), (3, 3, 3), (5, 5, 5);
|
|
load data infile '../std_data_ln/loaddata5.dat' replace into table t1 fields terminated by '' enclosed by '' ignore 1 lines (pk, apk);
|
|
select * from t1 order by pk;
|
|
delete from t1;
|
|
# Finally test for both types of replace ... select
|
|
insert into t1 values (1, 1, 1), (2, 2, 2), (3, 3, 3);
|
|
replace into t1 (pk, apk) select 4, 1;
|
|
replace into t1 (pk, apk) select 2, 4;
|
|
select * from t1 order by pk;
|
|
# Clean-up
|
|
drop table t1;
|
|
|
|
--echo End of 5.0 tests.
|