1
0
mirror of https://github.com/MariaDB/server.git synced 2025-11-18 07:48:43 +03:00
Commit Graph

1212 Commits

Author SHA1 Message Date
unknown
5af4fd2563 Bug #11032: getObject() returns a String for a sub-query of type datetime
- When returning metadata for scalar subqueries the actual type of the
   column was calculated based on the value type, which limits the actual
   type of a scalar subselect to the set of (currently) 3 basic types : 
   integer, double precision or string. This is the reason that columns
   of types other then the basic ones (e.g. date/time) are reported as
   being of the corresponding basic type.
   Fixed by storing/returning information for the column type in addition
   to the result type.


mysql-test/r/subselect.result:
  Bug #11032: getObject() returns a String for a sub-query of type datetime
   - test case
mysql-test/t/subselect.test:
  Bug #11032: getObject() returns a String for a sub-query of type datetime
   - test case
sql/item_subselect.cc:
  Bug #11032: getObject() returns a String for a sub-query of type datetime
   - store and return the field type as well in addition to result type for 
     single row subqueries
sql/item_subselect.h:
  Bug #11032: getObject() returns a String for a sub-query of type datetime
   - store and return the field type as well in addition to result type for 
     single row subqueries
2006-11-07 18:16:17 +02:00
gkodinov/kgeorge@macbook.gmz
cf1ca923fc Bug #11032: getObject() returns a String for a sub-query of type datetime
- When returning metadata for scalar subqueries the actual type of the
   column was calculated based on the value type, which limits the actual
   type of a scalar subselect to the set of (currently) 3 basic types : 
   integer, double precision or string. This is the reason that columns
   of types other then the basic ones (e.g. date/time) are reported as
   being of the corresponding basic type.
   Fixed by storing/returning information for the column type in addition
   to the result type.
2006-11-07 18:16:17 +02:00
unknown
0e69c252a1 Merge rurik.mysql.com:/home/igor/mysql-5.0-opt
into  rurik.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug21727


mysql-test/r/subselect.result:
  Auto merged
mysql-test/t/subselect.test:
  Auto merged
sql/filesort.cc:
  Auto merged
sql/item_subselect.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/records.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/table.cc:
  Auto merged
2006-11-01 14:50:14 -08:00
igor@rurik.mysql.com
79abdb38f8 Merge rurik.mysql.com:/home/igor/mysql-5.0-opt
into  rurik.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug21727
2006-11-01 14:50:14 -08:00
unknown
2a7cf59fc9 Fixed bug #21727.
This is a performance issue for queries with subqueries evaluation
of which requires filesort.
Allocation of memory for the sort buffer at each evaluation of a
subquery may take a significant amount of time if the buffer is rather big.
With the fix we allocate the buffer at the first evaluation of the
subquery and reuse it at each subsequent evaluation.


mysql-test/r/subselect.result:
  Added a test case for bug #21727.
mysql-test/t/subselect.test:
  Added a test case for bug #21727.
sql/item_subselect.h:
  Fixed bug #21727.
  This is a performance issue for queries with subqueries evaluation
  of which requires filesort.
  Added an implementation for Item_subselect::is_uncacheable()
  returning TRUE if the engine if the subselect is uncacheable.
sql/mysql_priv.h:
  Fixed bug #21727.
  This is a performance issue for queries with subqueries evaluation
  of which requires filesort.
  Added a new boolean parameter to the filesort_free_buffers procedure.
  If the value of this parameter is TRUE the procedure frees the sort_keys
  buffpek buffers.
sql/records.cc:
  Fixed bug #21727.
  This is a performance issue for queries with subqueries evaluation
  of which requires filesort.
  Added a new boolean parameter to the filesort_free_buffers procedure.
  If the value of this parameter is TRUE the procedure frees the sort_keys
  buffpek buffers.
sql/sql_base.cc:
  Fixed bug #21727.
  Made sure that st_table::pos_in_table_list would be always initialized.
