mirror of
				https://github.com/MariaDB/server.git
				synced 2025-11-03 14:33:32 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			130 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			130 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
############## mysql-test\t\div_precision_increment_func.test #################
 | 
						|
#                                                                              #
 | 
						|
# Variable Name: div_precision_increment                                       #
 | 
						|
# Scope: GLOBAL & SESSION                                                      #
 | 
						|
# Access Type: Dynamic                                                         #
 | 
						|
# Data Type: Numeric                                                           #
 | 
						|
# Default Value: 4                                                             #
 | 
						|
# Range: 0 - 30                                                                # 
 | 
						|
#                                                                              #
 | 
						|
#                                                                              #
 | 
						|
# Creation Date: 2008-03-07                                                    #
 | 
						|
# Author:  Salman Rawala                                                       #
 | 
						|
#                                                                              #
 | 
						|
# Description: Test Cases of Dynamic System Variable "div_precision_increment" #
 | 
						|
#              that checks functionality of this variable                      #
 | 
						|
#                                                                              #
 | 
						|
# Reference: http://dev.mysql.com/doc/refman/5.1/en/                           #
 | 
						|
#   server-system-variables.html#option_mysqld_div_precision_increment         #
 | 
						|
#                                                                              #
 | 
						|
################################################################################
 | 
						|
 | 
						|
let $save_div_precision_increment = `SELECT @@global.div_precision_increment`
 | 
						|
 
 | 
						|
#SET @save_div_precision_increment = @@global.div_precision_increment;
 | 
						|
 | 
						|
--disable_warnings
 | 
						|
drop table if exists t1;
 | 
						|
--enable_warnings
 | 
						|
 | 
						|
#########################
 | 
						|
#   Creating new table  #
 | 
						|
#########################
 | 
						|
 | 
						|
--echo ## Creating new table ##
 | 
						|
CREATE TABLE t1
 | 
						|
(
 | 
						|
id INT NOT NULL auto_increment,
 | 
						|
PRIMARY KEY (id),
 | 
						|
name VARCHAR(30),
 | 
						|
salary LONG
 | 
						|
);
 | 
						|
 | 
						|
--echo '#--------------------FN_DYNVARS_027_01-------------------------#'
 | 
						|
####################################################################
 | 
						|
#    Setting initial value of div_precision_increment to 1  
 | 
						|
#    to check whether it is working with columns or not.
 | 
						|
####################################################################
 | 
						|
 | 
						|
--echo ## Setting initial session value of variable to 3 ##
 | 
						|
SET @@session.div_precision_increment = 3;
 | 
						|
 | 
						|
--echo ## Inserting some rows in table ##
 | 
						|
INSERT into t1(name, salary) values('Record_1', 100011);
 | 
						|
INSERT into t1(name, salary) values('Record_2', 501);	
 | 
						|
INSERT into t1(name, salary) values('Record_3', 210);
 | 
						|
 | 
						|
SELECT name, salary, ((salary * 2.5)/1000) AS INCOME from t1;
 | 
						|
--echo 'Bug#35374: div_precision is not working with table column'
 | 
						|
 | 
						|
--echo ## Verifying variable's behavior with direct division ##
 | 
						|
SELECT 1/7;
 | 
						|
 | 
						|
--echo '#--------------------FN_DYNVARS_027_02-------------------------#'
 | 
						|
####################################################################
 | 
						|
#    Verifying div_precision_increment behavior by inserting rows 
 | 
						|
#    to check whether it is working with columns or not.
 | 
						|
####################################################################
 | 
						|
 | 
						|
--disable_warnings
 | 
						|
drop table if exists t1;
 | 
						|
--enable_warnings
 | 
						|
 | 
						|
#########################
 | 
						|
#   Creating new table  #
 | 
						|
#########################
 | 
						|
 | 
						|
--echo ## Creating new table ##
 | 
						|
CREATE TABLE t1
 | 
						|
(
 | 
						|
id INT NOT NULL auto_increment,
 | 
						|
PRIMARY KEY (id),
 | 
						|
name VARCHAR(30),
 | 
						|
salary LONG,
 | 
						|
income_tax FLOAT
 | 
						|
);
 | 
						|
 | 
						|
--echo ## Creating new connection test_con1 ##
 | 
						|
connect (test_con1, localhost, root,,);
 | 
						|
connection test_con1;
 | 
						|
 | 
						|
--echo ## Setting global & session scope value of variable ##
 | 
						|
SET @@global.div_precision_increment = 2;
 | 
						|
SET @@session.div_precision_increment = 1;
 | 
						|
SELECT @@global.div_precision_increment;
 | 
						|
SELECT @@session.div_precision_increment;
 | 
						|
 | 
						|
--echo ## Inserting some data and verifying behavior of variable ##
 | 
						|
INSERT into t1(name, salary, income_tax) values('Record_1', 100011, 100011*2.5/1000);
 | 
						|
INSERT into t1(name, salary, income_tax) values('Record_2', 501, 501*2.5/1000);	
 | 
						|
INSERT into t1(name, salary, income_tax) values('Record_3', 210, 210*2.5/1000);
 | 
						|
SELECT * from t1;
 | 
						|
 | 
						|
--echo ## Creating new connection ## 
 | 
						|
connect (test_con2, localhost, root,,);
 | 
						|
connection test_con2;
 | 
						|
 | 
						|
--echo ## Verifying session & global value of variable ##
 | 
						|
SELECT @@global.div_precision_increment = 2;
 | 
						|
SELECT @@session.div_precision_increment = 2;
 | 
						|
 | 
						|
--echo ## Verifying behavior of variable by inserting some rows in table ##
 | 
						|
INSERT into t1(name, salary, income_tax) values('Record_4', 100011, 100011*2.5/1000);
 | 
						|
INSERT into t1(name, salary, income_tax) values('Record_5', 501, 501*2.5/1000);	
 | 
						|
INSERT into t1(name, salary, income_tax) values('Record_6', 210, 210*2.5/1000);
 | 
						|
SELECT * from t1;
 | 
						|
 | 
						|
--echo ## Dropping table t1 ##
 | 
						|
drop table t1;
 | 
						|
 | 
						|
--echo ## Disconnection both the connections ##
 | 
						|
disconnect test_con1;
 | 
						|
disconnect test_con2;
 | 
						|
 | 
						|
connection default;
 | 
						|
eval SET @@global.div_precision_increment = $save_div_precision_increment;
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 |