1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-07 06:01:31 +03:00
Commit Graph

13691 Commits

Author SHA1 Message Date
dcafc4c480 Merge 192.168.0.10:mysql/mysql-5.0-maint
into  pilot.mysql.com:/home/msvensson/mysql/mysql-5.0-maint


mysql-test/mysql-test-run.pl:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
2007-02-06 14:48:22 +01:00
56820e1cdc Merge neptunus.(none):/home/msvensson/mysql/mysql-5.0
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint


Makefile.am:
  Auto merged
configure.in:
  Auto merged
mysql-test/mysql-test-run.pl:
  Auto merged
mysys/default.c:
  Auto merged
sql/item.cc:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_cmpfunc.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
mysql-test/r/select.result:
  Manual merge
mysql-test/t/select.test:
  Manual merge
2007-02-06 14:45:08 +01:00
31aee856d8 Merge 192.168.0.10:mysql/mysql-4.1-maint
into  pilot.mysql.com:/home/msvensson/mysql/mysql-4.1-maint


mysys/default.c:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
2007-02-06 14:44:05 +01:00
b93d81a8d1 Merge neptunus.(none):/home/msvensson/mysql/my41-nmj
into  neptunus.(none):/home/msvensson/mysql/mysql-4.1-maint


sql/sql_prepare.cc:
  Auto merged
2007-02-06 14:42:40 +01:00
14e7f52fb2 Merge pilot.mysql.com:/home/msvensson/mysql/bug24805/my50-bug24805
into  pilot.mysql.com:/home/msvensson/mysql/mysql-5.0-maint


mysql-test/mysql-test-run.pl:
  Auto merged
mysql-test/t/disabled.def:
  Auto merged
2007-02-06 14:30:23 +01:00
04b5225122 Bug#24805 mtr.pl can't handle test with --disable-log-bin
- Don't give mysqld the --log-bin argument if .opt file
  contains --skip-log-bin
- Enable flush2 test


mysql-test/mysql-test-run.pl:
  Don't give mysqld the --log-bin argument if .opt file contains --skip-log-bin 
  Don't pass mysqld --binlog-format=s if --skip-log-bin
mysql-test/t/disabled.def:
  Enable flush2
mysql-test/t/flush2-master.opt:
  Use --skip-log-bin in flush2 to test flush without bin logging
2007-02-06 14:19:07 +01:00
70323365c1 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1-maint
into  mysql.com:/usr/home/ram/work/bug23938/my41-bug23938


sql/item_timefunc.cc:
  Auto merged
2007-02-06 14:58:07 +04:00
e976ea37b0 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  mysql.com:/usr/home/ram/work/bug23938/my50-bug23938


sql/item_timefunc.cc:
  Auto merged
2007-02-06 14:28:46 +04:00
61b286e416 Merge mysql.com:/usr/home/ram/work/bug23938/my41-bug23938
into  mysql.com:/usr/home/ram/work/bug23938/my50-bug23938


sql/item_timefunc.cc:
  Auto merged
mysql-test/r/cast.result:
  SCCS merged
mysql-test/t/cast.test:
  SCCS merged
2007-02-06 13:57:20 +04:00
c35ceeca9e Bug #22344: InnoDB keys act strange on datetime vs timestamp comparison
Ignoring error codes from type conversion allows default (wrong) values to
 go unnoticed in the formation of index search conditions.
 Fixed by correctly checking for conversion errors.


mysql-test/r/select.result:
  Bug #22344: InnoDB keys act strange on datetime vs timestamp comparison
   - test case
mysql-test/t/select.test:
  Bug #22344: InnoDB keys act strange on datetime vs timestamp comparison
   - test case
sql/field.h:
  Bug #22344: InnoDB keys act strange on datetime vs timestamp comparison
   - don't ignore coversion errors
sql/field_conv.cc:
  Bug #22344: InnoDB keys act strange on datetime vs timestamp comparison
   - don't ignore coversion errors
sql/item.cc:
  Bug #22344: InnoDB keys act strange on datetime vs timestamp comparison
   - don't ignore coversion errors
2007-02-06 11:08:57 +02:00
86b715a79f BUG#25897: Some queries are no longer possible after a CREATE VIEW
fails

The bug was introduced with the push of the fix for bug#20953: after
the error on view creation we never reset the error state, so some
valid statements would give the same error after that.

The solution is to properly reset the error state.


