- 29 May, 2008 1 commit
-
-
Matthias Leich mleich@mysql.com authored
Fix for this bug and a second similar problem found during experimenting. This replaces the first fix (already pushed to 5.1 and merged to 6.0) which - failed in runs with the embedded server - cannot be ported back to 5.0
-
- 28 May, 2008 2 commits
-
-
Georgi Kodinov authored
-
Alexander Barkov authored
Thanks to Paul for preparing the up-to-date files reflecting 4.1 changes.
-
- 27 May, 2008 1 commit
-
-
Georgi Kodinov authored
There was a typo in a error check causing wrong thing to be ckecked and a possible error not being caught. Fixed by using the correct variable to test for malloc() errors. tests/mysql_client_test.c: Bug #36887: fixed a typo
-
- 23 May, 2008 1 commit
-
-
Chad MILLER authored
-
- 22 May, 2008 1 commit
-
-
Chad Miller authored
-
- 21 May, 2008 1 commit
-
-
Chad MILLER authored
-
- 18 May, 2008 2 commits
-
-
unknown authored
into host.loc:/work/bk/5.0-bugteam
-
unknown authored
first row or fails with an error: ERROR 1022 (23000): Can't write; duplicate key in table '' The server uses intermediate temporary table to store updated row data. The first column of this table contains rowid. Current server implementation doesn't reset NULL flag of that column even if the server fills a column with rowid. To keep each rowid unique, there is an unique index. An insertion into an unique index takes into account NULL flag of key value and ignores real data if NULL flag is set. So, insertion of actually different rowids may lead to two kind of problems. Visible effect of each of these problems depends on an initial engine type of temporary table: 1. If multiupdate initially creates temporary table as a MyISAM table (a table contains blob columns, and the create_tmp_table function assumes, that this table is large), it inserts only one single row and updates only rows with one corresponding rowid. Other rows are silently ignored. 2. If multiupdate initially creates MEMORY temporary table, fills it with data and reaches size limit for MEMORY tables (max_heap_table_size), multiupdate converts MEMORY table into MyISAM table and fails with an error: ERROR 1022 (23000): Can't write; duplicate key in table '' Multiupdate has been fixed to update the NULL flag of temporary table rowid columns. mysql-test/r/multi_update_tiny_hash.result: Added test case for bug#36676. mysql-test/t/multi_update_tiny_hash-master.opt: Added test case for bug#36676. mysql-test/t/multi_update_tiny_hash.test: Added test case for bug#36676. sql/sql_update.cc: Fixed bug#36676: multiupdate using LEFT JOIN updates only first row or fails with an error: ERROR 1022 (23000): Can't write; duplicate key in table '' The multi_update::send_data method has been modified to reset null bits of fields containing rowids.
-
- 17 May, 2008 1 commit
-
-
unknown authored
temporary variables of 'long' types were used to store ulong values, that causes init_key_cache to receive distorted parameters sql/handler.cc: Bug #36705 key_buffer_size of >= 2G allocates all availabel virtual memory on 64-bit wondo. types of temporary variables changed to match init_key_cache() parameters
-
- 16 May, 2008 9 commits
-
-
unknown authored
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0-bugteam
-
unknown authored
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0-bugteam
-
unknown authored
into magare.gmz:/home/kgeorge/mysql/autopush/B36011-take2-5.0-bugteam
-
unknown authored
master also, so that we can visually see the slave is the same. mysql-test/r/rpl_sp.result: SHOW CREATE on master also. mysql-test/t/rpl_sp.test: SHOW CREATE on master also.
-
unknown authored
with dependent subqueries An IN subquery is executed on EXPLAIN when it's not correlated. If the subquery required a temporary table for its execution not all the internal structures were restored from pointing to the items of the temporary table to point back to the items of the subquery. Fixed by restoring the ref array when a temp tables were used in executing the IN subquery during EXPLAIN EXTENDED. mysql-test/r/subselect.result: Bug #36011: test case mysql-test/t/subselect.test: Bug #36011: test case sql/sql_select.cc: Bug #36011: restore the ref array after execution when there were temp tables.
-
unknown authored
into mysql.com:/Users/davi/mysql/mysql-5.0-bugteam
-
unknown authored
mysql-test/r/rpl_sp.result: Add binlog results to show that they're written correctly. mysql-test/t/rpl_sp.test: Add binlog results to show that they're written correctly.
-
unknown authored
-
unknown authored
into host.loc:/work/bk/5.0-bugteam
-
- 15 May, 2008 1 commit
-
-
unknown authored
slave The stored-routine code took the contents of the (lowest) parser and copied it directly to the binlog, which causes problems if there is a special case of interpretation at the parser level -- which there is, in the "/*!VER */" comments. The trailing "*/" caused errors on the slave, naturally. Now, since by that point we have /properly/ created parse-tree (as the rest of the server should do!) for the stored-routine CREATE, we can construct a perfect statement from that information, instead of writing uncertain information from an unknown parser state. Fortunately, there's already a function nearby that does exactly that. --- Update for Bug#36570. Qualify routine names with db name when writing to the binlog ONLY if the source text is qualified. mysql-test/r/binlog_innodb.result: Offsets changed due to quoting. --- New offset to account for db-qualified names. mysql-test/r/ctype_cp932_binlog.result: Offsets changed due to quoting. --- Qualify routine names with DB. Offsets change also. mysql-test/r/mysqlbinlog.result: Case changed in result due to interpretation of data instead of literal recitation. --- Qualify procedure name with db. mysql-test/r/rpl_sp.result: Offsets changed due to quoting. Added tests. --- Qualify routine names with DB if qualified in query. Offsets change also. mysql-test/t/rpl_sp.test: Add version-limiting quotes to exercise bug#36570. Test that backtick-quoted identifiers and labels work also. --- Use different db to show qualification works. Qualify routine names with DB if qualified in query. sql/sp.cc: In create_string, we may not have a sp_name parameter yet, so instead pass the char* and length of the only member we'd get out of it. Having done that, we can use the same function to write the CREATE (FUNC|TRIG|PROC) statement to the binlog as we always used to display the statement to the user. --- Make the db name part of the CREATE string if it is specified. Specify it in part of writing to the binlog when creating a new routine. sql/sp_head.cc: Set the sp_head m_explicit_name member as the sp_name member is set. We can not peek at this later, as the sp_name is gone by then. sql/sp_head.h: Add a member to track whether the name is qualified with the database.
-
- 14 May, 2008 1 commit
-
-
unknown authored
into magare.gmz:/home/kgeorge/mysql/work/merge-5.0-bugteam
-
- 13 May, 2008 3 commits
-
-
unknown authored
with previous rows. The WHERE clause containing expression: CONCAT(empty_field1, empty_field2, ..., 'literal constant', ...) REGEXP 'regular expression' may return wrong matches. Optimization of the CONCAT function has been fixed. mysql-test/r/func_concat.result: Added test case for bug #36488. mysql-test/t/func_concat.test: Added test case for bug #36488. sql/item_strfunc.cc: Fixed bug #36488. The Item_func_concat::val_str method is optimized to use first non-empty argument of the CONCAT function for in-place result accumulation. This optimization is acceptable if that first argument is not a constant. However, current implementation checks this condition only for the first actual argument of the CONCAT function. So, the Item_func_concat::val_str method can corrupt values of, for example, literal strings by appending random data. The Item_func_concat::val_str method has been modified to take into account the ability to be modified in-place for the first non-empty argument.
-
unknown authored
into mysql.com:/home/kent/bk/mysql-5.0-release-merge BUILD/Makefile.am: Auto merged mysql-test/Makefile.am: Auto merged mysql-test/mysql-test-run.pl: Auto merged mysql-test/std_data/funcs_1/innodb_tb1.txt: Auto merged mysql-test/std_data/funcs_1/innodb_tb2.txt: Auto merged mysql-test/std_data/funcs_1/innodb_tb3.txt: Auto merged mysql-test/std_data/funcs_1/innodb_tb4.txt: Auto merged mysql-test/std_data/funcs_1/memory_tb1.txt: Auto merged mysql-test/std_data/funcs_1/memory_tb2.txt: Auto merged mysql-test/std_data/funcs_1/memory_tb3.txt: Auto merged mysql-test/std_data/funcs_1/memory_tb4.txt: Auto merged mysql-test/std_data/funcs_1/myisam_tb1.txt: Auto merged mysql-test/std_data/funcs_1/myisam_tb2.txt: Auto merged mysql-test/std_data/funcs_1/myisam_tb3.txt: Auto merged mysql-test/std_data/funcs_1/myisam_tb4.txt: Auto merged mysql-test/std_data/funcs_1/t3.txt: Auto merged mysql-test/std_data/funcs_1/t4.txt: Auto merged mysql-test/std_data/funcs_1/t7.txt: Auto merged mysql-test/std_data/funcs_1/t9.txt: Auto merged mysql-test/suite/funcs_1/README.txt: Auto merged mysql-test/suite/funcs_1/datadict/datadict_bug_12777.inc: Auto merged mysql-test/suite/funcs_1/datadict/datadict_load.inc: Auto merged mysql-test/suite/funcs_1/include/innodb_tb1.inc: Auto merged mysql-test/suite/funcs_1/include/innodb_tb2.inc: Auto merged mysql-test/suite/funcs_1/include/innodb_tb3.inc: Auto merged mysql-test/suite/funcs_1/include/innodb_tb4.inc: Auto merged mysql-test/suite/funcs_1/include/memory_tb1.inc: Auto merged mysql-test/suite/funcs_1/include/memory_tb2.inc: Auto merged mysql-test/suite/funcs_1/include/memory_tb3.inc: Auto merged mysql-test/suite/funcs_1/include/memory_tb4.inc: Auto merged mysql-test/suite/funcs_1/include/myisam_tb1.inc: Auto merged mysql-test/suite/funcs_1/include/myisam_tb2.inc: Auto merged mysql-test/suite/funcs_1/include/myisam_tb3.inc: Auto merged mysql-test/suite/funcs_1/include/myisam_tb4.inc: Auto merged mysql-test/suite/funcs_1/include/sp_tb.inc: Auto merged mysql-test/suite/funcs_1/r/innodb_func_view.result: Auto merged mysql-test/suite/funcs_1/r/innodb_storedproc_02.result: Auto merged mysql-test/suite/funcs_1/r/innodb_storedproc_03.result: Auto merged mysql-test/suite/funcs_1/r/innodb_storedproc_06.result: Auto merged mysql-test/suite/funcs_1/r/innodb_storedproc_07.result: Auto merged mysql-test/suite/funcs_1/r/innodb_storedproc_08.result: Auto merged mysql-test/suite/funcs_1/r/innodb_storedproc_10.result: Auto merged mysql-test/suite/funcs_1/r/innodb_trig_0102.result: Auto merged mysql-test/suite/funcs_1/r/innodb_trig_03.result: Auto merged mysql-test/suite/funcs_1/r/innodb_trig_0407.result: Auto merged mysql-test/suite/funcs_1/r/innodb_trig_08.result: Auto merged mysql-test/suite/funcs_1/r/innodb_trig_09.result: Auto merged mysql-test/suite/funcs_1/r/innodb_trig_1011ext.result: Auto merged mysql-test/suite/funcs_1/r/innodb_trig_frkey.result: Auto merged mysql-test/suite/funcs_1/r/innodb_views.result: Auto merged mysql-test/suite/funcs_1/r/is_columns_innodb.result: Auto merged mysql-test/suite/funcs_1/r/is_columns_memory.result: Auto merged mysql-test/suite/funcs_1/r/is_columns_myisam.result: Auto merged mysql-test/suite/funcs_1/r/is_columns_ndb.result: Auto merged mysql-test/suite/funcs_1/r/is_tables_innodb.result: Auto merged mysql-test/suite/funcs_1/r/is_tables_memory.result: Auto merged mysql-test/suite/funcs_1/r/is_tables_myisam.result: Auto merged mysql-test/suite/funcs_1/r/is_tables_ndb.result: Auto merged mysql-test/suite/funcs_1/r/memory_func_view.result: Auto merged mysql-test/suite/funcs_1/r/memory_storedproc_02.result: Auto merged mysql-test/suite/funcs_1/r/memory_storedproc_03.result: Auto merged mysql-test/suite/funcs_1/r/memory_storedproc_06.result: Auto merged mysql-test/suite/funcs_1/r/memory_storedproc_07.result: Auto merged mysql-test/suite/funcs_1/r/memory_storedproc_08.result: Auto merged mysql-test/suite/funcs_1/r/memory_storedproc_10.result: Auto merged mysql-test/suite/funcs_1/r/memory_trig_0102.result: Auto merged mysql-test/suite/funcs_1/r/memory_trig_03.result: Auto merged mysql-test/suite/funcs_1/r/memory_trig_0407.result: Auto merged mysql-test/suite/funcs_1/r/memory_trig_08.result: Auto merged mysql-test/suite/funcs_1/r/memory_trig_09.result: Auto merged mysql-test/suite/funcs_1/r/memory_trig_1011ext.result: Auto merged mysql-test/suite/funcs_1/r/memory_views.result: Auto merged mysql-test/suite/funcs_1/r/myisam_func_view.result: Auto merged mysql-test/suite/funcs_1/r/myisam_storedproc_02.result: Auto merged mysql-test/suite/funcs_1/r/myisam_storedproc_03.result: Auto merged mysql-test/suite/funcs_1/r/myisam_storedproc_06.result: Auto merged mysql-test/suite/funcs_1/r/myisam_storedproc_07.result: Auto merged mysql-test/suite/funcs_1/r/myisam_storedproc_08.result: Auto merged mysql-test/suite/funcs_1/r/myisam_storedproc_10.result: Auto merged mysql-test/suite/funcs_1/r/myisam_trig_0102.result: Auto merged mysql-test/suite/funcs_1/r/myisam_trig_03.result: Auto merged mysql-test/suite/funcs_1/r/myisam_trig_0407.result: Auto merged mysql-test/suite/funcs_1/r/myisam_trig_08.result: Auto merged mysql-test/suite/funcs_1/r/myisam_trig_09.result: Auto merged mysql-test/suite/funcs_1/r/myisam_trig_1011ext.result: Auto merged mysql-test/suite/funcs_1/r/myisam_views.result: Auto merged mysql-test/suite/funcs_1/storedproc/cleanup_sp_tb.inc: Auto merged mysql-test/suite/funcs_1/storedproc/load_sp_tb.inc: Auto merged mysql-test/suite/funcs_1/storedproc/storedproc_02.inc: Auto merged mysql-test/suite/funcs_1/storedproc/storedproc_03.inc: Auto merged mysql-test/suite/funcs_1/storedproc/storedproc_06.inc: Auto merged mysql-test/suite/funcs_1/storedproc/storedproc_10.inc: Auto merged mysql-test/suite/funcs_1/t/innodb_trig_0407.test: Auto merged mysql-test/suite/funcs_1/t/is_basics_mixed.test: Auto merged mysql-test/suite/funcs_1/t/memory_storedproc_02.test: Auto merged mysql-test/suite/funcs_1/t/memory_storedproc_03.test: Auto merged mysql-test/suite/funcs_1/t/memory_storedproc_06.test: Auto merged mysql-test/suite/funcs_1/t/memory_storedproc_07.test: Auto merged mysql-test/suite/funcs_1/t/memory_storedproc_08.test: Auto merged mysql-test/suite/funcs_1/t/memory_storedproc_10.test: Auto merged mysql-test/suite/funcs_1/t/myisam_storedproc_02.test: Auto merged mysql-test/suite/funcs_1/t/myisam_storedproc_03.test: Auto merged mysql-test/suite/funcs_1/t/myisam_storedproc_06.test: Auto merged mysql-test/suite/funcs_1/t/myisam_storedproc_07.test: Auto merged mysql-test/suite/funcs_1/t/myisam_storedproc_08.test: Auto merged mysql-test/suite/funcs_1/t/myisam_storedproc_10.test: Auto merged mysql-test/suite/funcs_1/triggers/trig_frkey2.inc: Auto merged mysql-test/suite/funcs_1/triggers/triggers_0102.inc: Auto merged mysql-test/suite/funcs_1/triggers/triggers_03.inc: Auto merged mysql-test/suite/funcs_1/triggers/triggers_0407.inc: Auto merged mysql-test/suite/funcs_1/triggers/triggers_08.inc: Auto merged mysql-test/suite/funcs_1/triggers/triggers_09.inc: Auto merged mysql-test/suite/funcs_1/triggers/triggers_1011ext.inc: Auto merged mysql-test/suite/funcs_1/views/func_view.inc: Auto merged mysql-test/suite/funcs_1/views/views_master.inc: Auto merged BitKeeper/deleted/.del-load_file.txt: Delete: mysql-test/std_data/funcs_1/load_file.txt
-
unknown authored
into host.loc:/work/bk/5.0-bugteam
-
- 12 May, 2008 2 commits
-
-
unknown authored
into host.loc:/work/bk/5.0-bugteam
-
unknown authored
The REPAIR TABLE ... USE_FRM query silently corrupts data of tables with old .FRM file version. The mysql_upgrade client program or the REPAIR TABLE query (without the USE_FRM clause) can't prevent this trouble, because in the common case they don't upgrade .FRM file to compatible structure. 1. Evaluation of the REPAIR TABLE ... USE_FRM query has been modified to reject such tables with the message: "Failed repairing incompatible .FRM file". 2. REPAIR TABLE query (without USE_FRM clause) evaluation has been modified to upgrade .FRM files to current version. 3. CHECK TABLE ... FOR UPGRADE query evaluation has been modified to return error status when .FRM file has incompatible version. 4. mysql_upgrade and mysqlcheck client programs call CHECK TABLE FOR UPGRADE and REPAIR TABLE queries, so their behaviors have been changed too to upgrade .FRM files with incompatible version numbers. mysql-test/std_data/bug36055.MYD: Added test data for bug #36055. mysql-test/std_data/bug36055.MYI: Added test data for bug #36055. mysql-test/std_data/bug36055.frm: Added test data for bug #36055. mysql-test/r/repair.result: Added test case for bug# 36055. mysql-test/t/repair.test: Added test case for bug# 36055. sql/handler.cc: Fixed bug #36055: mysql_upgrade doesn't really 'upgrade' tables The handler::ha_check_for_upgrade method has been modified to return error if .FRM file has incompatible version number. sql/sql_table.cc: Fixed bug #36055: mysql_upgrade doesn't really 'upgrade' tables The prepare_for_repair function has been modified to reject REPAIR TABLE ... USE_FRM queries on incompatible .FRM files with the message: "Failed repairing incompatible .FRM file".
-
- 08 May, 2008 2 commits
-
-
unknown authored
into client-10-129-10-147.upp.off.mysql.com:/Users/mattiasj/clones/topush-50-bugteam
-
unknown authored
Problem was that mysql_create_view did not remove all comments characters when writing to binlog, resulting in parse error of stmt on slave side. Solution was to use the recreated select clause and add a generated CHECK OPTION clause if needed. mysql-test/r/rpl_sp.result: Bug#32575 - Parse error of stmt with extended comments on slave side Updated test result mysql-test/r/rpl_view.result: Bug#32575 - Parse error of stmt with extended comments on slave side Updated test result mysql-test/t/rpl_view.test: Bug#32575 - Parse error of stmt with extended comments on slave side Added test case sql/sql_view.cc: Bug#32575 - Parse error of stmt with extended comments on slave side Problem was that mysql_create_view did not remove all comments characters when writing to binlog, resulting in parse error of stmt on slave side. Solution was to use the recreated select clause and generate 'WITH {LOCAL|CASCADED} CHECK OPTION'.
-
- 06 May, 2008 3 commits
-
-
unknown authored
or incorrect. For better conformance with standard, truncation procedure of CHAR columns has been changed to ignore truncation of trailing whitespace characters (note has been removed). Finally, for columns with non-binary charsets: 1. CHAR(N) columns silently ignore trailing whitespace truncation; 2. VARCHAR and TEXT columns issue Note about truncation. BLOBs and other columns with BINARY charset are unaffected. mysql-test/r/bdb.result: Rollback of bug #30059 fix. mysql-test/r/heap.result: Rollback of bug #30059 fix. mysql-test/r/innodb.result: Rollback of bug #30059 fix. mysql-test/r/myisam.result: Rollback of bug #30059 fix. mysql-test/r/strict.result: Rollback of bug #30059 fix. mysql-test/r/type_binary.result: Rollback of bug #30059 fix. mysql-test/r/warnings.result: Updated test case for bug #30059. sql/field.cc: Post-commit fix for bug #30059. The Field_longstr::report_if_important_data method has been changed to notify about trailing spaces only if the new count_spaces parameter is TRUE. The Field_string::store method has been changed to ignore trailing whitespace truncation (CHAR column type). sql/field.h: Post-commit fix for bug #30059. The Field_longstr::report_if_important_data method declaration has been changed to accept extra parameter: bool count_spaces.
-
unknown authored
-
unknown authored
We could allocate chunks larger than 4GB, but did our size-accounting in 32-bit values. This could lead to spurious warnings, inaccurate accounting, and, in theory, data loss. Affected: 64-bit platforms. Debug-build (with safemalloc). At least one buffer larger than 4GB. For potential data loss, a re-alloc on such a buffer would be necessary. mysys/my_static.c: Make memory-accounting 64-bit safe. mysys/my_static.h: Make memory-accounting 64-bit safe. Move in struct for better alignment when 64-bit.
-
- 05 May, 2008 1 commit
-
-
unknown authored
into magare.gmz:/home/kgeorge/mysql/work/merge-5.0-bugteam mysql-test/mysql-test-run.pl: Auto merged
-
- 02 May, 2008 5 commits
-
-
unknown authored
into pilot.mysql.com:/data/msvensson/mysql/mysql-5.0-bugteam client/mysqltest.c: Auto merged
-
unknown authored
client/mysql_upgrade.c: Add --tmpdir option to mysql_upgrade and use it when creating temporary files. mysql-test/mysql-test-run.pl: Pass --tmpdir to mysql_upgrade
-
unknown authored
- Code in DbugParse was reading from beyond end of the control string dbug/dbug.c: Don't try to parse control strings that hasn't got any tokens or is zero size
-
unknown authored
client/mysqltest.c: Use the --tmpdir location to create temporary files
-
unknown authored
mysql-test/mysql-test-run.pl: Use the requested tmpdir in 'collect_mysqld_features', create it if it does not already exists
-
- 01 May, 2008 3 commits
-
-
unknown authored
into pcrews-mac-local.local:/Users/pcrews/usr/local/bin/data0/build_work/mysql-5.0-trigs
-
unknown authored
Bug#36028 - Test funcs_1.<engine>_trig_03e failing on Windows Bug#36029 - Test funcs_1.<engine>_trig_0407 failing on Windows Bug#36030 - Test funcs_1.<engine>_trig_08 failing on Windows Adding $MASTER_MYSOCK to init_win_path() When path names are short, master.sock ends up in MYSQL_TMP_DIR, but with longer path names, master.sock ends up in /tmp/<random_string>/ and these tests will fail due to path delimiter difference. New changeset to start with 5.0 -- Not all of these tests are present in 5.0, but want to keep mysqltest the same
-
unknown authored
The bug is a regression introduced by the patch for bug32798. The code in Item_func_group_concat::clear() relied on the 'distinct' variable to check if 'unique_filter' was initialized. That, however, is not always valid because Item_func_group_concat::setup() can do shortcuts in some cases w/o initializing 'unique_filter'. Fixed by checking the value of 'unique_filter' instead of 'distinct' before dereferencing. mysql-test/r/func_gconcat.result: Added test cases for bugs #35298 and #36024. mysql-test/t/func_gconcat.test: Added test cases for bugs #35298 and #36024. sql/item_sum.cc: Check if unique_filter != NULL before dereferencing it. Non-zero value of distinct does not always mean that unique_filter is initialized because Item_func_group_concat::setup() can do shortcuts is some cases
-