- 07 May, 2006 1 commit
-
-
unknown authored
A query with a group by and having clauses could return a wrong result set if the having condition contained a constant conjunct evaluated to FALSE. It happened because the pushdown condition for table with grouping columns lost its constant conjuncts. Pushdown conditions are always built by the function make_cond_for_table that ignores constant conjuncts. This is apparently not correct when constant false conjuncts are present. mysql-test/r/having.result: Added a test case for bug #14927. mysql-test/t/having.test: Added a test case for bug #14927. sql/sql_lex.cc: Fixed bug #14927. Initialized fields for having conditions in st_select_lex::init_query(). sql/sql_lex.h: Fixed bug #14927. Added a field to restore having condititions for execution in SP and PS. sql/sql_prepare.cc: Fixed bug #14927. Added code to restore havinf conditions for execution in SP and PS. sql/sql_select.cc: Fixed bug #14927. Performed evaluation of constant expressions in having clauses. If the having condition contains a constant conjunct that is always false an empty result set is returned after the optimization phase. In this case the corresponding EXPLAIN command now returns "Impossible HAVING" in the last column.
-
- 06 May, 2006 7 commits
-
-
unknown authored
into mysql.com:/home/psergey/mysql-4.1-bug16798
-
unknown authored
into mysql.com:/home/tomash/src/mysql_ab/mysql-4.1-bug16501
-
unknown authored
into mysql.com:/home/tomash/src/mysql_ab/mysql-4.1-bug16501
-
unknown authored
mysql-test/r/func_misc.result: Update the result.
-
unknown authored
into mysql.com:/home/mydev/mysql-4.1-bug10405
-
unknown authored
into mysql.com:/home/psergey/mysql-4.1-bug16798
-
unknown authored
The bug was as follows: When merge_key_fields() encounters "t.key=X OR t.key=Y" it will try to join them into ref_or_null access via "t.key=X OR NULL". In order to make this inference it checks if Y<=>NULL, ignoring the fact that value of Y may be not yet known. The fix is that the check if Y<=>NULL is made only if value of Y is known (i.e. it is a constant). TODO: When merging to 5.0, replace used_tables() with const_item() everywhere in merge_key_fields(). mysql-test/r/innodb_mysql.result: Testcase for BUG16798 mysql-test/t/innodb_mysql.test: Testcase for BUG16798 sql/sql_select.cc: BUG#16798: Inapplicable ref_or_null query plan and bad query result on random occasions In merge_key_fields() don't call val->is_null() if the value of val is not known.
-
- 05 May, 2006 3 commits
- 04 May, 2006 16 commits
-
-
unknown authored
into polar.kitebird.com:/src/extern/MySQL/bk/mysql-4.1
-
unknown authored
Delete: Docs/changelog-4.1.xml BitKeeper/deleted/.del-changelog-4.1.xml~8aa496ebed09d868: Delete: Docs/changelog-4.1.xml
-
unknown authored
into polar.kitebird.com:/src/extern/MySQL/bk/mysql-4.1
-
unknown authored
Delete: Docs/changelog-4.0.xml BitKeeper/deleted/.del-changelog-4.0.xml~8f56ee8a913e848b: Delete: Docs/changelog-4.0.xml
-
unknown authored
into ua141d10.elisa.omakaista.fi:/home/my/bk/mysql-4.1
-
unknown authored
TIME_FORMAT using "%l:%i" returns 36:00 with 24:00:00 in TIME column mysql-test/r/date_formats.result: Added test case for Bug#11324, "TIME_FORMAT using "%l:%i" returns 36:00 with 24:00:00 in TIME column" mysql-test/t/date_formats.test: Added test case for Bug#11324, "TIME_FORMAT using "%l:%i" returns 36:00 with 24:00:00 in TIME column"
-
unknown authored
mysql-test/r/date_formats.result: Added test cases for Bug#11326 mysql-test/t/date_formats.test: Added test cases for Bug#11326
-
unknown authored
into a193-229-222-105.elisa-laajakaista.fi:/home/my/bk/mysql-4.1
-
unknown authored
into mysql.com:/home/tomash/src/mysql_ab/mysql-4.1-bug16372
-
unknown authored
into mysql.com:/home/tomash/src/mysql_ab/mysql-4.1-bug16501
-
unknown authored
into mysql.com:/home/tomash/src/mysql_ab/mysql-4.1-bug16372
-
unknown authored
into hundin.mysql.fi:/home/jani/mysql-4.1 sql/sql_show.cc: Auto merged
-
unknown authored
into mysql.com:/home/tomash/src/mysql_ab/mysql-4.1-bug16501
-
unknown authored
into mysql.com:/home/mysql-4.1-19025e
-
unknown authored
mysql-test/r/mysqltest.result: result fixed
-
unknown authored
mysqldump / SHOW CREATE TABLE will show the NEXT available value for the PK, rather than the *first* one that was available (that named in the original CREATE TABLE ... AUTO_INCREMENT = ... statement). This should produce correct and robust behaviour for the obvious use cases -- when no data were inserted, then we'll produce a statement featuring the same value the original CREATE TABLE had; if we dump with values, INSERTing the values on the target machine should set the correct next_ID anyway (and if not, we'll still have our AUTO_INCREMENT = ... to do that). Lastly, just the CREATE statement (with no data) for a table that saw inserts would still result in a table that new values could safely be inserted to). There seems to be no robust way however to see whether the next_ID field is > 1 because it was set to something else with CREATE TABLE ... AUTO_INCREMENT = ..., or because there is an AUTO_INCREMENT column in the table (but no initial value was set with AUTO_INCREMENT = ...) and then one or more rows were INSERTed, counting up next_ID. This means that in both cases, we'll generate an AUTO_INCREMENT = ... clause in SHOW CREATE TABLE / mysqldump. As we also show info on, say, charsets even if the user did not explicitly give that info in their own CREATE TABLE, this shouldn't be an issue. As per above, the next_ID will be affected by any INSERTs that have taken place, though. This /should/ result in correct and robust behaviour, but it may look non-intuitive to some users if they CREATE TABLE ... AUTO_INCREMENT = 1000 and later (after some INSERTs) have SHOW CREATE TABLE give them a different value (say, CREATE TABLE ... AUTO_INCREMENT = 1006), so the docs should possibly feature a caveat to that effect. It's not very intuitive the way it works now (with the fix), but it's *correct*. We're not storing the original value anyway, if we wanted that, we'd have to change on-disk representation? If we do dump/load cycles with empty DBs, nothing will change. This changeset includes an additional test case that proves that tables with rows will create the same next_ID for AUTO_INCREMENT = ... across dump/restore cycles. Confirmed by support as likely solution for client's problem. mysql-test/r/auto_increment.result: test for creation of AUTO_INCREMENT=... clause mysql-test/r/gis-rtree.result: Add AUTO_INCREMENT=... clauses where appropriate mysql-test/r/mysqldump.result: show that AUTO_INCREMENT=... will survive dump/restore cycles mysql-test/r/symlink.result: Add AUTO_INCREMENT=... clauses where appropriate mysql-test/t/auto_increment.test: test for creation of AUTO_INCREMENT=... clause mysql-test/t/mysqldump.test: show that AUTO_INCREMENT=... will survive dump/restore cycles sql/sql_show.cc: Add AUTO_INCREMENT=... to output of SHOW CREATE TABLE if there is an AUTO_INCREMENT column, and NEXT_ID > 1 (the default). We must not print the clause for engines that do not support this as it would break the import of dumps, but as of this writing, the test for whether AUTO_INCREMENT columns are allowed and wether AUTO_INCREMENT=... is supported is identical, !(file->table_flags() & HA_NO_AUTO_INCREMENT)) Because of that, we do not explicitly test for the feature, but may extrapolate its existence from that of an AUTO_INCREMENT column.
-
- 03 May, 2006 8 commits
-
-
unknown authored
into mysql.com:/home/hf/work/mysql-4.1.mrg
-
unknown authored
into mysql.com:/home/alexi/innodb/mysql-4.1-ss26
-
unknown authored
Fixed BUG#19366: "consistent_snapshot.test fails". innobase/include/dict0dict.ic: Applied innodb-4.1-ss26 snapshot. Remove too strict assertions from some dict_table_t accessor functions (Bug#19366).
-
unknown authored
into mysql.com:/home/hf/work/mysql-4.1.mrg mysql-test/mysql-test-run.pl: Auto merged sql/sql_table.cc: Auto merged
-
unknown authored
into a193-229-222-105.elisa-laajakaista.fi:/home/my/bk/mysql-4.1
-
unknown authored
into mysql.com:/home/hf/work/mysql-4.1.mrg
-
unknown authored
into mysql.com:/home/hf/work/mysql-4.1.mrg
-
unknown authored
into mysql.com:/home/hf/work/mysql-4.1.mrg sql/sql_table.cc: Auto merged
-
- 02 May, 2006 3 commits
-
-
unknown authored
ndb/test/ndbapi/testBlobs.cpp: option -fac (fetch across commit) ndb/tools/delete_all.cpp: option --transactional (default remains truncate) mysql-test/r/ndb_blob.result: bug#19201 mysql-test/t/ndb_blob.test: bug#19201 ndb/include/kernel/signaldata/TcKeyReq.hpp: bug#19201 ndb/include/ndbapi/NdbBlob.hpp: bug#19201 ndb/src/ndbapi/NdbBlob.cpp: bug#19201
-
unknown authored
into mysql.com:/home/mydev/mysql-4.1-bug10405
-
unknown authored
into mysql.com:/usr/home/ram/work/4.1.b7643 sql/sql_table.cc: Auto merged
-
- 01 May, 2006 2 commits