~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to tests/r/select_safe.result

  • Committer: Brian Aker
  • Date: 2009-11-18 06:24:48 UTC
  • mfrom: (1220.1.15 staging)
  • Revision ID: brian@gaz-20091118062448-o36lo3yv81sc6u9z
Merge Brian + Stewart

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
drop table if exists t1;
2
 
SET SQL_SELECT_LIMIT=4, MAX_JOIN_SIZE=9;
 
2
SET SQL_SAFE_UPDATES=1,SQL_SELECT_LIMIT=4, MAX_JOIN_SIZE=9;
3
3
create table t1 (a int auto_increment primary key, b char(20));
4
4
insert into t1 values(1,"test");
5
5
SELECT SQL_BUFFER_RESULT * from t1;
13
13
1       test
14
14
2       test2
15
15
update t1 set b="a" where a=1;
16
 
select 1 from t1 CROSS JOIN t1 as t2 CROSS JOIN t1 as t3;
 
16
select 1 from t1,t1 as t2,t1 as t3;
17
17
1
18
18
1
19
19
1
20
20
1
21
21
1
22
22
update t1 set b="a";
 
23
ERROR HY000: You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column
23
24
update t1 set b="a" where b="test";
 
25
ERROR HY000: You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column
24
26
delete from t1;
 
27
ERROR HY000: You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column
25
28
delete from t1 where b="test";
 
29
ERROR HY000: You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column
26
30
delete from t1 where a+0=1;
27
 
select 1 from t1 CROSS JOIN t1 as t2 CROSS JOIN t1 as t3 CROSS JOIN t1 as t4 CROSS JOIN t1 as t5;
28
 
1
 
31
ERROR HY000: You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column
 
32
select 1 from t1,t1 as t2,t1 as t3,t1 as t4,t1 as t5;
 
33
ERROR 42000: The SELECT would examine more than MAX_JOIN_SIZE rows; check your WHERE and use SET SQL_BIG_SELECTS=1 or SET MAX_JOIN_SIZE=# if the SELECT is okay
29
34
update t1 set b="a" limit 1;
30
35
update t1 set b="a" where b="b" limit 2;
31
36
delete from t1 where b="test" limit 1;
41
46
SET SQL_BIG_SELECTS=1;
42
47
SELECT * from t1 order by a;
43
48
a       b
 
49
2       test2
44
50
3       a
45
51
4       a
46
52
5       a
47
 
6       a
48
53
SET MAX_JOIN_SIZE=2;
49
54
SELECT * from t1;
50
55
ERROR 42000: The SELECT would examine more than MAX_JOIN_SIZE rows; check your WHERE and use SET SQL_BIG_SELECTS=1 or SET MAX_JOIN_SIZE=# if the SELECT is okay
51
56
SET MAX_JOIN_SIZE=DEFAULT;
52
57
SELECT * from t1;
53
58
a       b
 
59
2       test2
54
60
3       a
55
61
4       a
56
62
5       a
57
 
6       a
58
63
analyze table t1;
59
64
Table   Op      Msg_type        Msg_text
60
65
test.t1 analyze status  OK
61
66
insert into t1 values (null,"a"),(null,"a"),(null,"a"),(null,"a"),(null,"a"),(null,"a"),(null,"a"),(null,"a"),(null,"a"),(null,"a");
62
67
explain select STRAIGHT_JOIN * from t1,t1 as t2 where t1.b=t2.b;
63
68
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
64
 
1       SIMPLE  t1      index   b       PRIMARY 4       NULL    20      
65
 
1       SIMPLE  t2      ref     b       b       83      test.t1.b       10      Using where; Using index
 
69
1       SIMPLE  t1      index   b       PRIMARY 4       NULL    21      
 
70
1       SIMPLE  t2      ref     b       b       83      test.t1.b       5       Using index
66
71
set MAX_SEEKS_FOR_KEY=1;
67
72
explain select STRAIGHT_JOIN * from t1,t1 as t2 where t1.b=t2.b;
68
73
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
69
 
1       SIMPLE  t1      index   b       PRIMARY 4       NULL    20      
70
 
1       SIMPLE  t2      ref     b       b       83      test.t1.b       10      Using where; Using index
 
74
1       SIMPLE  t1      index   b       PRIMARY 4       NULL    21      
 
75
1       SIMPLE  t2      ref     b       b       83      test.t1.b       5       Using index
71
76
SET MAX_SEEKS_FOR_KEY=DEFAULT;
72
77
drop table t1;
73
78
create table t1 (a int);
85
90
select * from (select 1 union select 2 union select 3) x;
86
91
ERROR 42000: The SELECT would examine more than MAX_JOIN_SIZE rows; check your WHERE and use SET SQL_BIG_SELECTS=1 or SET MAX_JOIN_SIZE=# if the SELECT is okay
87
92
drop table t1;
88
 
SET SQL_SELECT_LIMIT=DEFAULT, MAX_JOIN_SIZE=DEFAULT;
 
93
SET SQL_SAFE_UPDATES=0,SQL_SELECT_LIMIT=DEFAULT, MAX_JOIN_SIZE=DEFAULT;