mysql-test/r/view.result:
  Add result for bug#25897: Some queries are no longer possible after
  a CREATE VIEW fails.
mysql-test/t/view.test:
  Add test case for bug#25897: Some queries are no longer possible after
  a CREATE VIEW fails.
sql/sql_lex.cc:
  Add st_parsing_options::reset() method, call it from lex_start().
sql/sql_lex.h:
  Add st_parsing_options::reset() method, call it from constructor.
2007-02-04 16:49:24 +03:00
1534bb792b Merge olga.mysql.com:/home/igor/mysql-5.0-opt
into  olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug24035
2007-02-03 10:37:45 -08:00
e0d8e8fd09 Fix bug #24035.
This performance degradation for UPDATEs could be observed in the update
statements for which the search key cannot be converted to any valid
value of the type of the search column, like for a  the condition
int_fld=99999999999999999999999999, though it can be guaranteed here
that there is no row with such a key value. 


mysql-test/r/update.result:
  Added a test case for bug #24035.
mysql-test/t/update.test:
  Added a test case for bug #24035.
sql/opt_range.cc:
  Fix bug #24035.
  This performance degradation for could be observed in the update
  statements for which the search key cannot be converted to any valid
  value of the type of the search column, like for a  the condition
  int_fld=99999999999999999999999999, though it can be guaranteed here
  that there is no row with such a key value. 
  Now the function get_mm_leaf creates trees of the type SEL_ARG::IMPOSSIBLE 
  for such conditions that tells the range scan not to perform any search
  at all.
2007-02-02 15:22:10 -08:00
3c0aca02fe Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  chilla.local:/home/mydev/mysql-5.0-axmrg


sql/item_func.cc:
  Auto merged
2007-02-02 21:32:58 +01:00
0dc19dadb9 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into  chilla.local:/home/mydev/mysql-4.1-axmrg
2007-02-02 20:23:03 +01:00
9bb750f5e8 Merge mysql.com:/home/gluh/MySQL/Merge/5.0
into  mysql.com:/home/gluh/MySQL/Merge/5.0-opt
2007-02-02 15:21:14 +04:00
84445bbb5d Valgrind errors
added valgrind.supp to EXTRA_SCRIPTS(for pushbuild)
2007-02-02 15:01:11 +04:00
da984b3376 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  chilla.local:/home/mydev/mysql-5.0-axmrg


BUILD/SETUP.sh:
  Auto merged
configure.in:
  Auto merged
2007-02-01 17:10:09 +01:00
a308304607 Bug#23299 Some queries against INFORMATION_SCHEMA with subqueries fail
additional call of file->extra() method with HA_EXTRA_NO_CACHE parameter


mysql-test/r/information_schema.result:
  test result
mysql-test/t/information_schema.test:
  test case
sql/sql_show.cc:
  additional call of file->extra() method with HA_EXTRA_NO_CACHE parameter
2007-02-01 19:12:45 +04:00
5698114c97 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into  chilla.local:/home/mydev/mysql-4.1-axmrg


mysql-test/r/symlink.result:
  Auto merged
mysql-test/t/symlink.test:
  Auto merged
sql/mysqld.cc:
  Auto merged
2007-02-01 15:51:25 +01:00
2df2922586 Valgrind error fixes
Notes:
This patch doesn't fix all issues in the tree and we need jani's fix for that
This patch shoud not be merged into 5.0


mysql-test/r/ps.result:
  result fix
mysql-test/r/symlink.result:
  result fix
mysql-test/t/ps.test:
  test is moved to 'symlink' test
mysql-test/t/symlink.test:
  test from 'ps' test
sql/field_conv.cc:
  valgrind error fix: backport from 5.0
sql/mysqld.cc:
  release of ssl_context
vio/viosslfactories.c:
  release of ssl_context
mysql-test/valgrind.supp:
  New BitKeeper file ``mysql-test/valgrind.supp''
  This file is backported from 5.0, added suppressing of OpenSSL errors
2007-02-01 18:00:24 +04:00
8d975637ab Merge mysql.com:/windows/Linux_space/MySQL/mysql-5.0
into  mysql.com:/windows/Linux_space/MySQL/mysql-5.0-ndb


sql/ha_ndbcluster.cc:
  Auto merged
2007-02-01 13:59:34 +01:00
1ff126e935 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  rakia.gmz:/home/kgeorge/mysql/autopush/B23556-5.0-opt
2007-02-01 13:26:25 +02:00
0c52332512 trigger.result:
merge of the 5.0-opt tree


