Commit graph

5874 commits

Author SHA1 Message Date
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:
  'Decreased functionality in "on duplicate key update
  '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  and 
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  and 
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 
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 
  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 
2005-06-27 16:46:41 +03:00
unknown
71f7df2766 Merge neptunus.(none):/home/msvensson/mysql/mysql-5.0
into neptunus.(none):/home/msvensson/mysql/bug10466


mysql-test/r/alias.result:
  Auto merged
mysql-test/r/func_str.result:
  Auto merged
mysql-test/r/func_time.result:
  Auto merged
mysql-test/r/group_by.result:
  Auto merged
mysql-test/r/innodb.result:
  Auto merged
mysql-test/r/ps.result:
  Auto merged
mysql-test/r/ps_2myisam.result:
  Auto merged
mysql-test/r/ps_3innodb.result:
  Auto merged
mysql-test/r/ps_4heap.result:
  Auto merged
mysql-test/r/ps_5merge.result:
  Auto merged
mysql-test/r/ps_6bdb.result:
  Auto merged
mysql-test/r/ps_7ndb.result:
  Auto merged
mysql-test/r/select.result:
  Auto merged
mysql-test/t/alias.test:
  Auto merged
mysql-test/t/func_str.test:
  Auto merged
mysql-test/t/func_time.test:
  Auto merged
mysql-test/t/group_by.test:
  Auto merged
mysql-test/t/innodb.test:
  Auto merged
mysql-test/t/ps.test:
  Auto merged
mysql-test/t/select.test:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/share/errmsg.txt:
  Auto merged
2005-06-27 13:12:10 +02:00
unknown
7ce673073b Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into neptunus.(none):/home/msvensson/mysql/mysql-5.0


mysql-test/mysql-test-run.sh:
  Auto merged
2005-06-27 10:53:08 +02: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
2e6d41d132 Bug#10178 - failure to find a row in heap table by concurrent UPDATEs
Bug#10568 - Function 'LAST_DAY(date)' does not return NULL for invalid argument.
Manual merge.


include/my_global.h:
  Auto merged
mysql-test/t/heap_hash.test:
  Auto merged
sql/ha_heap.h:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
mysql-test/r/func_time.result:
  Manual merge.
  Used local for the backported fix for Bug#10568.
mysql-test/r/heap_hash.result:
  Bug#10178 - failure to find a row in heap table by concurrent UPDATEs
  Manual merge.
mysql-test/t/func_time.test:
  Manual merge.
  Used local for the backported fix for Bug#10568.
sql/ha_heap.cc:
  Bug#10178 - failure to find a row in heap table by concurrent UPDATEs
  Manual merge.
2005-06-24 19:47:18 +02:00
unknown
be3d709170 Merge
mysql-test/r/view.result:
  SCCS merged
mysql-test/t/view.test:
  SCCS merged
2005-06-24 21:47:17 +04:00
unknown
fd3ac3829b Fix bug#11325 Wrong date comparison in views
Wrong comparing method were choosen which results in false comparison.

Make Item_bool_func2::fix_length_and_dec() to get type and field from
real_item() to make REF_ITEM pass the check. 


sql/item_cmpfunc.cc:
  Fix bug#11325 Wrong date comparison in views
mysql-test/t/view.test:
  Test case for bug#11325 Wrong date comparison in views.
mysql-test/r/view.result:
  Test case for bug#11325 Wrong date comparison in views.
