Commit graph

487 commits

Author SHA1 Message Date
Alfranio Correia
19f859a27e merge 5.1 --> 5.1-rpl 2008-12-13 19:42:12 +00:00
Sergey Glukhov
9ac57f01d7 5.0-bugteam->5.1-bugteam merge 2008-11-27 18:11:54 +04:00
Sergey Glukhov
89d044062c Bug#37460 Assertion failed: !table->file || table->file->inited == handler::NONE
enable uncacheable flag if we update a view with check option
and check option has a subselect, otherwise, the check option
can be evaluated after the subselect was freed as independent
(See full_local in JOIN::join_free())


mysql-test/r/subselect.result:
  test result
mysql-test/t/subselect.test:
  test case
sql/mysql_priv.h:
  added UNCACHEABLE_CHECKOPTION flag
sql/sql_update.cc:
  enable uncacheable flag if we update a view with check option
  and check option has a subselect, otherwise, the check option
  can be evaluated after the subselect was freed as independent
  (See full_local in JOIN::join_free())
2008-11-27 17:57:34 +04:00
Sergey Glukhov
bd6376f1d1 Bug#34760 Character set autodetection appears to fail
the problem is the same as reported in bug#20835,
so the fix is backport of bug#20835 patch.


mysql-test/r/subselect.result:
  test result
mysql-test/t/subselect.test:
  test case
2008-11-21 16:39:59 +04:00
He Zhenxing
b17458dcc1 Merge 5.1 main -> 5.1-rpl 2008-09-06 08:51:17 +08:00
Georgi Kodinov
0b24a95498 merged 5.1-bugteam into B37548 tree 2008-08-27 18:39:09 +03:00
Georgi Kodinov
cab267ecc7 Bug#37548: result value erronously reported being NULL in certain subqueries
When switching to indexed ORDER BY we must be sure to reset the index read
flag if we are switching from a covering index to non-covering.

mysql-test/r/subselect.result:
  Bug#37548: test case
mysql-test/t/subselect.test:
  Bug#37548: test case
sql/sql_select.cc:
  Bug#37548: update the index read flag if the index for indexed ORDER BY is not
      covering.
2008-08-27 18:19:22 +03:00
He Zhenxing
113deaec30 Merge 5.1-rpl-testfixes -> 5.1-rpl 2008-08-14 17:38:22 +08:00
Sven Sandberg
4cf30d44ef merged 5.1 main to 5.1-rpl
manually resolved conflicts:
Text conflict in client/mysqltest.c
Contents conflict in mysql-test/include/have_bug25714.inc
Text conflict in mysql-test/include/have_ndbapi_examples.inc
Text conflict in mysql-test/mysql-test-run.pl
Text conflict in mysql-test/suite/parts/inc/partition_check_drop.inc
Text conflict in mysql-test/suite/parts/inc/partition_layout.inc
Text conflict in mysql-test/suite/parts/inc/partition_layout_check1.inc
Text conflict in mysql-test/suite/parts/inc/partition_layout_check2.inc
Text conflict in mysql-test/suite/parts/r/partition_alter1_1_2_myisam.result
Text conflict in mysql-test/suite/parts/r/partition_alter1_1_myisam.result
Text conflict in mysql-test/suite/parts/r/partition_alter1_2_myisam.result
Text conflict in mysql-test/suite/parts/r/partition_alter2_myisam.result
Text conflict in mysql-test/suite/parts/r/partition_alter3_innodb.result
Text conflict in mysql-test/suite/parts/r/partition_alter3_myisam.result
Text conflict in mysql-test/suite/parts/r/partition_basic_innodb.result
Text conflict in mysql-test/suite/parts/r/partition_basic_myisam.result
Text conflict in mysql-test/suite/parts/r/partition_basic_symlink_myisam.result
Text conflict in mysql-test/suite/parts/r/partition_engine_myisam.result
Text conflict in mysql-test/suite/parts/r/partition_syntax_myisam.result
Text conflict in mysql-test/suite/rpl_ndb/t/disabled.def
Text conflict in mysql-test/t/disabled.def
2008-08-04 07:04:47 +02:00
Georgi Kodinov
a3cd2e2dab merged 34159 and 37662 5.0-bugteam->5.1-bugteam 2008-07-31 12:50:24 +03:00
Igor Babaev
b6e3a9e28c Fixed bug #38191.
Calling List<Cached_item>::delete_elements for the same list twice
caused a crash of the server in the function JOIN::cleaunup.
Ensured that delete_elements() in JOIN::cleanup would be called only once.


