summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Bug #52165: Assertion failed: file .\dtoa.c, line 465Alexey Kopytov2010-04-073-1/+23
| | | | | | | | | | | | | | | | | The failing assertion was written with the assumption that a NULL string can never be passed to my_strtod(). However, an empty string may be passed under some circumstances by passing str == NULL and *end == NULL. Fixed the assertion to take the above case into account. mysql-test/r/func_misc.result: Added a test case for bug #52165. mysql-test/t/func_misc.test: Added a test case for bug #52165. strings/dtoa.c: Fixed the assertion in my_strtod() to take the case of 'str == NULL && *end == NULL' into account.
* Auto-merge from mysql-trunk.Alexander Nozdrin2010-03-240-0/+0
|\
| * Auto-merge from mysql-trunk-bugfixing.Alexander Nozdrin2010-03-2472-1399/+1260
| |\ | |/ |/|
* | Make mysqlbinlog_row, mysqlbinlog_row_innodb and mysqlbinlog_row_myisamAlexander Nozdrin2010-03-221-0/+3
| | | | | | | | experimental due to Bug 52202.
* | merging bug@51398 to trun-bf from local bf-branchAndrei Elkin2010-03-212-14/+17
|\ \
| * | Bug #51398 Test "rpl_heartbeat_basic" fails "while waiting for ↵Andrei Elkin2010-03-162-14/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | slave_received_heartbeats" Non-determinism of the test was caused by lack of setting a proper value to hb period, actually fixed by BUG@50767. These fixes aim at possible non-determinism in comparison of received hb events by master and slave in the circular part of the test. Even though the HB periods ratio was choosen to be as high as 10, it's still incorrect to compare number of hb-events basing only a relation between their periods. Yet another issue is relatively short 60 secs timeout of wait_for_status_var.inc makes valgrind runs to fail. Fixed with deploying wait_for_slave_io_to_start afront of calling wait_for_status_var. The test is made runnable only with MIXED binlog-format as it has close to 1 min total exec time and there is nothing format specific in it. mysql-test/suite/rpl/r/rpl_heartbeat_basic.result: results are changed. mysql-test/suite/rpl/t/rpl_heartbeat_basic.test: Reducing the test env to run in only with MIXED mode; Simplifying logics of the circular setup to verify only that HB flows both directions.
* | | Fix cmake build on OSX/i386 (many innodb tests failVladislav Vaintroub2010-03-211-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | in optimized build) Unlike in autotools build, innodb was compiled with -DUNIV_MUST_NOT_INLINE set. this exposed what seems to be a bug in gcc backend. The fix is to remove extra definition.
* | | Automerge.Alexey Kopytov2010-03-203-4/+3
|\ \ \
| * | | Fix errors when building releaseVladislav Vaintroub2010-03-193-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - package some more perl scripts on Windows (mysqlhotcopy and mysqldumpslow) - do not try to pack .map files (no more produced) - (CMake-unrelated) fix debug build on FreeBSD, trying to use uninitialized attribute MY_MUTEX_INIT_FAST
* | | | Streamlined funcs_1.storedproc broken by the patch for bug #8433.Alexey Kopytov2010-03-201-398/+95
|/ / /
* | | Manual merge.Alexey Kopytov2010-03-1920-125/+640
|\ \ \
| * | | Bug #8433: Overflow must be an error Alexey Kopytov2010-03-1820-125/+640
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All numeric operators and functions on integer, floating point and DECIMAL values now throw an 'out of range' error rather than returning an incorrect value or NULL, when the result is out of supported range for the corresponding data type. Some test cases in the test suite had to be updated accordingly either because the test case itself relied on a value returned in case of a numeric overflow, or because a numeric overflow was the root cause of the corresponding bugs. The latter tests are no longer relevant, since the expressions used to trigger the corresponding bugs are not valid anymore. However, such test cases have been adjusted and kept "for the record". mysql-test/r/func_math.result: Added test cases for bug #8433. Updated results of the test case for bug #31236. mysql-test/r/func_misc.result: Streamlined test cases. mysql-test/r/func_test.result: Streamlined test cases. mysql-test/r/select.result: Streamlined test cases. mysql-test/r/sp.result: Streamlined test cases. mysql-test/r/strict.result: Streamlined test cases. mysql-test/r/type_newdecimal.result: Streamlined test cases. mysql-test/suite/sys_vars/r/sql_slave_skip_counter_basic.result: Streamlined test cases. mysql-test/suite/sys_vars/t/sql_slave_skip_counter_basic.test: Streamlined test cases. mysql-test/t/func_math.test: Added test cases for bug #8433. Updated results of the test case for bug #31236. mysql-test/t/func_misc.test: Streamlined test cases. mysql-test/t/func_test.test: Streamlined test cases. mysql-test/t/select.test: Streamlined test cases. mysql-test/t/sp.test: Streamlined test cases. mysql-test/t/strict.test: Streamlined test cases. mysql-test/t/type_newdecimal.test: Streamlined test cases. sql/item_create.cc: Changed Item_func_cot() to be defined as a standalone Item rather than a combination of "1 / TAN(x)". sql/item_func.cc: Throw an 'out of range' error rather than returning an incorrect value or NULL, when the result of a numeric operator or a function is out of supported range for the corresponding data type. sql/item_func.h: Added validation helpers as inline methods of Item_func. sql/share/errmsg-utf8.txt: New ER_DATA_OUT_OF_RANGE error.
* | | | Bug #52149 - packaging differences in CMake buildVladislav Vaintroub2010-03-177-16/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Corrected some packaging bugs: - install mysqlservices library - install libmysqlclient_r.so.{16,16.0.0} as links to libmysqlclient.so - install libmysqld-debug.a - install my_safe_process, my_safe_kill and symlinks to mysql-test-run.pl (mtr, mysql-test-run) into correct place ${INSTALL_MYSQLTESTDIR} cmake/install_layout.cmake: Fix typo cmake/install_macros.cmake: Refactor INSTALL_SYMLINK to allow arbitrary symlink paths. Old version of this macro would make link extension the same as in target. This was not sufficient in some scenarios (would not allow for example libmysqlclient_r.so.16=>./libmysqlclient.so link) libmysql/CMakeLists.txt: Install extra symlinks to libmysqlclient.so (libmysqlclient_r.so.16 and libmysqlclient_r.so.16.0.0) for backward compatiblity. libmysqld/CMakeLists.txt: install libmysqld-debug.a libservices/CMakeLists.txt: install mysqlservices library mysql-test/lib/My/SafeProcess/CMakeLists.txt: install my_safe_process, my_safe_kill into correct place
* | | | Merged bundle from bug report.Luis Soares2010-03-171-1/+1
|\ \ \ \
| * | | | BUG#50442: MTR check for rpl_sync failsLuis Soares2010-03-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The test case crashes and recovers the server twice, and while recovering InnoDB sets innodb_file_format_check to different format on second restart. This makes the test case clean up check to fail. We fix this by deploying the option "--innodb_file_format_check='ON'" in slave startup configuration. This makes the innodb_file_format_check to not change on secod restart.
* | | | | Merge bundle from bug report.Luis Soares2010-03-175-1/+52
|\ \ \ \ \
| * | | | | BUG#51426: overflow for auto_increment column causes slave to stopLuis Soares2010-03-175-1/+52
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In BUG#49562 we fixed the case where numeric user var events would not serialize the flag stating whether the value was signed or unsigned (unsigned_flag). This fixed the case that the slave would get an overflow while treating the unsigned values as signed. In this bug, we find that the unsigned_flag can sometimes change between the moment that the user value is recorded for binlogging purposes and the actual binlogging time. Since we take the unsigned_flag from the runtime variable data, at binlogging time, and the variable value is comes from the copy taken earlier in the execution, there may be inconsistency in the User_var_log_event between the variable value and its unsigned_flag. We fix this by also copying the unsigned_flag of the user_var_entry when its value is copied, for binlogging purposes. Later, at binlogging time, we use the copied unsigned_flag and not the one in the runtime user_var_entry instance.
* | | | | mergeMattias Jonsson2010-03-163-24/+95
|\ \ \ \ \ | |_|_|/ / |/| | | |
| * | | | Bug#51347: assertion with show create table + partition by columnsMattias Jonsson2010-03-043-24/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | on decimal column The problem was that there was no check to disallow DECIMAL columns in the code (it was accepted as if it was INTEGER). Solution was to correctly disallow DECIMAL columns in COLUMNS partitioning. As documented. mysql-test/r/partition_column.result: Bug#51347: assertion with show create table + partition by columns on decimal column updated test result mysql-test/t/partition_column.test: Bug#51347: assertion with show create table + partition by columns on decimal column Added test to verify column types that is not supported sql/sql_partition.cc: Bug#51347: assertion with show create table + partition by columns on decimal column Moved DECIMAL types to be disallowed as column types in COLUMNS partitioning
* | | | | Skip perfschema.misc if "var" is a symlink (due to Bug 51447).Alexander Nozdrin2010-03-162-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | mysql-test/include/not_var_link.inc: Committed on behalf of Bjorn.
* | | | | Merging with mysql-trunk-bugfixingMats Kindahl2010-03-1516-410/+254
|\ \ \ \ \
| * \ \ \ \ A post-review fix for type-aware metadata locks.Konstantin Osipov2010-03-1616-410/+254
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | DDL no longer aborts mysql_lock_tables(), and hence we no longer need to support need_reopen flag of this call. Remove the flag, and all the code in the server that was responsible for handling the case when it was set. This allowed to simplify: open_and_lock_tables_derived(), the delayed thread, multi-update. Rename MYSQL_LOCK_IGNORE_FLUSH to MYSQL_OPEN_IGNORE_FLUSH, since we now only support this flag in open_table(). Rename MYSQL_LOCK_PERF_SCHEMA to MYSQL_LOCK_LOG_TABLE, to avoid confusion. Move the wait for the global read lock for cases when we do updates in SELECT f1() or DO (UPDATE) to open_table() from mysql_lock_tables(). When waiting for the read lock, we could raise need_reopen flag, which is no longer present in mysql_lock_tables(). Since the block responsible for waiting for GRL was moved, MYSQL_LOCK_IGNORE_GLOBAL_READ_LOCK was renamed to MYSQL_OPEN_IGNORE_GLOBAL_READ_LOCK. mysql-test/r/mdl_sync.result: Update test results (see comments for mdl_sync.test). mysql-test/t/mdl_sync.test: Update tests: an abort mysql_lock_tables() called for an INSERT no longer auto-closes SQL HANDLERS, since it no longer leads to back-off and retry. sql/ha_ndbcluster_binlog.cc: Remove unused variables. sql/lock.cc: Remove support for need_reopen parameter of mysql_lock_tables(). Update comments. sql/log_event_old.cc: Remove the loop responsible for handling need_reopen out parameter of mysql_lock_tables(). sql/mysql_priv.h: Update open and lock tables flag names. sql/share/errmsg-utf8.txt: Add a new error message to report when thr_multi_lock() is aborted. sql/sql_base.cc: Update comments. Rename MYSQL_LOCK_IGNORE_FLUSH to MYSQL_OPEN_IGNORE_FLUSH. sql/sql_class.h: Remove unused code. sql/sql_db.cc: Remove an unused bit of code. sql/sql_handler.cc: For backward compatibility, we still want to back off and retry when a call to mysql_lock_tables() is aborted from within an SQL HANDLER. Write an internal error handler to support the case. sql/sql_insert.cc: Call mysql_lock_tables() no longer has need_reopen out parameter. Simplify the code by removing the crud that took care of it. MYSQL_LOCK_IGNORE_FLUSH is now only supported by open_tables(). sql/sql_show.cc: Rename MYSQL_LOCK_IGNORE_FLUSH to MYSQL_OPEN_IGNORE_FLUSH sql/sql_table.cc: Remove an unused parameter. sql/sql_update.cc: Remove the need_reopen loop from multi-update. We no also longer need to cleanup the parse tree in case when mysql_lock_tables() is aborted and thus an infinite source of multi-update bugs is gone. sql/tztime.cc: Rename MYSQL_LOCK_IGNORE_FLUSH to MYSQL_OPEN_IGNORE_FLUSH, since from now on this flag is only supported by open_table().
| | * | | | | A review comment for the fix for Bug#46672.Konstantin Osipov2010-03-1314-372/+232
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove unnecessary need_reopen loops.
* | | | | | | Merging with mysql-trunk-bugfixingMats Kindahl2010-03-151-1/+1
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | |
| * | | | | | Bug #51938 plugin_dir gets bad default valueMats Kindahl2010-03-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When building the script directory using a CMake-based build, both the variables in config.h.cmake (including PLUGINDIR) and the variables in CMakeList.txt (which includes pkgplugindir). However, for autotools-based builds, only pkgplugindir is substituted, which means that the plugin-path is not substituted. This patch solves the problem by using pkgplugindir, which works on both CMake-based and autotools-based builds, instead of PLUGINDIR.
* | | | | | | mergeVladislav Vaintroub2010-03-1533-579/+420
|\ \ \ \ \ \ \
| * \ \ \ \ \ \ Auto-merge from mysql-trunk.Alexander Nozdrin2010-03-151-0/+1
| |\ \ \ \ \ \ \ | | | |_|_|_|_|/ | | |/| | | | |
| | * | | | | | Enable ndb and rpl_ndb test suites in daily builds.Alexander Nozdrin2010-03-151-0/+1
| | | | | | | |
| * | | | | | | A patch for Bug#52071 (rpl_ndb.rpl_ndb_ctype_ucs2_def fails).Alexander Nozdrin2010-03-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use new command line options instead of deprecated and removed ones.
| * | | | | | | MergeMagnus Blåudd2010-03-158-376/+6
| |\ \ \ \ \ \ \
| | * \ \ \ \ \ \ Merge in fix for bug#42589Magnus Blåudd2010-03-158-376/+6
| | |\ \ \ \ \ \ \
| | | * | | | | | | Bug#42589 mysql_fix_privilege_tables.sh to be deprecatedMagnus Blåudd2009-10-079-400/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Remove remnants of "mysql_fix_privilege_tables.sh"(again)
| * | | | | | | | | Bug #51160 Deadlock around SET GLOBAL EVENT_SCHEDULER = ON|OFFJon Olav Hauglid2010-03-153-25/+34
| |/ / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This deadlock could occour betweeen one connection executing SET GLOBAL EVENT_SCHEDULER= ON and another executing SET GLOBAL EVENT_SCHEDULER= OFF. The bug was introduced by WL#4738. The first connection would hold LOCK_event_metadata (protecting the global variable) while trying to lock LOCK_global_system_variables starting the event scheduler thread (in THD:init()). The second connection would hold LOCK_global_system_variables while trying to get LOCK_event_scheduler after stopping the event scheduler inside event_scheduler_update(). This patch fixes the problem by not using LOCK_event_metadata to protect the event_scheduler variable. It is still protected using LOCK_global_system_variables. This fixes the deadlock as it removes one of the two mutexes used to produce it. However, this patch opens up the possibility that the event_scheduler variable and the real event_scheduler state can become out of sync (e.g. variable = OFF, but scheduler running). But this can only happen under very unlikely conditions - two concurrent SET GLOBAL statments, with one thread interrupted at the exact wrong moment. This is preferable to having the possibility of a deadlock. This patch also fixes a bug where it was possible to exit create_event() without releasing LOCK_event_metadata if running out of memory during its exection. No test case added since a repeatable test case would have required excessive use of new sync points. Instead we rely on the fact that this bug was easily reproduceable using RGQ tests.
| * | | | | | | | Auto-merge from mysql-trunk.Alexander Nozdrin2010-03-151-1/+1
| |\ \ \ \ \ \ \ \ | | | |/ / / / / / | | |/| | | | | |
| | * | | | | | | Raise version number after cloning 5.5.3-m3unknown2010-03-121-1/+1
| | | | | | | | |
| * | | | | | | | Auto-merge from mysql-trunk.Alexander Nozdrin2010-03-1220-176/+377
| |\ \ \ \ \ \ \ \ | | |/ / / / / / /
| | * | | | | | | Auto-merge from mysql-next-mr.Alexander Nozdrin2010-03-1220-176/+377
| | |\ \ \ \ \ \ \
| | | * \ \ \ \ \ \ Auto-merge (empty) from mysql-trunk.Alexander Nozdrin2010-03-120-0/+0
| | | |\ \ \ \ \ \ \ | | | |/ / / / / / / | | |/| | | | | | |
| | * | | | | | | | Auto-merge from mysql-trunk-bugfixing.Alexander Nozdrin2010-03-123-59/+363
| | |\ \ \ \ \ \ \ \ | | |/ / / / / / / / | |/| | | | | | | |
| | | * | | | | | | Auto-merge from mysql-next-mr-bugfixing.Alexander Nozdrin2010-03-1223-235/+740
| | | |\ \ \ \ \ \ \
| | | | * | | | | | | BUG#51716 post push fix.Luis Soares2010-03-123-25/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are two issues fixed here: 1. We needed to update the result file, for some of mysqlbinlog_* tests, because now the some padding chars are not output anymore. 2. We needed to change the Field_string::pack so that for BINARY types the padding chars are not packed (lengthsp will return full length for these types).
| | | | * | | | | | | Automerge the bug#49022 fix correction into next-mr-bugfixing.Joerg Bruehe2010-03-121-1/+1
| | | | |\ \ \ \ \ \ \ | | | | | |_|_|/ / / / | | | | |/| | | | | |
| | | | | * | | | | | Fix for the bug#49022 patch, detected by further testing.Joerg Bruehe2010-03-111-1/+1
| | | | | | | | | | |
| | | | * | | | | | | A fix for Bug#49972 "Crash in prepared statements": Konstantin Osipov2010-03-112-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The problem is introduced by WL#4435 "Support OUT-parameters in prepared statements". When a statement that has out parameters was reprepared, the reprepare request error was ignored, and an attempt to send out parameters to the client was made. Since the out parameter list was not initialized in case of an error, this attempt led to a crash. Don't try to send out parameters to the client if an error occurred in statement execution. sql/sql_prepare.cc: Don't try to send out parameters if error. tests/mysql_client_test.c: Re-enable the test case for Bug#49972.
| | | | * | | | | | | Automerge: mysql-next-mr-bugfixing bug branch --> mysql-next-mr-bugfixing ↵Luis Soares2010-03-116-11/+128
| | | | |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | latest.
| | | | | * | | | | | | Fix for BUG#51716 and BUG#51787: test case improvements.Luis Soares2010-03-104-42/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Split rpl_row_charset into: - rpl_row_utf16. - rpl_row_utf32. This way these tests can run independently if server supports either one of the charsets but not both. Cleaned up rpl_row_utf32 which had a spurious instruction: -- let $reset_slave_type_conversions= 0
| | | | | * | | | | | | Fix for BUG#51716 and BUG#51787.Luis Soares2010-03-104-11/+120
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In BUG#51787 we were using the wrong charset to print out the data. We were using the field charset for the string that would hold the information. This caused the assertion, because the string length was not aligned with UTF32 bytes requirements for storage. We fix this by using &my_charset_latin1 in the string object instead of the field->charset(). As a side-effect, we needed to extend the show_sql_type interface so that it took the field charset is now passed as a parameter, so that one is able to calculate the correct field size. In BUG#51716 we had issues with Field_string::pack and Field_string::unpack. When packing, the length was incorrectly calculated. When unpacking, the padding the string would be padded with the wrong bytes (a few bytes less than it should). We fix this by resorting to charset abstractions (functions) that calculate the correct length when packing and pad correctly the string when unpacking.
| | | | * | | | | | | | An additional fix for WL#1213 4-byte UTF8Alexander Barkov2010-03-113-3/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Fixing crash on attempt to create a fulltext index with an utf8mb4 column - fixing wrong border width for supplementary characters in mysql client: mysql --default-character-set=utf8mb4 -e "select concat(_utf32 0x20000,'a')"
| | | | * | | | | | | | Auto mergeHe Zhenxing2010-03-119-65/+480
| | | | |\ \ \ \ \ \ \ \
| | | | | * \ \ \ \ \ \ \ Automatic merge.Davi Arnaut2010-03-103-59/+363
| | | | | |\ \ \ \ \ \ \ \ | | |_|_|_|/ / / / / / / / | |/| | | | | | | | | | |