- 28 Apr, 2006 2 commits
-
-
kent@mysql.com authored
into mysql.com:/Users/kent/mysql/bk/mysql-4.1-new
-
gkodinov@lsmy3.wdf.sap.corp authored
In the code that converts IN predicates to EXISTS predicates it is changing the select list elements to constant 1. Example : SELECT ... FROM ... WHERE a IN (SELECT c FROM ...) is transformed to : SELECT ... FROM ... WHERE EXISTS (SELECT 1 FROM ... HAVING a = c) However there can be no FROM clause in the IN subquery and it may not be a simple select : SELECT ... FROM ... WHERE a IN (SELECT f(..) AS c UNION SELECT ...) This query is transformed to : SELECT ... FROM ... WHERE EXISTS (SELECT 1 FROM (SELECT f(..) AS c UNION SELECT ...) x HAVING a = c) In the above query c in the HAVING clause is made to be an Item_null_helper (a subclass of Item_ref) pointing to the real Item_field (which is not referenced anywhere else in the query anymore). This is done because Item_ref_null_helper collects information whether there are NULL values in the result. This is OK for directly executed statements, because the Item_field pointed by the Item_null_helper is already fixed when the transformation is done. But when executed as a prepared statement all the Item instances are "un-fixed" before the recompilation of the prepared statement. So when the Item_null_helper gets fixed it discovers that the Item_field it points to is not fixed and issues an error. The remedy is to keep the original select list references when there are no tables in the FROM clause. So the above becomes : SELECT ... FROM ... WHERE EXISTS (SELECT c FROM (SELECT f(..) AS c UNION SELECT ...) x HAVING a = c) In this way c is referenced directly in the select list as well as by reference in the HAVING clause. So it gets correctly fixed even with prepared statements. And since the Item_null_helper subclass of Item_ref_null_helper is not used anywhere else it's taken out.
-
- 27 Apr, 2006 2 commits
-
-
paul@polar.kitebird.com authored
System variable was added out of lexical order.
-
kent@mysql.com authored
into mysql.com:/Users/kent/mysql/bk/mysql-4.1-new
-
- 26 Apr, 2006 9 commits
-
-
serg@sergbook.mysql.com authored
into sergbook.mysql.com:/usr/home/serg/Abk/mysql-4.1
-
serg@sergbook.mysql.com authored
-
kent@mysql.com authored
into mysql.com:/Users/kent/mysql/bk/mysql-4.1-new
-
jonas@perch.ndb.mysql.com authored
into perch.ndb.mysql.com:/home/jonas/src/mysql-4.1
-
aivanov@mysql.com authored
into mysql.com:/home/alexi/innodb/mysql-4.1-innodb
-
aivanov@mysql.com authored
into mysql.com:/home/alexi/innodb/mysql-4.1-innodb
-
aivanov@mysql.com authored
-
aivanov@mysql.com authored
Use files innodb_mysql.[test|result] instead.
-
serg@sergbook.mysql.com authored
-
- 25 Apr, 2006 4 commits
-
-
serg@sergbook.mysql.com authored
(based on the fact that packet is ALWAYS \0 terminated, see my_net_read)
-
serg@sergbook.mysql.com authored
-
serg@sergbook.mysql.com authored
(reported by Stefano Di Paola)
-
jonas@perch.ndb.mysql.com authored
Handle early abort of scan, so that resources are correctly freed
-
- 24 Apr, 2006 5 commits
-
-
knielsen@mysql.com authored
-
knielsen@mysql.com authored
into mysql.com:/data0/knielsen/mysql-4.1-mtr-fix
-
ramil@production.mysql.com authored
into production.mysql.com:/usersnfs/rkalimullin/4.1.b17896
-
paul@polar.kitebird.com authored
into polar.kitebird.com:/src/extern/MySQL/bk/mysql-4.1
-
paul@polar.kitebird.com authored
myisam_ftdump options: --help first, then rest in lexical order.
-
- 23 Apr, 2006 3 commits
-
-
aelkin@mysql.com authored
accounting non-ai32 in tmpkeyval. This changeset is supposed to be specifically for 4.1. Another changeset is going to push into 5.
-
aelkin@mysql.com authored
Backporting a changeset made for 5.0. Comments from there: The fix refines the algorithm of generating DROPs for binlog. Temp tables with common pseudo_thread_id are clustered into one query. Consequently one replication event per pseudo_thread_id is generated.
-
aivanov@mysql.com authored
into mysql.com:/home/alexi/innodb/mysql-4.1
-
- 21 Apr, 2006 5 commits
-
-
igor@rurik.mysql.com authored
into rurik.mysql.com:/home/igor/mysql-4.1
-
ramil@production.mysql.com authored
into production.mysql.com:/usersnfs/rkalimullin/4.1.b18643
-
ramil@mysql.com authored
- after review fixes
-
igor@rurik.mysql.com authored
into rurik.mysql.com:/home/igor/dev/mysql-4.1-0
-
igor@rurik.mysql.com authored
The bug caused wrong result sets for union constructs of the form (SELECT ... ORDER BY order_list1 [LIMIT n]) ORDER BY order_list2. For such queries order lists were concatenated and limit clause was completely neglected.
-
- 20 Apr, 2006 3 commits
-
-
aivanov@mysql.com authored
Fix BUG#16814: "SHOW INNODB STATUS format error in LATEST FOREIGN KEY ERROR section" Add a missing newline to the LAST FOREIGN KEY ERROR section in SHOW INNODB STATUS output. Fix BUG#18934: "InnoDB crashes when table uses column names like DB_ROW_ID". Refuse tables that use reserved column names.
-
mleich@production.mysql.com authored
into production.mysql.com:/usersnfs/mleich/src
-
evgen@moonbone.local authored
Clean up test case for bug#14169
-
- 19 Apr, 2006 7 commits
-
-
igor@rurik.mysql.com authored
Temporarily commented out a query from the test case for bug 14169 to make it pass with --ps-protocol.
-
igor@rurik.mysql.com authored
into rurik.mysql.com:/home/igor/dev/mysql-4.1-2
-
evgen@moonbone.local authored
into moonbone.local:/work/14169-bug-4.1-mysql
-
evgen@moonbone.local authored
Corrected test case for the bug#14169 to make it pass in --ps-protocol mode.
-
svoj@april.(none) authored
After a locking error the open table(s) were not fully cleaned up for reuse. But they were put into the open table cache even before the lock was tried. The next statement reused the table(s) with a wrong lock type set up. This tricked MyISAM into believing that it don't need to update the table statistics. Hence CHECK TABLE reported a mismatch of record count and table size. Fortunately nothing worse has been detected yet. The effect of the test case was that the insert worked on a read locked table. (!) I added a new function that clears the lock type from all tables that were prepared for a lock. I call this function when a lock failes. No test case. One test would add 50 seconds to the test suite. Another test requires file mode modifications. I added a test script to the bug report. It contains three cases for failing locks. All could reproduce a table corruption. All are fixed by this patch. This bug was not lock timeout specific.
-
kent@mysql.com authored
into mysql.com:/Users/kent/mysql/bk/mysql-4.1-new
-
igor@rurik.mysql.com authored
The bug caused a reported index corruption in the cases when key_cache_block_size was not a multiple of myisam_block_size, e.g. when key_cache_block_size=1536 while myisam_block_size=1024.
-