Commit graph

4264 commits

Author SHA1 Message Date
unknown
5a13f2a8a6 Fixed Bug#11226 and reverted fix for Bug#6993.
Using 8 bytes for data pointer does not work at least on
all computers. The result may become 0 or negative number.
(mysqld, myisamchk)
 


myisam/mi_create.c:
  Fixed Bug#11226, "Dynamic table >4GB issue".
mysql-test/r/variables.result:
  Restricted myisam_data_pointer_size back to 7.
mysql-test/t/variables.test:
  Restricted myisam_data_pointer_size back to 7.
sql/mysqld.cc:
  Restricted myisam_data_pointer_size back to 7.
2005-06-30 16:13:22 +03:00
unknown
3378673653 Moved connections first in test, to reduce risk of connecting before servers are fully connected 2005-06-29 15:31:43 +02:00
unknown
c35bb07954 Merge rurik.mysql.com:/home/igor/mysql-4.1
into rurik.mysql.com:/home/igor/dev/mysql-4.1-0
2005-06-29 02:44:41 -07:00
unknown
3dcf7083a9 func_str.test:
Added test cases for bug #11469.
item_strfunc.h:
  Fixed bug #11469: wrong implementation of the not_null_tables
  method for CONCAT_WS.


sql/item_strfunc.h:
  Fixed bug #11469: wrong implementation of the not_null_tables
  method for CONCAT_WS.
mysql-test/t/func_str.test:
  Added test cases for bug #11469.