mysql-test/r/trigger.result:
  merge of the 5.0-opt tree
2007-02-01 13:25:50 +02:00
020e82c650 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  rakia.gmz:/home/kgeorge/mysql/autopush/B23556-5.0-opt


mysql-test/t/trigger.test:
  Auto merged
sql/sql_delete.cc:
  Auto merged
2007-02-01 11:07:17 +02:00
6bddf2a01f Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  rakia.gmz:/home/kgeorge/mysql/autopush/B25551-5.0-opt


sql/sql_select.cc:
  Auto merged
2007-02-01 10:50:41 +02:00
ad7a4ebbe3 Merge bk-internal.mysql.com:/home/bk/mysql-5.0-engines
into  chilla.local:/home/mydev/mysql-5.0-axmrg
2007-02-01 09:26:09 +01:00
a94b1b5077 Merge bk-internal.mysql.com:/home/bk/mysql-4.1-engines
into  chilla.local:/home/mydev/mysql-4.1-axmrg
2007-02-01 07:52:28 +01:00
c15b2e4152 Fixed bug #25407.
The bug could cause choosing a sub-optimal execution plan for 
a single-table query if a unique index with many null keys were 
defined for the table. 
It happened because the code of the check_quick_keys function 
made an assumption that any key may occur in an unique index 
only once. Yet this is not true for keys with nulls that may 
have multiple occurrences in the index.


mysql-test/r/null_key.result:
  Fixed bug #25407
  Adjusted result after the fix.
mysql-test/r/select.result:
  Added a test case for bug #25407.
mysql-test/t/select.test:
  Added a test case for bug #25407.
2007-01-31 19:31:36 -08:00
c7a69d255d Bug #25522 Update with IN syntax Clustertable + Trigger leads to mysqld segfault: in start_stmt, only change query_state if starting a new transactions, in read_multi_range_next, change query state when end is reached 2007-01-31 22:38:06 +01:00
70fe372a2c Merge bk-internal.mysql.com:/home/bk/mysql-4.1-maint
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-4.1-maint


configure.in:
  Auto merged
mysql-test/mysql-test-run.pl:
  Auto merged
scripts/mysqld_multi.sh:
  Auto merged
sql/mysqld.cc:
  Auto merged
2007-01-31 16:26:12 -05:00
659a1255af Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-4.1-maint


configure.in:
  Auto merged
mysql-test/r/range.result:
  Auto merged
mysql-test/t/range.test:
  Auto merged
2007-01-31 16:23:10 -05:00
ffe6fae3bb Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0-maint


configure.in:
  Auto merged
mysql-test/mysql-test-run.pl:
  Auto merged
mysql-test/r/range.result:
  Auto merged
mysql-test/r/select.result:
  Auto merged
mysql-test/t/select.test:
  Auto merged
scripts/mysqld_multi.sh:
  Auto merged
sql/item.cc:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_cmpfunc.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
2007-01-31 16:23:05 -05:00
0375a7a870 Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  mysql.com:/home/hf/work/25973/my50-25973
2007-01-31 19:56:52 +04:00
41f862e19f Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  rakia.gmz:/home/kgeorge/mysql/autopush/B25575-5.0-opt


sql/mysql_priv.h:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
sql/table.cc:
  Auto merged
2007-01-31 16:12:47 +02:00
fbc16a85c2 BUG#25575: ERROR 1052 (Column in from clause is ambiguous) with sub-join
Two problems here:

 Problem 1:

 While constructing the join columns list the optimizer does as follows:
  1. Sets the join_using_fields/natural_join members of the right JOIN 
   operand.
  2. Makes a "table reference" (TABLE_LIST) to parent the two tables.
  3. Assigns the join_using_fields/is_natural_join of the wrapper table
   using join_using_fields/natural_join of the rightmost table
  4. Sets join_using_fields to NULL for the right JOIN operand.
  5. Passes the parent table up to the same procedure on the upper 
   level.

 Step 1 overrides the the join_using_fields that are set for a nested 
 join wrapping table in step 4.
 Fixed by making a designated variable SELECT_LEX::prev_join_using to 
 pass the data from step 1 to step 4 without destroying the wrapping 
 table data.

 Problem 2:

 The optimizer checks for ambiguous columns while transforming 
 NATURAL JOIN/JOIN USING to JOIN ON. While doing that there was no
 distinction between columns that are used in the generated join
 condition (where ambiguity can be checked) and the other columns
 (where ambiguity can be checked only when resolving references
 coming from outside the JOIN construct itself).
 Fixed by allowing the non-USING columns to be present in multiple 
 copies in both sides of the join and moving the ambiguity check 
 to the place where unqualified references to the join columns are
 resolved (find_field_in_natural_join()).