mysql-test/r/subselect.result:
  Added a test case for bug #38191.
mysql-test/t/subselect.test:
  Added a test case for bug #38191.
sql/sql_select.cc:
  Fixed bug #38191.
  Ensured that delete_elements() in JOIN::cleanup would be called only once.
2008-07-26 13:44:07 -07:00
Sven Sandberg
1fc4954d30 Post-merge fixes.
The file tree in mtr's vardir has changed so an old
hard-coded path in mysql-test/t/subselect.test didn't
work.
Fix: update the paths in the test.


mysql-test/r/subselect.result:
  Updated result file.
mysql-test/t/subselect.test:
  Problem: The file tree in mtr's vardir has changed
  so an old hard-coded path didn't work.
  Fix: update the paths in the test.
2008-07-07 14:20:08 +02:00
Georgi Kodinov
50853ac31a Bug#37627: addendum :
- moved the test into a separate file to check for presence of the test variable

mysql-test/r/subselect.result:
  Bug#37627: moved the test to a separate file
mysql-test/r/subselect_debug.result:
  Bug#37627: moved the test to a separate file
mysql-test/t/subselect.test:
  Bug#37627: moved the test to a separate file
mysql-test/t/subselect_debug.test:
  Bug#37627: moved the test to a separate file
2008-07-07 11:43:56 +03:00
Georgi Kodinov
0e1709bde6 Bug#37627: Killing query with sum(exists()) or avg(exists()) reproducibly crashes server
When there is an error executing EXISTS predicates they return NULL as their string
or decimal value but don't set the NULL value flag.
Fixed by returning 0 (as a decimal or a string) on error exectuting the subquery.
Note that we can't return NULL as EXISTS is not supposed to return NULL.

mysql-test/r/subselect.result:
  Bug#37627: test case
mysql-test/t/subselect.test:
  Bug#37627: test case
sql/item_subselect.cc:
  Bug#37627: return decimal (or string) 0 isntead of a NULL pointer on
  error calculating an EXISTS predicate.
2008-07-04 17:02:17 +03:00
Matthias Leich
e72132a5b0 Upmerge 5.0 -> 5.1 2008-06-25 19:01:17 +02:00
Matthias Leich
49417ad7c8 Fix for
Bug#37492 timing bug in subselect.test
+ similar weaknesses found during testing
+ replace error numbers by error names
2008-06-25 16:59:38 +02:00
Tatiana A. Nurnberg
f13393db22 Fixed bug #37004.
The value of JOIN::tables must be set to 0 when there
is no matching min/max row.

mysql-test/r/subselect.result:
  Added a test case for bug #37004.
mysql-test/t/subselect.test:
  Added a test case for bug #37004.
2008-06-19 05:08:41 +02:00
unknown
277e783d13 Merge magare.gmz:/home/kgeorge/mysql/work/B36011-take2-5.0-bugteam
into  magare.gmz:/home/kgeorge/mysql/work/B36011-5.1-bugteam


sql/sql_select.cc:
  Auto merged
mysql-test/r/subselect.result:
  merge of bug 36011 to 5.1-bugteam
mysql-test/t/subselect.test:
  merge of bug 36011 to 5.1-bugteam
