summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Bug#19025 4.1 mysqldump doesn't correctly dump "auto_increment = [int]"unknown2006-05-047-5/+134
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Merge aivanov@bk-internal.mysql.com:/home/bk/mysql-4.1unknown2006-05-031-2/+0
|\ | | | | | | | | | | | | into mysql.com:/home/alexi/innodb/mysql-4.1-ss26
| * Applied innodb-4.1-ss26 snapshot.unknown2006-05-031-2/+0
| | | | | | | | | | | | | | | | | | | | 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).
* | ndb - bug#19201 (4.1), see comment in NdbBlob.cppunknown2006-05-027-40/+83
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1unknown2006-05-021-1/+3
|\ \ | |/ |/| | | | | | | | | | | into mysql.com:/usr/home/ram/work/4.1.b7643 sql/sql_table.cc: Auto merged
| * Fix for bug #7643: ALTER TABLE fails for CSV, EXAMPLE, ARCHIVE enginesunknown2006-04-251-1/+3
| | | | | | | | | | | | sql/sql_table.cc: Fix for bug #7643: ALTER TABLE fails for CSV, EXAMPLE, ARCHIVE engines - issue an ER_NOT_SUPPORTED_YET if an engine doesn't support ALTER TABLE.
* | mysql.spec.sh:unknown2006-05-011-15/+11
| | | | | | | | | | | | | | | | Use "./libtool --mode=execute" to find real path to executables support-files/mysql.spec.sh: Use "./libtool --mode=execute" to find real path to executables
* | Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-4.1unknown2006-04-291-2/+7
|\ \ | | | | | | | | | | | | | | | | | | into mysql.com:/Users/kent/mysql/bk/mysql-4.1-new
| * | config-win.h:unknown2006-04-291-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix strange "double" define for popen. Avoid warnings about sprintf() etc. being unsafe. Corrected typo "#endfif" include/config-win.h: Fix strange "double" define for popen. Avoid warnings about sprintf() etc. being unsafe. Corrected typo "#endfif"
* | | configure.in:unknown2006-04-291-2/+2
|/ / | | | | | | | | | | | | | | Changed version to 4.1.20 configure.in: Changed version to 4.1.20
* | mysql.spec.sh:unknown2006-04-291-15/+57
| | | | | | | | | | | | | | | | Backport of changes in 5.0 (bug#18294) support-files/mysql.spec.sh: Backport of changes in 5.0 (bug#18294)
* | Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-4.1unknown2006-04-294-13/+127
|\ \ | | | | | | | | | | | | | | | | | | into mysql.com:/Users/kent/mysql/bk/mysql-4.1-new
| * | BUG#19145: mysqld crashes if you set the default value of an enum field to NULLunknown2006-04-283-10/+122
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now test for NULLness the pointers returned from objects created from the default value. Pushing patch on behalf of cmiller. mysql-test/r/null.result: Add test case mysql-test/t/null.test: Add test case sql/sql_table.cc: No longer blindly dereference pointer of the string representation of the values, where "NULL" is NUL. Raise INVALID DEFAULT error messages where appropriate. Note that the -O1 optimization flag made debugging this extremely tricky, with misleading results, and that removing it from the Makefile during debugging can be invaluable.
| * | Merge msvensson@bk-internal.mysql.com:/home/bk/mysql-4.1unknown2006-04-286-29/+38
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | into devsrv-b.mysql.com:/users/msvensson/mysql-4.1
| * \ \ Merge msvensson@bk-internal.mysql.com:/home/bk/mysql-4.1unknown2006-04-281-1/+1
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into devsrv-b.mysql.com:/users/msvensson/mysql-4.1
| * \ \ \ Merge bk-internal.mysql.com:/home/bk/mysql-4.1unknown2006-04-271-3/+5
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into neptunus.(none):/home/msvensson/mysql/mysql-4.1
| | * \ \ \ Merge bk-internal.mysql.com:/home/bk/mysql-4.1unknown2006-04-261-3/+5
| | |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into neptunus.(none):/home/msvensson/mysql/mysql-4.1
| | | * \ \ \ Merge bk-internal.mysql.com:/home/bk/mysql-4.1unknown2006-04-241-3/+5
| | | |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into neptunus.(none):/home/msvensson/mysql/mysql-4.1
| | | | * | | | Bug#18818 configure: No longer finds OpenSSL on Mac OS Xunknown2006-04-191-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Eval shrext_cmds variable before using it acinclude.m4: eval the shrext_cmds variable before using it. This is the same fix as in ltmain.sh which has a comment describing how this works on Darwin. The bug describes it as not working for openSSL but as the same syntax and variable is used for zlib it has to be fixed there as well.
* | | | | | | | Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-4.1unknown2006-04-287-30/+39
|\ \ \ \ \ \ \ \ | | |_|_|_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into mysql.com:/Users/kent/mysql/bk/mysql-4.1-new
| * | | | | | | BUG#18492: mysqld reports ER_ILLEGAL_REFERENCE in --ps-protocolunknown2006-04-286-29/+38
| | |_|_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. mysql-test/r/ps_11bugs.result: Test case for the bug mysql-test/r/subselect.result: Explain updated because of the tranformation mysql-test/t/ps_11bugs.test: Testcase for the bug sql/item.cc: Taking out Item_null_helper as it's no longer needed sql/item.h: Taking out Item_null_helper as it's no longer needed sql/item_subselect.cc: The described change to the IN->EXISTS transformation
| * | | | | | set_var.cc:unknown2006-04-271-1/+1
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | System variable was added out of lexical order. sql/set_var.cc: System variable was added out of lexical order.
* | | | | | Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-4.1unknown2006-04-270-0/+0
|\ \ \ \ \ \ | |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into mysql.com:/Users/kent/mysql/bk/mysql-4.1-new
| * | | | | Merge bk-internal.mysql.com:/home/bk/mysql-4.1unknown2006-04-260-0/+0
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into sergbook.mysql.com:/usr/home/serg/Abk/mysql-4.1
| | * \ \ \ \ merged ulunknown2006-04-260-0/+0
| | |\ \ \ \ \
| | | * | | | | small optimization of the previous bugfixunknown2006-04-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (based on the fact that packet is ALWAYS \0 terminated, see my_net_read)
* | | | | | | | Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-4.1unknown2006-04-261-3/+2
|\ \ \ \ \ \ \ \ | |/ / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into mysql.com:/Users/kent/mysql/bk/mysql-4.1-new
| * | | | | | | Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-4.1unknown2006-04-191-3/+2
| |\ \ \ \ \ \ \ | | |_|_|_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into mysql.com:/Users/kent/mysql/bk/mysql-4.1-new configure.in: Auto merged
| | * | | | | | configure.in:unknown2006-04-061-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Check for crypt() in libc first (bug#16478) configure.in: Check for crypt() in libc first (bug#16478)
* | | | | | | | Merge perch.ndb.mysql.com:/home/jonas/src/41-workunknown2006-04-266-25/+40
|\ \ \ \ \ \ \ \ | |_|_|_|_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into perch.ndb.mysql.com:/home/jonas/src/mysql-4.1
| * | | | | | | ndb - bug#18597unknown2006-04-252-14/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Handle early abort of scan, so that resources are correctly freed ndb/src/kernel/blocks/dbtc/Dbtc.hpp: Handle early abort ndb/src/kernel/blocks/dbtc/DbtcMain.cpp: Handle early abort so that require on running.empty() does not fire
| * | | | | | | ndb -unknown2006-04-183-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fix api_signal_log print of uncond signals ndb/src/ndbapi/Ndbif.cpp: Send TC_COMMIT_ACK uncond ndb/src/ndbapi/TransporterFacade.cpp: Fix printout of uncond signals ndb/src/ndbapi/TransporterFacade.hpp: Fix printout of uncond signals
| * | | | | | | ndb - bug#17607unknown2006-04-101-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fix correct frag count in Backup block ndb/src/kernel/blocks/backup/BackupInit.cpp: Fix correct no of fragment records
* | | | | | | | Merge aivanov@bk-internal.mysql.com:/home/bk/mysql-4.1unknown2006-04-263-0/+19
|\ \ \ \ \ \ \ \ | |_|_|_|/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into mysql.com:/home/alexi/innodb/mysql-4.1-innodb
| * | | | | | | Merge aivanov@bk-internal.mysql.com:/home/bk/mysql-4.1unknown2006-04-263-0/+19
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into mysql.com:/home/alexi/innodb/mysql-4.1-innodb
| | * | | | | | | Make innodb_mysql produce a non-empty output.unknown2006-04-262-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mysql-test/r/innodb_mysql.result: Fix result.
| | * | | | | | | Files innodb.[test|result] are to be used by Innobase only.unknown2006-04-263-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use files innodb_mysql.[test|result] instead. mysql-test/t/innodb.test: This file is to be used by Innobase only. mysql-test/r/innodb_mysql.result: New BitKeeper file ``mysql-test/r/innodb_mysql.result'' Use this file instead of innodb.result. mysql-test/t/innodb_mysql.test: New BitKeeper file ``mysql-test/t/innodb_mysql.test'' Use this file instead of innodb.test.
* | | | | | | | | after merge fixunknown2006-04-251-3/+3
| | | | | | | | |
* | | | | | | | | mergedunknown2006-04-251-1/+18
|\ \ \ \ \ \ \ \ \ | |/ / / / / / / / |/| | | | | / / / | | |_|_|_|/ / / | |/| | | | | |
| * | | | | | | buffer overflow and information exposure bugs fixedunknown2006-04-251-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (reported by Stefano Di Paola)
| * | | | | | | Merge mysql.com:/home/mydev/mysql-4.0unknown2006-04-1116-36/+123
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into mysql.com:/home/mydev/mysql-4.0-bug5390
* | | | | | | | | Fix typo in mysql-test-run.pl (not caught by aotupush since it uses ↵unknown2006-04-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mysql-test-run.sh). mysql-test/mysql-test-run.pl: Fix typo.
* | | | | | | | | Merge knielsen@10.100.52.19:/usr/local/mysql/mysql-4.1-mtr-fixunknown2006-04-2446-121/+790
|\ \ \ \ \ \ \ \ \ | | |_|_|_|_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into mysql.com:/data0/knielsen/mysql-4.1-mtr-fix
| * | | | | | | | Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1unknown2006-04-243-4/+38
| |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into production.mysql.com:/usersnfs/rkalimullin/4.1.b17896
| | * | | | | | | | Bug #17896: MIN of CASE WHEN returns non-minimum value!unknown2006-04-211-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - after review fixes sql/item_cmpfunc.cc: Bug #17896: MIN of CASE WHEN returns non-minimum value! - after review fixes.
| | * | | | | | | | Fix for bug #17896: MIN of CASE WHEN returns non-minimum value!unknown2006-03-063-4/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | sql/item_cmpfunc.cc: Fix for bug #17896: MIN of CASE WHEN returns non-minimum value! - NULL items should not affect the result type.
| * | | | | | | | | Merge paul@bk-internal.mysql.com:/home/bk/mysql-4.1unknown2006-04-231-7/+7
| |\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into polar.kitebird.com:/src/extern/MySQL/bk/mysql-4.1
| | * | | | | | | | | myisam_ftdump.c:unknown2006-04-231-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | myisam_ftdump options: --help first, then rest in lexical order. myisam/myisam_ftdump.c: myisam_ftdump options: --help first, then rest in lexical order.
| * | | | | | | | | | Bug#17263: incorrect DROP query in temporary tables replicationunknown2006-04-231-4/+3
| |/ / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | accounting non-ai32 in tmpkeyval. This changeset is supposed to be specifically for 4.1. Another changeset is going to push into 5. sql/sql_base.cc: correction due to uint4korr definition: can not sizeof on not ia32.
| * | | | | | | | | Bug#17263 temporary tables and replicationunknown2006-04-233-41/+162
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. mysql-test/r/rpl_temporary.result: results changed mysql-test/t/rpl_temporary.test: test to generate problematic drop in binlog to feed it to restarting slave to see no stop. sql/sql_base.cc: change in drop temprorary tables alg in close_temporary_tables.