1
0
mirror of https://github.com/MariaDB/server.git synced 2025-09-02 09:41:40 +03:00
Commit Graph

16884 Commits

Author SHA1 Message Date
unknown
89b866e7bf Bug#36023: Incorrect handling of zero length caused an assertion to fail.
When a zero length is provided to the my_decimal_length_to_precision
function along with unsigned_flag set to false it returns a negative value.
For queries that employs temporary tables may cause failed assertion or
excessive memory consumption while temporary table creation.

Now the my_decimal_length_to_precision and the my_decimal_precision_to_length
functions take unsigned_flag into account only if the length/precision
argument is non-zero.


mysql-test/t/type_decimal.test:
  Added a test case for the bug#36023: Incorrect handling of zero length caused
   an assertion to fail.
mysql-test/r/type_decimal.result:
  Added a test case for the bug#36023: Incorrect handling of zero length caused
   an assertion to fail.
sql/my_decimal.h:
  Bug#36023: Incorrect handling of zero length caused an assertion to fail.
  Now the my_decimal_length_to_precision and the my_decimal_precision_to_length
  functions take unsigned_flag into account only if the length/precision
  argument is non-zero.
2008-04-25 00:39:37 +04:00
unknown
9cb63bfbdd Enabled rpl: rpl_view, rpl_ndb_multi, rpl_log_pos
and main: user_limits, concurrent_innodb, lowercase_table3, ctype_create 
tests.


mysql-test/suite/ndb/t/disabled.def:
  Removed test commented.
mysql-test/suite/rpl/t/disabled.def:
  Enabled rpl_view, rpl_ndb_multi, rpl_log_pos tests.
mysql-test/t/disabled.def:
  Enabled user_limits, concurrent_innodb, lowercase_table3, ctype_create tests.
2008-04-24 16:43:08 +05:00
unknown
7875d9241c Merge hh-nb.hungers:/work/trees/mysql-5.1-build-src-clean
into  hh-nb.hungers:/work/merge/mysql-5.1-build


BitKeeper/etc/ignore:
  auto-union
mysql-test/t/disabled.def:
  Auto merged
BitKeeper/deleted/.del-group_concat_max_len_func.result:
  Delete: mysql-test/r/group_concat_max_len_func.result
BitKeeper/deleted/.del-group_concat_max_len_func.test:
  Delete: mysql-test/t/group_concat_max_len_func.test
BitKeeper/deleted/.del-max_allowed_packet_func.test:
  Delete: mysql-test/t/max_allowed_packet_func.test
2008-04-23 11:59:31 +02:00
unknown
9fd9785a4a Eightth set of fixes for bug 35988.
BitKeeper/etc/ignore:
  Added mysql-test/r/max_allowed_packet_func.result to the ignore list
2008-04-23 11:36:17 +02:00
unknown
304c4381e6 Merge host.loc:/home/uchum/work/5.0-bugteam
into  host.loc:/home/uchum/work/5.1-bugteam