2008-05-16 19:03:50 +03:00
unknown
0fb1527e95 Bug #36011: server crash with explain extended on query
with dependent subqueries
An IN subquery is executed on EXPLAIN when it's not correlated.
If the subquery required a temporary table for its execution
not all the internal structures were restored from pointing to
the items of the temporary table to point back to the items of
the subquery.
Fixed by restoring the ref array when a temp tables were used in
executing the IN subquery during EXPLAIN EXTENDED.


mysql-test/r/subselect.result:
  Bug #36011: test case
mysql-test/t/subselect.test:
  Bug #36011: test case
sql/sql_select.cc:
  Bug #36011: restore the ref array after execution 
  when there were temp tables.
2008-05-16 17:05:55 +03: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
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
daffceb4e2 Bug#33266: Incorrect test case for the bug#31048 failing on some platforms.
The test case for the bug#31048 checks that there is no crash on stack
overrun. But due to different stack sizes on different platforms it failed
on some of them.

The new test case check that a query with at least 4 level subquery nesting
works without the stack overrun nesting and other levels of nesting doesn't
cause a crash.


mysql-test/t/subselect.test:
  Corrected test case for the bug#31048.
mysql-test/r/subselect.result:
  Corrected test case for the bug#31048.
2008-02-20 17:41:39 +03:00
unknown
8f081d6fa2 Merge kaamos.(none):/data/src/opt/mysql-5.0-opt
into  kaamos.(none):/data/src/opt/mysql-5.1-opt


mysql-test/r/subselect.result:
  Manual merge.
mysql-test/t/subselect.test:
  Manual merge.
2008-01-20 13:50:26 +03:00
unknown
f80b593d21 Fixed a PushBuild failure of the system_mysql_db test caused by the lack
of cleanups in the test case for bug33794.
2008-01-20 13:46:55 +03:00
unknown
153771ed7f Merge kaamos.(none):/data/src/opt/mysql-5.0-opt
into  kaamos.(none):/data/src/opt/mysql-5.1-opt


mysql-test/r/group_by.result:
  Auto merged
mysql-test/r/type_decimal.result:
  Auto merged
mysql-test/r/view.result:
  Auto merged
mysql-test/t/type_decimal.test:
  Auto merged
sql/item.cc:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
mysql-test/r/subselect.result:
  Manual merge.
mysql-test/t/group_by.test:
  Manual merge.
mysql-test/t/subselect.test:
  Manual merge.
mysql-test/t/view.test:
  Manual merge.
2008-01-19 21:09:22 +03:00
unknown
c71a6428d8 BUG#33794 "MySQL crashes executing specific query":
The problem occurred when one had a subquery that had an equality X=Y where 
Y referred to a named select list expression from the parent select. MySQL 
crashed when trying to use the X=Y equality for ref-based access. 

Fixed by allowing non-Item_field items in the described case.


mysql-test/r/subselect.result:
  BUG#33794 "MySQL crashes executing specific query"
  - Testcase
mysql-test/t/subselect.test:
  BUG#33794 "MySQL crashes executing specific query"
  - Testcase
sql/sql_select.cc:
  BUG#33794 "MySQL crashes executing specific query"
  get_store_key() assumed that if it got a reference
    t.key=Item_outer_ref(Item_direct_ref(x)) 
  then x was an Item_field object, which is not the case when one refers to a
  named select list expression out ot subquery.
2008-01-18 22:50:36 +03:00
unknown
1040bea9ae Merge kaamos.(none):/data/src/opt/mysql-5.0-opt
into  kaamos.(none):/data/src/opt/mysql-5.1-opt


sql/field.h:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql/item_timefunc.h:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
mysql-test/r/subselect.result:
  Manual merge.
mysql-test/t/subselect.test:
  Manual merge.
sql/filesort.cc:
  Manual merge.
2008-01-10 14:35:11 +03:00
unknown
8845553a81 Bug#33675: Usage of an uninitialized memory by filesort in a subquery caused
server crash.

