Commit graph

24018 commits

Author SHA1 Message Date
unknown
b80eb2b5a8 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 10:05:33 +03:00
unknown
c94e120671 Merge tkatchaounov@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/timka/mysql/src/5.0-virgin
2005-06-24 10:00:45 +03:00
unknown
3c14168865 Fixed test result for BUG#11185. 2005-06-24 09:56:58 +03:00
unknown
fe80b7b5bf fixed encrypt() name 2005-06-24 01:30:52 +03: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
9a03ad151d - bumped up version number to 5.0.9 now that the 5.0.8 builds have been branched off 2005-06-23 22:41:26 +02: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
d34e2ccb3e Merge mysql.com:/home/svoj/devel/mysql/mysql-5.0.8-build
into mysql.com:/home/svoj/devel/mysql/mysql-5.0.9
2005-06-23 23:22:31 +05:00
unknown
e5bd4ee8a8 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/opt/local/work/mysql-5.0-sp_instr
2005-06-23 22:22:30 +04:00
unknown
85a7014de6 Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/psergey/mysql-5.0-bug8441
2005-06-23 20:22:29 +02: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
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
2460a01b68 removed unneed line 2005-06-23 19:33:19 +03:00
unknown
74307f39eb WL#2286 - Compile MySQL w/YASSL support
Fix for compilation failure with Forte Developer C++.


configure.in:
  Export ARFLAGS, so innobase could pick it up.
innobase/configure.in:
  Use ARFLAGS exported by parent configure script.