mysql-test/r/join_nested.result:
  BUG#25575: ERROR 1052 (Column in from clause is ambiguous) with sub-join
   - test case
mysql-test/t/join_nested.test:
  BUG#25575: ERROR 1052 (Column in from clause is ambiguous) with sub-join
   - test case
sql/mysql_priv.h:
  BUG#25575: ERROR 1052 (Column in from clause is ambiguous) with sub-join
   - use SELECT_LEX to store the ref to JOIN USING list needed by the 
     parser
sql/sql_base.cc:
  BUG#25575: ERROR 1052 (Column in from clause is ambiguous) with sub-join
   - proper check for duplicate cols
   - more detailed debug output
sql/sql_lex.h:
  BUG#25575: ERROR 1052 (Column in from clause is ambiguous) with sub-join
   - use SELECT_LEX to store the ref to JOIN USING list needed by the 
     parser
sql/sql_parse.cc:
  BUG#25575: ERROR 1052 (Column in from clause is ambiguous) with sub-join
   - proper check for duplicate cols in JOIN USING
sql/sql_yacc.yy:
  BUG#25575: ERROR 1052 (Column in from clause is ambiguous) with sub-join
   - use SELECT_LEX to store the ref to JOIN USING list needed by the 
     parser
sql/table.cc:
  BUG#25575: ERROR 1052 (Column in from clause is ambiguous) with sub-join
   - return null if no table ref (as in nested join columns).
2007-01-31 16:04:38 +02:00
3e35fffa90 Merge mysql.com:/home/svoj/devel/mysql/WL3567/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/WL3567/mysql-5.0-engines


mysql-test/t/merge.test:
  Auto merged
mysql-test/r/merge.result:
  Manually merged.
sql/ha_myisam.cc:
  Manually merged.
sql/ha_myisammrg.cc:
  Manually merged.
2007-01-31 17:09:58 +04:00
e8040084a5 bug #25973 (ps_1general.test fails in embedded server)
mysql-test/t/ps_1general.test:
  replace_result fixed
2007-01-31 16:45:33 +04:00
ab3abe1232 Merge mysql.com:/home/svoj/devel/bk/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/WL3567/mysql-4.1-engines
2007-01-31 16:17:27 +04:00
f7b3c7c531 WL#3567 - MERGE engine: a check for underlying table conformance
When a merge table is opened compare column and key definition of
underlying tables against column and key definition of merge table.

If any of underlying tables have different column/key definition
refuse to open merge table.


mysql-test/r/merge.result:
  A test case for WL#3456.
mysql-test/t/merge.test:
  A test case for WL#3456.
sql/ha_myisam.cc:
  Moved a part of code that converts TABLE object to MyISAM key and column
  definition to a separate function.
  
  Added check_definition() function that compares MyISAM table definitions.
sql/ha_myisammrg.cc:
  Check if underlying table definition conforms to merge table definition,
  and in case underlying table definition differs, refuse to open merge
  table.
2007-01-31 16:15:20 +04:00
fee0649caa Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1-maint
into  mysql.com:/home/ram/work/b19690/b19690.4.1


sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
2007-01-31 14:47:06 +04:00
1bcc167053 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  mysql.com:/home/ram/work/b19690/b19690.5.0


sql/item_cmpfunc.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
2007-01-31 14:31:11 +04:00
d01ec5e727 Bug #25551: inconsistent behaviour in grouping NULL, depending on index type
The optimizer takes away columns from GROUP BY/DISTINCT if they constitute
 all the parts of an unique index.
 However if some of the columns can contain NULLs this cannot be done 
(because an UNIQUE index can have multiple rows with NULL values).
 Fixed by not using UNIQUE indexes with nullable columns to remove
 grouping columns from GROUP BY/DISTINCT.


mysql-test/r/distinct.result:
  Bug #25551: inconsistent behaviour in grouping NULL, depending on index type
   - test case