The filesort implementation has an optimization for subquery execution which
consists of reusing previously allocated buffers. In particular the call to
the read_buffpek_from_file function might be skipped when a big enough buffer
for buffer descriptors (buffpeks) is already allocated. Beside allocating
memory for buffpeks this function fills allocated buffer with data read from
disk. Skipping it might led to using an arbitrary memory as fields' data and
finally to a crash.

Now the read_buffpek_from_file function is always called. It allocates
new buffer only when necessary, but always fill it with correct data.


sql/filesort.cc:
  Bug#33675: Usage of an uninitialized memory by filesort in a subquery caused
  server crash.Now the read_buffpek_from_file function is always called. It allocates
  new buffer only when necessary, but always fill it with correct data.
mysql-test/r/subselect.result:
  Added a test case for the bug#33675: Usage of an uninitialized memory by
  filesort in a subquery caused server crash.
mysql-test/t/subselect.test:
  Added a test case for the bug#33675: Usage of an uninitialized memory by
  filesort in a subquery caused server crash.
2008-01-09 00:40:41 +03:00
unknown
3058e02573 Many files:
Test case for the bug#31048 is moved to the subselect_notembedded tests as the embedded server isn't affected by this bug.


mysql-test/r/subselect.result:
  Test case for the bug#31048 is moved to the subselect_notembedded tests as the embedded server isn't affected by this bug.
mysql-test/r/subselect_notembedded.result:
  Test case for the bug#31048 is moved to the subselect_notembedded tests as the embedded server isn't affected by this bug.
mysql-test/t/subselect.test:
  Test case for the bug#31048 is moved to the subselect_notembedded tests as the embedded server isn't affected by this bug.
mysql-test/t/subselect_notembedded.test:
  Test case for the bug#31048 is moved to the subselect_notembedded tests as the embedded server isn't affected by this bug.
2007-11-26 22:21:46 +03:00
unknown
cf84ca46ba Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B32036-5.0-opt


mysql-test/r/subselect.result:
  merge of fix for bug 32036 to 5.0-opt
mysql-test/t/subselect.test:
  merge of fix for bug 32036 to 5.0-opt
2007-11-26 14:02:02 +02:00
unknown
b7a2960fee Merge magare.gmz:/home/kgeorge/mysql/work/B32036-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/work/B32036-5.1-opt


mysql-test/r/subselect.result:
  merged fix for bug 32036 to 5.1-opt
mysql-test/t/subselect.test:
  merged fix for bug 32036 to 5.1-opt
sql/sql_yacc.yy:
  merged fix for bug 32036 to 5.1-opt
2007-11-26 13:48:22 +02:00
unknown
f3f9855d13 Bug #32036: EXISTS within a WHERE clause with a UNION
crashes MySQL 5.122
There was a difference in how UNIONs are handled
on top level and when in sub-query.
Because the rules for sub-queries were syntactically
allowing cases that are not currently supported by
the server we had crashes (this bug) or wrong results
(bug 32051).
Fixed by making the syntax rules for UNIONs match the 
ones at top level.

These rules however do not support nesting UNIONs, e.g.
(SELECT a FROM t1 UNION ALL SELECT b FROM t2) 
 UNION
(SELECT c FROM t3 UNION ALL SELECT d FROM t4)
Supports for statements with nested UNIONs will be
added in a future version.


mysql-test/r/subselect.result:
  Bug #32036: test case
mysql-test/t/subselect.test:
  Bug #32036: test case
sql/sql_yacc.yy:
  Bug #32036: Make the syntax rules for UNIONs in subqueries the same
  as for top level UNIONs.
2007-11-26 13:36:24 +02:00
unknown
10c1aa796a Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B32400-5.0-opt


tests/mysql_client_test.c:
  Auto merged
mysql-test/r/subselect.result:
  SCCS merged
mysql-test/t/subselect.test:
  SCCS merged