2005-06-23 21:29:44 +05:00
unknown
706d3ef8a5 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/opt/local/work/mysql-5.0-sp_instr
2005-06-23 20:23:23 +04:00
unknown
91180cb8ab - implement inheritance of sp_instr: public Query_arena.
We need every instruction to have its own arena, because we want to
  track instruction's state (INITIALIZED_FOR_SP -> EXECUTED). Because of 
  `if' statements and other conditional instructions used in stored 
  procedures, not every instruction of a stored procedure gets executed 
  during the first (or even subsequent) execution of the procedure. 
  So it's better if we track the execution state of every instruction 
  independently.
  All instructions of a given procedure now also share sp_head's 
  mem_root, but keep their own free_list.
  This simplifies juggling with free Item lists in sp_head::execute.
- free_items() moved to be a member of Query_arena. 
- logic of 'backup_arena' debug member of Query_arena has been
  changed to support
  multi-backups. Until now, TRUE 'backup_arena' meant that there is
  exactly one active backup of the THD arena. Now it means simply that
  the arena is used for backup, so that we can't accidentally overwrite an 
  existing backup. This allows doing multiple backups, e.g. in
  sp_head::execute and Cursor::fetch, when THD arena is already backed up
  but we want to set yet another arena (usually the 'permanent' arena,
  to save permanent transformations/optimizations of a parsed tree).


sql/sp_head.cc:
  - use Query_arena support in sp_head::execute() as now sp_instr inherites
    from it.
sql/sp_head.h:
  - inherite sp_instr from Query_arena
sql/sql_class.cc:
  - changed the principle of Query_arena::backup_arena; free_items is now
    a member of Query_arena.
sql/sql_class.h:
  - changed the principle of Query_arena::backup_arena; free_items is now
    a member of Query_arena.
sql/sql_prepare.cc:
  free_items() is now a member of Query_arena.
sql/sql_select.cc:
  free_items() now automatically sets free_list to zero.
2005-06-23 20:22:08 +04:00
unknown
ea89196e78 Merge mysql.com:/Users/kent/mysql/bk/mysql-5.0-release
into mysql.com:/Users/kent/mysql/bk/mysql-5.0
2005-06-23 17:46:00 +02:00
unknown
759715eb92 Merge mysql.com:/Users/kent/mysql/bk/mysql-4.1-gca
into mysql.com:/Users/kent/mysql/bk/mysql-5.0-release


mysql-test/mysql-test-run.pl:
  Auto merged
2005-06-23 17:41:42 +02:00
unknown
744f6a1a99 mysql-test-run.pl:
Might need a restart after test with special TZ
  Removed unused argument to run_mysqltest()


mysql-test/mysql-test-run.pl:
  Might need a restart after test with special TZ
  Removed unused argument to run_mysqltest()
2005-06-23 17:38:40 +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
5ae3967c87 Merge mysql.com:/home/svoj/devel/mysql/mysql-5.0.8-build
into mysql.com:/home/svoj/devel/mysql/mysql-5.0.9
2005-06-23 17:52:28 +05:00
unknown
1975702d0a Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-5.0
into rurik.mysql.com:/home/igor/mysql-5.0
2005-06-23 04:12:53 -07:00
unknown
dfaf7a0184 opt_range.cc:
Identation correction.


sql/opt_range.cc:
  Identation correction.
2005-06-23 04:10:43 -07:00
unknown
94990cca59 Merge mysql.com:/space/my/mysql-4.1
into mysql.com:/space/my/mysql-5.0-build
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
089d20959e WL#2286 - Compile MySQL w/YASSL support
Fix for "multiple definition of __cxa_pure_virtual" link failure
when compiling with icc.


extra/yassl/taocrypt/include/runtime.hpp:
  Do not define __cxa_pure_virtual for ICC.
  Fixes "multiple definition of __cxa_pure_virtual" link failure on production.
2005-06-23 16:04:10 +05:00
unknown
ca01b8918e Merge mysql.com:/space/my/mysql-4.1-build
into mysql.com:/space/my/mysql-5.0.8-clone
2005-06-23 11:41:01 +02:00
unknown
a0fedf78e6 - manual merge of the new node names 2005-06-23 11:34:58 +02:00
unknown
0beb0abf5a - fixed text file generation - the node names in the info page had changed
BitKeeper/deleted/.del-generate-flag-images~f77476753fff8186:
  Delete: Docs/Support/generate-flag-images
Docs/Makefile.am:
  - fixed node names for the new info file
Docs/Support/generate-text-files.pl:
  - stop printing if the index was reached
2005-06-23 11:30:40 +02: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 #11487.
  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 #11487.


mysql-test/t/subselect.test:
  Added a test case for bug #11487.
mysql-test/r/subselect.result:
  Added a test case for bug #11487.
sql/opt_range.cc:
  Fixed buf #11487.
  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
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
9dfb7aab15 Merge mdk10.(none):/home/reggie/bk/bug9148
into mdk10.(none):/home/reggie/bk/mysql-5.0-base


mysys/my_access.c:
  Auto merged
2005-06-22 18:51:48 -05:00
unknown
371eeef011 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0
into moonbone.local:/work/mysql-5.0-merge
2005-06-23 03:51:47 +04:00
unknown
557184734f insert_update.result, insert_update.test, sql_base.cc:
Fix for bugfix #9728 merge


sql/sql_base.cc:
  Fix for bugfix #9728 merge
mysql-test/t/insert_update.test:
  Fix for bugfix #9728 merge
mysql-test/r/insert_update.result:
  Fix for bugfix #9728 merge
2005-06-23 03:51:10 +04:00
unknown
f3a3e05249 Bug #9728 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
2c14bd9a64 Merge pgalbraith@bk-internal.mysql.com:/home/bk/mysql-5.0
into radha.local:/Volumes/disk2s1/mysql-5.0
2005-06-22 21:23:33 +02:00
unknown
60d6b87775 Remove THD::stmt_backup
sql/sql_class.cc:
  Statement constructor for the case when it's used for backup only
  was removed.
sql/sql_class.h:
  Remove THD::stmt_backup and simplify Statement constructors.
sql/sql_prepare.cc:
  Use an object on stack instead of THD::stmt_backup
sql/sql_select.cc:
  Use an object on stack instead of THD::stmt_backup
2005-06-22 23:12:25 +04:00
unknown
31d0786687 Merge mysql.com:/home/bkroot/mysql-4.1 into mysql.com:/home/bk/mysql-4.1 2005-06-22 20:59:33 +02:00
unknown
ff972e3e5d Merge rburnett@bk-internal.mysql.com:/home/bk/mysql-4.1
into mdk10.(none):/home/reggie/bk/bug9148
2005-06-22 13:59:32 -05:00
unknown
285e348c1f Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-4.1
into moonbone.local:/work/mysql-4.1-bug-8147
2005-06-22 22:59:31 +04:00
unknown
256c99fdb2 item.h:
Fix for fix for bug#9728 decreased functionality in "on duplicate key update"
  Have to return false to set flag for whole expression.


sql/item.h:
  Fix for fix for bug#9728 decreased functionality in "on duplicate key update"
  Have to return false to set flag for whole expression.
2005-06-22 22:58:44 +04:00
unknown
c09ca7d856 Merge pgalbraith@bk-internal.mysql.com:/home/bk/mysql-5.0
into radha.local:/Volumes/disk2s1/mysql-5.0
2005-06-22 19:40:46 +02:00