1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140
|
#################### mysql-test\t\identity_func.test ##########################
# #
# Variable Name: identity #
# Scope: SESSION #
# Access Type: Dynamic #
# Data Type: numeric #
# Default Value: - #
# Range: - #
# #
# #
# Creation Date: 2008-03-07 #
# Author: Salman Rawala #
# #
# Description: Test Cases of Dynamic System Variable identity #
# that checks the functionality of this variable #
# #
# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
# server-system-variables.html #
# #
###############################################################################
--source include/have_innodb.inc
--disable_warnings
drop table if exists t1;
drop table if exists t2;
--enable_warnings
#########################
# Creating new table #
#########################
--echo ## Creating new table t1 ##
CREATE TABLE t1
(
id INT NOT NULL auto_increment,
PRIMARY KEY (id),
name VARCHAR(30)
) ENGINE = INNODB;
--echo ## Creating another new table t2 ##
CREATE TABLE t2
(
id INT NOT NULL auto_increment,
PRIMARY KEY (id),
name VARCHAR(30)
) ENGINE = INNODB;
# MDEV-515 takes X-lock on the table for the first insert
# So concurrent insert won't happen on the table
INSERT INTO t1 VALUES(100, "MDEV-515");
INSERT INTO t2 VALUES(100, "MDEV-515");
--echo '#--------------------FN_DYNVARS_035_01-------------------------#'
###############################################
# Verifying initial value of identity. #
###############################################
--echo ## It should be zero ##
SELECT @@identity = 0;
connect (test_con1, localhost, root,,);
connection test_con1;
SET @@autocommit = 0;
--echo ## Inserting rows in table t1 ##
INSERT into t1(name) values('Record_1');
INSERT into t1(name) values('Record_2');
INSERT into t1(name) values('Record_3');
--echo ## Verifying total values in t1 ##
SELECT @@identity from t1;
--echo ## Now inserting some data in table t2 ##
INSERT into t2(name) values('Record_1');
--echo ## Verifying total values in t2 ##
SELECT @@identity from t2;
--echo '#--------------------FN_DYNVARS_035_02-------------------------#'
##########################################################
# Verifying value of identity with new connection #
##########################################################
connect (test_con2, localhost, root,,);
connection test_con2;
SELECT * from t1;
--echo ## Verifying total values in t1 ##
SELECT @@identity from t1;
--echo ## Verifying total values in t2 ##
SELECT @@identity from t2;
--echo ## Inserting some more records in table t1 ##
INSERT into t1(name) values('Record_1_1');
INSERT into t1(name) values('Record_1_2');
--echo ## Verifying total values in t1 ##
SELECT @@identity from t1;
--echo ## Inserting row in table t2 ##
INSERT into t2(name) values('Record_1_3');
--echo ## Verifying total values in t2 ##
SELECT @@identity from t2;
--echo '#--------------------FN_DYNVARS_035_03-------------------------#'
###################################################################
# Verifying identity value by using commit in connectio # 01 #
###################################################################
connection test_con1;
--echo ## Commiting rows added in test_con1 ##
COMMIT;
--echo ## Verifying records in both tables ##
SELECT * from t1;
SELECT * from t2;
--echo ## Verifying total values in t1 after commiting data ##
SELECT @@identity from t1;
--echo ## Verifying total values in t2 after commiting data ##
SELECT @@identity from t2;
INSERT into t1(name) values('Record_4');
--echo ## Now verifying value of variable after inserting 1 row in this connection ##
SELECT @@identity from t1;
--echo ## Dropping tables t1 & t2 ##
drop table t1, t2;
disconnect test_con1;
disconnect test_con2;
|