Commit graph

9 commits

Author SHA1 Message Date
Jon Olav Hauglid
9bd8a62d62 Bug #55973 Assertion `thd->transaction.stmt.is_empty()'
on CREATE TABLE .. SELECT I_S.PART

This assert was triggered if an InnoDB table was created using
CREATE TABLE ... AS SELECT where the query used an I_S table, and
a view existed in the database. It would also be triggered for
any statement changing an InnoDB table (e.g. INSERT, UPDATE, DELETE)
which had a subquery referencing an I_S table.

The assert was triggered if open_normal_and_derived_tables() failed
and a statement transaction had been started. This will usually not
happen as tables are opened before a statement transaction is started.
However, e.g. CREATE TABLE ... AS SELECT starts a transaction in order
to insert tuples into the new table. And if the subquery references
an I_S table, all current tables and views can be opened in order to
fill the I_S table on the fly. If a view is discovered, open will fail
as it is instructed to open tables only (OPEN_TABLE_ONLY). This would
cause the assert to be triggered.

The assert was added in the patch for Bug#52044 and was therefore
not in any released versions of the server.

This patch fixes the problem by adjusting the assert to take into
consideration the possibility of tables being opened as part of
an I_S query. This is similar to what is already done for 
close_tables_for_reopen().

Test case added to information_schema_inno.test.
2010-08-20 09:16:26 +02:00
gluh@mysql.com/eagle.(none)
2f719d02c9 Bug#35108 SELECT FROM REFERENTIAL_CONSTRAINTS crashes
referenced_key_name field can be uninitialized in the case when
referenced table is dropped.
Added codition which allows to handle this situation.
2008-03-14 14:12:39 +04:00
gluh@mysql.com/eagle.(none)
a5a43da10e Bug#21713 incorrect value for the REFERENTIAL_CONSTRAINTS.UNIQUE_CONSTRAINT_NAME column
added new field 'REFERENCED_TABLE_NAME' to 'referential_constraints' table
field 'UNIQUE_CONSTRAINT_NAME' contains the name of the referenced index
2007-01-15 13:39:28 +04:00
gluh@mysql.com/eagle.(none)
91d75da75e Fix for bug#25026 information_schema.KEY_COLUMN_USAGE.REFERENCED_TABLE_NAME returns garbage
Unencode internal db & table name
2007-01-09 18:14:04 +04:00
gluh@eagle.intranet.mysql.r18.ru
19de86dd63 WL#2257 REFERENTIAL_CONSTRAINTS view
added I_S.REFARENTIAL_CONSTRAINTS table
2006-05-02 16:31:39 +05:00
monty@mysql.com
82fc54781b Fixed problems found by valgrind
Fixed problems in test suite where some test failed
Fixed access to not initialized memory in federated
Fixed access to not initialized memory when using BIT fields in internal temporary tables
2005-09-22 03:23:07 +03:00
gluh@gluh.mysql.r18.ru
68317fcb0c addition of "REFERENCED_TABLE_SCHEMA",
"REFERENCED_TABLE_NAME", "REFERENCED_COLUMN_NAME" fields into
  KEY_COLUMN_USAGE table
2005-05-20 16:39:28 +04:00
monty@mysql.com
d71c030587 After merge fixes 2004-12-31 00:44:00 +02:00
gluh@gluh.mysql.r18.ru
3256fd704e Fixed bug related to lower case table names on Power Mac
'information_schema' test is splitted because of innodb
2004-11-24 19:32:10 +03:00