From: Date: July 10 2008 11:07am Subject: bzr push into mysql-6.0-falcon branch (hakan:2741 to 2742) List-Archive: http://lists.mysql.com/commits/49405 Message-Id: <20080710090725.751B3123C36@lu0011.efendi.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 2742 Hakan Kuecuekyilmaz 2008-07-10 Fixed falcon_bug_37344_A and falcon_bug_22150. modified: mysql-test/suite/falcon/r/falcon_bug_22150.result mysql-test/suite/falcon/r/falcon_bug_37344_A.result mysql-test/suite/falcon/t/falcon_bug_22150.test mysql-test/suite/falcon/t/falcon_bug_37344_A.test 2741 Kevin Lewis 2008-07-09 [merge] merge added: mysql-test/suite/falcon/r/falcon_bug_37344_A.result mysql-test/suite/falcon/t/falcon_bug_37344_A.test modified: storage/falcon/IndexWalker.cpp === modified file 'mysql-test/suite/falcon/r/falcon_bug_22150.result' --- a/mysql-test/suite/falcon/r/falcon_bug_22150.result 2008-02-05 14:10:24 +0000 +++ b/mysql-test/suite/falcon/r/falcon_bug_22150.result 2008-07-10 09:01:25 +0000 @@ -42,5 +42,6 @@ SELECT count(*) FROM t1; count(*) 0 # Disconnect conn1 +SET @@autocommit = DEFAULT; DROP TABLE t1; DROP PROCEDURE p1; === modified file 'mysql-test/suite/falcon/r/falcon_bug_37344_A.result' --- a/mysql-test/suite/falcon/r/falcon_bug_37344_A.result 2008-07-08 15:10:55 +0000 +++ b/mysql-test/suite/falcon/r/falcon_bug_37344_A.result 2008-07-10 09:01:25 +0000 @@ -1,19 +1,17 @@ *** Bug #37344 *** SET @@storage_engine = 'Falcon'; -set autocommit=1; DROP TABLE IF EXISTS A; -Warnings: -Note 1051 Unknown table 'a' -CREATE TABLE A ( pk INTEGER AUTO_INCREMENT, int_nokey INTEGER, int_key INTEGER, filler blob, PRIMARY KEY (pk), KEY (int_key) ) ENGINE=Falcon; DROP TABLE IF EXISTS B; -Warnings: -Note 1051 Unknown table 'b' -CREATE TABLE B ( pk INTEGER AUTO_INCREMENT, int_nokey INTEGER, int_key INTEGER, filler blob, PRIMARY KEY (pk), KEY (int_key) ) ENGINE=Falcon; -INSERT INTO B ( int_nokey, int_key ) VALUES (0, 0); DROP TABLE IF EXISTS C; -Warnings: -Note 1051 Unknown table 'c' -CREATE TABLE C ( pk INTEGER AUTO_INCREMENT, int_nokey INTEGER, int_key INTEGER, filler blob, PRIMARY KEY (pk), KEY (int_key) ) ENGINE=Falcon; +DROP TABLE IF EXISTS D; +DROP TABLE IF EXISTS E; +CREATE TABLE A ( pk INTEGER AUTO_INCREMENT, int_nokey INTEGER, int_key INTEGER, filler blob, PRIMARY KEY (pk), KEY (int_key) ); +CREATE TABLE B ( pk INTEGER AUTO_INCREMENT, int_nokey INTEGER, int_key INTEGER, filler blob, PRIMARY KEY (pk), KEY (int_key) ); +CREATE TABLE C ( pk INTEGER AUTO_INCREMENT, int_nokey INTEGER, int_key INTEGER, filler blob, PRIMARY KEY (pk), KEY (int_key) ); +CREATE TABLE D ( pk INTEGER AUTO_INCREMENT, int_nokey INTEGER, int_key INTEGER, filler blob, PRIMARY KEY (pk), KEY (int_key) ); +CREATE TABLE E ( pk INTEGER AUTO_INCREMENT, int_nokey INTEGER, int_key INTEGER, filler blob, PRIMARY KEY (pk), KEY (int_key) ); +SET @@autocommit = 1; +INSERT INTO B ( int_nokey, int_key ) VALUES (0, 0); INSERT INTO C ( int_nokey, int_key ) VALUES (5, 5); INSERT INTO C ( int_nokey, int_key ) VALUES (7, 7); INSERT INTO C ( int_nokey, int_key ) VALUES (3, 3); @@ -24,10 +22,6 @@ INSERT INTO C ( int_nokey, int_key ) VAL INSERT INTO C ( int_nokey, int_key ) VALUES (5, 5); INSERT INTO C ( int_nokey, int_key ) VALUES (0, 0); INSERT INTO C ( int_nokey, int_key ) VALUES (6, 6); -DROP TABLE IF EXISTS D; -Warnings: -Note 1051 Unknown table 'd' -CREATE TABLE D ( pk INTEGER AUTO_INCREMENT, int_nokey INTEGER, int_key INTEGER, filler blob, PRIMARY KEY (pk), KEY (int_key) ) ENGINE=Falcon; INSERT INTO D ( int_nokey, int_key ) VALUES (37, 37); INSERT INTO D ( int_nokey, int_key ) VALUES (7, 7); INSERT INTO D ( int_nokey, int_key ) VALUES (45, 45); @@ -128,10 +122,6 @@ INSERT INTO D ( int_nokey, int_key ) VAL INSERT INTO D ( int_nokey, int_key ) VALUES (15, 15); INSERT INTO D ( int_nokey, int_key ) VALUES (39, 39); INSERT INTO D ( int_nokey, int_key ) VALUES (85, 85); -DROP TABLE IF EXISTS E; -Warnings: -Note 1051 Unknown table 'e' -CREATE TABLE E ( pk INTEGER AUTO_INCREMENT, int_nokey INTEGER, int_key INTEGER, filler blob, PRIMARY KEY (pk), KEY (int_key) ) ENGINE=Falcon; INSERT INTO E ( int_nokey, int_key ) VALUES (84, 84); INSERT INTO E ( int_nokey, int_key ) VALUES (595, 595); INSERT INTO E ( int_nokey, int_key ) VALUES (552, 552); @@ -1132,9 +1122,6 @@ INSERT INTO E ( int_nokey, int_key ) VAL INSERT INTO E ( int_nokey, int_key ) VALUES (517, 517); INSERT INTO E ( int_nokey, int_key ) VALUES (972, 972); INSERT INTO E ( int_nokey, int_key ) VALUES (457, 457); -; -ERROR 42000: Query was empty -set autocommit=1; SET AUTOCOMMIT=0; UPDATE C AS X SET pk = 9 , filler = REPEAT ( ' X ' , ( SELECT 90 FROM ( SELECT COUNT( pk ) FROM C AS X WHERE X . int_nokey < 92 LIMIT 20 ) AS X WHERE X . int_nokey < 76 LIMIT 1 ) ) WHERE X . pk < 58 ORDER BY RAND ( ) LIMIT 20; ERROR 23000: Duplicate entry '9' for key 'PRIMARY' @@ -1251,6 +1238,10 @@ ERROR HY000: You can't specify target ta UPDATE B AS X SET int_nokey = ( SELECT AVG( int_nokey ) FROM B AS X LEFT JOIN C AS Y ON ( X . int_nokey = Y . int_nokey ) WHERE X . int_nokey < 99 LIMIT 1 ) , filler = REPEAT ( ' X ' , 96 ) WHERE X . int_nokey < 5 ORDER BY RAND ( ) LIMIT 20; ERROR HY000: You can't specify target table 'X' for update in FROM clause UPDATE C AS X SET int_key = ( SELECT AVG( int_nokey ) FROM E AS X WHERE X . int_nokey < 69 GROUP BY int_key LIMIT 1 ) , filler = REPEAT ( ' X ' , 59 ) WHERE X . int_nokey < 60 ORDER BY RAND ( ) LIMIT 20; +SELECT count(*) FROM A; +count(*) +2 +SET @@autocommit = DEFAULT; DROP TABLE A; DROP TABLE B; DROP TABLE C; === modified file 'mysql-test/suite/falcon/t/falcon_bug_22150.test' --- a/mysql-test/suite/falcon/t/falcon_bug_22150.test 2008-02-05 14:10:24 +0000 +++ b/mysql-test/suite/falcon/t/falcon_bug_22150.test 2008-07-10 09:01:25 +0000 @@ -89,5 +89,6 @@ SELECT count(*) FROM t1; # ----------------------------------------------------- # --echo # Disconnect conn1 disconnect conn1; +SET @@autocommit = DEFAULT; DROP TABLE t1; DROP PROCEDURE p1; === modified file 'mysql-test/suite/falcon/t/falcon_bug_37344_A.test' --- a/mysql-test/suite/falcon/t/falcon_bug_37344_A.test 2008-07-08 15:10:55 +0000 +++ b/mysql-test/suite/falcon/t/falcon_bug_37344_A.test 2008-07-10 09:01:25 +0000 @@ -15,21 +15,27 @@ let $engine = 'Falcon'; eval SET @@storage_engine = $engine; --disable_warnings -# DROP TABLE IF EXISTS t1; +DROP TABLE IF EXISTS A; +DROP TABLE IF EXISTS B; +DROP TABLE IF EXISTS C; +DROP TABLE IF EXISTS D; +DROP TABLE IF EXISTS E; --enable_warnings +CREATE TABLE A ( pk INTEGER AUTO_INCREMENT, int_nokey INTEGER, int_key INTEGER, filler blob, PRIMARY KEY (pk), KEY (int_key) ); +CREATE TABLE B ( pk INTEGER AUTO_INCREMENT, int_nokey INTEGER, int_key INTEGER, filler blob, PRIMARY KEY (pk), KEY (int_key) ); +CREATE TABLE C ( pk INTEGER AUTO_INCREMENT, int_nokey INTEGER, int_key INTEGER, filler blob, PRIMARY KEY (pk), KEY (int_key) ); +CREATE TABLE D ( pk INTEGER AUTO_INCREMENT, int_nokey INTEGER, int_key INTEGER, filler blob, PRIMARY KEY (pk), KEY (int_key) ); +CREATE TABLE E ( pk INTEGER AUTO_INCREMENT, int_nokey INTEGER, int_key INTEGER, filler blob, PRIMARY KEY (pk), KEY (int_key) ); + # ----------------------------------------------------- # # --- Test --- # # ----------------------------------------------------- # --disable_abort_on_error -set autocommit=1; -DROP TABLE IF EXISTS A; -CREATE TABLE A ( pk INTEGER AUTO_INCREMENT, int_nokey INTEGER, int_key INTEGER, filler blob, PRIMARY KEY (pk), KEY (int_key) ) ENGINE=Falcon; -DROP TABLE IF EXISTS B; -CREATE TABLE B ( pk INTEGER AUTO_INCREMENT, int_nokey INTEGER, int_key INTEGER, filler blob, PRIMARY KEY (pk), KEY (int_key) ) ENGINE=Falcon; +SET @@autocommit = 1; + INSERT INTO B ( int_nokey, int_key ) VALUES (0, 0); -DROP TABLE IF EXISTS C; -CREATE TABLE C ( pk INTEGER AUTO_INCREMENT, int_nokey INTEGER, int_key INTEGER, filler blob, PRIMARY KEY (pk), KEY (int_key) ) ENGINE=Falcon; + INSERT INTO C ( int_nokey, int_key ) VALUES (5, 5); INSERT INTO C ( int_nokey, int_key ) VALUES (7, 7); INSERT INTO C ( int_nokey, int_key ) VALUES (3, 3); @@ -40,8 +46,7 @@ INSERT INTO C ( int_nokey, int_key ) VAL INSERT INTO C ( int_nokey, int_key ) VALUES (5, 5); INSERT INTO C ( int_nokey, int_key ) VALUES (0, 0); INSERT INTO C ( int_nokey, int_key ) VALUES (6, 6); -DROP TABLE IF EXISTS D; -CREATE TABLE D ( pk INTEGER AUTO_INCREMENT, int_nokey INTEGER, int_key INTEGER, filler blob, PRIMARY KEY (pk), KEY (int_key) ) ENGINE=Falcon; + INSERT INTO D ( int_nokey, int_key ) VALUES (37, 37); INSERT INTO D ( int_nokey, int_key ) VALUES (7, 7); INSERT INTO D ( int_nokey, int_key ) VALUES (45, 45); @@ -142,8 +147,7 @@ INSERT INTO D ( int_nokey, int_key ) VAL INSERT INTO D ( int_nokey, int_key ) VALUES (15, 15); INSERT INTO D ( int_nokey, int_key ) VALUES (39, 39); INSERT INTO D ( int_nokey, int_key ) VALUES (85, 85); -DROP TABLE IF EXISTS E; -CREATE TABLE E ( pk INTEGER AUTO_INCREMENT, int_nokey INTEGER, int_key INTEGER, filler blob, PRIMARY KEY (pk), KEY (int_key) ) ENGINE=Falcon; + INSERT INTO E ( int_nokey, int_key ) VALUES (84, 84); INSERT INTO E ( int_nokey, int_key ) VALUES (595, 595); INSERT INTO E ( int_nokey, int_key ) VALUES (552, 552); @@ -1144,8 +1148,7 @@ INSERT INTO E ( int_nokey, int_key ) VAL INSERT INTO E ( int_nokey, int_key ) VALUES (517, 517); INSERT INTO E ( int_nokey, int_key ) VALUES (972, 972); INSERT INTO E ( int_nokey, int_key ) VALUES (457, 457); -; -set autocommit=1; + SET AUTOCOMMIT=0; UPDATE C AS X SET pk = 9 , filler = REPEAT ( ' X ' , ( SELECT 90 FROM ( SELECT COUNT( pk ) FROM C AS X WHERE X . int_nokey < 92 LIMIT 20 ) AS X WHERE X . int_nokey < 76 LIMIT 1 ) ) WHERE X . pk < 58 ORDER BY RAND ( ) LIMIT 20; INSERT INTO A ( int_key , int_nokey ) VALUES ( ( SELECT int_nokey FROM E AS X WHERE X . int_nokey < 93 LIMIT 1 ) , 16 ); @@ -1222,17 +1225,17 @@ UPDATE C AS X SET int_key = ( SELECT int UPDATE E AS X SET int_nokey = ( SELECT int_key FROM A AS X LEFT JOIN A AS Y ON ( X . pk = Y . int_nokey ) WHERE X . pk < 25 GROUP BY int_key LIMIT 1 ) , filler = REPEAT ( ' X ' , ( SELECT COUNT( pk ) FROM C AS X LEFT JOIN E AS Y ON ( X . int_nokey = Y . int_key ) WHERE X . int_nokey < 3 LIMIT 1 ) ) WHERE X . pk < 33 ORDER BY RAND ( ) LIMIT 20; UPDATE B AS X SET int_nokey = ( SELECT AVG( int_nokey ) FROM B AS X LEFT JOIN C AS Y ON ( X . int_nokey = Y . int_nokey ) WHERE X . int_nokey < 99 LIMIT 1 ) , filler = REPEAT ( ' X ' , 96 ) WHERE X . int_nokey < 5 ORDER BY RAND ( ) LIMIT 20; UPDATE C AS X SET int_key = ( SELECT AVG( int_nokey ) FROM E AS X WHERE X . int_nokey < 69 GROUP BY int_key LIMIT 1 ) , filler = REPEAT ( ' X ' , 59 ) WHERE X . int_nokey < 60 ORDER BY RAND ( ) LIMIT 20; - - - +--enable_abort_on_error # ----------------------------------------------------- # # --- Check --- # # ----------------------------------------------------- # +SELECT count(*) FROM A; # ----------------------------------------------------- # # --- Final cleanup --- # # ----------------------------------------------------- # +SET @@autocommit = DEFAULT; DROP TABLE A; DROP TABLE B; DROP TABLE C;