~jlukas79/+junk/mysql-server

« back to all changes in this revision

Viewing changes to mysql-test/t/sql_big_tables_func.test

manual merge 6.0-main --> 6.0-bka-review

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
############# mysql-test\t\sql_big_tables_func.test ########################
 
2
#                                                                          #
 
3
# Variable Name: sql_big_tables                                            #
 
4
# Scope: SESSION                                                           #
 
5
# Access Type: Dynamic                                                     #
 
6
# Data Type: BOOLEAN                                                       #
 
7
# Default Value: 0 FALSE                                                   #
 
8
# Values:       1 TRUE, 0 FALSE                                            #
 
9
#                                                                          #
 
10
#                                                                          #
 
11
# Creation Date: 2008-02-25                                                #
 
12
# Author:  Sharique Abdullah                                               #
 
13
#                                                                          #
 
14
# Description: Test Cases of Dynamic System Variable "sql_big_tables"      #
 
15
#              that checks behavior of this variable in the following ways #
 
16
#              * Functionality based on different values                   #
 
17
#                                                                          #
 
18
# Reference: http://dev.mysql.com/doc/refman/5.1/en/set-option.html        #
 
19
#                                                                          #
 
20
############################################################################
 
21
 
 
22
# Due to difference in the result the ps-protocol is disabled
 
23
--disable_ps_protocol
 
24
 
 
25
--echo ** Setup **
 
26
--echo
 
27
#
 
28
# Setup
 
29
#
 
30
 
 
31
SET @old_big_tables = @@SESSION.sql_big_tables;
 
32
 
 
33
#
 
34
# Create tables
 
35
#
 
36
 
 
37
CREATE TABLE t1(a varchar(20), b varchar(20));
 
38
 
 
39
INSERT INTO t1 VALUES('aa','bb');
 
40
INSERT INTO t1 VALUES('aa','bb');
 
41
INSERT INTO t1 VALUES('aa','bb');
 
42
INSERT INTO t1 VALUES('aa','bb');
 
43
INSERT INTO t1 VALUES('aa','bb');
 
44
 
 
45
--echo '#--------------------FN_DYNVARS_155_01-------------------------#'
 
46
#
 
47
# TRUE mode
 
48
#
 
49
 
 
50
SET SESSION sql_big_tables = 1;
 
51
 
 
52
let $diskTablesBig = query_get_value(SHOW STATUS LIKE 'Created_tmp_disk_tables', Value, 1);
 
53
let $totalTablesBig = query_get_value(SHOW STATUS LIKE 'Created_tmp_tables', Value, 1);
 
54
 
 
55
eval SET @diskTableCount = $diskTablesBig;
 
56
eval SET @tempTableCount = $totalTablesBig;
 
57
 
 
58
SELECT * FROM (SELECT ta.a as a, tb.b as b 
 
59
FROM t1 as ta INNER JOIN t1 as tb ON ta.a = tb.a) sub;
 
60
 
 
61
let $newDiskTablesBig = query_get_value(SHOW STATUS LIKE 'Created_tmp_disk_tables', Value, 1);
 
62
let $newTotalTablesBig = query_get_value(SHOW STATUS LIKE 'Created_tmp_tables', Value, 1);
 
63
 
 
64
eval SET @diskTableCount = $newDiskTablesBig - @diskTableCount;
 
65
eval SET @tempTableCount = $newTotalTablesBig - @tempTableCount;
 
66
 
 
67
SELECT @diskTableCount;
 
68
--echo 1 Expected
 
69
SELECT @tempTableCount;
 
70
--echo 1 Expected
 
71
 
 
72
--echo '#--------------------FN_DYNVARS_155_02-------------------------#'
 
73
#
 
74
# FALSE mode
 
75
#
 
76
 
 
77
SET SESSION sql_big_tables = 0;
 
78
 
 
79
let $diskTables = query_get_value(SHOW STATUS LIKE 'Created_tmp_disk_tables', Value, 1);
 
80
let $totalTables = query_get_value(SHOW STATUS LIKE 'Created_tmp_tables', Value, 1);
 
81
 
 
82
eval SET @diskTableCount = $diskTables;
 
83
eval SET @tempTableCount = $totalTables;
 
84
 
 
85
SELECT * FROM (SELECT ta.b as a, tb.a as b FROM t1 as ta INNER JOIN t1 as tb ON ta.a = tb.a) sub;
 
86
 
 
87
let $newDiskTables= query_get_value(SHOW STATUS LIKE 'Created_tmp_disk_tables', Value, 1);
 
88
let $newTotalTables= query_get_value(SHOW STATUS LIKE 'Created_tmp_tables', Value, 1);
 
89
 
 
90
eval SET @diskTableCount = $newDiskTables - @diskTableCount;
 
91
eval SET @tempTableCount = $newTotalTables - @tempTableCount;
 
92
 
 
93
SELECT @diskTableCount;
 
94
--echo 0 Expected
 
95
SELECT @tempTableCount;
 
96
--echo 1 Expected
 
97
 
 
98
--echo '#--------------------FN_DYNVARS_155_03-------------------------#'
 
99
#
 
100
# Session data integrity check
 
101
#
 
102
--echo ** Connecting con_int1 using root **
 
103
connect (con_int1,localhost,root,,);
 
104
--echo ** Connection con_int1 **
 
105
connection con_int1;
 
106
 
 
107
SELECT @@SESSION.sql_big_tables;
 
108
--echo 0 / FALSE Expected;
 
109
SET SESSION sql_big_tables = FALSE;
 
110
 
 
111
--echo ** Connecting con_int2 using root **
 
112
connect (con_int2,localhost,root,,);
 
113
--echo ** Connection con_int2 **
 
114
connection con_int2;
 
115
 
 
116
SELECT @@SESSION.sql_big_tables;
 
117
--echo 0 / FALSE Expected;
 
118
 
 
119
SET SESSION sql_big_tables = TRUE;
 
120
 
 
121
--echo ** Connection con_int1 **
 
122
connection con_int1;
 
123
SELECT @@SESSION.sql_big_tables;
 
124
--echo 0 / FALSE Expected;
 
125
 
 
126
--echo ** Connection con_int2 **
 
127
connection con_int2;
 
128
SELECT @@SESSION.sql_big_tables;
 
129
--echo 1 / TRUE Expected;
 
130
 
 
131
--echo ** Connection default **
 
132
connection default;
 
133
--echo Disconnecting Connections con_int1, con_int2
 
134
disconnect con_int1;
 
135
disconnect con_int2;
 
136
 
 
137
#
 
138
# Cleanup
 
139
#
 
140
 
 
141
SET SESSION sql_big_tables = @old_big_tables;
 
142
 
 
143
DROP TABLE t1;
 
144
 
 
145
--enable_ps_protocol
 
146