2005-06-29 02:40:25 -07:00
unknown
3aca0a0c62 fixed not_null_tables() for IN() (BUG#9393)
(IN() remove NULL rows only for tables from first argument (value which we looking for in IN() list) but not for tables from IN() list)
Also it will be better change Item::not_null_tables() to prohibit this optimisation by default for new created items in 5.0 or 5.1.


mysql-test/r/select.result:
  IN with outer join condition
mysql-test/t/select.test:
  IN with outer join condition
sql/item_cmpfunc.h:
  correct not_null_tables() for IN
2005-06-28 22:20:25 +03:00
unknown
2637338014 fixed substring() length calculation in case of constant negative argument (BUG#10269)
mysql-test/r/func_str.result:
  Correct length reporting from substring()
mysql-test/t/func_str.test:
  Correct length reporting from substring()
sql/item_strfunc.cc:
  fixed substring() length calculation in case of constant negative argument
2005-06-28 21:45:11 +03:00
unknown
69f2934891 Merge rurik.mysql.com:/home/igor/mysql-4.1
into rurik.mysql.com:/home/igor/dev/mysql-4.1-0


sql/sql_select.cc:
  Auto merged
2005-06-28 03:24:06 -07:00
unknown
27478af9d5 Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-4.1
into rurik.mysql.com:/home/igor/mysql-4.1


sql/field.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
2005-06-28 03:20:00 -07:00
unknown
67abd491a1 group_by.result, group_by.test:
Added a test case for bug #11414.
sql_select.cc:
  Fixed bug #11414: crash on Windows with some simple
  GROUP BY queries.
  It happened to an allocation of an array containing
  0 Copy_field elements in setup_copy_fields.
  The bug had been already fixed in 5.0.


sql/sql_select.cc:
  Fixed bug #11414: crash on Windows with some simple
  GROUP BY queries.
  It happened to an allocation of an array containing
  0 Copy_field elements in setup_copy_fields.
  The bug had been already fixed in 5.0.
mysql-test/t/group_by.test:
  Added a test case for bug #11414.
mysql-test/r/group_by.result:
  Added a test case for bug #11414.
2005-06-28 03:18:37 -07:00
unknown
2776aa35b7 ctype_ucs.result, ctype_ucs.test, ctype_utf8.result, ctype_utf8.test:
Fixing tests accordingly.
ctype-ucs2.c:
  The same fix for UCS2.
ctype-utf8.c:
  Bug #9557
  MyISAM utf8 table crash
  The problem was that my_strnncollsp_xxx could
  return big value in the range 0..0xffff.
  for some constant pairs it could return 32738,
  which is defined as MI_FOUND_WRONG_KEY in
  myisamdef.h. As a result, table considered to
  be crashed. 
  Fix to return -1,0 or 1.


strings/ctype-utf8.c:
  Bug #9557
  MyISAM utf8 table crash
  The problem was that my_strnncollsp_xxx could
  return big value in the range 0..0xffff.
  for some constant pairs it could return 32738,
  which is defined as MI_FOUND_WRONG_KEY in
  myisamdef.h. As a result, table considered to
  be crashed. 
  Fix to return -1,0 or 1.
strings/ctype-ucs2.c:
  The same fix for UCS2.
mysql-test/t/ctype_utf8.test:
  Fixing tests accordingly.
mysql-test/r/ctype_utf8.result:
  Fixing tests accordingly.
mysql-test/t/ctype_ucs.test:
  Fixing tests accordingly.
mysql-test/r/ctype_ucs.result:
  Fixing tests accordingly.
2005-06-28 15:00:22 +05:00
unknown
e45709dfbd abort storing query to query cache if warnings appeared (BUG#9414)
mysql-test/r/query_cache.result:
  Query with warning prohibited to query cache
mysql-test/t/query_cache.test:
  Query with warning prohibited to query cache
sql/sql_error.cc:
  abort storing query to query cache if warnings appeared
2005-06-28 00:52:21 +03:00
unknown
76d444fcb6 Portability fixes
Fixes while reviewing new pushed code
NULL as argument to encrypt/decrypt should return NULL without a warning


client/mysqldump.c:
  Cleanup
  Ensure we free allocated memory
  Portability fixes
client/mysqltest.c:
  Cleanup of code during review
  Portability fixes (Don't use 'bool')
mysql-test/r/func_encrypt.result:
  NULL as argument to encrypt/decrypt should return NULL without a warning
mysql-test/r/func_encrypt_nossl.result:
  Added test of NULL argument
mysql-test/t/func_encrypt_nossl.test:
  Added test of NULL argument
sql/handler.cc:
  Cleanup during code review
sql/item_strfunc.cc:
  NULL as argument to encrypt/decrypt should return NULL without a warning
sql/sql_parse.cc:
  Fix wrong merge (fix was not needed as the previous code was reverted)
sql/sql_table.cc:
  Removed extra new line
2005-06-27 20:31:00 +03:00
unknown
6c46a993d7 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into  mishka.local:/home/my/mysql-4.1


sql/ha_ndbcluster.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
2005-06-27 16:47:44 +03:00
unknown
d10877ce8c Better bug fix for:
#9728  'Decreased functionality in "on duplicate key update
#8147  'a column proclaimed ambigous in INSERT ... SELECT .. ON DUPLICATE'

This ensures fields are uniquely qualified and also that one can't update other tables in the ON DUPLICATE KEY UPDATE part


mysql-test/r/insert_select.result:
  More tests for bug #9728 and #8147
mysql-test/r/insert_update.result:
  Updated tests after changing how INSERT ... SELECT .. ON DUPLICATE KEY works
mysql-test/t/insert_select.test:
  More tests for bug #9728 and #8147
mysql-test/t/insert_update.test:
  Updated tests after changing how INSERT ... SELECT .. ON DUPLICATE KEY works
mysys/my_access.c:
  Cleanup (shorter loop variable names)
sql/ha_ndbcluster.cc:
  Indentation fixes
sql/item.cc:
  Remove item_flags
sql/item.h:
  Remove item_flags
sql/mysql_priv.h:
  New arguments to mysql_prepare_insert
sql/sql_base.cc:
  Remove old fix for bug #8147
sql/sql_insert.cc:
  Extend mysql_prepare_insert() with new field list for tables that can be used in the values port of ON DUPLICATE KEY UPDATE
sql/sql_parse.cc:
  Revert fix for #9728
  Allow one to use other tables in ON DUPLICATE_KEY for INSERT ... SELECT if there is no GROUP BY clause
sql/sql_prepare.cc:
  New arguments to mysql_prepare_insert
sql/sql_yacc.yy:
  Revert bug fix for #9728
2005-06-27 16:46:41 +03:00
unknown
f40f711e0c Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into neptunus.(none):/home/msvensson/mysql/mysql-4.1
2005-06-27 09:53:11 +02:00
unknown
3f499c32d4 Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-4.1
into rurik.mysql.com:/home/igor/mysql-4.1
2005-06-25 05:45:50 -07:00
unknown
a7e66efc2c Bug#10178 - failure to find a row in heap table by concurrent UPDATEs
Moved the key statistics update to info().
The table is not locked in open(). This made wrong stats possible.

No test case for the test suite.
This happens only with heavy concurrency.
A test script is added to the bug report.


mysql-test/r/heap_hash.result:
  Bug#10178 - failure to find a row in heap table by concurrent UPDATEs
  Updated test results to reflect the new  statistics behaviour.
mysql-test/t/heap_hash.test:
  Bug#10178 - failure to find a row in heap table by concurrent UPDATEs
  Added a FLUSH TABLES to avoid statistics differences between normal 
  and ps-protocol tests.
sql/ha_heap.cc:
  Bug#10178 - failure to find a row in heap table by concurrent UPDATEs
  Moved the key statistics update to info().
  The table is not locked in open(). This made wrong stats possible.
sql/ha_heap.h:
  Bug#10178 - failure to find a row in heap table by concurrent UPDATEs
  Added an element to track the validity of the key statistics.
2005-06-24 17:47:09 +02:00
unknown
5aa793f72b backport for #10568: Function 'LAST_DAY(date)' does not return NULL for invalid argument. 2005-06-24 14:04:48 +05:00
unknown
0cc6dd83c4 temporary tables of subquery in the from clause just skipped during processing QC tables (BUG#11522)
mysql-test/r/query_cache.result:
  queries with subquery in the FROM clause
mysql-test/t/query_cache.test:
  queries with subquery in the FROM clause
sql/sql_cache.cc:
  temporary tables of subquery in the from clause just skipped during processing QC tables
2005-06-23 20:06:35 +03:00
unknown
aa4ccff7f7 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into neptunus.(none):/home/msvensson/mysql/mysql-4.1
2005-06-23 19:06:35 +02:00
unknown
5d12a0bf49 Merge tkatchaounov@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/timka/mysql/src/4.1-virgin
2005-06-23 20:06:35 +03:00
unknown
d9a7e4e0dc Merge rurik.mysql.com:/home/igor/mysql-4.1
into rurik.mysql.com:/home/igor/dev/mysql-4.1-1
2005-06-23 10:06:35 -07:00
unknown
eb79c6bc9b Merge rurik.mysql.com:/home/igor/mysql-4.1
into rurik.mysql.com:/home/igor/dev/mysql-4.1-1
2005-06-23 06:19:28 -07:00
unknown
98253bd64d func_str.result, func_str.test:
Added a test case for bug #10124.
sql_select.h, item_subselect.cc, sql_select.cc:
  Fixed bug #10124.
  The copy method of the store_key classes can return
  STORE_KEY_OK=0, STORE_KEY_FATAL=1, STORE_KEY_CONV=2 now.
field.cc:
  Fixed bug #10124.
  When ussuing a warning the store methods return 2 instead of 1 now.


sql/field.cc:
  Fixed bug #10124.
  When ussuing a warning the store methods return 2 instead of 1 now.
sql/sql_select.cc:
  Fixed bug #10124.
  The copy method of the store_key classes can return
  STORE_KEY_OK=0, STORE_KEY_FATAL=1, STORE_KEY_CONV=2 now.
sql/item_subselect.cc:
  Fixed bug #10124.
  The copy method of the store_key classes can return
  STORE_KEY_OK=0, STORE_KEY_FATAL=1, STORE_KEY_CONV=2 now.
sql/sql_select.h:
  Fixed bug #10124.
  The copy method of the store_key classes can return
  STORE_KEY_OK=0, STORE_KEY_FATAL=1, STORE_KEY_CONV=2 now.
mysql-test/t/func_str.test:
  Added a test case for bug #10124.
mysql-test/r/func_str.result:
  Added a test case for bug #10124.
2005-06-23 06:15:50 -07:00
unknown
9ec764c4ff Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into  mishka.local:/home/my/mysql-4.1
2005-06-23 14:04:11 +03:00
unknown
4775eaaaaa Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/psergey/mysql-4.1-bug10151
2005-06-23 11:03:21 +02:00
unknown
1abe8e6916 Merge mysql.com:/home/timka/mysql/src/4.1-virgin
into mysql.com:/home/timka/mysql/src/4.1-bug-11185
2005-06-23 11:04:40 +03:00
unknown
e4296f5868 Fix for BUG#11185.
The source of the problem is in Field_longlong::cmp. If 'this' is
an unsigned number, the method casts both the current value, and
the constant that we compare with to an unsigned number. As a
result if the constant we compare with is a negative number, it
wraps to some unsigned number, and the comparison is incorrect.

When the optimizer chooses the "range" access method, this problem
causes handler::read_range_next to reject the current key when the
upper bound key is a negative number because handler::compare_key
incorrectly considers the positive and negative keys to be equal.

The current patch does not correct the source of the problem in
Field_longlong::cmp because it is not easy to propagate sign
information about the constant at query execution time. Instead
the patch changes the range optimizer so that it never compares
unsiged fields with negative constants. As an added benefit,
queries that do such comparisons will execute faster because
the range optimizer replaces conditions like:
(a) (unsigned_int [< | <=] negative_constant) == FALSE
(b) (unsigned_int [> | >=] negative_constant) == TRUE
with the corresponding constants.
In some cases this may even result in constant time execution.


mysql-test/r/range.result:
  - Changed incorrect result of an old test
  - Added new results for BUG#11185
mysql-test/t/range.test:
  - Added new tests for BUG#11185
  - Deleted an old comment because now the problem is fixed
sql/opt_range.cc:
  Added a new optimization to the range optimizer where we detect that
  an UNSIGNED field is compared with a negative constant. Depending on
  the comparison operator, we know directly that the result of the
  comparison is either TRUE or FALSE for all input values, and we need
  not check each value.
  
  This optimization is also necessary so that the index range access
  method produces correct results when comparing unsigned fields with
  negative constants.
2005-06-23 10:56:44 +03:00
unknown
5841d70af8 Fix multiplication of abs() by a negative value. (Bug #11402)
mysql-test/r/func_math.result:
  Add new results
mysql-test/t/func_math.test:
  Add new regression test
sql/item_func.cc:
  Don't set result of abs() to unsigned. Result should still be
  a signed value, even if always positive.
2005-06-22 20:00:21 -07:00
unknown
6a8945e332 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into neptunus.(none):/home/msvensson/mysql/mysql-4.1


sql/sql_base.cc:
  Auto merged
2005-06-22 20:59:34 +02:00
unknown
396ef56858 Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/psergey/mysql-4.1-bug10151
2005-06-22 20:59:32 +02:00
unknown
406673b0b3 Fix so that my_progname is set to "mysqldump"
client/mysqldump.c:
  Fix progname of mysqldump
mysql-test/r/mysqldump.result:
  Update test results
mysql-test/t/mysqldump.test:
  Update tests, no need for results
2005-06-22 20:37:14 +02:00
unknown
e5d0e337f8 BUG#9657 mysqldump xml ( -x ) does not format NULL fields correctly
- Importing the bug fixes by patch due to merge problems.


client/mysqldump.c:
  Import patch patch
mysql-test/r/mysqldump.result:
  Import patch patch
mysql-test/t/mysqldump.test:
  Import patch patch
2005-06-22 20:22:54 +02:00
unknown
900fe718d1 BUG#9361: Added test cases
mysql-test/r/rpl_multi_update3.result:
  Added test cases
mysql-test/t/rpl_multi_update3.test:
  Added test cases
2005-06-22 17:12:02 +02:00
unknown
19f51d3fa5 Merge neptunus.(none):/home/msvensson/mysql/mysql-4.1
into neptunus.(none):/home/msvensson/mysql/bug10589
2005-06-22 12:41:33 +02:00
unknown
a6c7fb455a Fix bug #9728 decreased functionality in "on duplicate key update"
Remove changes made by bug fix #8147. They strips list of insert_table_list to
only insert table, which results in error reported in bug #9728.
Added flag to Item to resolve ambigous fields reported in bug #8147.


sql/item.h:
  Fix bug#9728  decreased functionality in "on duplicate key update".
sql/item.cc:
  Fix bug#9728  decreased functionality in "on duplicate key update"
sql/sql_parse.cc:
  Fix bug#9728  decreased functionality in "on duplicate key update"
sql/sql_base.cc:
  Fix bug#9728  decreased functionality in "on duplicate key update".
sql/sql_yacc.yy:
  Fix bug#9728  decreased functionality in "on duplicate key update"
mysql-test/t/insert_select.test:
  Test case for bug#9728 Decreased functionality in "on duplicate key update".
mysql-test/r/insert_select.result:
  Test case for bug#9728 Decreased functionality in "on duplicate key update".
2005-06-22 07:18:42 +04:00
unknown
d785fc60ab BUG#10442 Minor changes from code review
mysql-test/r/rpl_multi_update3.result:
  Changes from code review
mysql-test/t/rpl_multi_update3.test:
  Changes from code review
sql/sql_parse.cc:
  Changes from code review
2005-06-21 15:40:58 -04:00
unknown
5031e9adc8 Merge mysql.com:/Users/emurphy/src/bk-clean/mysql-4.1
into  mysql.com:/Users/emurphy/src/work/mysql-4.1-bug10442
2005-06-21 14:28:55 -04:00
unknown
a23bf16577 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-4.1
into  moonbone.local:/work/mysql-4.1-bug-10886


sql/sql_insert.cc:
  Auto merged
2005-06-21 22:25:49 +04:00
unknown
8e45c0572b Fix bug #10886 - INSERT ... SELECT ... ON DUPLICATE KEY UPDATE produces bad results
Temporary field wasn't restored to default values after ON DUPLICATE KEY
 UPDATE event, which results in wrong data being inserted in new record.


sql/sql_insert.cc:
  Fix bug #10886 - INSERT ... SELECT ... ON DUPLICATE KEY UPDATE produces bad results
mysql-test/t/insert_select.test:
  Test case for bug #10886 - INSERT ... SELECT ... ON DUPLICATE KEY 
  UPDATE produces bad results
mysql-test/r/insert_select.result:
  Test case for bug #10886 - INSERT ... SELECT ... ON DUPLICATE KEY UPDATE 
  produces bad results
2005-06-21 22:24:58 +04:00
unknown
280b1c33e3 Cleanup during review of new code
Fixed wrong allocation that could cause buffer overrun when using join cache


myisam/mi_open.c:
  Fixed indentation
mysql-test/r/lowercase_table2.result:
  Drop tables and databases used in the test
mysql-test/t/lowercase_table2.test:
  Drop tables and databases used in the test
mysys/my_fopen.c:
  Cleanup of comments and parameter names
  Simple optimization
  Removed compiler warnings
sql/field.cc:
  Fixed wrong allocation that could cause buffer overrun
sql/mysqld.cc:
  Removed not needed code
sql/set_var.cc:
  Simply code
sql/sql_select.cc:
  Use int2store/int2korr to store length of cached VARCHAR fields
  (Not dependent on type and faster code as we avoid one possible call)
2005-06-21 18:18:58 +03:00
unknown
9f4db56284 Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-4.1
into rurik.mysql.com:/home/igor/mysql-4.1
2005-06-21 06:19:06 -07:00
unknown
2af65b1d71 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into neptunus.(none):/home/msvensson/mysql/mysql-4.1


client/mysqltest.c:
  Auto merged
mysql-test/mysql-test-run.sh:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
2005-06-21 14:24:13 +02:00
unknown
c2a84d5fd2 patch
client/mysqldump.c:
  Add description of quote_for_like
  Add quoting of \ to \\\\ in quote_for_like
  Add DBUG_*
  Rearranged code in dump_selected_tables so the first thing it will do is to check that the tables to dump are available
  Unless --force is used, program will exit if not all specified tables can be found
  Add files to dump to HASH table for easy iteration
  Simpler handling of ignore_table list.
  Add new error code used when table user selected to dump  can not be found in db
client/mysqltest.c:
  Make it possible to exec a command that fails by setting --error <errno> before the command to exec.
  Check that the error returned from executed program matches the expected error.
  Add DBUG_* printouts
mysql-test/mysql-test-run.sh:
  export MYSQL_DUMP_DIR used in "--replace_result"
mysql-test/r/mysqldump.result:
  Added test for illegal / nonexisting table and database names
mysql-test/t/mysqldump.test:
  Added test for illegal / nonexisting table and database names
2005-06-21 14:19:56 +02:00
unknown
472a2b511c Merge rurik.mysql.com:/home/igor/mysql-4.1
into rurik.mysql.com:/home/igor/dev/mysql-4.1-1
2005-06-21 04:31:07 -07:00
unknown
7b1ec02732 group_by.result, group_by.test:
Added a test case for bug #11295.
item_buff.cc:
  Fixed bug #11295.
  This a correction for the patch of bug #11088 that takes into
  account a possible NULL values of the BLOB column.


sql/item_buff.cc:
  Fixed bug #11295.
  This a correction for the patch of bug #11088 that takes into
  account a possible NULL values of the BLOB column.
mysql-test/t/group_by.test:
  Added a test case for bug #11295.
mysql-test/r/group_by.result:
  Added a test case for bug #11295.
2005-06-21 04:24:21 -07:00
unknown
06b1e94109 Merge mskold@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/usr/local/home/marty/MySQL/mysql-4.1
2005-06-21 10:35:22 +02:00
unknown
e17de6ecb4 Merge bk-internal:/home/bk/mysql-4.1
into  mysql.com:/home/jimw/my/mysql-4.1-clean
2005-06-20 14:48:04 -07:00
unknown
641bd4ec29 Merge jwinstead@production.mysql.com:my/mysql-4.1-7858
into  mysql.com:/home/jimw/my/mysql-4.1-clean
2005-06-20 12:04:22 -07:00
unknown
36dcc209b6 Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-4.1
into rurik.mysql.com:/home/igor/mysql-4.1
2005-06-20 10:52:38 -07:00