refernces if subqueri is not in HAVING clause (BUG#7079)
and the same used for subquery transformetion
mysql-test/r/subselect.result:
reference on changable fields from subquery
mysql-test/t/subselect.test:
reference on changable fields from subquery
sql/item.cc:
new reference which refer to current value not to result used
sql/item.h:
new reference which refer to current value not to result used
sql/item_subselect.cc:
new reference which refer to current value not to result used
sql/item_cmpfunc.cc:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/item_sum.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
mysql-test/r/subselect.result:
SCCS merged
mysql-test/t/subselect.test:
SCCS merged
mysql-test/r/subselect.result:
Equal operation under row and empty subquery
mysql-test/t/subselect.test:
Equal operation under row and empty subquery
sql/item.h:
init values to avoid junk returning in case of null value asking without assigning value
results." a.k.a. "Proper cleanup of subqueries is missing for SET and DO
statements". (Version #2 with after-review fixes).
To perform proper cleanup for statements that can contain subqueries
but don't have main select we must call free_undelaid_joins().
mysql-test/r/subselect.result:
Added test for bug #6462 "Same request on same data returns different
results." a.k.a. "Proper cleanup of subqueries is missing for SET and DO
statements".
mysql-test/t/subselect.test:
Added test for bug #6462 "Same request on same data returns different
results." a.k.a. "Proper cleanup of subqueries is missing for SET and DO
statements".
sql/set_var.cc:
Added missing cleanup of joins used in subqueries to SET statement.
sql/sql_do.cc:
Added missing cleanup of joins used in subqueries to DO statement.
fixed null processing in NOT operation used in ALL subquery (Bug #6247)
mysql-test/r/subselect.result:
new tests of ALL/ANY wiews
mysql-test/t/subselect.test:
new tests of ALL/ANY wiews
sql/item_cmpfunc.cc:
fixed special NOT ALL processing
fixed processing max/min optimized subqueries with empty results (added methods to detect empty results) and special NOP operation to process them for SOME/ANY sobqueries
sql/item_cmpfunc.h:
fixed processing max/min optimized subqueries with empty results (added methods to detect empty results) and special NOP operation to process them for SOME/ANY sobqueries
sql/item_subselect.cc:
reporting empty result added for max/min subqueries
sql/item_subselect.h:
reporting empty result added for max/min subqueries
sql/item_sum.cc:
reporting empty result added fox max/min aggregate functions
sql/item_sum.h:
reporting empty result added fox max/min aggregate functions
sql/sql_class.cc:
reporting empty result added for max/min subqueries
sql/sql_parse.cc:
reporting empty result added for max/min subqueries
sql/sql_union.cc:
reporting empty result added for max/min subqueries
mysql-test/r/subselect.result:
subqueries with full text search
mysql-test/t/subselect.test:
subqueries with full text search
sql/ha_myisam.h:
backport Serg's fix of FT interface
sql/handler.h:
backport Serg's fix of FT interface
sql/opt_range.h:
backport Serg's fix of FT interface
sql/sql_select.cc:
comment for previous patch
fixed cleunup of TMP_TABLE_PARAM
(BUG#6406)
mysql-test/r/subselect.result:
primary query with temporary table and subquery with groupping
mysql-test/t/subselect.test:
primary query with temporary table and subquery with groupping
sql/sql_class.h:
fixed cleunup of TMP_TABLE_PARAM
sql/sql_select.cc:
uncacheable test made simplier
fixed joincleunup to avoid double deletin tables, and too earlyfull cleanup in case of EXPLAIN
mysql-test/r/subselect.result:
Subselect in non-select command just after connection
mysql-test/t/subselect.test:
Subselect in non-select command just after connection
sql/sql_lex.cc:
moved procedure initialization
sql/sql_parse.cc:
moved procedure initialization
improved mechanisn of detection posibility to be NULL for single row queries
switched off substitution optimisation for single row subqueries in PS due to problem in resolving substituted expressions
(changes to make subselects test working with PS protocol)
mysql-test/r/subselect.result:
removed incorrect error message about aggregate functions
improved mechanisn of detection posibility to be NULL for single row queries
mysql-test/t/subselect.test:
removed incorrect error message about aggregate functions
sql/item_subselect.cc:
removed incorrect error message about aggregate functions
switched off substitution optimisation for single row subqueries in PS due to problem in resolving substituted expressions
improved mechanisn of detection posibility to be NULL for single row queries
sql/item_subselect.h:
new method to help in NULL ability detection
prepared statements when LIMIT is used" and post-review comments.
The fix changes the approach we calculate the need for ORDER BY
in UNION: the previous was not PS friendly, as it damaged SELECT_LEX
options in case of single select.
mysql-test/r/ps.result:
Test results fixed: the test case for Bug#6088
mysql-test/r/subselect.result:
Test results fixed: now we don't perform ORDER BY for parts of UNION
if there is no LIMIT clause.
mysql-test/t/ps.test:
A test case for Bug#6088 "FOUND_ROWS returns wrong values for
prepared statements when LIMIT is used".
sql/sql_union.cc:
The actual fix for Bug#6088:
- don't modify SELECT_LEX'es
- use boolean variable can_skip_order_by to check if we can skip
ORDER BY in UNION
single row subquery always can return NULL (no rows found) (BUG#5590)
mysql-test/r/subselect.result:
maybe_null flag returning by subquwery for temporary table creation
mysql-test/t/subselect.test:
maybe_null flag returning by subquwery for temporary table creation
sql/item.cc:
storing maybe_null in type holder
sql/item_subselect.cc:
single row subquery always can return NULL (no rows found)
sql/sql_derived.cc:
fixed error handling if creating derived table failed
allowed parsing of table fields inside aggregate functions
added new tests of fields resolving in grouping
mysql-test/r/func_gconcat.result:
allowed parsing of table fields inside aggregate functions
mysql-test/r/subselect.result:
added new tests of fields resolving in grouping
mysql-test/t/func_gconcat.test:
allowed parsing of table fields inside aggregate functions
mysql-test/t/subselect.test:
added new tests of fields resolving in grouping
sql/item_subselect.cc:
allowed parsing of table fields inside aggregate functions
sql/item_subselect.cc:
Auto merged
sql/item_subselect.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
We have next problem here:
active_index is wrong in the subselect's handler on the second val_int() call.
Optimizer sees that we can use index-read for that kind of condition,
and matching_cond() (sql/opt_sum.cc) doesn't. I suspect, proper solution is
to add appropriate code to the matching_cond() but now just added
missed initialization.
mysql-test/r/subselect.result:
Appropriate test result
mysql-test/t/subselect.test:
Test case added
sql/records.cc:
index's initialization added
mysql-test/r/func_gconcat.result:
fix of test queries
mysql-test/r/subselect.result:
resolving fields of grouped outer SELECT
mysql-test/t/func_gconcat.test:
fix of test queries
mysql-test/t/subselect.test:
resolving fields of grouped outer SELECT
sql/item.cc:
skip resolving field in table list if table list is not accessable due to groupping
layout fixed
sql/item_subselect.cc:
detection of place of subquery
sql/item_subselect.h:
detection of place of subquery
sql/mysql_priv.h:
enum_parsing_place made global type
sql/sql_lex.cc:
enum_parsing_place made global type
sql/sql_lex.h:
enum_parsing_place made global type
sql/sql_yacc.yy:
enum_parsing_place made global type
mysql-test/r/subselect.result:
Optimized IN with compound index test
mysql-test/t/subselect.test:
Optimized IN with compound index test
sql/item_subselect.cc:
in case of compound index fill all parts
restoring current senect pointer before PS rexecution (backport from 5.0)
removed spaces at lines ends
mysql-test/r/subselect.result:
Aggregate function comparation with ALL/ANY/SOME subselect test
mysql-test/t/subselect.test:
Aggregate function comparation with ALL/ANY/SOME subselect test
sql/item_subselect.cc:
removed spaces at lines ends
aggregate functions check during substitution made only for single row subselects
sql/item_subselect.h:
removed spaces at lines ends
sql/sql_prepare.cc:
restoring current senect pointer before PS rexecution (backport from 5.0)
BitKeeper/etc/ignore:
auto-union
BitKeeper/etc/logging_ok:
auto-union
Build-tools/Do-compile:
Auto merged
include/my_global.h:
Auto merged
innobase/row/row0ins.c:
Auto merged
libmysql/libmysql.c:
Auto merged
libmysqld/Makefile.am:
Auto merged
mysql-test/mysql-test-run.sh:
Auto merged
mysql-test/r/func_time.result:
Auto merged
mysql-test/r/subselect.result:
Auto merged
scripts/mysql_install_db.sh:
Auto merged
sql/field.cc:
Auto merged
sql/field.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
innobase/fil/fil0fil.c:
merge (Use heikki's code)
Fixed problem with NULL and derived tables (Bug #4097)
Cleanup of new pushed code
BitKeeper/etc/ignore:
added mysql-test/ndb/ndbcluster
client/mysqltest.c:
simple cleanup
innobase/os/os0file.c:
fix for netware
libmysql/libmysql.c:
Fixed some byte order bugs with prepared statements on machines with
high-byte-first. (Bug #4173)
myisam/ft_boolean_search.c:
Comment cleanup
myisam/mi_check.c:
Removed not needed check (check is done in check_index())
myisam/mi_unique.c:
crc must be of type ha_checksum.
myisam/myisamchk.c:
Portability fix.
mysql-test/mysql-test-run.sh:
Simple cleanup
mysql-test/r/subselect.result:
Test problem with NULL and derived tables (Bug #4097)
mysql-test/t/subselect.test:
Test problem with NULL and derived tables (Bug #4097)
sql/mysqld.cc:
Remove not used defines
sql/sql_select.cc:
Fixed problem with NULL and derived tables (Bug #4097)
Indentation fixes
sql/sql_string.cc:
Code cleanup
sql/sql_yacc.yy:
Allow one to use DROP PREPARE ...
mysql-test/r/subselect.result:
new length in UNION
mysql-test/r/union.result:
new length in UNION
test of int with wrong display length
mysql-test/t/union.test:
test of int with wrong display length
sql/item.cc:
new length detection for non-string
sql/item.h:
new length detection for non-string
mysql-test/r/subselect.result:
outer fields resolving in INSERT/REPLACE and CRETE with SELECT
mysql-test/t/subselect.test:
outer fields resolving in INSERT/REPLACE and CRETE with SELECT
sql/sql_parse.cc:
fixed field resolving mode fo INSERT/REPLACE and CRETE with SELECT
sql/sql_prepare.cc:
fixed field resolving mode fo INSERT/REPLACE and CRETE with SELECT
close table before opening in optimize
mysql-test/r/subselect.result:
test of EXISTS(SELECT * ...)
mysql-test/t/subselect.test:
test of EXISTS(SELECT * ...)
sql/sql_base.cc:
EXISTS(SELECT * ...)
sql/sql_table.cc:
close table before opening one
removed influence of some tests on other tests
mysql-test/r/multi_update.result:
removed influence on other tests
mysql-test/r/subselect.result:
if exists should not be used inside test
mysql-test/t/multi_update.test:
removed influence on other tests
mysql-test/t/subselect.test:
if exists should not be used inside test
mysql-test/t/system_mysql_db_fix.test:
removed influence on other tests
mysql-test/r/derived.result:
explain of hidden subselect changed according to review
mysql-test/r/subselect.result:
explain of hidden subselect changed according to review
mysql-test/r/union.result:
explain of hidden subselect changed according to review
sql/sql_class.h:
we bo not need sign for now
sql/sql_lex.h:
we do not need sign for now
into sanja.is.com.ua:/home/bell/mysql/bk/work-explain-4.1
mysql-test/r/subselect.result:
Auto merged
mysql-test/t/subselect.test:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_union.cc:
Auto merged
mysql-test/r/subselect.result:
Auto merged
mysql-test/r/union.result:
Auto merged
sql/item.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_union.cc:
SCCS merged
mysql-test/r/subselect.result:
ALL/ANY test
mysql-test/t/subselect.test:
ALL/ANY test
sql/item_subselect.cc:
keep old engine & JOIN if we changed subquery Item, which allow avoid second all SELECT items fix_fields call with pervios clean up (because of second setup_tables which remove table->key_use and maybe something else)
keep list when we change Item in SELECT list
processing inserted max/min function (now JOIN::prepare will be called only once)
methods of changing item for subselect engines
sql/item_subselect.h:
change item & results procedure
sql/item_sum.cc:
Item_sum_hybrid::clear moved to .cc file (to keep .h clean and to make inserving/removing debug info easy)
sql/item_sum.h:
Item_sum_hybrid::clear moved to .cc file (to keep .h clean and to make inserving/removing debug info easy)
sql/sql_lex.cc:
note about new method
sql/sql_lex.h:
method for changing result of UNION JOINs
sql/sql_select.cc:
method for changing result in JOIN
sql/sql_select.h:
method for changing result in JOIN
sql/sql_union.cc:
method for changing result in JOIN
EXPLAIN of hidden SELECT of UNION
mysql-test/r/derived.result:
explain of hidden select
mysql-test/r/subselect.result:
explain of hidden select
mysql-test/r/union.result:
explain of hidden select
correct error messages on explain
mysql-test/t/subselect.test:
show eliminated costants in WHERE clause
mysql-test/t/union.test:
correct error messages on EXPLAIN with union
sql/item.cc:
fixed name constructing for global ORDER BY items
sql/sql_class.h:
select ID can be negative (for hidden SELECTs)
removed unused field
sql/sql_lex.cc:
new flag of UNION EXPLAIN
sql/sql_lex.h:
new flag of UNION EXPLAIN
select ID can be negative (for hidden SELECTs)
sql/sql_select.cc:
EXPLAIN UNION using same routing which used for execution
explain for hidden SELECT of UNION
sql/sql_union.cc:
EXPLAIN UNION using same routing which used for execution
into sanja.is.com.ua:/home/bell/mysql/bk/work-ndb-4.1
mysql-test/r/subselect.result:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_union.cc:
Auto merged
sql/sql_update.cc:
Auto merged
SQL_SELECT_LIMIT as default will be applied only for SELECT statement if there was not explicit LIMIT clause
correct table list passed to class constructor of select_update
mysql-test/r/subselect.result:
do not show limit if it is not explicit
mysql-test/r/union.result:
test of LIMIT + ORDER
mysql-test/t/union.test:
test of LIMIT + ORDER
sql/ha_isammrg.h:
caching of queries with isammerge tables forbiden
sql/sql_cache.cc:
removed check on isammerge
sql/sql_lex.cc:
tag of explicit limit in statement
sql/sql_lex.h:
tag of explicit limit in statement
sql/sql_parse.cc:
blanks in empty line removed
no limit by default (SQL_SELECT_LIMIT as default will be applied only for SELECT statement if there was not explicit LIMIT clause)
sql/sql_union.cc:
reverted incorrect patch
sql/sql_update.cc:
reverted incorrect patch
correct table list passed to class constructor
sql/sql_yacc.yy:
explicit LIMIT marked