- 20 Sep, 2008 4 commits
-
-
Kristofer Pettersson authored
-
Kristofer Pettersson authored
-
Kristofer Pettersson authored
A stored procedure involving substrings could crash the server on certain platforms because of invalid memory reads. During storing the new blob-field value, the cached value's address range overlapped that of the new field value. This caused problems when the cached value storage was reallocated to provide access for a new characater set representation. The patch checks the address ranges, and if they overlap, the new field value is copied to a new storage before it is converted to the new character set. mysql-test/r/sp.result: Added result set mysql-test/t/sp.test: Added test case sql/field.cc: The source and destination address ranges of a character conversion must not overlap or the 'from' address will be invalidated as the temporary value- object is re-allocated to fit the new character set. sql/field.h: Added comments
-
Davi Arnaut authored
-
- 18 Sep, 2008 7 commits
-
-
Matthias Leich authored
no conflicts, no real code changes
-
Matthias Leich authored
no conflicts
-
Matthias Leich authored
-
Tatiana A. Nurnberg authored
-
Tatiana A. Nurnberg authored
-
Tatiana A. Nurnberg authored
Bug#37114: sql_mode NO_BACKSLASH_ESCAPES does not work properly with LOAD DATA Bug#37114: sql_mode NO_BACKSLASH_ESCAPES does not work properly with LOAD DATA INFILE tweaked test to make embedded server happy
-
Chad MILLER authored
-
- 17 Sep, 2008 4 commits
-
-
Tatiana A. Nurnberg authored
-
Tatiana A. Nurnberg authored
-
Tatiana A. Nurnberg authored
-
Tatiana A. Nurnberg authored
NO_BACKSLASH_ESCAPES was not heeded in LOAD DATA INFILE and SELECT INTO OUTFILE. It is now. mysql-test/r/loaddata.result: Show that SQL-mode NO_BACKSLASH_ESCAPES is heeded in INFILE/OUTFILE, and that dump/restore cycles work! mysql-test/t/loaddata.test: Show that SQL-mode NO_BACKSLASH_ESCAPES is heeded in INFILE/OUTFILE, and that dump/restore cycles work! sql/sql_class.cc: Add function to enquire whether ESCAPED BY was given. When doing SELECT...OUTFILE, use ESCAPED BY if specifically given; otherwise use sensible default value depending on SQL-mode features NO_BACKSLASH_ESCAPES. sql/sql_class.h: Add function to enquire whether ESCAPED BY was given. sql/sql_load.cc: When doing LOAD DATA INFILE, use ESCAPED BY if specifically given; otherwise use sensible default value depending on SQL-mode features NO_BACKSLASH_ESCAPES.
-
- 16 Sep, 2008 6 commits
-
-
Matthias Leich authored
-
Matthias Leich authored
Details: - backport of some improvements which prevent sporadic failures from 5.1 to 5.0 - @@GLOBAL.CONCURRENT_INSERT= 0 also for slave server - --sorted_result before all selects which have result sets with more than one row - Replace error numbers by error names
-
Narayanan V authored
-
Vladislav Vaintroub authored
-
Narayanan V authored
Fix the write_record function to record auto increment values in a consistent way. mysql-test/r/auto_increment.result: Updated the test result file with the output of the new test case added to verify this bug. mysql-test/t/auto_increment.test: Added a new test case to verify this bug. sql/sql_insert.cc: The algorithm for the write_record function in sql_insert.cc is (more emphasis given to the parts that deal with the autogenerated values) 1) If a write fails 1.1) save the autogenerated value to avoid thd->insert_id_for_cur_row to become 0. 1.2) <logic to handle INSERT ON DUPLICATE KEY UPDATE and REPLACE> 2) record the first successful insert id. explanation of the failure -------------------------- As long as 1.1) was executed 2) worked fine. 1.1) was always executed when REPLACE worked with the last row update optimization, but in cases where 1.1) was not executed 2) would fail and would result in the autogenerated value not being saved. solution -------- repeat a check for thd->insert_id_for_cur_row being zero similar to 1.1) before 2) and ensure that the correct value is saved.
-
Vladislav Vaintroub authored
Correct usage of strncat() in get_symbol_path() 3rd parameter to strncat is changed to be count of remaining bytes in the output buffer minus 1.
-
- 15 Sep, 2008 9 commits
-
-
Kristofer Pettersson authored
-
Patrick Crews authored
-
Patrick Crews authored
Merge of fixes from 5.0 -> 5.1 Moved restoration of concurrent_insert's original value to the end of the 5.1 tests Re-recorded .result file to account for changes to test file.
-
Patrick Crews authored
Moved fix for this bug to 5.0 as other mysqldump bugs seem tied to concurrent_insert being on Setting concurrent_insert off during this test as INSERTs weren't being completely processed before the calls to mysqldump, resulting in failing tests. Altered .test file to turn concurrent_insert off during the test and to restore it to whatever the value was at the start of the test when complete. Re-recorded .result file to account for changes to variables in the test.
-
Patrick Crews authored
Fixed bad path in .test file Moved test to suite/rpl_ndb (per Cluster QA) Re-recorded .result file to updated expected results.
-
Vladislav Vaintroub authored
-
Vladislav Vaintroub authored
The problem here is that symbols can not be loaded, because symbol path is not set and default path does not include the directory where PDB is located. The problem is _not_ reproducible on the same machine where mysqld.exe is built - if PDB is not found in the symbol path, dbghelp would fallback to fully qualified PDB path as given in the executable header and on the build host this will succeed. The solution is to calculate symbol path and pass it to SymInitialize() call.
-
Alexander Barkov authored
Problem: with @@sql_mode=pad_char_to_full_length a CHAR column returned additional garbage after trailing space characters due to incorrect my_charpos() call. Fix: call my_charpos() with correct arguments.
-
Martin Skold authored
bug#31233 mysql_alter_table() fails to drop UNIQUE KEY mysql-test/suite/ndb/r/ndb_alter_table.result: bug#31233 mysql_alter_table() fails to drop UNIQUE KEY: added test cases mysql-test/suite/ndb/t/ndb_alter_table.test: bug#31233 mysql_alter_table() fails to drop UNIQUE KEY: added test cases sql/ha_ndbcluster.cc: bug#31233 mysql_alter_table() fails to drop UNIQUE KEY: Removed check for non-pk tables, not needed when mysql_alter_table checks apropriate flags sql/mysql_priv.h: bug #31231 mysql_alter_table() tries to drop a non-existing table: added FRM_ONLY flag sql/sql_table.cc: bug #31231 mysql_alter_table() tries to drop a non-existing table Don't invoke handler for tables defined with FRM_ONLY flag. bug#31233 mysql_alter_table() fails to drop UNIQUE KEY When a table is defined without an explicit primary key mysql will choose the first found unique index defined over non-nullable fields (if such an index exists). This means that if such an index is added (the first) or dropped (the last) through an alter table, this equals adding or dropping a primary key. The implementation for on-line add/drop index did not consider this semantics. This patch ensures that only handlers with the correctly defined flags (see handler.h for explanation of the flags): HA_ONLINE_ADD_PK_INDEX HA_ONLINE_ADD_PK_INDEX_NO_WRITES HA_ONLINE_DROP_PK_INDEX HA_ONLINE_DROP_PK_INDEX_NO_WRITES are invoked for such on-line operations. All others handlers must perform a full (offline) alter table.
-
- 11 Sep, 2008 5 commits
-
-
Kristofer Pettersson authored
-
Timothy Smith authored
-
Timothy Smith authored
-
Timothy Smith authored
-
Timothy Smith authored
-
- 10 Sep, 2008 5 commits
-
-
Joerg Bruehe authored
-
Kristofer Pettersson authored
If a delayed insert thread was aborted by a concurrent 'truncate table' statement, then the diagnostic area would fail with an assert in a debug build because no actual error message was pushed on the stack despite a thread being killed. This patch adds an error message to the stack. sql/sql_insert.cc: * Changed sql_print_error() to my_error() to avoid assertion in the DA * Added assertion in "should never happen" branch.
-
Joerg Bruehe authored
-
Georgi Kodinov authored
-
Georgi Kodinov authored
-