sql/sql_select.cc:
  Fixed bug #21727.
  This is a performance issue for queries with subqueries evaluation
  of which requires filesort.
  Added a new boolean parameter to the filesort_free_buffers procedure.
  If the value of this parameter is TRUE the procedure frees the sort_keys
  buffpek buffers.
sql/sql_show.cc:
  Fixed bug #21727.
  This is a performance issue for queries with subqueries evaluation
  of which requires filesort.
  Added a new boolean parameter to the filesort_free_buffers procedure.
  If the value of this parameter is TRUE the procedure frees the sort_keys
  buffpek buffers.
sql/sql_table.cc:
  Fixed bug #21727.
  This is a performance issue for queries with subqueries evaluation
  of which requires filesort.
  Cleanup.
sql/table.cc:
  Fixed bug #21727.
  This is a performance issue for queries with subqueries evaluation
  of which requires filesort.
  Added st_table_list::in_subselect() returning for a table the subselect that 
  contains the FROM list this table is taken from (if there is any).
sql/table.h:
  Fixed bug #21727.
  This is a performance issue for queries with subqueries evaluation
  of which requires filesort.
  Added fields for sort_keys and buffpek buffers to the FILESORT_INFO structure.
2006-10-31 17:31:56 -08:00
igor@rurik.mysql.com
2a7acba7e1 Fixed bug #21727.
This is a performance issue for queries with subqueries evaluation
of which requires filesort.
Allocation of memory for the sort buffer at each evaluation of a
subquery may take a significant amount of time if the buffer is rather big.
With the fix we allocate the buffer at the first evaluation of the
subquery and reuse it at each subsequent evaluation.
2006-10-31 17:31:56 -08:00
unknown
d4bfae38ac Merge siva.hindu.god:/usr/home/tim/m/bk/g50
into  siva.hindu.god:/usr/home/tim/m/bk/50


configure.in:
  Auto merged
mysql-test/r/rename.result:
  Auto merged
mysql-test/r/subselect.result:
  Auto merged
mysql-test/r/view.result:
  Auto merged
mysql-test/t/subselect.test:
  Auto merged
mysql-test/t/view.test:
  Auto merged
mysys/mf_iocache.c:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/opt_range.h:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/table.cc:
  Auto merged
myisam/sort.c:
  Manual merge
mysql-test/r/innodb_mysql.result:
  Manual merge
mysql-test/t/innodb_mysql.test:
  Manual merge
2006-10-24 14:42:08 -06:00
tsmith/tim@siva.hindu.god
3af2089b13 Merge siva.hindu.god:/usr/home/tim/m/bk/g50
into  siva.hindu.god:/usr/home/tim/m/bk/50
2006-10-24 14:42:08 -06:00
unknown
5676602fb1 Merge rurik.mysql.com:/home/igor/mysql-4.1-opt
into  rurik.mysql.com:/home/igor/mysql-5.0-opt


sql/item_subselect.cc:
  Auto merged
mysql-test/r/subselect.result:
  SCCS merged
mysql-test/t/subselect.test:
  SCCS merged
2006-10-20 09:26:01 -07:00
igor@rurik.mysql.com
c6663c32db Merge rurik.mysql.com:/home/igor/mysql-4.1-opt
into  rurik.mysql.com:/home/igor/mysql-5.0-opt
2006-10-20 09:26:01 -07:00
unknown
d649efbb07 Fixed bug #23478.
If elements a not top-level IN subquery were accessed by an index and 
the subquery result set included  a NULL value then the quantified
predicate that contained the subquery was evaluated to NULL when 
it should return a non-null value.


mysql-test/r/subselect.result:
  Added a test case for bug #23478.
mysql-test/t/subselect.test:
  Added a test case for bug #23478.
2006-10-19 23:05:53 -07:00
igor@rurik.mysql.com
d8b6f46a39 Fixed bug #23478.
If elements a not top-level IN subquery were accessed by an index and 
the subquery result set included  a NULL value then the quantified
predicate that contained the subquery was evaluated to NULL when 
it should return a non-null value.
2006-10-19 23:05:53 -07:00
unknown
c208f46b66 Merge bk-internal:/home/bk/mysql-5.0-opt
into  macbook.gmz:/Users/kgeorge/mysql/work/B21798-5.0-opt-merge


