~linuxjedi/drizzle/trunk-bug-667053

« back to all changes in this revision

Viewing changes to mysql-test/suite/parts/inc/partition_10.inc

  • Committer: brian
  • Date: 2008-06-25 05:29:13 UTC
  • Revision ID: brian@localhost.localdomain-20080625052913-6upwo0jsrl4lnapl
clean slate

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# inc/partition_10.inc
 
2
#
 
3
#     Do some basic checks on a table.
 
4
#
 
5
# FIXME: Do not write the statements and results, if SQL return code = 0
 
6
#        and result set like expected. Write a message, that all is like
 
7
#        expected instead.
 
8
#
 
9
# All SELECTs are so written, that we get my_value = 1, when everything
 
10
# is like expected.
 
11
#
 
12
 
 
13
--source suite/parts/inc/partition_layout.inc
 
14
 
 
15
####### Variations with multiple records
 
16
#      Select on empty table
 
17
SELECT COUNT(*) = 0 AS my_value FROM t1;
 
18
#      (mass) Insert of $max_row records
 
19
eval INSERT INTO t1 SELECT * FROM t0_template WHERE f1 BETWEEN 1 AND $max_row;
 
20
#      Select
 
21
eval SELECT (COUNT(*) = $max_row) AND (MIN(f1) = 1) AND (MAX(f1) = $max_row)
 
22
            AS my_value FROM t1;
 
23
# DEBUG SELECT COUNT(*),MIN(f1),MAX(f1) FROM t1;
 
24
#      (mass) Update $max_row_div4 * 2 + 1 records
 
25
eval UPDATE t1 SET f1 = f1 + $max_row
 
26
WHERE f1 BETWEEN $max_row_div2 - $max_row_div4 AND $max_row_div2 + $max_row_div4;
 
27
#      Select
 
28
eval SELECT (COUNT(*) = $max_row) AND (MIN(f1) = 1) AND (MAX(f1) = $max_row_div2 + $max_row_div4 + $max_row )
 
29
            AS my_value FROM t1;
 
30
# DEBUG SELECT COUNT(*),MIN(f1),MAX(f1) FROM t1;
 
31
#      (mass) Delete $max_row_div4 * 2 + 1 records
 
32
eval DELETE FROM t1
 
33
WHERE f1 BETWEEN $max_row_div2 - $max_row_div4 + $max_row AND $max_row_div2 + $max_row_div4 + $max_row;
 
34
#      Select
 
35
eval SELECT (COUNT(*) = $max_row - $max_row_div4 - $max_row_div4 - 1) AND (MIN(f1) = 1) AND (MAX(f1) = $max_row)
 
36
            AS my_value FROM t1;
 
37
# DEBUG SELECT COUNT(*),MIN(f1),MAX(f1) FROM t1;
 
38
 
 
39
####### Variations with single records
 
40
#      Insert one record at beginning
 
41
INSERT INTO t1 SET f1 = 0 , f2 = '#######';
 
42
#      Select this record
 
43
SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = 0 AND f2 = '#######';
 
44
#      Insert one record at end
 
45
eval INSERT INTO t1 SET f1 = $max_row + 1, f2 = '#######';
 
46
#      Select this record
 
47
eval SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = $max_row + 1 AND f2 = '#######';
 
48
#      Update one record
 
49
eval UPDATE t1 SET f1 = $max_row + 2, f2 = 'ZZZZZZZ'
 
50
     WHERE  f1 = 0 AND f2 = '#######';
 
51
#      Select
 
52
eval SELECT COUNT(*) = 1 AS my_value FROM t1 WHERE f1 = $max_row + 2 AND f2 = 'ZZZZZZZ';
 
53
# Bug #15968: Partitions: crash when INSERT with f1 = -1 into PARTITION BY HASH(f1)
 
54
eval UPDATE t1 SET f1 = 0 - 1, f2 = 'ZZZZZZZ'
 
55
     WHERE  f1 = $max_row + 1 AND f2 = '#######';
 
56
#      Select
 
57
SELECT COUNT(*) AS my_value FROM t1 WHERE f1 = 0 - 1 AND f2 = 'ZZZZZZZ';
 
58
#      Delete
 
59
eval DELETE FROM t1 WHERE f1 = $max_row + 2 AND f2 = 'ZZZZZZZ';
 
60
DELETE FROM t1 WHERE f1 = 0 - 1 AND f2 = 'ZZZZZZZ';
 
61
#      Select
 
62
SELECT COUNT(*) = 0 AS my_value FROM t1 WHERE f2 = 'ZZZZZZZ';
 
63
 
 
64
#      Truncate
 
65
TRUNCATE t1;
 
66
#      Select on empty table
 
67
SELECT COUNT(*) = 0 AS my_value FROM t1;