mysql-test/t/distinct.test:
  Bug #25551: inconsistent behaviour in grouping NULL, depending on index type
   - test case
sql/sql_select.cc:
  Bug #25551: inconsistent behaviour in grouping NULL, depending on index type
   - UNIQUE NULL indices don't guarantee GROUP BY/DISTINCT.
2007-01-31 10:18:26 +02:00
86ed0e9806 Merge mysql.com:/home/ram/work/b19690/b19690.4.1
into  mysql.com:/home/ram/work/b19690/b19690.5.0


mysql-test/r/type_float.result:
  Auto merged
mysql-test/t/type_float.test:
  Auto merged
sql/field.cc:
  Auto merged
sql/item_cmpfunc.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/field.h:
  merging
sql/init.cc:
  merging
sql/item_cmpfunc.cc:
  merging
sql/mysql_priv.h:
  merging
sql/sql_select.cc:
  merging
2007-01-31 10:07:56 +04:00
faad73550c fix for bug #19690: ORDER BY eliminates rows from the result
Depending on the queries we use different data processing methods
and can lose some data in case of double (and decimal in 4.1) fields.

The fix consists of two parts:
1. double comparison changed, now double a is equal to double b 
if (a-b) is less than 5*0.1^(1 + max(a->decimals, b->decimals)). 
For example, if a->decimals==1, b->decimals==2, a==b if (a-b)<0.005
2. if we use a temporary table, store double values there as is 
to avoid any data conversion (rounding).


mysql-test/r/type_float.result:
  fix for bug #19690: ORDER BY eliminates rows from the result
    - test result
mysql-test/t/type_float.test:
  fix for bug #19690: ORDER BY eliminates rows from the result
    - test case
sql/field.cc:
  fix for bug #19690: ORDER BY eliminates rows from the result
    - use not_fixed flag instead of dec to check bounds.
sql/field.h:
  fix for bug #19690: ORDER BY eliminates rows from the result
    - Field_Double::not_fixed flag introduced, which is set if dec == NOT_FIXED_DEC
      and is used in the ::store() to check bounds. 
    - new constructor introduced (with not_fixed_arg parameter).
sql/init.cc:
  fix for bug #19690: ORDER BY eliminates rows from the result
    - fill log_01[] array with 0.1 powers.
sql/item_cmpfunc.cc:
  fix for bug #19690: ORDER BY eliminates rows from the result
    - compare_real_fixed() and compare_e_real_fixed() introduced,
      they consider double a == double b if a-b is less than 'precision',
      'precision' is set to 5*0.1^(1 + max(a->decimals, b->decimals)), 
      for example, if a->decimals==1, b->decimals==2, 'precision' is 0.005
    - use the above functions if both arguments are fixed.
sql/item_cmpfunc.h:
  fix for bug #19690: ORDER BY eliminates rows from the result
    - Arg_comparator::presision introduced.
    - Arg_comparator::compare_real_fixed(), Arg_comparator::compare_e_real_fixed() introduced.
sql/mysql_priv.h:
  fix for bug #19690: ORDER BY eliminates rows from the result
    - log_01 array of 0.1 powers added.
sql/mysqld.cc:
  fix for bug #19690: ORDER BY eliminates rows from the result
    - log_01 array of 0.1 powers added.
sql/sql_select.cc:
  fix for bug #19690: ORDER BY eliminates rows from the result
    - if we create double field in a temporary table, set not_fixed flag
      (use proper constructor) to avoid data conversion 
      in the Field_double::store(). Otherwise we can lose some data.
2007-01-31 09:51:05 +04:00
0142be558f gen_lex_hash.cc:
If inserting a GPL header, include a complete one
Makefile.am, mysql.dsw, mysql.sln:
  Removed C version of mysql-test-run
mysql.spec.sh:
  Specify GPL license only in GPL sources
.del-my_manage.h:
  Delete: mysql-test/my_manage.h
mysql.spec.sh:
  Added GPL header
.del-mysql_test_run_new.c:
  Delete: mysql-test/mysql_test_run_new.c
.del-mysql_test_run_new.dsp:
  Delete: VC++Files/mysql-test/mysql_test_run_new.dsp
.del-my_create_tables.c:
  Delete: mysql-test/my_create_tables.c
.del-mysql_test_run_new_ia64.dsp:
  Delete: VC++Files/mysql-test/mysql_test_run_new_ia64.dsp
