- 09 May, 2006 1 commit
-
-
gkodinov@mysql.com authored
When converting DISTINCT to GROUP BY where the columns are from the covering index and they are quoted twice in the SELECT list the optimizer is creating improper processing sequence. This is because of the fact that the columns of the covering index are not recognized as such and treated as non-index columns. Generally speaking duplicate columns can safely be removed from the GROUP BY/DISTINCT list because this will not add or remove new rows in the resulting set. Duplicates can be removed even if they are not consecutive (as is the case for ORDER BY, where the duplicate columns can be removed only if they are consecutive). So we can safely transform "SELECT DISTINCT a,a FROM ... ORDER BY a" to "SELECT a,a FROM ... GROUP BY a ORDER BY a" instead of "SELECT a,a FROM .. GROUP BY a,a ORDER BY a". We can even transform "SELECT DISTINCT a,b,a FROM ... ORDER BY a,b" to "SELECT a,b,a FROM ... GROUP BY a,b ORDER BY a,b". The fix to this bug consists of checking for duplicate columns in the SELECT list when constructing the GROUP BY list in transforming DISTINCT to GROUP BY and skipping the ones that are already in.
-
- 02 May, 2006 5 commits
-
-
knielsen@mysql.com authored
-
holyfoot@mysql.com authored
into mysql.com:/home/hf/work/mysql-5.0.clean
-
holyfoot@deer.(none) authored
-
cmiller@zippy.(none) authored
into zippy.(none):/home/cmiller/work/mysql/mysql-5.0__bug17667
-
cmiller@zippy.(none) authored
Bug#17667: An attacker has the opportunity to bypass query logging. This adds a new, local-only printf format specifier to our *printf functions that allows us to print known-size buffers that must not be interpreted as NUL-terminated "strings." It uses this format-specifier to print to the log, thus fixing this problem.
-
- 01 May, 2006 9 commits
-
-
kent@mysql.com authored
into mysql.com:/Users/kent/mysql/bk/mysql-5.0-new
-
kent@mysql.com authored
-
jimw@mysql.com authored
into mysql.com:/home/jimw/my/mysql-5.0-clean
-
kent@mysql.com authored
Use "./libtool --mode=execute" to find real path to executables
-
holyfoot@mysql.com authored
into mysql.com:/home/hf/work/mysql-5.0.clean
-
holyfoot@deer.(none) authored
-
jimw@mysql.com authored
into mysql.com:/home/jimw/my/mysql-5.0-clean
-
jimw@mysql.com authored
into mysql.com:/home/jimw/my/mysql-5.0-clean
-
cmiller@zippy.(none) authored
into zippy.(none):/home/cmiller/work/mysql/merge/mysql-5.0
-
- 29 Apr, 2006 3 commits
-
-
kent@mysql.com authored
into mysql.com:/Users/kent/mysql/bk/mysql-4.1-new
-
kent@mysql.com authored
Fix strange "double" define for popen. Avoid warnings about sprintf() etc. being unsafe. Corrected typo "#endfif"
-
kent@mysql.com authored
Changed version to 4.1.20
-
- 28 Apr, 2006 17 commits
-
-
kent@mysql.com authored
Backport of changes in 5.0 (bug#18294)
-
kent@mysql.com authored
into mysql.com:/Users/kent/mysql/bk/mysql-4.1-new
-
elliot@mysql.com authored
Now test for NULLness the pointers returned from objects created from the default value. Pushing patch on behalf of cmiller.
-
msvensson@devsrv-b.mysql.com authored
into devsrv-b.mysql.com:/users/msvensson/mysql-5.0
-
kent@mysql.com authored
into mysql.com:/Users/kent/mysql/bk/mysql-5.0-new
-
kent@mysql.com authored
Include and run mysql_upgrade if needed (bug#19353)
-
kent@mysql.com authored
into mysql.com:/Users/kent/mysql/bk/mysql-4.1-new
-
msvensson@devsrv-b.mysql.com authored
into devsrv-b.mysql.com:/users/msvensson/mysql-5.0
-
msvensson@devsrv-b.mysql.com authored
into devsrv-b.mysql.com:/users/msvensson/mysql-4.1
-
msvensson@neptunus.(none) authored
- Eval shrext_cmds variable before using it - Moved from acinclude.m4 to openssl.m4 and zlib.m4 when merging 4.1 -> 5.0
-
msvensson@neptunus.(none) authored
into neptunus.(none):/home/msvensson/mysql/mysql-5.0
-
msvensson@devsrv-b.mysql.com authored
into devsrv-b.mysql.com:/users/msvensson/mysql-4.1
-
gkodinov@lsmy3.wdf.sap.corp authored
into lsmy3.wdf.sap.corp:/data/users/gkodinov/mysql-5.0-B18492
-
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.
-
msvensson@neptunus.(none) authored
into neptunus.(none):/home/msvensson/mysql/mysql-5.0
-
holyfoot@mysql.com authored
into mysql.com:/home/hf/work/mysql-5.0.upgd
-
holyfoot@deer.(none) authored
pushed in 5.0
-
- 27 Apr, 2006 5 commits
-
-
jimw@mysql.com authored
into mysql.com:/nfstmp1/jwinstead/mysql-5.0-clean
-
msvensson@shellback.(none) authored
-
msvensson@shellback.(none) authored
into shellback.(none):/home/msvensson/mysql/mysql-5.0
-
msvensson@shellback.(none) authored
-
msvensson@shellback.(none) authored
Set LD_LIBRARY_PATH and UDF_EXAMPLE_LIB from $lib_udf_example
-