2007-11-23 15:30:16 +02:00
unknown
042a58e049 Merge magare.gmz:/home/kgeorge/mysql/work/B32400-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/work/B32400-5.1-opt


BitKeeper/deleted/.del-ps_6bdb.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/suite/ndb/r/ps_7ndb.result:
  Auto merged
sql/item.cc:
  Auto merged
tests/mysql_client_test.c:
  Auto merged
mysql-test/t/subselect.test:
  merge of bug 32400 to 5.1-opt
2007-11-23 14:41:47 +02:00
unknown
c00bfc3bee Merge magare.gmz:/home/kgeorge/mysql/work/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/work/merge-5.1-opt


mysql-test/r/gis.result:
  Auto merged
mysql-test/r/type_bit.result:
  Auto merged
mysql-test/r/type_blob.result:
  Auto merged
mysql-test/t/gis.test:
  Auto merged
mysql-test/t/type_bit.test:
  Auto merged
mysql-test/t/type_blob.test:
  Auto merged
sql/item.h:
  Auto merged
sql/item_subselect.cc:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_string.cc:
  Auto merged
tests/mysql_client_test.c:
  Auto merged
mysql-test/r/subselect.result:
  null merge. resolve latete.
mysql-test/t/subselect.test:
  merge 5.0-opt -> 5.1-opt
sql/key.cc:
  merge 5.0-opt -> 5.1-opt
sql/sql_class.h:
  merge 5.0-opt -> 5.1-opt
sql/sql_insert.cc:
  merge 5.0-opt -> 5.1-opt
sql/sql_table.cc:
  merge 5.0-opt -> 5.1-opt
2007-11-23 12:26:19 +02:00
unknown
a197c4e95d opt_range.cc:
Fix for the bug#31048 for 64bit platforms.
subselect.test, subselect.result:
  Corrected text case for the bug#31048.


mysql-test/t/subselect.test:
  Corrected text case for the bug#31048.
mysql-test/r/subselect.result:
  Corrected text case for the bug#31048.
sql/opt_range.cc:
  Fix for the bug#31048 for 64bit platforms.
2007-11-23 00:16:17 +03:00
unknown
4b9106764d Merge magare.gmz:/home/kgeorge/mysql/work/B30788-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/work/B30788-5.1-opt


mysql-test/r/subselect3.result:
  Auto merged
sql/item.h:
  Auto merged
sql/sql_select.cc:
  Auto merged
mysql-test/r/subselect.result:
  merge of bug 30788 to 5.1-opt
mysql-test/t/subselect.test:
  merge of bug 30788 to 5.1-opt
2007-11-21 13:19:50 +02:00
unknown
bb3e878159 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B30788-5.0-opt


sql/item.h:
  Auto merged
sql/sql_select.cc:
  Auto merged
mysql-test/r/subselect.result:
  merge of 5.0-opt
mysql-test/t/subselect.test:
  merge of 5.0-opt
2007-11-21 11:46:15 +02:00
unknown
e9832ceeac Bug #30788: Inconsistent retrieval of char/varchar
Index lookup does not always guarantee that we can
simply remove the relevant conditions from the WHERE
clause. Reasons can be e.g. conversion errors, 
partial indexes etc. 
The optimizer was removing these parts of the WHERE 
condition without any further checking.
This leads to "false positives" when using indexes.
Fixed by checking the index reference conditions
(using WHERE) when using indexes with sub-queries.


mysql-test/r/subselect.result:
  Bug #30788: 
   - using where
   - test case
mysql-test/r/subselect3.result:
  Bug #30788: using where
mysql-test/t/subselect.test:
  Bug #30788: test case
sql/item.h:
  Bug #30788: 
   - Declare eq() method of Item_cache descendants : this is used in
   test_if_ref()
   - preserve the field that is being cached for type comparisions
sql/sql_select.cc:
  Bug #30788: Don't remove the WHERE when using index lookup 
  with subqueries.
