~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to tests/r/alter_table.result

  • Committer: Prafulla Tekawade
  • Date: 2010-06-30 16:55:32 UTC
  • mto: (1643.1.3 build) (1662.1.4 rollup)
  • mto: This revision was merged to the branch mainline in revision 1644.
  • Revision ID: prafulla_t@users.sourceforge.net-20100630165532-3og7y5biaqrsqg4s
Reverting the fix for 592473

I checked with mysql source code.
In Join::Optimize code, whenever where condition is optimized, number of
tables to be read this->table needs to be set to zero. This avoided
later code to go over join->join_tab and creating problem such as the bug.

Show diffs side-by-side

added added

removed removed

Lines of Context:
52
52
ALTER TABLE t1 CHANGE NAME NAME CHAR(80) not null;
53
53
show COLUMNS FROM t1;
54
54
Field   Type    Null    Default Default_is_NULL On_Update
55
 
GROUP_ID        INTEGER NO      0       NO      
56
 
LANG_ID INTEGER NO      0       NO      
57
 
NAME    VARCHAR NO              NO      
 
55
GROUP_ID        INTEGER FALSE   0       FALSE   
 
56
LANG_ID INTEGER FALSE   0       FALSE   
 
57
NAME    VARCHAR FALSE           FALSE   
58
58
DROP TABLE t1;
59
59
create table t1 (n int);
60
60
insert into t1 values(9),(3),(12),(10);
117
117
alter table t1;
118
118
show keys from t1;
119
119
Table   Unique  Key_name        Seq_in_index    Column_name
120
 
t1      YES     n1      1       n1
121
 
t1      NO      n1_2    1       n1
122
 
t1      NO      n1_2    2       n2
123
 
t1      NO      n1_2    3       n3
124
 
t1      NO      n1_2    4       n4
125
 
t1      NO      n2      1       n2
126
 
t1      NO      n2      2       n3
127
 
t1      NO      n2      3       n4
128
 
t1      NO      n2      4       n1
129
 
t1      NO      n3      1       n3
130
 
t1      NO      n3      2       n4
131
 
t1      NO      n3      3       n1
132
 
t1      NO      n3      4       n2
133
 
t1      NO      n4      1       n4
134
 
t1      NO      n4      2       n1
135
 
t1      NO      n4      3       n2
136
 
t1      NO      n4      4       n3
 
120
t1      TRUE    n1      1       n1
 
121
t1      FALSE   n1_2    1       n1
 
122
t1      FALSE   n1_2    2       n2
 
123
t1      FALSE   n1_2    3       n3
 
124
t1      FALSE   n1_2    4       n4
 
125
t1      FALSE   n2      1       n2
 
126
t1      FALSE   n2      2       n3
 
127
t1      FALSE   n2      3       n4
 
128
t1      FALSE   n2      4       n1
 
129
t1      FALSE   n3      1       n3
 
130
t1      FALSE   n3      2       n4
 
131
t1      FALSE   n3      3       n1
 
132
t1      FALSE   n3      4       n2
 
133
t1      FALSE   n4      1       n4
 
134
t1      FALSE   n4      2       n1
 
135
t1      FALSE   n4      3       n2
 
136
t1      FALSE   n4      4       n3
137
137
set autocommit=0;
138
138
begin;
139
139
insert into t1 values(10,RAND()*1000,RAND()*1000,RAND());
153
153
Note    1031    Table storage engine for 't1' doesn't have this option
154
154
show keys from t1;
155
155
Table   Unique  Key_name        Seq_in_index    Column_name
156
 
t1      YES     n1      1       n1
157
 
t1      NO      n1_2    1       n1
158
 
t1      NO      n1_2    2       n2
159
 
t1      NO      n1_2    3       n3
160
 
t1      NO      n1_2    4       n4
161
 
t1      NO      n2      1       n2
162
 
t1      NO      n2      2       n3
163
 
t1      NO      n2      3       n4
164
 
t1      NO      n2      4       n1
165
 
t1      NO      n3      1       n3
166
 
t1      NO      n3      2       n4
167
 
t1      NO      n3      3       n1
168
 
t1      NO      n3      4       n2
169
 
t1      NO      n4      1       n4
170
 
t1      NO      n4      2       n1
171
 
t1      NO      n4      3       n2
172
 
t1      NO      n4      4       n3
 
156
t1      TRUE    n1      1       n1
 
157
t1      FALSE   n1_2    1       n1
 
158
t1      FALSE   n1_2    2       n2
 
