1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-24 19:42:23 +03:00
Commit Graph

750 Commits

Author SHA1 Message Date
dc91bc74c7 BUG#31793 (log event corruption causes crash):
When running mysqlbinlog on a 64-bit machine with a corrupt relay log,
it causes mysqlbinlog to crash. In this case, the crash is caused
because a request for 18446744073709534806U bytes is issued, which
apparantly can be served on a 64-bit machine (speculatively, I assume)
but this causes the memcpy() issued later to copy the data to segfault.

The request for the number of bytes is caused by a computation
of data_len - server_vars_len where server_vars_len is corrupt in such
a sense that it is > data_len. This causes a wrap-around, with the
the data_len given above.

This patch adds a check that if server_vars_len is greater than
data_len before the substraction, and aborts reading the event in
that case marking the event as invalid. It also adds checks to see
that reading the server variables does not go outside the bounds
of the available space, giving a limited amount of integrity check.


mysql-test/r/mysqlbinlog.result:
  Result change.
mysql-test/t/mysqlbinlog.test:
  Adding test that it fails gracefully for a corrupt relay log.
sql/log_event.cc:
  Adding check that status var length does not cause wrap-around
  when performing subtraction. Extending get_str_len_and_pointer() to
  check that the string can actually be read without reading outside
  bounds. Adding checks when reading server variables from the Query-
  log_event so that the variable can really be read. Abort reading
  and mark the event as invalid otherwise.
mysql-test/std_data/corrupt-relay-bin.000624:
  BitKeeper file /home/mats/devel/b31793-mysql-5.0-rpl/mysql-test/std_data/corrupt-relay-bin.000624
2007-11-09 13:43:09 +01:00
a432d3dec4 BUG#31793 (log event corruption causes crash):
When running mysqlbinlog on a 64-bit machine with a corrupt relay log,
it causes mysqlbinlog to crash. In this case, the crash is caused
because a request for 18446744073709534806U bytes is issued, which
apparantly can be served on a 64-bit machine (speculatively, I assume)
but this causes the memcpy() issued later to copy the data to segfault.

The request for the number of bytes is caused by a computation
of data_len - server_vars_len where server_vars_len is corrupt in such
a sense that it is > data_len. This causes a wrap-around, with the
the data_len given above.

This patch adds a check that if server_vars_len is greater than
data_len before the substraction, and aborts reading the event in
that case marking the event as invalid. It also adds checks to see
that reading the server variables does not go outside the bounds
of the available space, giving a limited amount of integrity check.
2007-11-09 13:43:09 +01:00
345891d76b Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb-merge


mysql-test/Makefile.am:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
2007-09-12 14:01:51 +02:00
df552c310d Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb-merge
2007-09-12 14:01:51 +02:00
9462359eba BUG#27543 Backup and restore can compatible with different endians for blob attribute
mysql-test/Makefile.am:
  Add install data for new test case
storage/ndb/tools/restore/Restore.cpp:
  Convert blob(text) length stored in main table
mysql-test/std_data/ndb_backup51_data_be/BACKUP-1-0.1.Data:
  test data for endian test
mysql-test/std_data/ndb_backup51_data_be/BACKUP-1-0.2.Data:
  test data for endian test
mysql-test/std_data/ndb_backup51_data_be/BACKUP-1.1.ctl:
  test data for endian test
mysql-test/std_data/ndb_backup51_data_be/BACKUP-1.1.log:
  test data for endian test
mysql-test/std_data/ndb_backup51_data_be/BACKUP-1.2.ctl:
  test data for endian test
mysql-test/std_data/ndb_backup51_data_be/BACKUP-1.2.log:
  test data for endian test
mysql-test/std_data/ndb_backup51_data_le/BACKUP-1-0.1.Data:
  test data for endian test
mysql-test/std_data/ndb_backup51_data_le/BACKUP-1-0.2.Data:
  test data for endian test
mysql-test/std_data/ndb_backup51_data_le/BACKUP-1.1.ctl:
  test data for endian test
mysql-test/std_data/ndb_backup51_data_le/BACKUP-1.1.log:
  test data for endian test
mysql-test/std_data/ndb_backup51_data_le/BACKUP-1.2.ctl:
  test data for endian test
mysql-test/std_data/ndb_backup51_data_le/BACKUP-1.2.log:
  test data for endian test
