blob: f68dbe61f9479f76b8bb2f0ec6d61a92db9601dd (
plain)
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
|
################# mysql-test\t\last_insert_id_func.test #######################
# #
# Variable Name: last_insert_id #
# Scope: GLOBAL #
# Access Type: Dynamic #
# Data Type: numeric #
# Default Value: - #
# Range: - #
# #
# #
# Creation Date: 2008-03-07 #
# Author: Salman #
# #
# Description: Test Cases of Dynamic System Variable key_buffer_size #
# 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;
--enable_warnings
#########################
# Creating new table #
#########################
--echo ## Creating new table ##
CREATE TABLE t1
(
id INT NOT NULL auto_increment,
PRIMARY KEY (id),
name VARCHAR(30)
) ENGINE = INNODB;
--echo '#--------------------FN_DYNVARS_059_01-------------------------#'
#######################################################################
# Setting initial value of last_insert_id and verifying its behavior #
#######################################################################
--echo ## Verifying initial value of ##
SELECT @@session.last_insert_id;
--echo ## Inserting records in table t1 ##
INSERT into t1(name) values('Record_1');
INSERT into t1(name) values('Record_2');
SELECT * from t1;
--echo ## Verifying value of variable after inserting some rows ##
SELECT @@session.last_insert_id = 2;
--echo '#--------------------FN_DYNVARS_059_02-------------------------#'
#################################################################################
# Verifying value of last_insert_id with new connection without committing rows #
#################################################################################
connect (test_con1, localhost, root,,);
connection test_con1;
SET @@autocommit = 0;
--echo ## Verifying initial value of variable in new connection ##
SELECT @@session.last_insert_id;
--echo ## Inserting rows in table t1 ##
START TRANSACTION;
INSERT into t1(name) values('Record_3');
INSERT into t1(name) values('Record_4');
INSERT into t1(name) values('Record_5');
--echo ## Verifying value of variable without committing rows ##
SELECT @@session.last_insert_id;
--echo '#--------------------FN_DYNVARS_059_03-------------------------#'
#########################################################################
# Now verifying value of last_insert_id with second new connection #
#########################################################################
connect (test_con2, localhost, root,,);
connection test_con2;
--echo ## Inserting values through new connection ##
INSERT into t1(name) values('Record_6');
INSERT into t1(name) values('Record_7');
SELECT * from t1;
--echo ## Verifying value of variable in second connection ##
SELECT @@last_insert_id;
--echo '#--------------------FN_DYNVARS_059_04-------------------------#'
############################################################################
# Now verifying value of last_insert_id after committing rows in
# connection # 1
############################################################################
connection test_con1;
--echo ## Verifying all records in table & value of variable ##
SELECT * from t1;
SELECT @@session.last_insert_id;
--echo ## Commiting records in table ##
COMMIT;
SELECT @@session.last_insert_id;
--echo ## Switching to test_con2 & verifying value of variable in it ##
connection test_con2;
SELECT @@session.last_insert_id;
--echo '#--------------------FN_DYNVARS_059_05-------------------------#'
#####################################################################
# Verify value after explicitly setting value of variable #
#####################################################################
--echo ## Setting value of variable ##
SET @@session.last_insert_id = 100;
SELECT @@session.last_insert_id;
--echo ## Inserting new record and verifying variable's effect on it ##
INSERT into t1(name) values('Record_8');
SELECT @@session.last_insert_id;
--echo ## Dropping table t1 ##
drop table t1;
disconnect test_con1;
disconnect test_con2;
|