mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-30 04:26:45 +03:00 
			
		
		
		
	ps-modify1 used the user variables @1, @2, @100 set within ps_query and 
           ps_modify. That architecture was wrong, because the dependence
           of ps_modify1 on ps_query and ps_modify makes the test script
           maintenance and the use of these test cases during bug fixing/
           debugging of single sub test cases very uncomfortable.
Therefore these user variables (@1, @2, @100) are also set within ps-modify1.
The result files of the test cases ps_2myisam, ps_3innodb, ps_4heap, ps_6bdb,
ps_7ndb will be affected by that change and show 3 additional lines, but
nothing else will change.    
mysql-test/include/ps_modify1.inc:
  Initialization of three user variables, with values derived from ps_query
  and ps_modify
mysql-test/r/ps_2myisam.result:
  updated result set
mysql-test/r/ps_3innodb.result:
  updated result set
mysql-test/r/ps_4heap.result:
  updated result sset
mysql-test/r/ps_6bdb.result:
  updated result set
mysql-test/r/ps_7ndb.result:
  updated result set
		
	
		
			
				
	
	
		
			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;
 |