mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 02:46:29 +01:00 
			
		
		
		
	 e7f7789482
			
		
	
	
	e7f7789482
	
	
	
		
			
			* automatically disable ps2 and cursor protocol when the
  select statement returns no result set
* remove manual {disable|enable}_{ps2|cursor}_protocol from around
  `select ... into` in tests
* other misc collateral test cleanups
		
	
			
		
			
				
	
	
		
			119 lines
		
	
	
	
		
			3.5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			119 lines
		
	
	
	
		
			3.5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| --source suite/versioning/key_type.inc
 | |
| if ($MTR_COMBINATION_SEC)
 | |
| {
 | |
|   --skip pk or unique only
 | |
| }
 | |
| --source suite/versioning/common.inc
 | |
| --source suite/versioning/engines.inc
 | |
| 
 | |
| --replace_result $sys_datatype_expl SYS_DATATYPE "$KEY_TYPE" KEY_TYPE
 | |
| eval create or replace table t(
 | |
|   id int,
 | |
|   $KEY_TYPE(id),
 | |
|   x int,
 | |
|   row_start $sys_datatype_expl as row start invisible,
 | |
|   row_end $sys_datatype_expl as row end invisible,
 | |
|   period for system_time(row_start, row_end)
 | |
| ) with system versioning;
 | |
| 
 | |
| insert t values (1, 2);
 | |
| replace t values (1, 3);
 | |
| select *, current_row(row_end) as current from t for system_time all order by x;
 | |
| drop table t;
 | |
| 
 | |
| --replace_result $sys_datatype_expl SYS_DATATYPE
 | |
| eval create table t (
 | |
|   id int unique,
 | |
|   x int,
 | |
|   row_start $sys_datatype_expl as row start invisible,
 | |
|   row_end $sys_datatype_expl as row end invisible,
 | |
|   period for system_time (row_start, row_end)
 | |
| ) with system versioning;
 | |
| 
 | |
| insert t values (1, 2);
 | |
| replace t values (1, 3);
 | |
| select *, current_row(row_end) as current from t for system_time all order by x;
 | |
| drop table t;
 | |
| 
 | |
| --echo #
 | |
| --echo # MDEV-15645 Assertion `table->insert_values' failed in write_record upon REPLACE into a view with underlying versioned table
 | |
| --echo #
 | |
| create or replace table t1 (a int, b int, primary key (a), unique(b)) with system versioning;
 | |
| insert into t1 values (1,1);
 | |
| create or replace table t2 (c int);
 | |
| create or replace view v as select t1.* from t1 join t2;
 | |
| replace into v (a, b) select a, b from t1;
 | |
| drop view v;
 | |
| drop tables t1, t2;
 | |
| 
 | |
| --replace_result $sys_datatype_expl SYS_DATATYPE
 | |
| eval CREATE TABLE t1 (
 | |
|     pk INT AUTO_INCREMENT,
 | |
|     f INT,
 | |
|     row_start $sys_datatype_expl AS ROW START INVISIBLE,
 | |
|     row_end $sys_datatype_expl AS ROW END INVISIBLE,
 | |
|     PRIMARY KEY(pk),
 | |
|     UNIQUE(f),
 | |
|     PERIOD FOR SYSTEM_TIME(row_start, row_end)
 | |
| ) WITH SYSTEM VERSIONING;
 | |
| INSERT INTO t1 () VALUES (),(),(),(),(),();
 | |
| UPDATE IGNORE t1 SET f = 1;
 | |
| REPLACE t1 SELECT * FROM t1;
 | |
| DROP TABLE t1;
 | |
| 
 | |
| --echo #
 | |
| --echo # MDEV-22540 ER_DUP_ENTRY upon REPLACE or Assertion failed
 | |
| --echo #
 | |
| set timestamp=1589245268.41934;
 | |
| create table t1 (a int primary key) with system versioning;
 | |
| insert into t1 values (1),(2);
 | |
| 
 | |
| --connect (con1,localhost,root,,test)
 | |
| set timestamp=1589245268.52093;
 | |
| replace into t1 values (1),(2);
 | |
| 
 | |
| --connection default
 | |
| replace into t1 values (1),(2);
 | |
| 
 | |
| --connection con1
 | |
| --error ER_DUP_ENTRY
 | |
| replace into t1 values (1),(2);
 | |
| 
 | |
| drop table t1;
 | |
| 
 | |
| --echo #
 | |
| --echo # MDEV-15330 Server crash or assertion `table->insert_values' failure in write_record upon LOAD DATA
 | |
| --echo #
 | |
| if ($default_engine == MEMORY)
 | |
| {
 | |
|   --disable_query_log
 | |
|   set default_storage_engine= myisam;
 | |
|   --enable_query_log
 | |
| }
 | |
| create table t1 (a int, b int, c int, vc int as (c), unique(a), unique(b)) with system versioning;
 | |
| insert ignore into t1 (a,b,c) values (1,2,3);
 | |
| 
 | |
| select a, b, c into outfile '15330.data' from t1;
 | |
| load data infile '15330.data' ignore into table t1 (a,b,c);
 | |
| load data infile '15330.data' replace into table t1 (a,b,c);
 | |
| --let $datadir=`select @@datadir`
 | |
| --remove_file $datadir/test/15330.data
 | |
| 
 | |
| # cleanup
 | |
| drop table t1;
 | |
| --disable_query_log
 | |
| eval set default_storage_engine= $default_engine;
 | |
| --enable_query_log
 | |
| 
 | |
| --echo #
 | |
| --echo # MDEV-35343 unexpected replace behaviour when long unique index on system versioned table
 | |
| --echo #
 | |
| create table t1 (data char(10));
 | |
| insert into t1 values ('o');
 | |
| alter ignore table t1 add unique index (data);
 | |
| alter ignore table t1 add unique index (data);
 | |
| alter table t1 add system versioning;
 | |
| replace into t1 values ('o'), ('o');
 | |
| drop table t1;
 | |
| 
 | |
| --source suite/versioning/common_finish.inc
 |