mysql-test/r/subselect.result:
  Merge with 5.0-bugteam (bug#36139).
mysql-test/t/subselect.test:
  Merge with 5.0-bugteam (bug#36139).
2008-04-23 14:29:48 +05:00
unknown
415112a940 subselect.test, subselect.result:
Post-commit minor cleanup of testcase (bug#36139).


mysql-test/r/subselect.result:
  Post-commit minor cleanup of testcase (bug#36139).
mysql-test/t/subselect.test:
  Post-commit minor cleanup of testcase (bug#36139).
2008-04-23 14:22:49 +05:00
unknown
e3ed2f88bd Merge host.loc:/home/uchum/work/5.0-bugteam
into  host.loc:/home/uchum/work/5.1-bugteam


mysql-test/r/ctype_gbk.result:
  Auto merged
mysql-test/r/subselect3.result:
  Auto merged
mysql-test/t/subselect3.test:
  Auto merged
sql/sql_select.cc:
  Auto merged
strings/ctype-big5.c:
  Merge with 5.0-bugteam (bug#35993).
strings/ctype-gbk.c:
  Merge with 5.0-bugteam (bug#35993).
2008-04-23 11:06:26 +05:00
unknown
61f6c60274 Fixed bug#35844.
The function test_if_skip_sort_order ignored any covering index used for ref
access of a table in a query with ORDER BY if this index was incompatible 
with the ORDER BY list and there was another covering index compatible with
this list. 
As a result sub-optimal execution plans were chosen for some queries with
ORDER BY clause. 


mysql-test/r/distinct.result:
  Adjusted results after the fix for bug#35844.
mysql-test/r/order_by.result:
  Added a test case for bug#35844.
mysql-test/t/order_by.test:
  Added a test case for bug#35844.
2008-04-22 21:49:39 -07:00
unknown
c2d1ac6e2c Merge host.loc:/home/uchum/work/5.0-bugteam-35993
into  host.loc:/home/uchum/work/5.0-bugteam
2008-04-23 02:29:37 +05:00
unknown
73f7de59c2 Fixed bug#36005: server crashes inside NOT IN clause subquery with
impossible WHERE/HAVING clause
                 (subselect_single_select_engine::exec).

Allocation and initialization of joined table list t1, t2... of
subqueries like:

    NOT IN (SELECT ... FROM t1,t2,... WHERE 0)

is optimized out, however server tries to traverse this list.


mysql-test/r/subselect3.result:
  Added test case for bug#36005.
mysql-test/t/subselect3.test:
  Added test case for bug#36005.
sql/sql_select.cc:
  Fixed bug#36005.
  
  1. JOIN::prepare initializes JOIN::table counter (actually a size
     of the JOIN::join_tab array) and sets it to a number of joined tables.
  
  2. The make_join_statistics function (when called from JOIN::optimize)
     allocates and fills the JOIN::join_tab array.
     However, when optimizing subselect has impossible (definite false)
     WHERE or HAVING clause, optimizer skips call to make_join_statistics
     and leaves JOIN::join_tab == NULL.
  
  3. subselect_single_select_engine::exec does traversal of the JOIN::join_tab
     array and the server dies because array is not allocated but array
     counter is greater than 0.
  
  The JOIN::optimize method has been modified to reset the JOIN::table
  counter to 0 in cause of impossible WHERE/HAVING clause.
2008-04-23 02:27:23 +05:00
unknown
d8ebf27639 Fixed bug #35993: memory corruption and crash with multibyte conversion.
Grouping or ordering of long values in not indexed BLOB/TEXT columns
with GBK or BIG5 charsets crashes the server.

MySQL server uses sorting (the filesort procedure) in the temporary
table to evaluate the GROUP BY clause in case of lack of suitable index.
That procedure takes into account only first @max_sort_length bytes
(system variable, usually 1024) of TEXT/BLOB sorting key string.
The my_strnxfrm_gbk and my_strnxfrm_big5 fill temporary keys
with data of whole blob length instead of @max_sort_length bytes
length. That buffer overrun has been fixed.


mysql-test/r/ctype_gbk.result:
  Added test case for bug #35993.
mysql-test/t/ctype_gbk.test:
  Added test case for bug #35993.
strings/ctype-big5.c:
  Fixed bug #35993: memory corruption and crash with multibyte conversion.
  
  Buffer overrun has been fixed in the my_strnxfrm_big5 function.
strings/ctype-gbk.c:
  Fixed bug #35993: memory corruption and crash with multibyte conversion.
  
  Buffer overrun has been fixed in the my_strnxfrm_gbk function.
2008-04-23 02:14:58 +05:00
unknown
adf397e708 Merge hh-nb.hungers:/work/trees/mysql-5.1-build-src-clean
into  hh-nb.hungers:/work/merge/mysql-5.1-build-repogca


BitKeeper/deleted/.del-query_cache_wlock_invalidate_func.result:
  Delete: mysql-test/r/query_cache_wlock_invalidate_func.result
BitKeeper/deleted/.del-timestamp_func.result:
  Delete: mysql-test/r/timestamp_func.result
BitKeeper/deleted/.del-innodb_table_locks_func.test:
  Delete: mysql-test/t/innodb_table_locks_func.test
BitKeeper/deleted/.del-query_cache_wlock_invalidate_func.test:
  Delete: mysql-test/t/query_cache_wlock_invalidate_func.test
BitKeeper/deleted/.del-timestamp_func.test:
  Delete: mysql-test/t/timestamp_func.test
2008-04-22 15:21:17 +02:00
unknown
d526b7523f Seventh set of fixes for bug 35988. 2008-04-22 15:04:10 +02:00
unknown
6b4179ec5b Merge mysql.com:/home/psergey/mysql-5.0-bugteam
into  mysql.com:/home/psergey/mysql-5.1-bugteam
  BUG#36139: manual merge


sql/item.cc:
  Auto merged
mysql-test/r/subselect.result:
  BUG#36139: Manual merge
mysql-test/t/subselect.test:
  BUG#36139: Manual merge
2008-04-22 03:36:24 +04:00
unknown
1c1f0a62e1 BUG#36139 "float, zerofill, crash with subquery"
- Make convert_zerofill_number_to_string() take into account that the 
  constant it is converting may evaluate to NULL.


mysql-test/r/subselect.result:
  BUG#36139 "float, zerofill, crash with subquery"
  - Testcase
mysql-test/t/subselect.test:
  BUG#36139 "float, zerofill, crash with subquery"
  - Testcase
2008-04-22 02:53:12 +04:00
unknown
f6ee0a8959 Merge hh-nb.hungers:/work/trees/mysql-5.1-build-src-clean
into  hh-nb.hungers:/work/merge/mysql-5.1-build


mysql-test/Makefile.am:
  Auto merged
2008-04-18 12:01:06 +02:00
unknown
97c25b23a3 Fix for win platforms (bug#35988).
mysql-test/Makefile.am:
  Fix for missing data files (bug#35988).
2008-04-18 11:38:41 +02:00
unknown
9acf64dade Merge hh-nb.hungers:/work/trees/mysql-5.1-build-src-clean
into  hh-nb.hungers:/work/merge/mysql-5.1-build
2008-04-17 16:12:39 +02:00
unknown
1ca18a8a45 fix of typo for bug#35988. 2008-04-17 15:51:17 +02:00
unknown
6ac4045306 Merge mysql.com:/home/kent/bk/mysql-5.1-release
into  mysql.com:/home/kent/bk/build/mysql-5.1-build
2008-04-16 22:01:50 +02:00
unknown
bfdff2810b Merge hh-nb.hungers:/work/trees/mysql-5.1-build-src-clean
into  hh-nb.hungers:/work/merge/mysql-5.1-build
2008-04-16 16:49:49 +02:00
unknown
14f753d42f fifth set of fixes to bug#35988. 2008-04-16 16:32:33 +02:00
unknown
c3e0ed6a7e Merge hh-nb.hungers:/work/trees/mysql-5.1-build-src-clean
into  hh-nb.hungers:/work/merge/mysql-5.1-build
2008-04-16 10:50:09 +02:00
unknown
9c63b06c6d fourth set of fixes for bug#35988. 2008-04-16 10:23:07 +02:00
unknown
6116e30633 Merge hh-nb.hungers:/work/trees/mysql-5.1-build-src-clean
into  hh-nb.hungers:/work/merge/mysql-5.1-build
2008-04-15 15:56:11 +02:00
unknown
53c1832680 Third set of fixes for bug#35988. 2008-04-15 15:44:11 +02:00
unknown
27e532bcff Merge hh-nb.hungers:/work/trees/mysql-5.1-build-src-clean
into  hh-nb.hungers:/work/merge/mysql-5.1-build
2008-04-14 17:31:15 +02:00
unknown
a9c37b3bfe Second set of fixes for bug#35988. 2008-04-14 17:21:18 +02:00
unknown
b1c8244470 Merge hh-nb.hungers:/work/merge/mysql-5.1-build
into  hh-nb.hungers:/work/merge/mysql-5.1-wl4288


mysql-test/t/disabled.def:
  Auto merged
2008-04-11 22:16:41 +02:00
unknown
5fd727f73b Fixes of system variable test programs for bug#35988. 2008-04-11 21:59:33 +02:00
unknown
3828535bbe Merge hh-nb.hungers:/work/trees/mysql-5.1-build-src-clean
into  hh-nb.hungers:/work/merge/mysql-5.1-build


BitKeeper/etc/ignore:
  auto-union
2008-04-10 18:32:37 +02:00
unknown
b00c536378 System variable tests delivered by Folio3 (see WL4288).
BitKeeper/etc/ignore:
  Added mysql-test/linux_sys_vars.inc mysql-test/load_sysvars.inc mysql-test/windows_sys_vars.inc to the ignore list
2008-04-10 15:14:28 +02:00
unknown
b64f664856 Merge bk-internal.mysql.com:/home/bk/mysql-5.1-build
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-build
2008-04-09 21:03:14 -04:00
unknown
fe6df1495b Merge zippy.cornsilk.net:/home/cmiller/work/mysql/bug15776-encore/my51-bug15776-encore
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-build


sql/field.cc:
  Auto merged
sql/unireg.h:
  Auto merged
mysql-test/r/type_blob.result:
  manual merge.
mysql-test/t/type_blob.test:
  manual merge.
sql/item_create.cc:
  manual merge.
sql/share/errmsg.txt:
  manual merge.
sql/sql_yacc.yy:
  manual merge.
2008-04-09 20:38:32 -04:00
unknown
7cce56b2f2 Merge zippy.cornsilk.net:/home/cmiller/work/mysql/bug15776/my51-bug15776
into  zippy.cornsilk.net:/home/cmiller/work/mysql/bug15776-encore/my51-bug15776-encore


sql/field.cc:
  Auto merged
sql/item_create.cc:
  Auto merged
sql/share/errmsg.txt:
  Auto merged
sql/unireg.h:
  Auto merged
mysql-test/r/type_blob.result:
  manual merge.
mysql-test/t/type_blob.test:
  manual merge.
sql/sql_yacc.yy:
  merge by hand.
2008-04-09 18:24:50 -04:00
unknown
4a77e833f2 Merge zippy.cornsilk.net:/home/cmiller/work/mysql/bug15776/my50-bug15776
into  zippy.cornsilk.net:/home/cmiller/work/mysql/bug15776/my51-bug15776


mysql-test/r/type_blob.result:
  Auto merged
mysql-test/t/type_blob.test:
  Auto merged
sql/field.cc:
  Auto merged
sql/unireg.h:
  Auto merged
2008-04-09 18:09:42 -04:00
unknown
2bc7179d2d Follow-up to B-g#15776, test failures on 64-bit linux.
Make maximum blob size to be 2**32-1, regardless of word size.

Fix failure of timestamp with size of 2**31-1.  The method of
rounding up to the nearest even number would overflow.


mysql-test/r/type_blob.result:
  2**32-1 is not a special case for timestamp.
  
  Test 2**32-1 and 2**64 as the reliable test points for both 32-
  and 64-bit machines.  I'd like to test 2**32, but that would make 
  tests that vary between architectures.
  
  I'd like to generalize the tests by pulling the max blob size from
  the server, and then "eval"ing N-1, N, and N+1 instead of all these
  literal numbers, but I have not found a way to get UINT_MAX.
mysql-test/t/type_blob.test:
  2**32-1 is not a special case for timestamp.
  
  Test 2**32-1 and 2**64 as the reliable test points for both 32-
  and 64-bit machines.  I'd like to test 2**32, but that would make 
  tests that vary between architectures.
  
  I'd like to generalize the tests by pulling the max blob size from
  the server, and then "eval"ing N-1, N, and N+1 instead of all these
  literal numbers, but I have not found a way to get UINT_MAX.
sql/field.cc:
  Fix a bug where the round-to-even code for TIMESTAMP fields
  failed where the size would overflow the size to zero and then
  fail.
  
  Also, since we silently truncate the size of TIMESTAMP fields, set
  the maximum size we report is allowable to be the largest parsable
  number.
sql/unireg.h:
  Make BLOB size the maximum that the packed value in 
  field_blob::get_length() allows.
2008-04-09 12:27:30 -04:00
unknown
ffb16fe7d4 Merge five.local.lan:/work/merge/mysql-5.1-funcs_1
into  five.local.lan:/work/trees/mysql-5.1-build-src-clean
2008-04-09 16:05:58 +02:00
unknown
9fd682e6e0 Additional tests inspired by Bug
#12713 Error in a stored function called from a
          SELECT doesn't cause ROLLBACK of statem


mysql-test/r/func_rollback.result:
  Expected results
mysql-test/t/func_rollback.test:
  New test
2008-04-09 15:56:25 +02:00
unknown
9fd89afca0 Fix for bug #35732: read-only blocks SELECT statements in InnoDB
Problem: SELECTs prohibited for a transactional SE in autocommit mode
if read_only is set.

Fix: allow them.


mysql-test/r/read_only_innodb.result:
  Fix for bug #35732: read-only blocks SELECT statements in InnoDB
    - test result.
mysql-test/t/read_only_innodb.test:
  Fix for bug #35732: read-only blocks SELECT statements in InnoDB
    - test case.
sql/handler.cc:
  Fix for bug #35732: read-only blocks SELECT statements in InnoDB
    - in autocommit mode thd->transaction.all list is empty thus 
      is_real_trans set to TRUE for any SELECTs, so using it in the
      "read_only" check is insufficient.
      ha_check_and_coalesce_trx_read_only() changed to return number
      of engines with read-write changes. This value is used in the
      "read-only" check and checks for GLOBAL READ LOCK.
sql/lock.cc:
  Fix for bug #35732: read-only blocks SELECT statements in InnoDB
    - added assert(protect_against_global_read_lock) before decreasing,
      in order to catch (uint) 0 - 1 situation due to wrong 
      wait_if_global_read_lock()/start_waiting_global_read_lock() call
      sequence.
2008-04-08 10:20:58 +05:00
unknown
4fbe0d14ce Merge trift2.:/MySQL/M51/push-5.1
into  trift2.:/MySQL/M51/work-5.1
2008-04-05 13:37:05 +02:00
unknown
ee3fb5f5e5 Merge bk-internal.mysql.com:/home/bk/mysql-5.1-build
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-build


sql/sql_yacc.yy:
  Auto merged
sql/share/errmsg.txt:
  Auto merged
2008-04-03 11:30:38 -04:00
unknown
60e5661361 mysqld.cc:
Corrects build problems embedded on Windows
Makefile.am:
  Install .sym or mysqld-debug if exists
query_cache_debug.test, query_cache_debug.result:
  Set more resonable query cache size (bug#35749)
CMakeLists.txt:
  Added missing stacktrace.c


mysql-test/r/query_cache_debug.result:
  Set more resonable query cache size (bug#35749)
mysql-test/t/query_cache_debug.test:
  Set more resonable query cache size (bug#35749)
libmysqld/CMakeLists.txt:
  Added missing stacktrace.c
sql/Makefile.am:
  Install .sym or mysqld-debug if exists
sql/mysqld.cc:
  Corrects build problems embedded on Windows
2008-04-02 00:43:17 +02:00
unknown
9efddcf6e2 Bug#15776: 32-bit signed int used for length of blob
Based on contributed patch from Martin Friebe, CLA from 2007-02-24.

The parser lacked support for field sizes after signed long,
when it should extend to 2**32-1.

Now, we correct that limitation, and also make the error handling
consistent for casts.
---
Fix minor complaints of Marc Alff, for patch against B-g#15776.
---
Merge zippy.cornsilk.net:/home/cmiller/work/mysql/bug15776/my50-bug15776
into  zippy.cornsilk.net:/home/cmiller/work/mysql/bug15776/my51-bug15776
---
Merge zippy.cornsilk.net:/home/cmiller/work/mysql/bug15776/my51-bug15776
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-build
---
testing


mysql-test/r/type_blob.result:
  Verify that blobs may be created with the size that is already
  documented.
  
  Additionally, test the limits of several other types.
mysql-test/t/type_blob.test:
  Verify that blobs may be created with the size that is already
  documented.
  
  Additionally, test the limits of several other types.
  ---
  Drop table in case we start from a bad state.
sql/field.cc:
  atoi() insufficient to gauge the length of some fields.  Change
  it to strtoul().
sql/item_create.cc:
  atoi() insufficient to gauge the length of some fields.  Change
  it to strtoul().
  
  If a casted length is too long, raise an error.
sql/share/errmsg.txt:
  Change ER_TOO_BIG_FIELDLENGTH so that it can accept sizes larger
  than 2**15 -- instead, 2**32.
  ---
  Manual merge.
sql/sql_yacc.yy:
  Make lengths take, in addition to NUM, LONG_NUM, ULONGLONG_NUM,
  and DECIMAL_NUM.
  ---
  yacc/bison is left-recursive, so FIXME statement is wrong.
  ---
  Manual merge and reformatting.
sql/unireg.h:
  Define new constant.
2008-04-01 12:19:20 -04:00
unknown
e538761350 Merge mkindahl@bk-internal.mysql.com:/home/bk/mysql-5.0
into  dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rpl-merge


sql/share/errmsg.txt:
  Manual merge.
2008-04-01 08:43:15 +02:00
unknown
c704e8bdd7 Merge zippy.cornsilk.net:/home/cmiller/work/mysql/bug15776/my50-bug15776
into  zippy.cornsilk.net:/home/cmiller/work/mysql/bug15776/my51-bug15776


mysql-test/r/type_blob.result:
  Auto merged
mysql-test/t/type_blob.test:
  Auto merged
sql/field.cc:
  Auto merged
sql/unireg.h:
  Auto merged
sql/item_create.cc:
  Manual merge.
sql/share/errmsg.txt:
  Manual merge.
sql/sql_yacc.yy:
  Manual merge.
2008-03-31 14:32:56 -04:00
unknown
a49184af50 Removing race conditions from rpl_packet causing test to fail.
mysql-test/r/rpl_packet.result:
  Result change.
mysql-test/t/rpl_packet.test:
  Setting net_buffer_length correctly for the test instead of relying on it
  being set correctly. Waiting for slave to stop after issuing a SLAVE STOP
  and waiting for slave to start when issuing a SLAVE START to prevent race
  conditions causing test failure.
2008-03-31 16:32:45 +02:00
unknown
f07915534b Merge bk-internal:/home/bk/mysql-5.1
into  magare.gmz:/home/kgeorge/mysql/work/merge-build-5.1-bugteam


sql/log.cc:
  Auto merged
sql/slave.cc:
  Auto merged
sql/share/errmsg.txt:
  merged 5.1-main to 5.1-bugteam
2008-03-31 11:57:18 +03:00
unknown
d59b8cf093 Merge mkindahl@bk-internal.mysql.com:/home/bk/mysql-5.0
into  dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rpl-merge
2008-03-31 09:57:29 +02:00
unknown
c13eb355bb Merge bk-internal:/home/bk/mysql-5.1
into  magare.gmz:/home/kgeorge/mysql/work/merge-build-5.1-bugteam


include/my_dbug.h:
  Auto merged
mysys/mf_keycache.c:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/log.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
storage/myisam/mi_check.c:
  Auto merged
storage/myisam/mi_dynrec.c:
  Auto merged
storage/myisam/mi_open.c:
  Auto merged
storage/myisam/mi_packrec.c:
  Auto merged
storage/myisam/mi_test1.c:
  Auto merged
storage/myisam/mi_test2.c:
  Auto merged
storage/myisam/mi_write.c:
  Auto merged
storage/myisammrg/ha_myisammrg.cc:
  Auto merged
2008-03-31 10:40:39 +03:00