List:Commits« Previous MessageNext Message »
From:mhansson Date:February 27 2008 12:30pm
Subject:bk commit into 6.0 tree (mhansson:1.2591) BUG#34529
View as plain text  
Below is the list of changes that have just been committed into a local
6.0 repository of mhansson.  When mhansson does a push these changes
will be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html

ChangeSet@stripped, 2008-02-27 12:29:47+01:00, mhansson@riffraff.(none) +3 -0
  Bug#34529: Crash on complex Falcon I_S select after ALTER .. PARTITION BY
  
  When swapping out heap I_S tables to disk, this is done after plan refinement.
  Thus, READ_RECORD::file will still point to the (deleted) heap handler at start
  of execution. This causes segmentation fault if join buffering is used and the 
  query is a star query where the result is found to be empty before accessing
  some table. In this case that table has not been initialized (i.e. had its 
  READ_RECORD re-initialized) before the cleanup routine tries to close the handler.
  Fixed by updating READ_RECORD::file when changing handler.

  mysql-test/r/information_schema_falcon.result@stripped, 2008-02-27 12:29:45+01:00,
mhansson@riffraff.(none) +9 -0
    Bug#34529: Test result.

  mysql-test/r/information_schema_falcon.result@stripped, 2008-02-27 12:29:45+01:00,
mhansson@riffraff.(none) +0 -0

  mysql-test/t/information_schema_falcon.test@stripped, 2008-02-27 12:29:46+01:00,
mhansson@riffraff.(none) +17 -0
    Bug#34529: Test case.

  mysql-test/t/information_schema_falcon.test@stripped, 2008-02-27 12:29:46+01:00,
mhansson@riffraff.(none) +0 -0

  sql/sql_show.cc@stripped, 2008-02-27 12:29:45+01:00, mhansson@riffraff.(none) +1 -0
    Bug#34529: The fix.

diff -Nrup a/mysql-test/r/information_schema_falcon.result
b/mysql-test/r/information_schema_falcon.result
--- /dev/null	Wed Dec 31 16:00:00 196900
+++ b/mysql-test/r/information_schema_falcon.result	2008-02-27 12:29:45 +01:00
@@ -0,0 +1,9 @@
+USE information_schema;
+SET max_heap_table_size = 0;
+CREATE TABLE test.t1 ( a INT ) ENGINE = falcon;
+SELECT * 
+FROM falcon_tables ft
+JOIN falcon_serial_log_info fsli ON ( ft.tablespace = fsli.database )
+JOIN falcon_transactions ftr     ON ( ft.tablespace = ftr.database  );
+SCHEMA_NAME	TABLE_NAME	PARTITION	TABLESPACE	INTERNAL_NAME	DATABASE	TRANSACTIONS	BLOCKS	WINDOWS	BUFFERS	DATABASE	THREAD_ID	ID	STATE	UPDATES	PENDING	DEP	OLDEST	RECORDS	WAITING_FOR	STATEMENT
+DROP TABLE test.t1;
diff -Nrup a/mysql-test/t/information_schema_falcon.test
b/mysql-test/t/information_schema_falcon.test
--- /dev/null	Wed Dec 31 16:00:00 196900
+++ b/mysql-test/t/information_schema_falcon.test	2008-02-27 12:29:46 +01:00
@@ -0,0 +1,17 @@
+-- source include/have_falcon.inc
+#
+# Bug#34529: Crash on complex Falcon I_S select after ALTER .. PARTITION BY
+#
+USE information_schema;
+--disable_warnings
+SET max_heap_table_size = 0;
+--enable_warnings
+
+CREATE TABLE test.t1 ( a INT ) ENGINE = falcon;
+
+SELECT * 
+FROM falcon_tables ft
+JOIN falcon_serial_log_info fsli ON ( ft.tablespace = fsli.database )
+JOIN falcon_transactions ftr     ON ( ft.tablespace = ftr.database  );
+
+DROP TABLE test.t1;
diff -Nrup a/sql/sql_show.cc b/sql/sql_show.cc
--- a/sql/sql_show.cc	2008-02-22 13:51:26 +01:00
+++ b/sql/sql_show.cc	2008-02-27 12:29:45 +01:00
@@ -6241,6 +6241,7 @@ bool get_schema_tables_result(JOIN *join
         table_list->schema_table_state= executed_place;
         break;
       }
+      tab->read_record.file= table_list->table->file;
       table_list->schema_table_state= executed_place;
     }
   }
Thread
bk commit into 6.0 tree (mhansson:1.2591) BUG#34529mhansson27 Feb