2007-11-21 11:40:05 +02:00
unknown
870d46819e Bug #32400: Complex SELECT query returns correct result
only on some occasions

Referencing an element from the SELECT list in a WHERE 
clause is not permitted. The namespace of the WHERE
clause is the table columns only. This was not enforced
correctly when resolving outer references in sub-queries.

Fixed by not allowing references to aliases in a 
sub-query in WHERE.


mysql-test/include/ps_query.inc:
  Bug #32400: fixed old test queries
mysql-test/r/ps_2myisam.result:
  Bug #32400: fixed old test queries
mysql-test/r/ps_3innodb.result:
  Bug #32400: fixed old test queries
mysql-test/r/ps_4heap.result:
  Bug #32400: fixed old test queries
mysql-test/r/ps_5merge.result:
  Bug #32400: fixed old test queries
mysql-test/r/ps_6bdb.result:
  Bug #32400: fixed old test queries
mysql-test/r/ps_7ndb.result:
  Bug #32400: fixed old test queries
mysql-test/r/subselect.result:
  Bug #32400: test case
mysql-test/t/subselect.test:
  Bug #32400: test case
sql/item.cc:
  Bug #32400: don't allow references to aliases in WHERE
tests/mysql_client_test.c:
  Bug #32400: fixed old test queries
2007-11-20 19:18:21 +02:00
unknown
b3347a6a98 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  moonbone.local:/work/31048-bug-5.0-opt-mysql


sql/item_subselect.cc:
  Auto merged
mysql-test/r/subselect.result:
  Manual merge
mysql-test/t/subselect.test:
  Manual merge
2007-11-19 21:15:53 +00:00
unknown
13105534fa Bug#31048: Many nested subqueries may cause server crash.
This bug is actually two. The first one manifests itself on an EXPLAIN
SELECT query with nested subqueries that employs the filesort algorithm.
The whole SELECT under explain is marked as UNCACHEABLE_EXPLAIN to preserve
some temporary structures for explain. As a side-effect of this values of
nested subqueries weren't cached and subqueries were re-evaluated many
times. Each time buffer for filesort was allocated but wasn't freed because
freeing occurs at the end of topmost SELECT. Thus all available memory was
eaten up step by step and OOM event occur.
The second bug manifests itself on SELECT queries with conditions where
a subquery result is compared with a key field and the subquery itself also
has such condition. When a long chain of such nested subqueries is present
the stack overrun occur. This happens because at some point the range optimizer
temporary puts the PARAM structure on the stack. Its size if about 8K and
the stack is exhausted very fast.

Now the subselect_single_select_engine::exec function allows subquery result
caching when the UNCACHEABLE_EXPLAIN flag is set.
Now the SQL_SELECT::test_quick_select function calls the check_stack_overrun
function for stack checking purposes to prevent server crash.


mysql-test/t/subselect.test:
  Added a test case for the bug#31048: Many nested subqueries may cause server crash.
mysql-test/r/subselect.result:
  Added a test case for the bug#31048: Many nested subqueries may cause server crash.
sql/opt_range.cc:
  Bug#31048: Many nested subqueries may cause server crash.
  Now the SQL_SELECT::test_quick_select function calls the check_stack_overrun
  function for stack checking purposes to preven server crash.
sql/item_subselect.cc:
  Bug31048: Many nested subqueries may cause server crash.
  Now the subselect_single_select_engine::exec function allows subquery result
  caching when the UNCACHEABLE_EXPLAIN flag is set.
2007-11-19 20:00:25 +00:00
unknown
bed60e0175 Merge mysql.com:/home/gluh/MySQL/Merge/5.0
into  mysql.com:/home/gluh/MySQL/Merge/5.0-opt


mysql-test/t/subselect.test:
  Auto merged
mysql-test/t/variables.test:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
mysql-test/r/select.result:
  manual merge
mysql-test/t/select.test:
  manual merge