mysql-test/suite/ndb/r/ndb_restore_different_endian_data.result:
  test result for endian test
mysql-test/suite/ndb/t/ndb_restore_different_endian_data.test:
  test case for endian test
2007-09-05 13:01:30 +00:00
53c2c7fa3f BUG#27543 Backup and restore can compatible with different endians for blob attribute 2007-09-05 13:01:30 +00:00
2e081a2d8b Merge jhe@bk-internal.mysql.com:/home/bk/mysql-5.1-new-ndb
into  dev3-240.dev.cn.tlan:/home/justin.he/mysql/mysql-5.1/mysql-5.1-new-ndb-bj.merge


mysql-test/Makefile.am:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
storage/ndb/tools/restore/Restore.cpp:
  Auto merged
storage/ndb/tools/restore/restore_main.cpp:
  Auto merged
mysql-test/suite/ndb/r/ndb_restore_compat.result:
  Auto merged
mysql-test/suite/ndb/t/ndb_restore_compat.test:
  Auto merged
2007-08-30 16:17:32 +08:00
f8a85abf3c Merge jhe@bk-internal.mysql.com:/home/bk/mysql-5.1-new-ndb
into  dev3-240.dev.cn.tlan:/home/justin.he/mysql/mysql-5.1/mysql-5.1-new-ndb-bj.merge
2007-08-30 16:17:32 +08:00
bfed329e17 Fixes for the following bugs:
Bug #30316: Some "parts" tests fail because the server uses "--secure-file-priv"
Bug #30341: Test suite "parts" needs to be adapted to the new rules disallowing many functio
Bug #30408: Suite "parts" needs bug numbers updated
Bug #30411: Suite "parts" needs bug numbers updated: ER_UNIQUE_KEY_NEED_ALL_FIELDS_IN_PF
Bug #30576: part_supported_sql_func_innodb.test tries to LOAD DATA outside of var dir
Bug #30581: partition_value tests use disallowed CAST() function

Included are some general fixes to allow the "parts" test suite to be run
successfully.  This includes disabling a few tests or parts of tests,
cleaning up the test cases and their results, etc.  Basically, these tests
have not been run for some time, and had suffered some bit rot.

The bugs were fixed as a single changeset, because in some ways they depend
on each other.  I couldn't be sure I'd updated all the error codes (for
bugs 30408 and 30411) without also adapting to the new allowed functions
rules (bug 30341), and vice versa.


mysql-test/include/partition_layout.inc:
  Ensure that the contents of $MYSQLTEST_VARDIR are not in the result file
mysql-test/suite/parts/inc/part_blocked_sql_funcs_main.inc:
  Add ASCII(), ORD() and WEEKOFYEAR() as blocked functions (they depend
  too much on character set, etc.).
  
  Remove DATEDIFF() as a blocked function (it is implemented in terms
  of TO_DAYS() and the minus operator).
mysql-test/suite/parts/inc/part_supported_sql_funcs_main.inc:
  Remove ASCII(), ORD() and WEEKOFYEAR(), which are not allowed functions.
  
  Remove uses of CAST() in partitioning functions - it is not allowed.
  
  Disable testing of FLOOR() and CEILING on non-integer fields, due to
  Bug 30577.
  
  Test MOD() with an integer field instead of floating point (it has a
  hybrid result type, like FLOOR() and CEILING(), but makes sense to use
  with an integer field).
  
  Add DATEDIFF() as an allowed function, because it is implemented in
  terms of TO_DAYS() and the minus operator.
mysql-test/suite/parts/inc/partition_alter3.inc:
  Remove use of disallowed CAST() function in partitioning
mysql-test/suite/parts/inc/partition_blocked_sql_funcs.inc:
  The blocked functions are actually blocked now, so expect errors.
  
  This is a result of the fix for bug 18198.
mysql-test/suite/parts/inc/partition_date.inc:
  Remove uses of CAST() in partitioning functions - it is not allowed.
mysql-test/suite/parts/inc/partition_datetime.inc:
  Remove uses of CAST() in partitioning functions - it is not allowed.
mysql-test/suite/parts/inc/partition_decimal.inc:
  Remove uses of CAST() in partitioning functions - it is not allowed.
  
  Disable testing of FLOOR() and CEILING(), due to Bug 30577.
