106 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
		
		
			
		
	
	
			106 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
|  | ###################### 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; |