mirror of
				https://github.com/MariaDB/server.git
				synced 2025-11-03 14:33:32 +03:00 
			
		
		
		
	Test cases using common object (database,user,table,..) names could probably destroy customer data, when connecting to an already running server. This Changeset contains an auxiliary routine include/testdb_only.inc" which should be sourced by tests doing such dangerous things. The test case will get a "[skipped]" when the environment variable USE_RUNNING_SERVER is not 0 . The modified mysql-test-run.sh sets USE_RUNNING_SERVER to 0, when the "mysql-test-run" starts its own server, aka there was no "--extern" option.
		
			
				
	
	
		
			31 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			SQL
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			SQL
		
	
	
	
	
	
#################### include/testdb_only.inc ######################
 | 
						|
#                                                                 #
 | 
						|
# We must prevent to work on databases created by customers,      #
 | 
						|
# because we DROP/CREATE/MODIFY objects with sometimes common     #
 | 
						|
# names like STAFF, EMPLOYEE etc.                                 #
 | 
						|
#                                                                 #
 | 
						|
# Therefore we check the environment variable USE_RUNNING_SERVER. #
 | 
						|
# USE_RUNNING_SERVER is exported by "mysql-test-run" and could    #
 | 
						|
# contain the following values:                                   #
 | 
						|
# 0  -- mysql-test-run was started without the --extern option    #
 | 
						|
#       That means the test will be performed within the test     #
 | 
						|
#       area 'mysql-test/var/...' .                               #
 | 
						|
# 1  -- mysql-test-run was started with the --extern option       #
 | 
						|
#       That means the test will be performed by an already       #
 | 
						|
#       running server and data modifications will most probably  #
 | 
						|
#       outside of the common test area 'mysql-test/var/...' .    #
 | 
						|
#                                                                 #
 | 
						|
# If USE_RUNNING_SERVER is not 0 the test will be skipped.        #
 | 
						|
#                                                                 #
 | 
						|
###################################################################
 | 
						|
 | 
						|
--disable_query_log
 | 
						|
eval set @USE_RUNNING_SERVER= '$USE_RUNNING_SERVER';
 | 
						|
--require r/testdb_only.require
 | 
						|
SELECT 'use extern server'
 | 
						|
         AS "Variable_name    ",
 | 
						|
         IF(@USE_RUNNING_SERVER= '1','YES',
 | 
						|
            IF(@USE_RUNNING_SERVER= '0','NO','UNEXPECTED'))
 | 
						|
         AS "Value" ;
 | 
						|
--enable_query_log
 |