summaryrefslogtreecommitdiff
path: root/strings
Commit message (Collapse)AuthorAgeFilesLines
* Merge of mysql-trunk-bugfixing into mysql-trunk-merge.Davi Arnaut2010-07-1517-90/+56
|\
| * WL#5486: Remove code for unsupported platformsDavi Arnaut2010-07-1515-66/+56
| | | | | | | | Remove MS-DOS specific code.
| * WL#5486: Remove code for unsupported platformsDavi Arnaut2010-07-152-24/+0
| | | | | | | | Remove Netware specific code.
* | Unset the execute bit where it's not needed.Davi Arnaut2010-07-031-0/+0
| |
* | Merge of mysql-5.1-bugteam into mysql-trunk-merge.Davi Arnaut2010-07-025-80/+14
|\ \ | |/ |/|
| * Bug#53445: Build with -Wall and fix warnings that it generatesDavi Arnaut2010-07-027-84/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Apart strict-aliasing warnings, fix the remaining warnings generated by GCC 4.4.4 -Wall and -Wextra flags. One major source of warnings was the in-house function my_bcmp which (unconventionally) took pointers to unsigned characters as the byte sequences to be compared. Since my_bcmp and bcmp are deprecated functions whose only difference with memcmp is the return value, every use of the function is replaced with memcmp as the special return value wasn't actually being used by any caller. There were also various other warnings, mostly due to type mismatches, missing return values, missing prototypes, dead code (unreachable) and ignored return values. BUILD/SETUP.sh: Remove flags that are implied by -Wall and -Wextra. Do not warn about unused parameters in C++. BUILD/check-cpu: Print only the compiler version instead of verbose banner. Although the option is gcc specific, the check was only being used for GCC specific checks anyway. client/mysql.cc: bcmp is no longer defined. client/mysqltest.cc: Pass a string to function expecting a format string. Replace use of bcmp with memcmp. cmd-line-utils/readline/Makefile.am: Always define _GNU_SOURCE when compiling GNU readline. Required to make certain prototypes visible. cmd-line-utils/readline/input.c: Condition for the code to be meaningful. configure.in: Remove check for bcmp. extra/comp_err.c: Use appropriate type. extra/replace.c: Replace use of bcmp with memcmp. extra/yassl/src/crypto_wrapper.cpp: Do not ignore the return value of fgets. Retrieve the file position if fgets succeed -- if it fails, the function will bail out and return a error. extra/yassl/taocrypt/include/blowfish.hpp: Use a single array instead of accessing positions of the sbox_ through a subscript to pbox_. extra/yassl/taocrypt/include/runtime.hpp: One definition of such functions is enough. extra/yassl/taocrypt/src/aes.cpp: Avoid potentially ambiguous conditions. extra/yassl/taocrypt/src/algebra.cpp: Rename arguments to avoid shadowing related warnings. extra/yassl/taocrypt/src/blowfish.cpp: Avoid potentially ambiguous conditions. extra/yassl/taocrypt/src/integer.cpp: Do not define type within a anonymous union. Use a variable to return a value instead of leaving the result in a register -- compiler does not know the logic inside the asm. extra/yassl/taocrypt/src/misc.cpp: Define handler for pure virtual functions. Remove unused code. extra/yassl/taocrypt/src/twofish.cpp: Avoid potentially ambiguous conditions. extra/yassl/testsuite/test.hpp: Function must have C language linkage. include/m_string.h: Remove check which relied on bcmp being defined -- they weren't being used as bcmp is only visible when _BSD_SOURCE is defined. include/my_bitmap.h: Remove bogus helpers which were used only in a few files and were causing warnings about dead code. include/my_global.h: Due to G++ bug, always silence false-positive uninitialized variables warnings when compiling C++ code with G++. Remove bogus helper. libmysql/Makefile.shared: Remove built-in implementation of bcmp. mysql-test/lib/My/SafeProcess/safe_process.cc: Cast pid to largest possible type for a process identifier. mysys/mf_loadpath.c: Leave space of the ending nul. mysys/mf_pack.c: Replace bcmp with memcmp. mysys/my_bitmap.c: Dead code removal. mysys/my_gethwaddr.c: Remove unused variable. mysys/my_getopt.c: Silence bogus uninitialized variable warning. Do not cast away the constant qualifier. mysys/safemalloc.c: Cast to expected type. mysys/thr_lock.c: Silence bogus uninitialized variable warning. sql/field.cc: Replace bogus helper with a more appropriate logic which is used throughout the code. sql/item.cc: Remove bogus logical condition which always evaluates to TRUE. sql/item_create.cc: Simplify code to avoid signedness related warnings. sql/log_event.cc: Replace use of bcmp with memcmp. No need to use helpers for simple bit operations. sql/log_event_old.cc: Replace bmove_align with memcpy. sql/mysqld.cc: Move use declaration of variable to the ifdef block where it is used. Remove now-unnecessary casts and arguments. sql/set_var.cc: Replace bogus helpers with simple and classic bit operations. sql/slave.cc: Cast to expected type and silence bogus warning. sql/sql_class.h: Don't use enum values as bit flags, the supposed type safety is bogus as the combined bit flags are not a value in the enumeration. sql/udf_example.c: Only declare variable when necessary. sql/unireg.h: Replace use of bmove_align with memcpy. storage/innobase/os/os0file.c: Silence bogus warning. storage/myisam/mi_open.c: Remove bogus cast, DBUG_DUMP expects a pointer to unsigned char. storage/myisam/mi_page.c: Remove bogus cast, DBUG_DUMP expects a pointer to unsigned char. strings/bcmp.c: Remove built-in bcmp. strings/ctype-ucs2.c: Silence bogus warning. tests/mysql_client_test.c: Use a appropriate type as expected by simple_command().
* | Merge of mysql-5.1-bugteam into mysql-trunk-merge.Davi Arnaut2010-06-101-3/+3
|\ \ | |/
| * Bug#42733: Type-punning warnings when compiling MySQL --Davi Arnaut2010-06-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | strict aliasing violations. Essentially, the problem is that large parts of the server were developed in simpler times (last decades, pre C99 standard) when strict aliasing and compilers supporting such optimizations were rare to non-existent. Thus, when compiling the server with a modern compiler that uses strict aliasing rules to perform optimizations, there are several places in the code that might trigger undefined behavior. As evinced by some recent bugs, GCC does a somewhat good of job misoptimizing such code, but on the other hand also gives warnings about suspicious code. One problem is that the warnings aren't always accurate, yet we can't afford to just shut them off as we might miss real cases. False-positive cases are aggravated mostly by casts that are likely to trigger undefined behavior. The solution is to start a cleanup process focused on fixing and reducing the amount of strict-aliasing related warnings produced by GCC and others compilers. A good deal of noise reduction can be achieved by just removing useless casts that are product of historical cruft and are likely to trigger undefined behavior if dereferenced. client/mysql.cc: Remove now-unnecessary casts. Break up large strings. client/mysql_upgrade.c: Remove now-unnecessary casts. client/mysqladmin.cc: Remove now-unnecessary casts. Break up large strings. client/mysqlbinlog.cc: Remove now-unnecessary casts. client/mysqlcheck.c: Remove now-unnecessary casts. client/mysqldump.c: Remove now-unnecessary casts. client/mysqlimport.c: Remove now-unnecessary casts. client/mysqlshow.c: Remove now-unnecessary casts. client/mysqlslap.c: Remove now-unnecessary casts. client/mysqltest.cc: Remove now-unnecessary casts. extra/comp_err.c: Remove now-unnecessary casts. extra/my_print_defaults.c: Remove now-unnecessary casts. Break up large strings. extra/mysql_waitpid.c: Remove now-unnecessary casts. extra/perror.c: Remove now-unnecessary casts. extra/resolve_stack_dump.c: Remove now-unnecessary casts. extra/resolveip.c: Remove now-unnecessary casts. include/my_getopt.h: Use a void pointer type as the opaque type to avoid problems with type incompatibility -- GCC issues warnings when the type name is not type compatible with a operand. As a side bonus, a explicit cast won't be necessary anymore. include/sslopt-longopts.h: Remove now-unnecessary casts. Break up large strings. mysys/my_getopt.c: Update opaque type and introduce a type definition for the argument to my_getopt_register_get_addr. server-tools/instance-manager/options.cc: Remove now-unnecessary casts. sql/mysqld.cc: Remove now-unnecessary casts. Break up large strings. Update mysql_getopt_value prototype (the old prototype was different from the definition anyway). sql/sql_plugin.cc: The type of a pointer to a function must be compatible with the pointed-to function type, otherwise the behavior is undefined. sql/table.cc: The variable buf pointer to pointer to pointer to constant char could improperly alias a incompatible type in call to fix_type_ pointers. Since this was actually dead code, it is simply removed. sql/unireg.cc: Remove call to get_form_pos. The code creates a new FRM file which is always truncated and writes the form position as 0. Hence, no need to retrieve it, we now for sure it is 0. storage/archive/archive_reader.c: Remove now-unnecessary casts. storage/myisam/ft_nlq_search.c: Read weight directly from the buffer. storage/myisam/fulltext.h: Add explanation about the type duality of a key buffer. Add accessor macro to retrieve a FT float value. storage/myisam/mi_test1.c: Remove now-unnecessary casts. storage/myisam/myisam_ftdump.c: Read weight directly from the buffer. storage/myisam/myisamchk.c: Remove now-unnecessary casts. storage/myisam/myisamlog.c: A pointer to char was used to alias a pointer to pointer to unsigned char, thus violating strict aliasing rules. storage/myisam/myisampack.c: Remove now-unnecessary casts. strings/decimal.c: Remove aliasing violation, printing the value is enough for debugging purposes. tests/mysql_client_test.c: Remove now-unnecessary casts.
* | Bug #45882: dtoa.c might not work with gcc 4.4.0Alexey Kopytov2010-06-011-181/+192
| | | | | | | | | | | | | | | | | | | | | | - Ported relevant changes from the upstream version to not break strict-aliasing rules and to fix compiler warnings and and infinite loops caused by that issue. - Fixed compilation with Honor_FLT_ROUNDS defined. - Fixed an unused variable warning.
* | Backport: remove ancient and unused strings files.Davi Arnaut2010-05-2816-2061/+0
| |
* | Bug #53445 Build with -Wall and fix warnings that it generatesTor Didriksen2010-05-261-20/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add -Wall to gcc/g++ Fix most warnings reported in dbg and opt mode. cmd-line-utils/libedit/filecomplete.c: Remove unused auto variables. configure.cmake: Add -Wall to gcc. extra/comp_err.c: Cast to correct type. extra/perror.c: Fix segfault (but warnings about deprecated features remain) extra/yassl/taocrypt/include/runtime.hpp: Comparing two literals was reported as undefined behaviour. include/my_global.h: Add a template for aligning character buffers. mysys/lf_alloc-pin.c: Initialize pointer. sql/mysqld.cc: Use UNINIT_VAR rather than LINT_INIT. sql/partition_info.cc: Use UNINIT_VAR rather than LINT_INIT. sql/rpl_handler.cc: Use char[] rather than unsigned long[] array for placement buffer. sql/spatial.cc: Use char[] rather than unsigned void*[] array for placement buffer. sql/spatial.h: Use char[] rather than unsigned void*[] array for placement buffer. sql/sql_partition.cc: Initialize auto variable. sql/sql_table.cc: Initialize auto variables. Add parens around assignment within if() sql/sys_vars.cc: Use UNINIT_VAR. storage/innobase/os/os0file.c: Init first slot in auto variable. storage/myisam/mi_create.c: Use UNINIT_VAR rather than LINT_INIT. storage/myisam/mi_open.c: Remove (wrong) casting. storage/myisam/mi_page.c: Remove (wrong) casting. storage/myisam/mi_search.c: Cast to uchar* rather than char*. strings/ctype-ucs2.c: Use UNINIT_VAR rather than LINT_INIT. Add (uchar*) casting.
* | Patch for Bug#53937 (Junk make-ccc files included in MySQL Server bzr repo).Alexander Nozdrin2010-05-261-3/+0
| | | | | | | | Remove make-ccc files.
* | Another incarnation of the patch for Bug#30708Alexander Nozdrin2010-05-191-4/+0
| | | | | | | | | | | | | | | | | | | | (make relies GNU extentions). The patch was partially backport from 6.0. Original comment: bug#30708: make relies GNU extensions. Now that we no longer use BitKeeper we can safely remove the SCCS handling with no loss of functionality.
* | Reconciling different file ids for dtoa.c in trunk and 6.0-codebase.Alexey Kopytov2010-04-111-0/+2782
|\ \
| * | WL #2934 "Make/find library for doing float/double to string conversionsunknown2007-12-074-267/+2771
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | and vice versa" Initial import of the dtoa.c code and custom wrappers around it to allow its usage from the server code. Conversion of FLOAT/DOUBLE values to DECIMAL ones or strings and vice versa has been significantly reworked. As the new algoritms are more precise than the older ones, results of such conversions may not always match those obtained from older server versions. This in turn may break compatibility for some applications. This patch also fixes the following bugs: - bug #12860 "Difference in zero padding of exponent between Unix and Windows" - bug #21497 "DOUBLE truncated to unusable value" - bug #26788 "mysqld (debug) aborts when inserting specific numbers into char fields" - bug #24541 "Data truncated..." on decimal type columns without any good reason" BitKeeper/deleted/.del-strtod.c: Rename: strings/strtod.c -> BitKeeper/deleted/.del-strtod.c client/Makefile.am: Added dtoa.c client/sql_string.cc: Replaced sprintf() with a new wrapper around dtoa() include/m_string.h: Added declarations for the new double to/from string conversion functions. libmysql/Makefile.shared: Removed strtod.c, added dtoa.c libmysql/libmysql.c: Replaced sprintf() with my_gcvt(). We must use the same conversion method in both server and client lib. mysql-test/r/archive_gis.result: Fixed tests to take additional precision from dtoa() into account. mysql-test/r/cast.result: Fixed tests to take the formatting changes into account. mysql-test/r/func_group.result: Fixed tests to take additional precision from dtoa() into account. mysql-test/r/func_math.result: Fixed tests to take additional precision from dtoa() and formatting changes into account. mysql-test/r/func_str.result: Fixed tests to take additional precision from dtoa() and formatting changes into account. mysql-test/r/gis.result: Fixed tests to take additional precision from dtoa() into account. mysql-test/r/innodb_gis.result: Fixed tests to take additional precision from dtoa() into account. mysql-test/r/insert.result: Fixed tests to take additional precision from dtoa() into account. mysql-test/r/mysqldump.result: No need for result substitution since we do not rely on system behavior anymore. mysql-test/r/ndb_gis.result: Fixed tests to take additional precision from dtoa() into account. mysql-test/r/parser.result: Fixed tests to take additional precision from dtoa() into account. mysql-test/r/ps_2myisam.result: Fixed tests to take additional precision from dtoa() and formatting changes into account. mysql-test/r/ps_3innodb.result: Fixed tests to take additional precision from dtoa() and formatting changes into account. mysql-test/r/ps_4heap.result: Fixed tests to take additional precision from dtoa() and formatting changes into account. mysql-test/r/ps_5merge.result: Fixed tests to take additional precision from dtoa() and formatting changes into account. mysql-test/r/ps_7ndb.result: Fixed tests to take additional precision from dtoa() and formatting changes into account. mysql-test/r/select.result: Fixed tests to take additional precision from dtoa() into account. mysql-test/r/sp.result: Fixed tests to take additional precision from dtoa() into account. Decimal 2.7182818284590452354 is now converted to the double value of 2.718281828459045, not 2.718281828459. Thus we get additional precision from the subsequent calculations. mysql-test/r/strict.result: Fixed tests to take additional precision from dtoa() and formatting changes into account. mysql-test/r/type_decimal.result: Added a test case for bug #24541. mysql-test/r/type_float.result: Fixed tests to take additional precision from dtoa() and formatting changes into account. Added test cases for bugs #12860, #21497 and #26788. mysql-test/r/type_newdecimal.result: Fixed tests to take additional precision from dtoa() and formatting changes into account. mysql-test/r/variables.result: Fixed tests to take the formatting changes into account. mysql-test/r/view.result: Fixed tests to take additional precision from dtoa() into account. mysql-test/t/cast.test: No need to replace the results for Windows anymore. mysql-test/t/insert.test: Added test cases from bug #26788. mysql-test/t/mysqldump.test: Fixed tests to take additional precision from dtoa() into account. No need for results substitution because we do not rely on system behavior anymore. mysql-test/t/type_decimal.test: Added a test case for bug #24541. mysql-test/t/type_float.test: Added test cases for bugs #12860, #21497 and #26788. mysql-test/t/type_newdecimal.test: Removed replace_result which is pointless with our own floating point conversion library. Added a reference for WL#3977. sql/field.cc: Replaced the field.cc's own constant for the maximum double->string conversion buffer with the one defined in m_string.h Replaced double->string conversion code with the new wrappers around dtoa(). Fixed a bug in Field_real::truncate() which led to incorrect results when +-Infinity was passed as an input number. Fixed Field_blob::store(double) to use NOT_FIXED_DEC instead of 2 as precision, so that my_gcvt() is now used for conversion. sql/field.h: Moved NOT_FIXED_DEC to m_string.h because we now use this constant in floating point <-> string conversion routines. sql/item.cc: If a result of a numeric functions is stored in a string field, follow the same rules as in Field_str::store(double), i.e. take the field width into account. sql/log_event.cc: Replaced sprintf() with my_gcvt(). sql/mysql_priv.h: Moved log_10[] from strtod.c to mysqld.c, because we don't need it in libmystrings anymore. sql/mysqld.cc: Moved log_10[] from strtod.c to mysqld.c, because we don't need it in libmystrings anymore. sql/sql_show.cc: Replaced sprintf() with my_fcvt(). sql/sql_string.cc: Replace the double->string conversion code with the new wrappers around dtoa(). sql/unireg.h: Moved FLOATING_POINT_BUFFER from unireg.h to m_string.h so it can be used in libmystrings. strings/Makefile.am: Removed strtod.c, added dtoa.c strings/decimal.c: Replaced sprintf() with my_gcvt(). Changed double2decimal() to print the digits to a string buffer, then use my_strtod(). strings/dtoa.c: Initial import of the dtoa code and custom wrappers around it to allow its usage from the server code.
* | | Reconciling different file ids for dtoa.c in trunk and 6.0-codebase.Alexey Kopytov2010-04-111-2782/+0
| | |
* | | Bug #52165: Assertion failed: file .\dtoa.c, line 465Alexey Kopytov2010-04-071-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | An additional fix for WL#1213 4-byte UTF8Alexander Barkov2010-03-111-3/+11
| | | | | | | | | | | | | | | | | | | | | | | | - 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')"
* | | Bug#51675 Server crashes on inserting 4 byte char. after ALTER TABLE to ↵Alexander Barkov2010-03-041-4/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | 'utf8mb4' Bug#51676 Server crashes on SELECT, ORDER BY on 'utf8mb4' column An additional fix. We should use 0xFFFD as a weight for supplementary characters, not the "weight for character U+FFFD".
* | | A joint patch for:Alexander Barkov2010-03-043-9/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug#51675 Server crashes on inserting 4 byte char. after ALTER TABLE to 'utf8mb4' Bug#51676 Server crashes on SELECT, ORDER BY on 'utf8mb4' column include/m_ctype.h: Defining MY_CS_REPLACEMENT_CHARACTER mysql-test/r/ctype_utf8mb4.result: Adding tests mysql-test/t/ctype_utf8mb4.test: Adding tests strings/ctype-uca.c: Don't use UCA data for characters higher than 0xFFFF. strings/ctype-ucs2.c: Using newly defined MY_CS_REPLACEMENT_CHARACTER strings/ctype-utf8.c: Using newly defined MY_CS_REPLACEMENT_CHARACTER Removing unesed variable "plane".
* | | Merging WL#1213 into mysql-next-mr-bar2Alexander Barkov2010-02-244-761/+5417
|\ \ \
| * | | Backporting WL#1213Alexander Barkov2010-02-244-761/+5417
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | config/ac-macros/character_sets.m4: - Adding configure definitions for utf8mb4, utf16, utf32 include/config-win.h: - Enabling utf8mb4, utf16, utf32 in Windows build include/m_ctype.h: - Adding new flags - Adding new shared functions prototypes mysql-test/include/ctype_datetime.inc: - Adding test to check that datetime functions work with "real" multibyte character sets. mysql-test/include/ctype_like.inc: - Adding LIKE tests mysql-test/include/have_utf16.inc: New file mysql-test/include/have_utf32.inc: New file mysql-test/include/have_utf8mb4.inc: New file mysql-test/r/ctype_ldml.result: - Adding tests for utf8mb4, utf16, utf32 mysql-test/r/ctype_many.result: - Adding tests to check superset/subset relations between all Unicode character sets. mysql-test/r/ctype_utf16.result: New file mysql-test/r/ctype_utf16_uca.result: New file mysql-test/r/ctype_utf32.result: New file mysql-test/r/ctype_utf32_uca.result: New file mysql-test/r/ctype_utf8.result: - Adding tests for utf8mn3 alias mysql-test/r/ctype_utf8mb4.result: - Adding tests for utf8mb4 mysql-test/r/have_utf16.require: New file mysql-test/r/have_utf32.require: New file mysql-test/r/have_utf8mb4.require: New file mysql-test/std_data/Index.xml: - Adding tests for loadable utf8m4, utf16, utf32 collations mysql-test/suite/sys_vars/r/character_set_client_basic.result: - Adding tests for utf16, utf32. - Fixing new number of character sets mysql-test/suite/sys_vars/r/character_set_connection_basic.result: - Fixing new number of character sets mysql-test/suite/sys_vars/r/character_set_database_basic.result: - Fixing new number of character sets mysql-test/suite/sys_vars/r/character_set_filesystem_basic.result: - Fixing new number of character sets mysql-test/suite/sys_vars/r/character_set_results_basic.result: - Fixing new number of character sets mysql-test/suite/sys_vars/t/character_set_client_basic.test: - Adding tests for new character sets mysql-test/suite/sys_vars/t/character_set_connection_basic.test: - Adding dependency on utf8mb4, utf16, utf32 mysql-test/suite/sys_vars/t/character_set_database_basic.test: - Adding dependency on utf8mb4, utf16, utf32 mysql-test/suite/sys_vars/t/character_set_filesystem_basic.test: - Adding dependency on utf8mb4, utf16, utf32 mysql-test/suite/sys_vars/t/character_set_results_basic.test: - Adding dependency on utf8mb4, utf16, utf32 mysql-test/t/ctype_ldml.test: - Adding tests for dynamic utf8mb4, utf16, utf32 collations mysql-test/t/ctype_many.test: - Adding tests to check superset/subset relations between all Unicode character sets mysql-test/t/ctype_utf16.test: New file mysql-test/t/ctype_utf16_uca.test: New file mysql-test/t/ctype_utf32.test: New file mysql-test/t/ctype_utf32_uca.test: New file mysql-test/t/ctype_utf8.test: - Adding tests for utf8mb4 alias mysql-test/t/ctype_utf8mb4.test: New file mysys/charset-def.c: - Adding initialization of utf8mb4, utf16, utf32 built-int collations mysys/charset.c: - Adding initialization of utf8mb4, utf16, utf32 dynamic collations sql/field.cc: - Fixing "truncated" error with datetime functions: Force conversion in case of non-ascii character sets. sql/item.cc: - Adding superset/subset relation check for utf8mb4/utf8 sql/item_strfunc.cc: - Fixing a problem with CHAR(x USING utf32) sql/sql_string.cc: - Fixing problems with zero padding for UTF32 sql/sql_table.cc: - Fixing buffer size, to make utf32 comma fit. strings/ctype-mb.c: - Making handlers for multi-byte binary collations public strings/ctype-uca.c: - Adding definitions for utf8mb4, utf16, utf32 UCA collations strings/ctype-ucs2.c: - Adding functions which are shared between ucs2, utf16, utf32 - Ading utf16 implementation - Adding utf32 implementation strings/ctype-utf8.c: - Adding functions shared between utf8 and utf8mb4 - Adding implementation of utf8mb4
* | | | mergeVladislav Vaintroub2010-02-184-25579/+197012
|\ \ \ \ | |/ / /
| * | | WL#3090 Japanese Character Set adjustmentsAlexander Barkov2010-02-154-25579/+197012
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | added: @ mysql-test/include/ctype_utf8_table.inc Adding a share file to populate all utf8 values [U+0000..U+FFFF] modified: @ include/m_ctype.h Introducing MB2 and MY_PUT_MB2 macros @ mysql-test/r/ctype_cp932_binlog_stm.result @ mysql-test/r/ctype_eucjpms.result @ mysql-test/r/ctype_sjis.result @ mysql-test/r/ctype_ujis.result @ mysql-test/t/ctype_cp932_binlog_stm.test @ mysql-test/t/ctype_eucjpms.test @ mysql-test/t/ctype_sjis.test @ mysql-test/t/ctype_ujis.test Adding test @ strings/ctype-cp932.c @ strings/ctype-eucjpms.c @ strings/ctype-sjis.c @ strings/ctype-ujis.c Adding new functions using Big-Table approach.
* | | | mergeVladislav Vaintroub2010-02-062-7/+3
|\ \ \ \ | |/ / /
| * | | Auto-merge from mysql-next-mr.Alexander Nozdrin2010-01-251-1/+2
| |\ \ \
| * \ \ \ Auto-merge from mysql-next-mr.Alexander Nozdrin2010-01-219-29/+8684
| |\ \ \ \
| * \ \ \ \ Manual merge from mysql-trunk-merge.Alexander Nozdrin2010-01-192-7/+3
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: - configure.in - include/m_string.h - mysql-test/extra/rpl_tests/rpl_row_func003.test - mysql-test/r/mysqlbinlog.result - mysql-test/r/union.result - mysql-test/suite/binlog/r/binlog_killed_simulate.result - mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result - mysql-test/suite/binlog/r/binlog_unsafe.result - mysql-test/suite/binlog/t/binlog_unsafe.test - mysql-test/suite/rpl/r/rpl_loaddata_fatal.result - mysql-test/suite/rpl/r/rpl_loaddata_map.result - mysql-test/suite/rpl/r/rpl_stm_loaddata_concurrent.result - mysql-test/suite/rpl/r/rpl_stm_log.result - mysql-test/suite/rpl/t/rpl_optimize.test - mysql-test/t/mysqlbinlog.test - mysql-test/t/union.test - sql/rpl_utility.h - sql/sql_union.cc - strings/Makefile.am
| | * \ \ \ \ Manual merge from mysql-5.1-bugteam into mysql-trunk-merge.Alexey Kopytov2010-01-151-2/+2
| | |\ \ \ \ \ | | | | |_|_|/ | | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: Text conflict in .bzr-mysql/default.conf Text conflict in mysql-test/suite/rpl/r/rpl_loaddata_fatal.result Text conflict in mysql-test/suite/rpl/r/rpl_stm_log.result Text conflict in mysql-test/t/mysqlbinlog.test Text conflict in sql/sql_acl.cc Text conflict in sql/sql_servers.cc Text conflict in sql/sql_update.cc Text conflict in support-files/mysql.spec.sh
| | | * | | | manual merge 5.0-bugteam --> 5.1-bugteam (bug 49955)Gleb Shchepa2010-01-111-2/+2
| | | |\ \ \ \
| | | | * | | | Bug #49955: ld error message: undefined reference to `strmov_overlapp'Gleb Shchepa2010-01-111-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 32bit builds with the --enable-assembler flag (enabled by default) fail with an error message: undefined reference to `strmov_overlapp'. Since the fix for bug 48866 we use a home-grown strmov function instead of the ctpcpy function, but the source file for this function was missed in the Makefile.am. The strings/Makefile.am file has been modified to include strmov.c file into ASSEMBLER_x86 and ASSEMBLER_sparc32 sections. strings/Makefile.am: Bug #49955: ld error message: undefined reference to `strmov_overlapp' The strings/Makefile.am file has been modified to include strmov.c file into ASSEMBLER_x86 and ASSEMBLER_sparc32 sections.
| | * | | | | | Manual merge of mysql-5.1-bugteam into mysql-trunk-merge.Alexey Kopytov2009-12-251-5/+1
| | |\ \ \ \ \ \ | | | |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: mysql-test/collections/default.experimental
| | | * | | | | mergeGeorgi Kodinov2009-12-241-5/+1
| | | |\ \ \ \ \ | | | | |/ / / /
| | | | * | | | Bug #48866: mysql.test fails under Fedora 12Georgi Kodinov2009-12-161-5/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | strmov() is not guaranteed to work correctly on overlapping source and destination buffers. On some OSes it may work, but Fedora 12 has a stpcpy() that's not working correctly on overlapping buffers. Fixed to use the overlap-safe version of strmov instead. Re-vitalized the overlap-safe version of strmov.
* | | | | | | | merge, add plugin/audit_null/CMakeLists.txtVladislav Vaintroub2010-01-261-1/+2
|\ \ \ \ \ \ \ \ | | |_|_|_|_|/ / | |/| | | | | |
| * | | | | | | Merge backport of WL#3771 with mysql-next-mr.Sergey Vojtovich2010-01-221-1/+2
| |\ \ \ \ \ \ \ | | |_|_|_|_|/ / | |/| | | | | |
| | * | | | | | Merge backport of WL#3771 with mysql-next-mr.Sergey Vojtovich2010-01-191-1/+2
| | |\ \ \ \ \ \ | | | |/ / / / / | | |/| | | | |
* | | | | | | | mergeVladislav Vaintroub2010-01-229-29/+8684
|\ \ \ \ \ \ \ \ | |/ / / / / / /
| * | | | | | | WL#4583 Case conversion in Asian character setsAlexander Barkov2010-01-149-29/+8684
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | modified: include/m_ctype.h - Changing type for tolower/toupper members, to store values >= 0xFFFF. - Adding function prototypes mysql-test/r/ctype_big5.result mysql-test/r/ctype_cp932_binlog_stm.result mysql-test/r/ctype_eucjpms.result* mysql-test/r/ctype_euckr.result mysql-test/r/ctype_gb2312.result mysql-test/r/ctype_gbk.result mysql-test/r/ctype_sjis.result mysql-test/r/ctype_ujis.result mysql-test/t/ctype_big5.test mysql-test/t/ctype_cp932_binlog_stm.test mysql-test/t/ctype_eucjpms.test mysql-test/t/ctype_euckr.test mysql-test/t/ctype_gb2312.test mysql-test/t/ctype_gbk.test mysql-test/t/ctype_sjis.test mysql-test/t/ctype_ujis.test - Adding tests strings/ctype-big5.c strings/ctype-cp932.c strings/ctype-euc_kr.c strings/ctype-eucjpms.c strings/ctype-gb2312.c strings/ctype-gbk.c strings/ctype-sjis.c - Adding upper/lower case conversion data strings/ctype-mb.c - Adding handling of upper/lower conversion for multi-byte characters. strings/ctype-ujis.c - Implementing shared upper/lower conversion functions for ujis and eucjpms - Adding upper/lower case conversion data for ujis
* | | | | | | Post-merge fixes , define HAVE_RWLOCK_T on Solaris defineVladislav Vaintroub2010-01-141-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | DISABLE_MYSQL_THREAD_H for strings Also, enable unittests for perfschema
* | | | | | | mergeVladislav Vaintroub2009-12-258-291/+2862
|\ \ \ \ \ \ \ | |/ / / / / /
| * | | | | | Manual merge of WL#4738 from mysql-next-mr: Alexey Kopytov2009-12-283-18/+63
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - backported code that handles %f/%g arguments in my_vsnprintf.c from 6.0 - backported %f/%g tests in unittest/mysys/my_vsnprintf-t.c from 6.0 - replaced snprintf("%g") in sql/set_var.cc with my_gcvt() - removed unnecessary "--replace-result"s for Windows in mysql-test/suite/sys_vars/t/long_query_time_basic.test - some test results adjustments
| | * | | | | | WL#4738 streamline/simplify @@variable creation processSergei Golubchik2009-12-223-23/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug#16565 mysqld --help --verbose does not order variablesBug#20413 sql_slave_skip_counter is not shown in show variables Bug#20415 Output of mysqld --help --verbose is incomplete Bug#25430 variable not found in SELECT @@global.ft_max_word_len; Bug#32902 plugin variables don't know their names Bug#34599 MySQLD Option and Variable Reference need to be consistent in formatting! Bug#34829 No default value for variable and setting default does not raise error Bug#34834 ? Is accepted as a valid sql mode Bug#34878 Few variables have default value according to documentation but error occurs Bug#34883 ft_boolean_syntax cant be assigned from user variable to global var. Bug#37187 `INFORMATION_SCHEMA`.`GLOBAL_VARIABLES`: inconsistent status Bug#40988 log_output_basic.test succeeded though syntactically false. Bug#41010 enum-style command-line options are not honoured (maria.maria-recover fails) Bug#42103 Setting key_buffer_size to a negative value may lead to very large allocations Bug#44691 Some plugins configured as MYSQL_PLUGIN_MANDATORY in can be disabled Bug#44797 plugins w/o command-line options have no disabling option in --help Bug#46314 string system variables don't support expressions Bug#46470 sys_vars.max_binlog_cache_size_basic_32 is broken Bug#46586 When using the plugin interface the type "set" for options caused a crash. Bug#47212 Crash in DBUG_PRINT in mysqltest.cc when trying to print octal number Bug#48758 mysqltest crashes on sys_vars.collation_server_basic in gcov builds Bug#49417 some complaints about mysqld --help --verbose output Bug#49540 DEFAULT value of binlog_format isn't the default value Bug#49640 ambiguous option '--skip-skip-myisam' (double skip prefix) Bug#49644 init_connect and \0 Bug#49645 init_slave and multi-byte characters Bug#49646 mysql --show-warnings crashes when server dies CMakeLists.txt: Bug#44691 Some plugins configured as MYSQL_PLUGIN_MANDATORY in can be disabled client/mysql.cc: don't crash with --show-warnings when mysqld dies config/ac-macros/plugins.m4: Bug#44691 Some plugins configured as MYSQL_PLUGIN_MANDATORY in can be disabled include/my_getopt.h: comments include/my_pthread.h: fix double #define mysql-test/mysql-test-run.pl: run sys_vars suite by default properly recognize envirinment variables (e.g. MTR_MAX_SAVE_CORE) set to 0 escape gdb command line arguments mysql-test/suite/sys_vars/r/rpl_init_slave_func.result: init_slave+utf8 bug mysql-test/suite/sys_vars/t/rpl_init_slave_func.test: init_slave+utf8 bug mysys/my_getopt.c: Bug#34599 MySQLD Option and Variable Reference need to be consistent in formatting! Bug#46586 When using the plugin interface the type "set" for options caused a crash. Bug#49640 ambiguous option '--skip-skip-myisam' (double skip prefix) mysys/typelib.c: support for flagset sql/ha_ndbcluster.cc: backport from telco tree sql/item_func.cc: Bug#49644 init_connect and \0 Bug#49645 init_slave and multi-byte characters sql/sql_builtin.cc.in: Bug#44691 Some plugins configured as MYSQL_PLUGIN_MANDATORY in can be disabled sql/sql_plugin.cc: Bug#44691 Some plugins configured as MYSQL_PLUGIN_MANDATORY in can be disabled Bug#32902 plugin variables don't know their names Bug#44797 plugins w/o command-line options have no disabling option in --help sql/sys_vars.cc: all server variables are defined here storage/myisam/ft_parser.c: remove unnecessary updates of param->quot storage/myisam/ha_myisam.cc: myisam_* variables belong here strings/my_vsnprintf.c: %o and %llx unittest/mysys/my_vsnprintf-t.c: %o and %llx tests vio/viosocket.c: bugfix: fix @@wait_timeout to work with socket timeouts (vs. alarm thread)
| * | | | | | | Backport of WL #2934: Make/find library for doing float/double Alexey Kopytov2009-12-225-272/+2799
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to string conversions and vice versa" Initial import of the dtoa.c code and custom wrappers around it to allow its usage from the server code. Conversion of FLOAT/DOUBLE values to DECIMAL ones or strings and vice versa has been significantly reworked. As the new algoritms are more precise than the older ones, results of such conversions may not always match those obtained from older server versions. This in turn may break compatibility for some applications. This patch also fixes the following bugs: - bug #12860 "Difference in zero padding of exponent between Unix and Windows" - bug #21497 "DOUBLE truncated to unusable value" - bug #26788 "mysqld (debug) aborts when inserting specific numbers into char fields" - bug #24541 "Data truncated..." on decimal type columns without any good reason"
* | | | | | | mergeVladislav Vaintroub2009-12-191-10/+0
|\ \ \ \ \ \ \ | |/ / / / / /
| * | | | | | Manual merge from mysql-trunk-merge.Alexander Nozdrin2009-12-161-10/+0
| |\ \ \ \ \ \ | | | |/ / / / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: - include/my_no_pthread.h - mysql-test/r/sp-ucs2.result - sql/log.cc - sql/sql_acl.cc - sql/sql_yacc.yy
| | * | | | | Manual merge of mysql-5.1-bugteam into mysql-trunk-merge.Alexey Kopytov2009-12-161-10/+0
| | |\ \ \ \ \ | | | | |/ / / | | | |/| | |
| | | * | | | Recommit of patch for bug#49028 for 5.1.Mattias Jonsson2009-12-141-10/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Includes both patch from bug#48737 (without test, which should go to next-mr) and test for bug#49028.
* | | | | | | mergeVladislav Vaintroub2009-12-161-8/+0
|\ \ \ \ \ \ \ | |/ / / / / /
| * | | | | | Auto-merge from mysql-trunk.Alexander Nozdrin2009-12-161-8/+0
| |\ \ \ \ \ \ | | |/ / / / / | | | | / / / | | |_|/ / / | |/| | | |