sql/mysql_priv.h:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
mysql-test/r/subselect.result:
  merge fixes for bug 21798
mysql-test/t/subselect.test:
  merge fixes for bug 21798
2006-10-17 16:36:44 +03:00
gkodinov/kgeorge@macbook.gmz
a64ae1844d Merge bk-internal:/home/bk/mysql-5.0-opt
into  macbook.gmz:/Users/kgeorge/mysql/work/B21798-5.0-opt-merge
2006-10-17 16:36:44 +03:00
unknown
841ea461ce Bug#21798: memory leak during query execution with subquery in column
list using a function
When executing dependent subqueries they are re-inited and re-exec() for 
each row of the outer context.
The cause for the bug is that during subquery reinitialization/re-execution,
the optimizer reallocates JOIN::join_tab, JOIN::table in make_simple_join()
and the local variable in 'sortorder' in create_sort_index(), which is
allocated by make_unireg_sortorder().
Care must be taken not to allocate anything into the thread's memory pool
while re-initializing query plan structures between subquery re-executions.
All such items mush be cached and reused because the thread's memory pool
is freed at the end of the whole query.
Note that they must be cached and reused even for queries that are not 
otherwise cacheable because otherwise it will grow the thread's memory 
pool every time a cacheable query is re-executed. 
We provide additional members to the JOIN structure to store references 
to the items that need to be cached.


mysql-test/r/subselect.result:
  Bug#21798: memory leak during query execution with subquery in column
              list using a function
   - test case
mysql-test/t/subselect.test:
  Bug#21798: memory leak during query execution with subquery in column
              list using a function
   - test case
sql/mysql_priv.h:
  Bug#21798: memory leak during query execution with subquery in column
              list using a function
   - cache the entities allocated in the threads memory pool by
     JOIN::exec ().
sql/sql_delete.cc:
  Bug#21798: memory leak during query execution with subquery in column
              list using a function
   - cache the SORT_ORDER, TABLE * and JOIN_TAB allocated in the thread's 
     memory pool by JOIN::exec ().
sql/sql_select.cc:
  Bug#21798: memory leak during query execution with subquery in column
              list using a function
   - cache the SORT_ORDER, TABLE * and JOIN_TAB allocated in the thread's 
     memory pool by JOIN::exec ().
sql/sql_select.h:
  Bug#21798: memory leak during query execution with subquery in column
              list using a function
   - cache the SORT_ORDER, TABLE * and JOIN_TAB allocated in the thread's 
     memory pool by JOIN::exec ().
sql/sql_table.cc:
  Bug#21798: memory leak during query execution with subquery in column
              list using a function
   - cache the SORT_ORDER, TABLE * and JOIN_TAB allocated in the thread's 
     memory pool by JOIN::exec ().
sql/sql_update.cc:
  Bug#21798: memory leak during query execution with subquery in column
              list using a function
   - cache the SORT_ORDER, TABLE * and JOIN_TAB allocated in the thread's 
     memory pool by JOIN::exec ().
2006-10-17 16:20:26 +03:00
gkodinov/kgeorge@macbook.gmz
f7b8937661 Bug#21798: memory leak during query execution with subquery in column
list using a function
When executing dependent subqueries they are re-inited and re-exec() for 
each row of the outer context.
The cause for the bug is that during subquery reinitialization/re-execution,
the optimizer reallocates JOIN::join_tab, JOIN::table in make_simple_join()
and the local variable in 'sortorder' in create_sort_index(), which is
allocated by make_unireg_sortorder().
Care must be taken not to allocate anything into the thread's memory pool
while re-initializing query plan structures between subquery re-executions.
All such items mush be cached and reused because the thread's memory pool
is freed at the end of the whole query.
Note that they must be cached and reused even for queries that are not 
otherwise cacheable because otherwise it will grow the thread's memory 
pool every time a cacheable query is re-executed. 
We provide additional members to the JOIN structure to store references 
to the items that need to be cached.
2006-10-17 16:20:26 +03:00
unknown
b66640ffbb Merge neptunus.(none):/home/msvensson/mysql/same_tools/my41-same_tools
into  neptunus.(none):/home/msvensson/mysql/mysql-4.1-maint