159
t1      FALSE   n1_2    3       n3
 
160
t1      FALSE   n1_2    4       n4
 
161
t1      FALSE   n2      1       n2
 
162
t1      FALSE   n2      2       n3
 
163
t1      FALSE   n2      3       n4
 
164
t1      FALSE   n2      4       n1
 
165
t1      FALSE   n3      1       n3
 
166
t1      FALSE   n3      2       n4
 
167
t1      FALSE   n3      3       n1
 
168
t1      FALSE   n3      4       n2
 
169
t1      FALSE   n4      1       n4
 
170
t1      FALSE   n4      2       n1
 
171
t1      FALSE   n4      3       n2
 
172
t1      FALSE   n4      4       n3
173
173
drop table t1;
174
174
create table t1 (i int not null auto_increment primary key);
175
175
alter table t1 rename t2;
176
176
alter table t2 rename t1, add c char(10) comment "no comment";
177
177
show columns from t1;
178
178
Field   Type    Null    Default Default_is_NULL On_Update
179
 
i       INTEGER NO      0       NO      
180
 
c       VARCHAR YES             YES     
 
179
i       INTEGER FALSE   0       FALSE   
 
180
c       VARCHAR TRUE            TRUE    
181
181
drop table t1;
182
182
create table t1 (a int, b int);
183
183
set autocommit=0;
287
287
alter table t1 add unique (a,b), add key (b);
288
288
show keys from t1;
289
289
Table   Unique  Key_name        Seq_in_index    Column_name
290
 
t1      YES     a       1       a
291
 
t1      YES     a       2       b
292
 
t1      NO      b       1       b
 
290
t1      TRUE    a       1       a
 
291
t1      TRUE    a       2       b
 
292
t1      FALSE   b       1       b
293
293
analyze table t1;
294
294
Table   Op      Msg_type        Msg_text
295
295
test.t1 analyze status  OK
296
296
show keys from t1;
297
297
Table   Unique  Key_name        Seq_in_index    Column_name
298
 
t1      YES     a       1       a
299
 
t1      YES     a       2       b
300
 
t1      NO      b       1       b
 
298
t1      TRUE    a       1       a
 
299
t1      TRUE    a       2       b
 
