mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 04:53:01 +01:00
129 lines
4.9 KiB
Text
129 lines
4.9 KiB
Text
############## 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;
|
|
|
|
|
|
|
|
|