mysql-test/r/subselect.result:
  Auto merged
mysql-test/t/ps.test:
  Auto merged
mysql-test/t/subselect.test:
  Auto merged
2006-10-06 13:18:52 +02:00
msvensson@neptunus.(none)
37be4fdff6 Merge neptunus.(none):/home/msvensson/mysql/same_tools/my41-same_tools
into  neptunus.(none):/home/msvensson/mysql/mysql-4.1-maint
2006-10-06 13:18:52 +02:00
unknown
471798a137 Merge neptunus.(none):/home/msvensson/mysql/same_tools/my50-same_tools
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint


mysql-test/r/mysqltest.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
BitKeeper/deleted/.del-mtr_stress.pl:
  Auto merged
mysql-test/r/ps_6bdb.result:
  Auto merged
mysql-test/r/ps_7ndb.result:
  Auto merged
mysql-test/r/query_cache.result:
  Auto merged
mysql-test/r/subselect.result:
  Auto merged
mysql-test/t/mysqltest.test:
  Auto merged
mysql-test/t/ps.test:
  Auto merged
mysql-test/t/sp.test:
  Auto merged
mysql-test/t/subselect.test:
  Auto merged
BitKeeper/deleted/.del-mtr_im.pl:
  Delete: mysql-test/lib/mtr_im.pl
client/mysqltest.c:
  Use remote
mysql-test/mysql-test-run.pl:
  Use remote
mysql-test/lib/mtr_process.pl:
  Use remote
2006-10-06 13:16:57 +02:00
msvensson@neptunus.(none)
5a15eeca7c Merge neptunus.(none):/home/msvensson/mysql/same_tools/my50-same_tools
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint
2006-10-06 13:16:57 +02:00
unknown
c797e79b0a Merge shellback.(none):/home/msvensson/mysql/same_tools/my41-same_tools
into  shellback.(none):/home/msvensson/mysql/same_tools/my50-same_tools


mysql-test/include/ps_query.inc:
  Auto merged
mysql-test/r/check.result:
  Auto merged
mysql-test/r/connect.result:
  Auto merged
mysql-test/r/flush.result:
  Auto merged
mysql-test/r/flush_block_commit.result:
  Auto merged
mysql-test/r/func_misc.result:
  Auto merged
mysql-test/r/lock_multi.result:
  Auto merged
mysql-test/r/mix_innodb_myisam_binlog.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/rename.result:
  Auto merged
mysql-test/r/rpl000001.result:
  Auto merged
mysql-test/r/rpl_error_ignored_table.result:
  Auto merged
mysql-test/r/rpl_master_pos_wait.result:
  Auto merged
BitKeeper/deleted/.del-rpl000018.test:
  Auto merged
BitKeeper/deleted/.del-rpl_heap.test:
  Auto merged
mysql-test/r/subselect.result:
  Auto merged
mysql-test/r/synchronization.result:
  Auto merged
mysql-test/t/ps.test:
  Auto merged
mysql-test/t/ps_1general.test:
  Auto merged
mysql-test/t/ps_grant.test:
  Auto merged
mysql-test/t/rpl_flush_tables.test:
  Auto merged
mysql-test/t/rpl_trunc_temp.test:
  Auto merged
mysql-test/t/subselect.test:
  Auto merged
BitKeeper/deleted/.del-show_msg80.inc:
  Delete: mysql-test/include/show_msg80.inc
BitKeeper/deleted/.del-init_file.result:
  Delete: mysql-test/r/init_file.result
BitKeeper/deleted/.del-mysql_client_test.result:
  Delete: mysql-test/r/mysql_client_test.result