msql2mysql.sh:
  Use up-to-date GPL header
.del-mysql_test_run_new.vcproj:
  Delete: VC++Files/mysql-test/mysql_test_run_new.vcproj
.del-my_manage.c:
  Delete: mysql-test/my_manage.c


scripts/msql2mysql.sh:
  Use up-to-date GPL header
support-files/mysql.spec.sh:
  Added GPL header
sql/gen_lex_hash.cc:
  If inserting a GPL header, include a complete one
BitKeeper/deleted/.del-mysql_test_run_new.c:
  Delete: mysql-test/mysql_test_run_new.c
BitKeeper/deleted/.del-mysql_test_run_new.dsp:
  Delete: VC++Files/mysql-test/mysql_test_run_new.dsp
BitKeeper/deleted/.del-mysql_test_run_new.vcproj:
  Delete: VC++Files/mysql-test/mysql_test_run_new.vcproj
BitKeeper/deleted/.del-mysql_test_run_new_ia64.dsp:
  Delete: VC++Files/mysql-test/mysql_test_run_new_ia64.dsp
BitKeeper/deleted/.del-my_create_tables.c:
  Delete: mysql-test/my_create_tables.c
BitKeeper/deleted/.del-my_manage.c:
  Delete: mysql-test/my_manage.c
BitKeeper/deleted/.del-my_manage.h:
  Delete: mysql-test/my_manage.h
VC++Files/mysql.dsw:
  Removed C version of mysql-test-run
VC++Files/mysql.sln:
  Removed C version of mysql-test-run
mysql-test/Makefile.am:
  Removed C version of mysql-test-run
2007-01-31 00:06:42 +01:00
21d915c071 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  rakia.gmz:/home/kgeorge/mysql/autopush/B25643-5.0-opt
2007-01-30 19:30:42 +02:00
7687a272e4 Merge malff@bk-internal.mysql.com:/home/bk/mysql-5.0-runtime
into  weblab.(none):/home/marcsql/TREE/mysql-5.0-21904


mysql-test/r/subselect.result:
  Auto merged
mysql-test/t/subselect.test:
  Auto merged
sql/item_subselect.cc:
  Auto merged
sql/item_subselect.h:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2007-01-30 10:16:46 -07:00
3cb3a9a149 Bug #25643: SEC_TO_TIME function problem
Checking for NULL before calling the val_xxx()
 methods only checks for such arguments that are 
 known to be NULLs at compile time. 
 The arguments that may or may not contain
 NULLs (e.g. function calls and possibly others)
 are not checked at all.
 Fixed by first calling the val_xxx() method and
 then checking for null in SEC_TO_TIME().
 In addition QUARTER() was not returning 0 (as all the 
 val_int() functions do when processing a NULL value).


mysql-test/r/func_time.result:
  Bug #25643: SEC_TO_TIME function problem
   - test case
mysql-test/t/func_time.test:
  Bug #25643: SEC_TO_TIME function problem
   - test case
sql/item_timefunc.cc:
  Bug #25643: SEC_TO_TIME function problem
   - null handling fixed for QUARTER() and SEC_TO_TIME()
2007-01-30 17:43:34 +02:00
a1e20e04d8 Bug#21904 (parser problem when using IN with a double "(())")
Before this fix, a IN predicate of the form: "IN (( subselect ))", with two
parenthesis, would be evaluated as a single row subselect: if the subselect
returns more that 1 row, the statement would fail.

The SQL:2003 standard defines a special exception in the specification,
and mandates that this particular form of IN predicate shall be equivalent
to "IN ( subselect )", which involves a table subquery and works with more
than 1 row.

This fix implements "IN (( subselect ))", "IN ((( subselect )))" etc
as per the SQL:2003 requirement.

All the details related to the implementation of this change have been
commented in the code, and the relevant sections of the SQL:2003 spec
are given for reference, so they are not repeated here.

Having access to the spec is a requirement to review in depth this patch.


mysql-test/r/subselect.result:
  Implement IN predicate special exceptions with subselects.
mysql-test/t/subselect.test:
  Implement IN predicate special exceptions with subselects.
sql/item_subselect.cc:
  Implement IN predicate special exceptions with subselects.
sql/item_subselect.h:
  Implement IN predicate special exceptions with subselects.
sql/sql_yacc.yy:
  Implement IN predicate special exceptions with subselects, cleanup.
2007-01-29 17:32:52 -07:00