ps_modify1.inc
上传用户:romrleung
上传日期:2022-05-23
资源大小:18897k
文件大小:3k
- ###################### ps_modify1.inc ########################
- # #
- # Tests for prepared statements: big INSERT .. SELECTs #
- # #
- ##############################################################
- #
- # NOTE: THESE TESTS CANNOT BE APPLIED TO TABLES OF TYPE MERGE.
- # Test which can be applied to MERGE tables should be stored in
- # include/ps_modify.inc .
- #
- #
- # NOTE: PLEASE SEE ps_1general.test (bottom)
- # BEFORE ADDING NEW TEST CASES HERE !!!
- #
- # Please be aware, that this file will be sourced by several test case files
- # stored within the subdirectory 't'. So every change here will affect
- # several test cases.
- #
- # Please do not modify the structure (DROP/ALTER..) of the tables
- # 't1' and 't9'.
- #
- # But you are encouraged to use these two tables within your statements
- # (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 ...
- # include/ps_renew.inc DELETE all rows and INSERT some rows
- #
- # Both tables are managed by the same storage engine.
- # The type of the storage engine is stored in the variable '$type' .
- #------------------- Please insert your test cases here -------------------#
- #-------- 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 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 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 order by a ;
- delete from t1 where a >= 1000 ;
- set @1=1 ;
- set @2=2 ;
- set @100=100 ;
- set @float=1.00;
- set @five='five' ;
- --disable_warnings
- drop table if exists t2;
- --enable_warnings
- create table t2 like t1 ;
- --enable_info
- insert into t2 (b,a)
- select @duplicate, sum(first.a) from t1 first, t1 second
- where first.a <> @5 and second.b = first.b
- and second.b <> @five
- group by second.b
- having sum(second.a) > @2
- union
- 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 order by a ;
- delete from t2 ;
- prepare stmt1 from ' insert into t2 (b,a)
- select ?, sum(first.a)
- from t1 first, t1 second
- where first.a <> ? and second.b = first.b and second.b <> ?
- group by second.b
- having sum(second.a) > ?
- union
- select b, a + ? from t1
- where (a,b) in ( select sqrt(a+?)+CAST(? AS signed),b
- from t1 ) ' ;
- --enable_info
- execute stmt1 using @duplicate, @5, @five, @2, @100, @1, @float ;
- --disable_info
- select a,b from t2 order by a ;
- drop table t2;