BitKeeper/deleted/.del-show_msg.inc:
  Delete: mysql-test/include/show_msg.inc
client/Makefile.am:
  Use local file
client/mysqltest.c:
  Use backported version of mysqltest
mysql-test/r/mysqltest.result:
  Use backported file
mysql-test/t/mysqltest.test:
  Use backported version
mysql-test/r/type_blob.result:
  Manual merge
mysql-test/t/connect.test:
  Used local version
mysql-test/t/init_file.test:
  Manual merge
mysql-test/t/mysql_client_test.test:
  Manual merge
mysql-test/t/type_blob.test:
  Manual merge
2006-10-03 16:14:23 +02:00
msvensson@shellback.(none)
de8bc06266 Merge shellback.(none):/home/msvensson/mysql/same_tools/my41-same_tools
into  shellback.(none):/home/msvensson/mysql/same_tools/my50-same_tools
2006-10-03 16:14:23 +02:00
unknown
9368c7bcd8 Update mysqltest to latest version
- ie. backport from 5.1
 - also update testcase error dected by new version


mysql-test/include/show_msg.inc:
  BitKeeper file /home/msvensson/mysql/same_tools/my41-same_tools/mysql-test/include/show_msg.inc
mysql-test/include/show_msg80.inc:
  BitKeeper file /home/msvensson/mysql/same_tools/my41-same_tools/mysql-test/include/show_msg80.inc
BitKeeper/deleted/.del-rpl_chain_temp_table.test:
  Delete: mysql-test/t/rpl_chain_temp_table.test
BitKeeper/deleted/.del-rpl_chain_temp_table.result:
  Delete: mysql-test/r/rpl_chain_temp_table.result
BitKeeper/deleted/.del-rpl_failsafe.result:
  Delete: mysql-test/r/rpl_failsafe.result
BitKeeper/deleted/.del-rpl_failsafe.test:
  Delete: mysql-test/t/rpl_failsafe.test
BitKeeper/deleted/.del-rpl_heap.test:
  Delete: mysql-test/t/rpl_heap.test
BitKeeper/deleted/.del-rpl_heap.result:
  Delete: mysql-test/r/rpl_heap.result
BitKeeper/deleted/.del-rpl000018.result:
  Delete: mysql-test/r/rpl000018.result
BitKeeper/deleted/.del-rpl000018.test:
  Delete: mysql-test/t/rpl000018.test
client/Makefile.am:
  Link mysqltest with mysys/my_copy.c
client/mysqltest.c:
  Update mysqltest to latest version
mysql-test/include/have_multi_ndb.inc:
  Remove old syntax "@filename" in favor of "--require filename"
mysql-test/include/master-slave.inc:
  Remove old syntax "@filename" in favor of "--require filename"
mysql-test/include/ps_query.inc:
  Remove the comment about no output now when it does.
mysql-test/r/check.result:
  Update output from --send
mysql-test/r/connect.result:
  Update result file for connect test after backport form 5.1
mysql-test/r/flush.result:
  Update output from --send
mysql-test/r/flush_block_commit.result:
  Update output from --send
mysql-test/r/func_misc.result:
  Update output from --send
mysql-test/r/grant2.result:
  Update output from --send
mysql-test/r/handler.result:
  Update output from --send
mysql-test/r/kill.result:
  Update output from --send
mysql-test/r/lock_multi.result:
  Update output from --send
mysql-test/r/mix_innodb_myisam_binlog.result:
  Update output from --send
mysql-test/r/mysqltest.result:
  Update mysqltest.result after backport
mysql-test/r/ps_2myisam.result:
  Update result as the output from query is now printed
mysql-test/r/ps_3innodb.result:
  Update result as the output from query is now printed
mysql-test/r/ps_4heap.result:
  Update result as the output from query is now printed
mysql-test/r/ps_5merge.result:
  Update result as the output from query is now printed
mysql-test/r/ps_6bdb.result:
  Update result as the output from query is now printed