300
t1      FALSE   b       1       b
301
301
drop table t1;
302
302
CREATE TEMPORARY TABLE t1 (
303
303
Host varchar(16) NOT NULL default '',
378
378
create table t1 (a int, key(a));
379
379
show indexes from t1;
380
380
Table   Unique  Key_name        Seq_in_index    Column_name
381
 
t1      NO      a       1       a
 
381
t1      FALSE   a       1       a
382
382
"this used not to disable the index"
383
383
alter table t1 modify a int;
384
384
show indexes from t1;
385
385
Table   Unique  Key_name        Seq_in_index    Column_name
386
 
t1      NO      a       1       a
 
386
t1      FALSE   a       1       a
387
387
alter table t1 enable keys;
388
388
Warnings:
389
389
Note    1031    Table storage engine for 't1' doesn't have this option
390
390
show indexes from t1;
391
391
Table   Unique  Key_name        Seq_in_index    Column_name
392
 
t1      NO      a       1       a
 
392
t1      FALSE   a       1       a
393
393
alter table t1 modify a bigint;
394
394
show indexes from t1;
395
395
Table   Unique  Key_name        Seq_in_index    Column_name
396
 
t1      NO      a       1       a
 
396
t1      FALSE   a       1       a
397
397
alter table t1 enable keys;
398
398
Warnings:
399
399
Note    1031    Table storage engine for 't1' doesn't have this option
400
400
show indexes from t1;
401
401
Table   Unique  Key_name        Seq_in_index    Column_name
402
 
t1      NO      a       1       a
 
402
t1      FALSE   a       1       a
403
403
alter table t1 add b char(10);
404
404
show indexes from t1;
405
405
Table   Unique  Key_name        Seq_in_index    Column_name
406
 
t1      NO      a       1       a
 
406
t1      FALSE   a       1       a
407
407
alter table t1 add c decimal(10,2);
408
408
show indexes from t1;
409
409
Table   Unique  Key_name        Seq_in_index    Column_name
410
 
t1      NO      a       1       a
 
410
t1      FALSE   a       1       a
411
411
"this however did"
412
412
alter table t1;
413
413
show indexes from t1;
414
414
Table   Unique  Key_name        Seq_in_index    Column_name
415
 
t1      NO      a       1       a
 
415
t1      FALSE   a       1       a
416
416
desc t1;
417
417
Field   Type    Null    Default Default_is_NULL On_Update
418
 
a       BIGINT  YES             YES     
419
 
b       VARCHAR YES             YES     
420
 
c       DECIMAL YES             YES     
 
418
a       BIGINT  TRUE            TRUE    
 
419
b       VARCHAR TRUE            TRUE    
 
420
c       DECIMAL TRUE            TRUE    
421
421
alter table t1 add d decimal(15,5);
422
422
"The key should still be disabled"
423
423
show indexes from t1;
424
424
Table   Unique  Key_name        Seq_in_index    Column_name
425
 
t1      NO      a       1       a
 
425
t1      FALSE   a       1       a
426
426
drop table t1;
427
427
"Now will test with one unique index"
428
428
create table t1(a int, b char(10), unique(a));
429
429
show indexes from t1;
430
430
Table   Unique  Key_name        Seq_in_index    Column_name
431
 
t1      YES     a       1       a
 
431
t1      TRUE    a       1       a
432
432
alter table t1;
433
433
show indexes from t1;
434
434
Table   Unique  Key_name        Seq_in_index    Column_name
435
 
t1      YES     a       1       a
 
435
t1      TRUE    a       1       a
436
436
alter table t1 enable keys;
437
437
Warnings:
438
438
Note    1031    Table storage engine for 't1' doesn't have this option
441
441
alter table t1 modify a int;
442
442
show indexes from t1;
443
443
Table   Unique  Key_name        Seq_in_index    Column_name
444
 
t1      YES     a       1       a
 
444
t1      TRUE    a       1       a
445
445
"Change the type implying data copy"
446
446
"Unique index, no change"
447
447
alter table t1 modify a bigint;
448
448
show indexes from t1;
449
449
Table   Unique  Key_name        Seq_in_index    Column_name
450
 
t1      YES     a       1       a
 
450
t1      TRUE    a       1       a
451
451
alter table t1 modify a bigint;
452
452
show indexes from t1;
453
453
Table   Unique  Key_name        Seq_in_index    Column_name
454
 
t1      YES     a       1       a
 
454
t1      TRUE    a       1       a
455
455
alter table t1 modify a int;
456
456
show indexes from t1;
457
457
Table   Unique  Key_name        Seq_in_index    Column_name
458
 
t1      YES     a       1       a
 
458
t1      TRUE    a       1       a
459
459
drop table t1;
460
460
"Now will test with one unique and one non-unique index"
461
461
create table t1(a int, b char(10), unique(a), key(b));
462
462
show indexes from t1;
463
463
Table   Unique  Key_name        Seq_in_index    Column_name
464
 
t1      YES     a       1       a
465
 
t1      NO      b       1       b
 
464
t1      TRUE    a       1       a
 
465
t1      FALSE   b       1       b
466
466
alter table t1;
467
467
show indexes from t1;
468
468
Table   Unique  Key_name        Seq_in_index    Column_name
469
 
t1      YES     a       1       a
470
 
t1      NO      b       1       b
 
469
t1      TRUE    a       1       a
 
470
t1      FALSE   b       1       b
471
471
alter table t1 enable keys;
472
472
Warnings:
473
473
Note    1031    Table storage engine for 't1' doesn't have this option
476
476
alter table t1 modify a int;
477
477
show indexes from t1;
478
478
Table   Unique  Key_name        Seq_in_index    Column_name
479
 
t1      YES     a       1       a
480
 
t1      NO      b       1       b
 
479
t1      TRUE    a       1       a
 
480
t1      FALSE   b       1       b
481
481
alter table t1 enable keys;
482
482
Warnings:
483
483
Note    1031    Table storage engine for 't1' doesn't have this option
484
484
show indexes from t1;
485
485
Table   Unique  Key_name        Seq_in_index    Column_name
486
 
t1      YES     a       1       a
487
 
t1      NO      b       1       b
 
486
t1      TRUE    a       1       a
 
487
t1      FALSE   b       1       b
488
488
"Change the type implying data copy"
489
489
"The non-unique index will be disabled"
490
490
alter table t1 modify a bigint;
491
491
show indexes from t1;
492
492
Table   Unique  Key_name        Seq_in_index    Column_name
493
 
t1      YES     a       1       a
494
 
t1      NO      b       1       b
 
493
t1      TRUE    a       1       a
 
494
t1      FALSE   b       1       b
495
495
"Change again the type, but leave the indexes as_is"
496
496
alter table t1 modify a int;
497
497
show indexes from t1;
498
498
Table   Unique  Key_name        Seq_in_index    Column_name
499
 
t1      YES     a       1       a
500
 
t1      NO      b       1       b
 
499
t1      TRUE    a       1       a
 
500
t1      FALSE   b       1       b
501
501
"Try the same. When data is no copied on similar tables, this is noop"
502
502
alter table t1 modify a int;
503
503
show indexes from t1;
504
504
Table   Unique  Key_name        Seq_in_index    Column_name
505
 
t1      YES     a       1       a
506
 
t1      NO      b       1       b
 
505
t1      TRUE    a       1       a
 
506
t1      FALSE   b       1       b
507
507
drop table t1;
508
508
create database mysqltest;
509
509
create table t1 (c1 int);
540
540
CREATE TABLE bug24219 (a INT, INDEX(a));
541
541
SHOW INDEX FROM bug24219;
542
542
Table   Unique  Key_name        Seq_in_index    Column_name
543
 
bug24219        NO      a       1       a
 
543
bug24219        FALSE   a       1       a
544
544
ALTER TABLE bug24219 RENAME TO bug24219_2, DISABLE KEYS;
545
545
Warnings:
546
546
Note    1031    Table storage engine for 'bug24219' doesn't have this option
547
547
SHOW INDEX FROM bug24219_2;
548
548
Table   Unique  Key_name        Seq_in_index    Column_name
549
 
bug24219_2      NO      a       1       a
 
549
bug24219_2      FALSE   a       1       a
550
550
DROP TABLE bug24219_2;
551
551
drop table if exists table_24562;
552
552
create table table_24562(
663
663
alter table t1 alter column mycol set default 0;
664
664
desc t1;
665
665
Field   Type    Null    Default Default_is_NULL On_Update
666
 
mycol   INTEGER NO      0       NO      
 
666
mycol   INTEGER FALSE   0       FALSE   
667
667
drop table t1;
668
668
create TEMPORARY table t1(id int primary key auto_increment) engine=MEMORY;
669
669
insert into t1 values (null);
841
841
);
842
842
DESCRIBE t1;
843
843
Field   Type    Null    Default Default_is_NULL On_Update
844
 
int_field       INTEGER NO              NO      
845
 
char_field      VARCHAR YES             YES     
 
844
int_field       INTEGER FALSE           FALSE   
 
845
char_field      VARCHAR TRUE            TRUE    
846
846
SHOW INDEXES FROM t1;
847
847
Table   Unique  Key_name        Seq_in_index    Column_name
848
 
t1      NO      int_field       1       int_field
 
848
t1      FALSE   int_field       1       int_field
849
849
INSERT INTO t1 VALUES (1, "edno"), (1, "edno"), (2, "dve"), (3, "tri"), (5, "pet");
850
850
"Non-copy data change - new frm, but old data and index files"
851
851
ALTER TABLE t1 CHANGE int_field unsigned_int_field INTEGER NOT NULL, RENAME t2;
860
860
5       pet
861
861
DESCRIBE t2;
862
862
Field   Type    Null    Default Default_is_NULL On_Update
863
 
unsigned_int_field      INTEGER NO              NO      
864
 
char_field      VARCHAR YES             YES     
 
863
unsigned_int_field      INTEGER FALSE           FALSE   
 
864
char_field      VARCHAR TRUE            TRUE    
865
865
DESCRIBE t2;
866
866
Field   Type    Null    Default Default_is_NULL On_Update
867
 
unsigned_int_field      INTEGER NO              NO      
868
 
char_field      VARCHAR YES             YES     
 
867
unsigned_int_field      INTEGER FALSE           FALSE   
 
868
char_field      VARCHAR TRUE            TRUE    
869
869
ALTER TABLE t2 MODIFY unsigned_int_field BIGINT NOT NULL;
870
870
DESCRIBE t2;
871
871
Field   Type    Null    Default Default_is_NULL On_Update
872
 
unsigned_int_field      BIGINT  NO              NO      
873
 
char_field      VARCHAR YES             YES     
 
872
unsigned_int_field      BIGINT  FALSE           FALSE   
 
873
char_field      VARCHAR TRUE            TRUE    
874
874
DROP TABLE t2;
875
875
CREATE TABLE t1 (f1 INT, f2 INT, f3 INT);
876
876
INSERT INTO t1 VALUES (1, 2, NULL);