2007-11-14 17:26:22 +04:00
unknown
2892d3a2ab Merge gleb.loc:/home/uchum/5.0-opt
into  gleb.loc:/home/uchum/5.1-opt


sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_subselect.cc:
  Auto merged
sql/sp_rcontext.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
mysql-test/r/subselect.result:
  Merge with 5.0-opt.
mysql-test/t/subselect.test:
  Merge with 5.0-opt.
2007-11-11 06:07:38 +04:00
unknown
e7c6a81f25 Fixed bug #28076: inconsistent binary/varbinary comparison.
After adding an index the <VARBINARY> IN (SELECT <BINARY> ...)
clause returned a wrong result: the VARBINARY value was illegally padded
with zero bytes to the length of the BINARY column for the index search.
(<VARBINARY>, ...) IN (SELECT <BINARY>, ... ) clauses are affected too.


sql/item.cc:
  Fixed bug #28076.
  The Item_cache_str::save_in_field method has been overloaded
  to check cached values for an illegal padding before the saving
  into a field.
sql/item.h:
  Fixed bug #28076.
  The Item_cache_str::is_varbinary flag has been added and the
  Item_cache_str::save_in_field method has been overloaded to prevent
  cached values from an illegal padding when saving in fields.
  The signature of the Item_cache::get_cache method has been
  changed to accept pointers to Item instead of Item_result
  values.
sql/item_cmpfunc.cc:
  Fixed bug #28076.
  The Item_in_optimizer::fix_left method has been modified to
  to call Item_cache::get_cache in a new manner.
sql/item_subselect.cc:
  Fixed bug #28076.
  The subselect_indexsubquery_engine::exec method has been
  modified to take into account field conversion errors
  (copy&paste from subselect_uniquesubquery_engine::exec).
sql/sp_rcontext.cc:
  Fixed bug #28076.
  The sp_rcontext::create_case_expr_holder method has been
  modified to call Item_cache::get_cache in a new manner.
sql/sp_rcontext.h:
  Fixed bug #28076.
  The sp_rcontext::create_case_expr_holder method signature
  has been modified to pass Item pointers to the
  Item_cache::get_cache method.
sql/sql_class.cc:
  Fixed bug #28076.
  The select_max_min_finder_subselect::send_data method has been
  modified to call Item_cache::get_cache in a new manner.
mysql-test/t/subselect.test:
  Added test case for bug #28076.
mysql-test/r/subselect.result:
  Added test case for bug #28076.
2007-11-10 23:44:48 +04:00
unknown
6f12c92439 Bug#32108 - subselect.test produces warnings files
Comment sign of -- at line begin in test files lead to warnings
from mysqltest.
  
Changed -- to #.


mysql-test/t/subselect.test:
  Bug#32108 - subselect.test produces warnings files
  Changed -- to # at comment begin to avoid warnings files.
2007-11-05 14:44:38 +01:00
unknown
abdb052bae Merge magare.gmz:/home/kgeorge/mysql/work/B31884-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/work/B31884-5.1-opt


sql/item_subselect.h:
  Auto merged
mysql-test/r/subselect.result:
  merged the fix for bug 31884 to 5.1-opt
mysql-test/t/subselect.test:
  merged the fix for bug 31884 to 5.1-opt
2007-10-30 16:21:17 +02:00
unknown
6bbdacae20 Bug #31884: Assertion + crash in subquery in the SELECT clause.
Item_in_subselect's only externally callable method is val_bool().
However the nullability in the wrapper class (Item_in_optimizer) is 
established by calling the "forbidden" method val_int().

Fixed to use the correct method (val_bool() ) to establish nullability 
of Item_in_subselect in Item_in_optimizer.


mysql-test/r/subselect.result:
  Bug #31884: test case
mysql-test/t/subselect.test:
  Bug #31884: test case
sql/item_subselect.h:
  Bug #31884: Use the correct method to establish nullability
2007-10-30 14:27:21 +02:00