mysql-test/r/ps_7ndb.result:
  Update result as the output from query is now printed
mysql-test/r/rename.result:
  Update output from --send
mysql-test/r/rpl000001.result:
  Update output from --send
mysql-test/r/rpl_error_ignored_table.result:
  Update output from --send
mysql-test/r/rpl_master_pos_wait.result:
  Update output from --send
mysql-test/r/subselect.result:
  Update result file after adding missing ;
mysql-test/r/synchronization.result:
  Update output from --send
mysql-test/r/type_blob.result:
  Update result file after adding missing ;
mysql-test/t/connect.test:
  Backport test from 5.1
mysql-test/t/init_file.test:
  Update test so something is printed
mysql-test/t/mysql_client_test.test:
  Update test so result is sent to file and something is printed
mysql-test/t/mysqltest.test:
  Backport latest mysqltest.test file
mysql-test/t/ps.test:
  Move the --replace_column statement to just before the statetement it should replace
mysql-test/t/ps_1general.test:
  Move the --replace_column statement to just before the statetement it should replace
mysql-test/t/ps_grant.test:
  Remove the $DB, no other test uses it
mysql-test/t/rpl_flush_tables.test:
  Fetch $SERVER_VERSION from the db server
mysql-test/t/rpl_trunc_temp.test:
  Remove the selection of connection master after it's been disconnected already
mysql-test/t/subselect.test:
  Add missing ;
mysql-test/t/type_blob.test:
  Add missing ;
2006-10-03 15:33:44 +02:00
msvensson@shellback.(none)
2cea0e6b13 Update mysqltest to latest version
- ie. backport from 5.1
 - also update testcase error dected by new version
2006-10-03 15:33:44 +02:00
unknown
39222bff45 Merge rurik.mysql.com:/home/igor/mysql-4.1-opt
into  rurik.mysql.com:/home/igor/mysql-5.0-opt


mysql-test/r/subselect.result:
  Manual merge
mysql-test/t/subselect.test:
  Manual merge
sql/item.cc:
  Manual merge
2006-09-25 06:46:15 -07:00
igor@rurik.mysql.com
c0569012d0 Merge rurik.mysql.com:/home/igor/mysql-4.1-opt
into  rurik.mysql.com:/home/igor/mysql-5.0-opt
2006-09-25 06:46:15 -07:00
unknown
9bf2ed9553 Fixed bug #21853: assert failure for a grouping query with
an ALL/ANY quantified subquery in HAVING.
The Item::split_sum_func2 method should not create Item_ref
for objects of any class derived from Item_subselect.


mysql-test/r/subselect.result:
  Added a test case for bug #21853.
mysql-test/t/subselect.test:
  Added a test case for bug #21853.
2006-09-25 05:24:07 -07:00
igor@rurik.mysql.com
55dd569bab Fixed bug #21853: assert failure for a grouping query with
an ALL/ANY quantified subquery in HAVING.
The Item::split_sum_func2 method should not create Item_ref
for objects of any class derived from Item_subselect.
2006-09-25 05:24:07 -07:00
unknown
de5b4eba91 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  rakia.(none):/home/kgeorge/mysql/autopush/B21540-5.0-opt


mysql-test/r/func_group.result:
  Auto merged
sql/item_sum.cc:
  Auto merged
2006-09-19 19:18:52 +03:00
gkodinov/kgeorge@rakia.(none)
2da037c7d5 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  rakia.(none):/home/kgeorge/mysql/autopush/B21540-5.0-opt
2006-09-19 19:18:52 +03:00
unknown
7a0f9c8d4c Merge dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-4.1-opt
into  dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-5.0-opt


mysql-test/r/subselect.result:
  SCCS merged
mysql-test/t/subselect.test:
  SCCS merged
2006-09-18 11:19:40 +02:00
gkodinov@dl145s.mysql.com
522823b5d3 Merge dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-4.1-opt
into  dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-5.0-opt
2006-09-18 11:19:40 +02:00
unknown
e5345197ed Merge bk-internal:/home/bk/mysql-4.1-opt
into  macbook.gmz:/Users/kgeorge/mysql/work/B21180-4.1-opt


