mirror of
https://github.com/MariaDB/server.git
synced 2025-01-20 05:52:27 +01:00
9e14ae9472
into maint1.mysql.com:/data/localhome/tsmith/bk/maint/51 client/mysqldump.c: Auto merged mysql-test/lib/mtr_cases.pl: Auto merged mysql-test/lib/mtr_report.pl: Auto merged mysql-test/r/mysqldump.result: Auto merged mysql-test/suite/binlog/r/binlog_multi_engine.result: Auto merged mysql-test/suite/binlog/t/binlog_multi_engine.test: Auto merged mysql-test/suite/ndb/r/ndb_read_multi_range.result: Auto merged mysql-test/suite/ndb/r/ndb_sp.result: Auto merged mysql-test/suite/ndb/r/ndb_trigger.result: Auto merged mysql-test/suite/ndb/r/ps_7ndb.result: Auto merged mysql-test/suite/ndb/t/loaddata_autocom_ndb.test: Auto merged mysql-test/suite/ndb/t/ndb_alter_table.test: Auto merged mysql-test/suite/ndb/t/ndb_alter_table2.test: Auto merged mysql-test/suite/ndb/t/ndb_alter_table3.test: Auto merged mysql-test/suite/ndb/t/ndb_autodiscover.test: Auto merged mysql-test/suite/ndb/t/ndb_autodiscover2.test: Auto merged mysql-test/suite/ndb/t/ndb_autodiscover3.test: Auto merged mysql-test/suite/ndb/t/ndb_basic.test: Auto merged mysql-test/suite/ndb/t/ndb_binlog_ddl_multi.test: Auto merged mysql-test/suite/ndb/t/ndb_binlog_log_bin.test: Auto merged mysql-test/suite/ndb/t/ndb_binlog_multi.test: Auto merged mysql-test/suite/ndb/t/ndb_bitfield.test: Auto merged mysql-test/suite/ndb/t/ndb_blob.test: Auto merged mysql-test/suite/ndb/t/ndb_blob_partition.test: Auto merged mysql-test/suite/ndb/t/ndb_cache.test: Auto merged mysql-test/suite/ndb/t/ndb_cache2.test: Auto merged mysql-test/suite/ndb/t/ndb_cache_multi.test: Auto merged mysql-test/suite/ndb/t/ndb_cache_multi2.test: Auto merged mysql-test/suite/ndb/t/ndb_charset.test: Auto merged mysql-test/suite/ndb/t/ndb_condition_pushdown.test: Auto merged mysql-test/suite/ndb/t/ndb_config.test: Auto merged mysql-test/suite/ndb/t/ndb_config2.test: Auto merged mysql-test/suite/ndb/t/ndb_cursor.test: Auto merged mysql-test/suite/ndb/t/ndb_database.test: Auto merged mysql-test/suite/ndb/t/ndb_dd_alter.test: Auto merged mysql-test/suite/ndb/t/ndb_dd_backuprestore.test: Auto merged mysql-test/suite/ndb/t/ndb_dd_basic.test: Auto merged mysql-test/suite/ndb/t/ndb_dd_ddl.test: Auto merged mysql-test/suite/ndb/t/ndb_dd_disk2memory.test: Auto merged mysql-test/suite/ndb/t/ndb_dd_dump.test: Auto merged mysql-test/suite/ndb/t/ndb_dd_sql_features.test: Auto merged mysql-test/suite/ndb/t/ndb_gis.test: Auto merged mysql-test/suite/ndb/t/ndb_index.test: Auto merged mysql-test/suite/ndb/t/ndb_index_ordered.test: Auto merged mysql-test/suite/ndb/t/ndb_index_unique.test: Auto merged mysql-test/suite/ndb/t/ndb_insert.test: Auto merged mysql-test/suite/ndb/t/ndb_limit.test: Auto merged mysql-test/suite/ndb/t/ndb_loaddatalocal.test: Auto merged mysql-test/suite/ndb/t/ndb_lock.test: Auto merged mysql-test/suite/ndb/t/ndb_minmax.test: Auto merged mysql-test/suite/ndb/t/ndb_multi.test: Auto merged mysql-test/suite/ndb/t/ndb_partition_error.test: Auto merged mysql-test/suite/ndb/t/ndb_partition_key.test: Auto merged mysql-test/suite/ndb/t/ndb_partition_list.test: Auto merged mysql-test/suite/ndb/t/ndb_partition_range.test: Auto merged mysql-test/suite/ndb/t/ndb_read_multi_range.test: Auto merged mysql-test/suite/ndb/t/ndb_rename.test: Auto merged mysql-test/suite/ndb/t/ndb_replace.test: Auto merged mysql-test/suite/ndb/t/ndb_restore.test: Auto merged mysql-test/suite/ndb/t/ndb_restore_partition.test: Auto merged mysql-test/suite/ndb/t/ndb_restore_print.test: Auto merged mysql-test/suite/ndb/t/ndb_row_format.test: Auto merged mysql-test/suite/ndb/t/ndb_single_user.test: Auto merged mysql-test/suite/ndb/t/ndb_sp.test: Auto merged mysql-test/suite/ndb/t/ndb_subquery.test: Auto merged mysql-test/suite/ndb/t/ndb_temporary.test: Auto merged mysql-test/suite/ndb/t/ndb_transaction.test: Auto merged mysql-test/suite/ndb/t/ndb_trigger.test: Auto merged mysql-test/suite/ndb/t/ndb_truncate.test: Auto merged mysql-test/suite/ndb/t/ndb_types.test: Auto merged mysql-test/suite/ndb/t/ndb_update.test: Auto merged mysql-test/suite/ndb/t/ndb_view.test: Auto merged mysql-test/suite/ndb/t/ndbapi.test: Auto merged mysql-test/suite/ndb/t/ps_7ndb.test: Auto merged mysql-test/suite/ndb/t/strict_autoinc_5ndb.test: Auto merged mysql-test/suite/rpl/r/rpl_events.result: Auto merged mysql-test/suite/rpl/r/rpl_replicate_do.result: Auto merged mysql-test/suite/rpl/r/rpl_row_UUID.result: Auto merged mysql-test/suite/rpl/r/rpl_sp.result: Auto merged mysql-test/suite/rpl/r/rpl_switch_stm_row_mixed.result: Auto merged mysql-test/suite/rpl/r/rpl_trigger.result: Auto merged mysql-test/suite/rpl/r/rpl_view.result: Auto merged mysql-test/suite/rpl_ndb/r/rpl_ndb_UUID.result: Auto merged mysql-test/suite/rpl_ndb/r/rpl_ndb_dd_advance.result: Auto merged mysql-test/suite/rpl_ndb/r/rpl_ndb_stm_innodb.result: Auto merged mysql-test/suite/rpl_ndb/t/rpl_ndb_commit_afterflush.test: Auto merged mysql-test/suite/rpl_ndb/t/rpl_ndb_dd_advance.test: Auto merged mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb_trans.test: Auto merged mysql-test/suite/rpl_ndb/t/rpl_ndb_stm_innodb-master.opt: Auto merged mysql-test/suite/rpl_ndb/t/rpl_ndb_stm_innodb.test: Auto merged mysql-test/t/sp.test: Auto merged sql/Makefile.am: Auto merged sql/mysql_priv.h: Auto merged sql/sql_class.h: Auto merged mysql-test/t/disabled.def: manual merge (Will need to follow up with moving a few test cases around post-merge)
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.
|