mysql-test/suite/parts/inc/partition_directory.inc:
  Ensure that the contents of $MYSQLTEST_VARDIR are not in the result file
mysql-test/suite/parts/inc/partition_double.inc:
  Remove uses of CAST() in partitioning functions - it is not allowed.
  
  Disable testing of FLOOR() and CEILING(), due to Bug 30577.
mysql-test/suite/parts/inc/partition_enum.inc:
  Remove use of CAST(), which is disallowed.
  
  Remove test which relies on CAST().
mysql-test/suite/parts/inc/partition_float.inc:
  Remove uses of CAST() in partitioning functions - it is not allowed.
  
  Disable testing of FLOOR() and CEILING(), due to Bug 30577.
mysql-test/suite/parts/inc/partition_layout_check1.inc:
  Ensure that the contents of $MYSQLTEST_VARDIR are not in the result file
mysql-test/suite/parts/inc/partition_layout_check2.inc:
  Ensure that the contents of $MYSQLTEST_VARDIR are not in the result file
mysql-test/suite/parts/inc/partition_methods1.inc:
  Ensure that the contents of $MYSQLTEST_VARDIR are not in the result file
mysql-test/suite/parts/inc/partition_set.inc:
  Remove test which relies on CAST(), which is disallowed.
mysql-test/suite/parts/inc/partition_supported_sql_funcs.inc:
  Fix Bug #30576: part_supported_sql_func_innodb.test tries to LOAD DATA outside of var dir
  
  Move data files into std_data/parts/*, so they can be used with LOAD
  DATA INFILE '../std_data_ln/parts/*' while --secure-file-priv is in
  force.
mysql-test/suite/parts/inc/partition_syntax.inc:
  Remove use of CAST(), which is disallowed.
mysql-test/suite/parts/inc/partition_time.inc:
  Remove use of CAST(), which is disallowed.
mysql-test/suite/parts/inc/partition_timestamp.inc:
  Remove use of CAST(), which is disallowed.
mysql-test/suite/parts/inc/partition_value.inc:
  Disable this entire test file, because it relies on using CAST() as
  a partitioning function, which is disallowed.  See Bug 30581,
  "partition_value tests use disallowed CAST() function".
mysql-test/suite/parts/r/part_blocked_sql_func_innodb.result:
  Update test case results
mysql-test/suite/parts/r/part_blocked_sql_func_myisam.result:
  Update test case results
mysql-test/suite/parts/r/part_supported_sql_func_innodb.result:
  Update test case results
mysql-test/suite/parts/r/part_supported_sql_func_myisam.result:
  Update test case results
mysql-test/suite/parts/r/partition_alter3_innodb.result:
  Update test case results
mysql-test/suite/parts/r/partition_alter3_myisam.result:
  Update test case results
mysql-test/suite/parts/r/partition_basic_innodb.result:
  Update test case results
mysql-test/suite/parts/r/partition_basic_myisam.result:
  Update test case results
mysql-test/suite/parts/r/partition_datetime_innodb.result:
  Update test case results
mysql-test/suite/parts/r/partition_datetime_myisam.result:
  Update test case results
mysql-test/suite/parts/r/partition_decimal_innodb.result:
  Update test case results
mysql-test/suite/parts/r/partition_decimal_myisam.result:
  Update test case results
mysql-test/suite/parts/r/partition_float_myisam.result:
  Update test case results
mysql-test/suite/parts/r/partition_syntax_innodb.result:
  Update test case results
mysql-test/suite/parts/r/partition_syntax_myisam.result:
  Update test case results
mysql-test/suite/parts/t/disabled.def:
  Mark several more tests as disabled: partition_value_myisam,
  partition_value_innodb, part_supported_sql_func_ndb,
  rpl_ndb_dd_partitions, and partition_float_innodb
mysql-test/std_data/parts/part_supported_sql_funcs_int_ch1.inc:
  Rename: mysql-test/suite/parts/inc/part_supported_sql_funcs_int_ch1.inc -> mysql-test/std_data/parts/part_supported_sql_funcs_int_ch1.inc
mysql-test/std_data/parts/part_supported_sql_funcs_int_date.inc:
  Rename: mysql-test/suite/parts/inc/part_supported_sql_funcs_int_date.inc -> mysql-test/std_data/parts/part_supported_sql_funcs_int_date.inc
mysql-test/std_data/parts/part_supported_sql_funcs_int_float.inc:
  Rename: mysql-test/suite/parts/inc/part_supported_sql_funcs_int_float.inc -> mysql-test/std_data/parts/part_supported_sql_funcs_int_float.inc
mysql-test/std_data/parts/part_supported_sql_funcs_int_int.inc:
  Rename: mysql-test/suite/parts/inc/part_supported_sql_funcs_int_int.inc -> mysql-test/std_data/parts/part_supported_sql_funcs_int_int.inc
mysql-test/std_data/parts/part_supported_sql_funcs_int_time.inc:
  Rename: mysql-test/suite/parts/inc/part_supported_sql_funcs_int_time.inc -> mysql-test/std_data/parts/part_supported_sql_funcs_int_time.inc
mysql-test/suite/parts/inc/partition_alter_1.inc:
  Correct expected error codes, which changed due to bug 29245.
mysql-test/suite/parts/inc/partition_check.inc:
  Correct expected error codes, which changed due to bug 29245.
mysql-test/suite/parts/inc/partition_syntax_1.inc:
  Correct expected error codes, which changed due to bug 29245.
2007-08-27 14:08:32 -06:00
220cd12f0b Fixes for the following bugs:
Bug #30316: Some "parts" tests fail because the server uses "--secure-file-priv"
Bug #30341: Test suite "parts" needs to be adapted to the new rules disallowing many functio
Bug #30408: Suite "parts" needs bug numbers updated
Bug #30411: Suite "parts" needs bug numbers updated: ER_UNIQUE_KEY_NEED_ALL_FIELDS_IN_PF
Bug #30576: part_supported_sql_func_innodb.test tries to LOAD DATA outside of var dir
Bug #30581: partition_value tests use disallowed CAST() function

Included are some general fixes to allow the "parts" test suite to be run
successfully.  This includes disabling a few tests or parts of tests,
cleaning up the test cases and their results, etc.  Basically, these tests
have not been run for some time, and had suffered some bit rot.

The bugs were fixed as a single changeset, because in some ways they depend
on each other.  I couldn't be sure I'd updated all the error codes (for
bugs 30408 and 30411) without also adapting to the new allowed functions
rules (bug 30341), and vice versa.
2007-08-27 14:08:32 -06:00
97a4378c51 BUG#22240 Add a test case into ndb_restore_compat
mysql-test/r/ndb_restore_compat.result:
  add "order by" to select clause
mysql-test/std_data/ndb_backup50/BACKUP-2-0.1.Data:
  new data file
mysql-test/std_data/ndb_backup50/BACKUP-2-0.2.Data:
  new data file
mysql-test/std_data/ndb_backup50/BACKUP-2.1.ctl:
  new ctl file
mysql-test/std_data/ndb_backup50/BACKUP-2.1.log:
  new log file
mysql-test/std_data/ndb_backup50/BACKUP-2.2.ctl:
  new ctl file
mysql-test/std_data/ndb_backup50/BACKUP-2.2.log:
  new log file
mysql-test/t/ndb_restore_compat.test:
  add "order by" to select clause
2007-08-17 11:41:32 +08:00
badda4b7b6 BUG#22240 Add a test case into ndb_restore_compat 2007-08-17 11:41:32 +08:00
4c23e5f373 BUG#29674 Restore/backup are endian compatible in 5.0
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
  Twiddle the "replicaCount" and "fragCount" variable when restore data from different endian.
ndb/src/ndbapi/NdbDictionaryImpl.hpp:
  Add byte order variable
ndb/tools/restore/Restore.cpp:
  Twiddle blob, datatime,timestamp when do restore in different endian.
mysql-test/r/ndb_restore_different_endian_data.result:
  Test case result for restore data from different endian
mysql-test/std_data/ndb_backup50_data_be/BACKUP-1-0.1.Data:
  Test case data
mysql-test/std_data/ndb_backup50_data_be/BACKUP-1-0.2.Data:
  Test case data
mysql-test/std_data/ndb_backup50_data_be/BACKUP-1.1.ctl:
  Test case data
mysql-test/std_data/ndb_backup50_data_be/BACKUP-1.1.log:
  Test case data
mysql-test/std_data/ndb_backup50_data_be/BACKUP-1.2.ctl:
  Test case data
mysql-test/std_data/ndb_backup50_data_be/BACKUP-1.2.log:
  Test case data
mysql-test/std_data/ndb_backup50_data_le/BACKUP-1-0.1.Data:
  Test case data
mysql-test/std_data/ndb_backup50_data_le/BACKUP-1-0.2.Data:
  Test case data
mysql-test/std_data/ndb_backup50_data_le/BACKUP-1.1.ctl:
  Test case data
mysql-test/std_data/ndb_backup50_data_le/BACKUP-1.1.log:
  Test case data
mysql-test/std_data/ndb_backup50_data_le/BACKUP-1.2.ctl:
  Test case data
mysql-test/std_data/ndb_backup50_data_le/BACKUP-1.2.log:
  Test case data
mysql-test/t/ndb_restore_different_endian_data.test:
  Test case for restore data from different endian
2007-08-07 18:07:57 +00:00
cbe2a3c780 BUG#29674 Restore/backup are endian compatible in 5.0 2007-08-07 18:07:57 +00:00
159da8b824 Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.0-build
into  ramayana.hindu.god:/home/tsmith/m/bk/maint/50


configure.in:
  Auto merged
2007-08-01 18:30:55 -06:00
33c4cdaa66 Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.0-build
into  ramayana.hindu.god:/home/tsmith/m/bk/maint/50
2007-08-01 18:30:55 -06:00
987ef94079 SSL/Makefile.am mysql-test/Makefile.am:
Moved CERT files to where they are used, avoids conflict
  between two make files trying to install the same CERTs
SSL/*.pem, 
  Move: SSL/*.pem -> mysql-test/std_data/


mysql-test/std_data/cacert.pem:
  Rename: SSL/cacert.pem -> mysql-test/std_data/cacert.pem
mysql-test/std_data/client-cert.pem:
  Rename: SSL/client-cert.pem -> mysql-test/std_data/client-cert.pem
mysql-test/std_data/client-key.pem:
  Rename: SSL/client-key.pem -> mysql-test/std_data/client-key.pem
mysql-test/std_data/server-cert.pem:
  Rename: SSL/server-cert.pem -> mysql-test/std_data/server-cert.pem
mysql-test/std_data/server-key.pem:
  Rename: SSL/server-key.pem -> mysql-test/std_data/server-key.pem
SSL/Makefile.am:
  Moved CERT files to where they are used, avoids conflict
  between two make files trying to install the same CERTs
2007-07-27 17:39:07 +02:00
519ebab04e SSL/Makefile.am mysql-test/Makefile.am:
Moved CERT files to where they are used, avoids conflict
  between two make files trying to install the same CERTs
SSL/*.pem, 
  Move: SSL/*.pem -> mysql-test/std_data/
2007-07-27 17:39:07 +02:00
122a09d2c3 BUG#22240 Upgrading from cluster 5.0 to 5.1 does not resize VARCHARS as expected.
add varchar type restoring test from 5.0 backup into 5.1


mysql-test/r/ndb_restore_compat.result:
  add test result for varchar type from 5.0 version backup into 5.1
mysql-test/t/ndb_restore_compat.test:
  add test for varchar type restoring from 5.0 backup into 5.1
mysql-test/std_data/ndb_backup50/BACKUP-2-0.1.Data:
  backup data
mysql-test/std_data/ndb_backup50/BACKUP-2-0.2.Data:
  backup data
mysql-test/std_data/ndb_backup50/BACKUP-2.1.ctl:
  meta data of 5.0 backup
mysql-test/std_data/ndb_backup50/BACKUP-2.1.log:
  log data of 5.0 backup
mysql-test/std_data/ndb_backup50/BACKUP-2.2.ctl:
  meta data of 5.0 backup
mysql-test/std_data/ndb_backup50/BACKUP-2.2.log:
  log data of 5.0 backup
2007-07-20 19:43:56 +08:00
2997e6f432 BUG#22240 Upgrading from cluster 5.0 to 5.1 does not resize VARCHARS as expected.
add varchar type restoring test from 5.0 backup into 5.1
2007-07-20 19:43:56 +08:00
ffcf1c372f Merge damien-katzs-computer.local:/Users/dkatz/mysql50
into  damien-katzs-computer.local:/Users/dkatz/mysql51


sql/mysql_priv.h:
  Auto merged
2007-07-19 13:36:37 -04:00
d81c502b8f Merge damien-katzs-computer.local:/Users/dkatz/mysql50
into  damien-katzs-computer.local:/Users/dkatz/mysql51
2007-07-19 13:36:37 -04:00
475eac91ce Bug #29784 YaSSL assertion failure when reading 8k key.
Fixed the yassl base64 decoding to correctly allocate a maximum decoded buffer size. 


mysql-test/std_data/server8k-cert.pem:
  BitKeeper file /Users/dkatz/50/mysql-test/std_data/server8k-cert.pem
mysql-test/std_data/server8k-key.pem:
  BitKeeper file /Users/dkatz/50/mysql-test/std_data/server8k-key.pem
extra/yassl/taocrypt/src/coding.cpp:
  Fixed buffer allocation to compute the proper maximum decoded size: (EncodedLength * 3/4) + 3
mysql-test/r/ssl_8k_key.result:
  New BitKeeper file ``mysql-test/r/ssl_8k_key.result''
  
  Test connection to server using large SSL key.
mysql-test/t/ssl_8k_key.test:
  New BitKeeper file ``mysql-test/t/ssl_8k_key.test''
  
  Test connection to server using large SSL key.
2007-07-17 14:43:56 -04:00
491d945ab6 Bug #29784 YaSSL assertion failure when reading 8k key.
Fixed the yassl base64 decoding to correctly allocate a maximum decoded buffer size.
2007-07-17 14:43:56 -04:00
2da92ead65 Merge maint1.mysql.com:/data/localhome/tsmith/bk/maint/50
into  maint1.mysql.com:/data/localhome/tsmith/bk/maint/51


configure.in:
  Auto merged
include/m_ctype.h:
  Auto merged
mysql-test/Makefile.am:
  Auto merged
mysql-test/t/innodb.test:
  Auto merged
mysys/charset-def.c:
  Auto merged
mysys/charset.c:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
strings/ctype-big5.c:
  Auto merged
strings/ctype-gbk.c:
  Auto merged
strings/ctype-sjis.c:
  Auto merged
strings/ctype-uca.c:
  Auto merged
strings/ctype.c:
  Auto merged
mysql-test/r/innodb.result:
  Manual merge
mysql-test/r/multi_update.result:
  Manual merge
mysql-test/t/multi_update.test:
  Manual merge
sql/sql_update.cc:
  SCCS merged
2007-06-21 20:55:37 +02:00
8ee2c2b04e Merge maint1.mysql.com:/data/localhome/tsmith/bk/maint/50
into  maint1.mysql.com:/data/localhome/tsmith/bk/maint/51
2007-06-21 20:55:37 +02:00
af0a3afe05 Bug#28916 LDML doesn't work for utf8
and is not described in the manual
- Adding missing initialization for utf8 collations
- Minor code clean-ups: renaming variables,
  moving code into a new separate function.
- Adding test, to check that both ucs2 and utf8 user
  defined collations work (ucs2_test_ci and utf8_test_ci)
- Adding Vietnamese collation as a complex user defined
  collation example.


include/m_ctype.h:
  Renaming variable names to match collation names (for convenience).
mysys/charset-def.c:
  - Removing redundant declarations for variables declared in m_ctype.h
  - Renaming variable names to match collation names (for convenience).
mysys/charset.c:
  - Renaming "new" to "newcs", to avoid using C reserved word as a variable name
  - Moving UCA initialization code into a separate function
  - The bug fix itself: adding initialization of utf8 collations
strings/ctype-uca.c:
  Renaming variable names to match collation names (for convenience).
strings/ctype.c:
  Increasing buffer size to fit tailoring for languages
  with complex rules (e.g. Vietnamese).
mysql-test/r/ctype_ldml.result:
  Adding test case
mysql-test/std_data/Index.xml:
  Adding Index.xml example with user defined collations.
mysql-test/t/ctype_ldml-master.opt:
  Adding OPT file for the test case,
  to use the example Index.xml file.
mysql-test/t/ctype_ldml.test:
  Adding test case
2007-06-07 17:55:55 +05:00
d3c4f1b22b Bug#28916 LDML doesn't work for utf8
and is not described in the manual
- Adding missing initialization for utf8 collations
- Minor code clean-ups: renaming variables,
  moving code into a new separate function.
- Adding test, to check that both ucs2 and utf8 user
  defined collations work (ucs2_test_ci and utf8_test_ci)
- Adding Vietnamese collation as a complex user defined
  collation example.
2007-06-07 17:55:55 +05:00
c155c66da6 Merge bk-internal.mysql.com:/home/bk/mysql-5.1-new-rpl
into  bodhi.local:/opt/local/work/mysql-5.1-runtime-merge


mysql-test/t/disabled.def:
  Auto merged
sql/handler.cc:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sp_head.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
sql/table.h:
  Auto merged
mysql-test/r/show_check.result:
  Manual merge.
mysql-test/t/show_check.test:
  Manual merge.
2007-03-06 16:44:14 +03:00
3d488d496d Merge bk-internal.mysql.com:/home/bk/mysql-5.1-new-rpl
into  bodhi.local:/opt/local/work/mysql-5.1-runtime-merge
2007-03-06 16:44:14 +03:00
57b6c86411 Merge weblab.(none):/home/marcsql/TREE/mysql-5.0-base
into  weblab.(none):/home/marcsql/TREE/mysql-5.0-rt-merge


mysql-test/mysql-test-run.pl:
  Auto merged
mysql-test/t/disabled.def:
  Auto merged
server-tools/instance-manager/instance_options.cc:
  Auto merged
server-tools/instance-manager/mysqlmanager.cc:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_cmpfunc.h:
  Auto merged
sql/item_subselect.cc:
  Auto merged
sql/item_subselect.h:
  Auto merged
sql/sp_head.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2007-03-01 14:06:57 -07:00
df5c5aea23 Merge weblab.(none):/home/marcsql/TREE/mysql-5.0-base
into  weblab.(none):/home/marcsql/TREE/mysql-5.0-rt-merge
2007-03-01 14:06:57 -07:00
783634d6d4 Merge mysql.com:/home/bar/mysql-5.0.merge
into  mysql.com:/home/bar/mysql-5.1-rpl


mysql-test/r/mysqlbinlog.result:
  Auto merged
mysql-test/t/mysqlbinlog.test:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/log_event.h:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_load.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2007-03-01 16:06:29 +04:00
20d2f414c5 Merge mysql.com:/home/bar/mysql-5.0.merge
into  mysql.com:/home/bar/mysql-5.1-rpl
2007-03-01 16:06:29 +04:00
c3a3aff54f Bug#15126 character_set_database is not replicated (LOAD DATA INFILE need it)
This patch fixes problem that LOAD DATA could use different
character sets when loading files on master and on slave sides:
- Adding replication of thd->variables.collation_database
- Adding optional character set clause into LOAD DATA

Note, the second way, with explicit CHARACTER SET clause
should be the recommended way to load data using an alternative
character set.
The old way, using "SET @@character_set_database=xxx" should be
gradually depricated.


mysql-test/r/mysqlbinlog.result:
  Adding test case
mysql-test/t/mysqlbinlog.test:
  Adding test case
sql/log_event.cc:
  Adding logging of thd->variables.collation_database
sql/log_event.h:
  Adding declarations
sql/sql_class.cc:
  Exchange character set is null by default
sql/sql_class.h:
  Adding character set into sql_exchange
sql/sql_load.cc:
  - Using exchange character set (if it was specified in LOAD DATA syntax)
  - Using thd->variables.collation_database by default
sql/sql_yacc.yy:
  Adding optional character set clause into LOAD DATA syntax
mysql-test/r/rpl_loaddata2.result:
  New BitKeeper file ``mysql-test/r/rpl_loaddata2.result''
mysql-test/std_data/loaddata6.dat:
  New BitKeeper file ``mysql-test/std_data/loaddata6.dat''
mysql-test/t/rpl_loaddata2.test:
  New BitKeeper file ``mysql-test/t/rpl_loaddata2.test''
2007-02-28 17:06:57 +04:00
dd0c43d5fa Bug#15126 character_set_database is not replicated (LOAD DATA INFILE need it)
This patch fixes problem that LOAD DATA could use different
character sets when loading files on master and on slave sides:
- Adding replication of thd->variables.collation_database
- Adding optional character set clause into LOAD DATA

Note, the second way, with explicit CHARACTER SET clause
should be the recommended way to load data using an alternative
character set.
The old way, using "SET @@character_set_database=xxx" should be
gradually depricated.
2007-02-28 17:06:57 +04:00
360947ec8d Merge kpdesk.mysql.com:/home/thek/dev/bug23240/my50-bug23240
into  kpdesk.mysql.com:/home/thek/dev/bug23240/my51-bug23240


sql/sql_class.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
2007-02-19 14:58:59 +01:00
58975264a9 Merge kpdesk.mysql.com:/home/thek/dev/bug23240/my50-bug23240
into  kpdesk.mysql.com:/home/thek/dev/bug23240/my51-bug23240
2007-02-19 14:58:59 +01:00
a48276798b Bug#23240 --init_file statements with NOW() reports '1970-01-01 11:00:00'as the date time
- Starting time of a query sent by bootstrapping wasn't initialized
  and starting time defaulted to 0. This later used value by NOW-
  item and was translated to 1970-01-01 11:00:00.
- Marketing the time with thd->set_time() before the call to
  mysql_parse resolves this issue.
- set_time was refactored to be part of the thd->init_for_queries-
  process.


mysql-test/r/init_file.result:
  Manual merge from 4.1
mysql-test/std_data/init_file.dat:
  Manual merge from 4.1
sql/sql_class.cc:
  - Moved set_time into init_for_queries process.
2007-02-19 14:57:54 +01:00
19dfc42eb6 Bug#23240 --init_file statements with NOW() reports '1970-01-01 11:00:00'as the date time
- Starting time of a query sent by bootstrapping wasn't initialized
  and starting time defaulted to 0. This later used value by NOW-
  item and was translated to 1970-01-01 11:00:00.
- Marketing the time with thd->set_time() before the call to
  mysql_parse resolves this issue.
- set_time was refactored to be part of the thd->init_for_queries-
  process.
2007-02-19 14:57:54 +01:00
4333606d2e Merge mysql.com:/home/gluh/MySQL/Merge/5.1
into  mysql.com:/home/gluh/MySQL/Merge/5.1-opt


mysql-test/r/gis.result:
  Auto merged
mysql-test/t/gis.test:
  Auto merged
2006-12-12 17:59:34 +04:00
c6d9cf1b12 Merge mysql.com:/home/gluh/MySQL/Merge/5.1
into  mysql.com:/home/gluh/MySQL/Merge/5.1-opt
2006-12-12 17:59:34 +04:00
7433bdfa7b Merge mysql.com:/home/gluh/MySQL/Merge/5.0
into  mysql.com:/home/gluh/MySQL/Merge/5.0-opt
2006-12-12 14:01:06 +04:00
118a0c7fe2 Merge mysql.com:/home/gluh/MySQL/Merge/5.0
into  mysql.com:/home/gluh/MySQL/Merge/5.0-opt
2006-12-12 14:01:06 +04:00
07de4b3aff Merge mysql.com:/home/hf/work/22372/my50-22372
into  mysql.com:/home/hf/work/22372/my51-22372


mysql-test/t/gis.test:
  Auto merged
sql/field.cc:
  Auto merged
sql/sql_load.cc:
  Auto merged
mysql-test/r/gis.result:
  SCCS merged
sql/field.h:
  merging
2006-12-07 09:27:47 +04:00
dfff2c27bc Merge mysql.com:/home/hf/work/22372/my50-22372
into  mysql.com:/home/hf/work/22372/my51-22372
2006-12-07 09:27:47 +04:00
8f3c395c26 Merge mysql.com:/home/hf/work/22372/my41-22372
into  mysql.com:/home/hf/work/22372/my50-22372


mysql-test/r/gis.result:
  merging
mysql-test/t/gis.test:
  merging
sql/field.cc:
  merging
sql/field.h:
  merging
sql/sql_load.cc:
  merging
2006-12-06 22:02:39 +04:00
9e52ef1f9d Merge mysql.com:/home/hf/work/22372/my41-22372
into  mysql.com:/home/hf/work/22372/my50-22372
2006-12-06 22:02:39 +04:00
63fce3a24e bug #22372
datafile added to be used in gis.test


mysql-test/std_data/bad_gis_data.dat:
  New BitKeeper file ``mysql-test/std_data/bad_gis_data.dat''
2006-12-06 21:47:29 +04:00
f404488d29 bug #22372
datafile added to be used in gis.test
2006-12-06 21:47:29 +04:00