mysql-test/r/subselect.result:
  merge of 4.1-opt
mysql-test/t/subselect.test:
  merge of 4.1-opt
sql/opt_range.h:
  merge of 4.1-opt
2006-09-15 18:56:05 +03:00
gkodinov/kgeorge@macbook.gmz
c73d2318a3 Merge bk-internal:/home/bk/mysql-4.1-opt
into  macbook.gmz:/Users/kgeorge/mysql/work/B21180-4.1-opt
2006-09-15 18:56:05 +03:00
unknown
2a00a073c2 Bug #21540: Subqueries with no from and aggregate functions return
wrong results
 Mark the containing Item(s) (Item_subselect descendant usually) of 
 a subselect as containing aggregate functions if it has references
 to aggregates functions that are calculated outside its context.
 This tels end_send_group() not to make an Item_subselect descendant in
 select list a copy and causes the correct value being returned.


mysql-test/r/func_group.result:
  Bug #21540: Subqueries with no from and aggregate functions return
              wrong results
   - test cases
mysql-test/r/subselect.result:
  Bug #21540: Subqueries with no from and aggregate functions return
              wrong results
   - fixed the result of an existing testcase.
mysql-test/t/subselect.test:
  Bug #21540: Subqueries with no from and aggregate functions return
              wrong results
   - test cases
sql/item_sum.cc:
  Bug #21540: Subqueries with no from and aggregate functions return
              wrong results
   Mark the containing Item (Item_subselect descendant usually) of 
   a subselect as containing aggregate functions if it has references
   to aggregates functions that are calculated outside its context.
   This tels end_send_group() not to make an Item_subselect descendant in
   select list a copy and causes the correct value being returned.
2006-09-08 19:04:46 +03:00
gkodinov/kgeorge@macbook.gmz
5bc16fd954 Bug #21540: Subqueries with no from and aggregate functions return
wrong results
 Mark the containing Item(s) (Item_subselect descendant usually) of 
 a subselect as containing aggregate functions if it has references
 to aggregates functions that are calculated outside its context.
 This tels end_send_group() not to make an Item_subselect descendant in
 select list a copy and causes the correct value being returned.
2006-09-08 19:04:46 +03:00
unknown
a0e959271d Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  rakia.(none):/home/kgeorge/mysql/autopush/B14654-5.0-opt


mysql-test/r/subselect.result:
  Auto merged
mysql-test/t/subselect.test:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2006-09-04 11:34:32 +03:00
gkodinov/kgeorge@rakia.(none)
43e05210c5 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  rakia.(none):/home/kgeorge/mysql/autopush/B14654-5.0-opt
2006-09-04 11:34:32 +03:00
unknown
c9bba13aee Bug#14654 : Cannot select from the same table twice within a UNION statement
Made the parser to support parenthesis around UNION branches.
 This is done by amending the rules of the parser so it generates the correct
 structure.
 Currently it supports arbitrary subquery/join/parenthesis operations in the 
 EXISTS clause. 
 In the IN/scalar subquery case it will allow adding nested parenthesis only 
 if there is an UNION clause after the parenthesis. Otherwise it will just  
 treat the multiple nested parenthesis as a scalar expression.
 It adds extra lex level for ((SELECT ...) UNION ...) to accommodate for the
 UNION clause.


mysql-test/r/subselect.result:
  Bug#14654 : Cannot select from the same table twice within a UNION statement
   - test cases
mysql-test/t/subselect.test:
  Bug#14654 : Cannot select from the same table twice within a UNION statement
   - test cases
sql/sql_yacc.yy:
  Bug#14654 : Cannot select from the same table twice within a UNION statement
   - shuffle around the rules for the parenthesis in subselect