2005-06-24 20:16:52 +04: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 : Function 'LAST_DAY(date)' does not return NULL for invalid argument. 2005-06-24 14:04:48 +05:00
unknown
0c0a5097cb Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-5.0
into rurik.mysql.com:/home/igor/mysql-5.0
2005-06-24 01:26:35 -07:00
unknown
d6ec3a43cd Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-5.0
into sanja.is.com.ua:/home/bell/mysql/bk/work-bug3-5.0
2005-06-24 00:25:28 +03:00
unknown
3d1172a10f fixed encrypt() print (BUG#7024)
mysql-test/r/view.result:
  using encrypt & substring_index in view
mysql-test/t/view.test:
  using encrypt & substring_index in view
sql/item_strfunc.h:
  fixed encrypt() print
2005-06-24 00:24:11 +03:00
unknown
274ae63c47 Merge tkatchaounov@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/timka/mysql/src/5.0-virgin
2005-06-23 23:26:49 +03:00
unknown
eb3a9091cb Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-5.0
into sanja.is.com.ua:/home/bell/mysql/bk/work-bug3-5.0


sql/sql_class.h:
  Auto merged
2005-06-23 21:45:53 +03:00
unknown
e3cfd4ef0c Manual merge
mysql-test/r/func_str.result:
  Auto merged
mysql-test/t/func_str.test:
  Auto merged
sql/item_subselect.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
2005-06-23 11:22:30 -07:00
unknown
287af948f1 Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/psergey/mysql-5.0-bug8441
2005-06-23 19:41:42 +02: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
0021ec52c6 Merge
mysql-test/r/case.result:
  SCCS merged
mysql-test/t/case.test:
  SCCS merged
sql/item_cmpfunc.cc:
  SCCS merged
2005-06-23 19:05:36 +02:00
unknown
fcf4343114 Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-5.0
into sanja.is.com.ua:/home/bell/mysql/bk/work-bug3-5.0


sql/sql_class.h:
  Auto merged
2005-06-23 18:30:59 +03:00
unknown
a5e742fedd fixed environment restoring in case of error during SP function execution (BUG#9503)
#define macro improvement


mysql-test/r/sp-security.result:
  BUG#9503: reseting correct parameters of thread after error in SP function
mysql-test/t/sp-security.test:
  BUG#9503: reseting correct parameters of thread after error in SP function
sql/item_func.cc:
  fixed environment restoring in case of error during SP function execution
sql/protocol.cc:
  added debug print
sql/sql_class.h:
  fixed #defines to force them to be alvaise in piar, and variable name made more complex for accident repeating in other code
2005-06-23 18:29:10 +03:00
unknown
3bfb668fac Merge mysql.com:/home/timka/mysql/src/5.0-virgin
into mysql.com:/home/timka/mysql/src/5.0-dbg


sql/opt_range.cc:
  Auto merged
2005-06-23 17:23:48 +03: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 .
sql_select.h, item_subselect.cc, sql_select.cc:
  Fixed bug .
  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 .
  When ussuing a warning the store methods return 2 instead of 1 now.


sql/field.cc:
  Fixed bug .
  When ussuing a warning the store methods return 2 instead of 1 now.
sql/sql_select.cc:
  Fixed bug .
  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 .
  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 .
  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 .
mysql-test/r/func_str.result:
  Added a test case for bug .
2005-06-23 06:15:50 -07:00
unknown
5a9475cd2a Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into neptunus.(none):/home/msvensson/mysql/mysql-5.0


sql/sql_base.cc:
  Auto merged
2005-06-23 13:10:42 +02:00
unknown
dadda87f54 Merge rurik.mysql.com:/home/igor/mysql-5.0
into rurik.mysql.com:/home/igor/dev/mysql-5.0-0


sql/opt_range.cc:
  Auto merged
2005-06-23 04:10:42 -07:00
unknown
a91620aeff Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/psergey/mysql-5.0-back-vac-look


sql/opt_range.cc:
  Auto merged
2005-06-23 11:10:41 +00: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
1a8c334b30 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:
  - Added test for BUG#11185
  - Added missing test from 4.1. This test also tests the fix for BUG#11185.
mysql-test/t/range.test:
  - Added test for BUG#11185
  - Added missing test from 4.1. This test also tests the fix for BUG#11185.
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 12:08:56 +03:00
unknown
c4a8325da2 opt_range.cc:
Fixed buf .
  Added a call of  QUICK_RANGE_SELECT::init to the
  QUICK_RANGE_SELECT::reset method. Without it the second
  evaluation of a subquery employing the range access failed.
subselect.result, subselect.test:
  Added a test case for bug .


mysql-test/t/subselect.test:
  Added a test case for bug .
mysql-test/r/subselect.result:
  Added a test case for bug .
sql/opt_range.cc:
  Fixed buf .
  Added a call of  QUICK_RANGE_SELECT::init to the
  QUICK_RANGE_SELECT::reset method. Without it the second
  evaluation of a subquery employing the range access failed.
2005-06-23 02:08:30 -07: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
902376e531 Merge mysql.com:/home/timka/mysql/src/4.1-dbg
into mysql.com:/home/timka/mysql/src/5.0-dbg
2005-06-23 11:01:51 +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
557184734f insert_update.result, insert_update.test, sql_base.cc:
Fix for bugfix  merge


sql/sql_base.cc:
  Fix for bugfix  merge
mysql-test/t/insert_update.test:
  Fix for bugfix  merge
mysql-test/r/insert_update.result:
  Fix for bugfix  merge
2005-06-23 03:51:10 +04:00
unknown
f3a3e05249 Bug fix merge
mysql-test/r/insert_select.result:
  Auto merged
mysql-test/t/insert_select.test:
  Auto merged
sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/sql_base.cc:
  Manual merge
sql/sql_parse.cc:
  Manual merge
sql/sql_yacc.yy:
  Manual merge
2005-06-23 01:02:43 +04: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
991ad10dd7 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into neptunus.(none):/home/msvensson/mysql/mysql-5.0
2005-06-22 20:50:52 +02:00
unknown
297bc30c45 Merge fixes
mysql-test/r/mysqldump.result:
  Update test results
mysql-test/t/mysqldump.test:
  Add "use test" removed by the cset -x
2005-06-22 20:49:58 +02:00
unknown
051e30a45c Cset exclude: msvensson@neptunus.(none)|ChangeSet|20050622184432|37770
mysql-test/t/mysqldump.test:
  Exclude
2005-06-22 20:45:20 +02:00
unknown
572d3e990a Will do cset -x on this.
mysql-test/t/mysqldump.test:
  Once again. This change should not be here. Every time mysqldump.test has been edited in two different clones this problem appears.
2005-06-22 20:44:32 +02:00
unknown
3f974aecab Merging
client/mysqldump.c:
  Auto merged
mysql-test/r/mysqldump.result:
  Auto merged
2005-06-22 20:43:10 +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
f36336daae Merge neptunus.(none):/home/msvensson/mysql/mysql-4.1
into neptunus.(none):/home/msvensson/mysql/mysql-5.0


client/mysqldump.c:
  Auto merged
mysql-test/r/mysqldump.result:
  Auto merged
mysql-test/t/mysqldump.test:
  Auto merged
2005-06-22 20:24:10 +02:00