2006-08-31 18:00:25 +03:00
gkodinov/kgeorge@macbook.gmz
e5bc4c7e77 Bug#14654 : Cannot select from the same table twice within a UNION statement
Made the parser to support parenthesis around UNION branches.
 This is done by amending the rules of the parser so it generates the correct
 structure.
 Currently it supports arbitrary subquery/join/parenthesis operations in the 
 EXISTS clause. 
 In the IN/scalar subquery case it will allow adding nested parenthesis only 
 if there is an UNION clause after the parenthesis. Otherwise it will just  
 treat the multiple nested parenthesis as a scalar expression.
 It adds extra lex level for ((SELECT ...) UNION ...) to accommodate for the
 UNION clause.
2006-08-31 18:00:25 +03:00
unknown
251409bbf3 BUG#16255: Merge to 5.0 2006-08-24 20:56:28 +04:00
sergefp@mysql.com
84e9cb794f BUG#16255: Merge to 5.0 2006-08-24 20:56:28 +04:00
unknown
f895a16c72 BUG#16255: Post-review fixes: adjust the testcase.
mysql-test/r/subselect.result:
  BUG#16255: A proper testcase
mysql-test/t/subselect.test:
  BUG#16255: A proper testcase
2006-08-24 19:16:27 +04:00
sergefp@mysql.com
848548e16f BUG#16255: Post-review fixes: adjust the testcase. 2006-08-24 19:16:27 +04:00
unknown
c74c819533 Bug #16255: Subquery in WHERE (the cset by Georgi Kodinov)
Must not use Item_direct_ref in HAVING because it points to
 the new value (witch is not yet calculated for the first row).


mysql-test/r/subselect.result:
  Bug #16255: Subquery in where
   - test case
mysql-test/t/subselect.test:
  Bug #16255: Subquery in where
   - test case
sql/item_subselect.cc:
  Bug #16255: Subquery in where
   Must not use Item_direct_ref in HAVING because it points to
   the new value (witch is not yet calculated for the first row).
2006-08-24 19:14:36 +04:00
sergefp@mysql.com
d4cacdb5cc Bug #16255: Subquery in WHERE (the cset by Georgi Kodinov)
Must not use Item_direct_ref in HAVING because it points to
 the new value (witch is not yet calculated for the first row).
2006-08-24 19:14:36 +04:00
unknown
8462d3a46a Bug #21180: Subselect with index for both WHERE and ORDER BY produces empty result
Reseting subqueries with "quick" access methods was incomplete.
 Partially backported the correct reseting of QUICK_SELECTs from 5.x.


mysql-test/r/subselect.result:
  Bug #21180: Subselect with index for both WHERE and ORDER BY produces empty result
   - test case
mysql-test/t/subselect.test:
  Bug #21180: Subselect with index for both WHERE and ORDER BY produces empty result
   - test case
sql/opt_range.cc:
  Bug #21180: Subselect with index for both WHERE and ORDER BY produces empty result
   - partially backported the correct reseting of QUICK_SELECTs from 5.x.
sql/opt_range.h:
  Bug #21180: Subselect with index for both WHERE and ORDER BY produces empty result
   - partially backported the correct reseting of QUICK_SELECTs from 5.x.
2006-08-03 19:20:30 +03:00
gkodinov/kgeorge@macbook.gmz
3183f73601 Bug #21180: Subselect with index for both WHERE and ORDER BY produces empty result
Reseting subqueries with "quick" access methods was incomplete.
 Partially backported the correct reseting of QUICK_SELECTs from 5.x.
2006-08-03 19:20:30 +03:00
unknown
8fc51f7aa6 Merge mysql.com:/home/psergey/mysql-4.1-opt
into  mysql.com:/home/psergey/mysql-5.0-opt2


mysql-test/r/subselect.result:
  Manual merge
mysql-test/t/subselect.test:
  Manual merge
2006-07-22 02:41:29 +04:00
sergefp@mysql.com
964a4b5f95 Merge mysql.com:/home/psergey/mysql-4.1-opt
into  mysql.com:/home/psergey/mysql-5.0-opt2
2006-07-22 02:41:29 +04:00