fixed number of rows of external field reported to optimizer
added check of choosen key (checked left expression tag)
(SCRUM fix for simple IN optimisation)
mysql-test/r/subselect.result:
new EXPLAIN results ufter fixing used_tables() of Item_cache
sql/item_cmpfunc.cc:
fixed used_tables asignment
sql/item_subselect.cc:
added left expression referenca tag
sql/item_subselect.h:
fixed layout
sql/mysql_priv.h:
left expression reference tag
sql/mysqld.cc:
left expression reference tag
sql/sql_select.cc:
checked left expression reference tag
fixed number of rows in outer reference (it should be constant)
mysql-test/r/subselect.result:
results of new optimisation
mysql-test/t/subselect.test:
results of new optimisation
sql/item_cmpfunc.h:
function type
sql/item_func.h:
function type
sql/item_subselect.cc:
new optimisation for ref_or_null
sql/item_subselect.h:
new optimisation for ref_or_null
sql/sql_select.cc:
new optimisation for ref_or_null
sql/sql_select.h:
item_subselect.cc need safe_index_read
(SCRUM) (part of WL#818)
mysql-test/r/subselect.result:
test of new engine
mysql-test/t/subselect.test:
test of new engine
sql/item_subselect.cc:
new engine added
some common operation moved in separate method
sql/item_subselect.h:
new engine added
some common operation moved in separate method
sql/sql_select.cc:
new engine added
some common operation moved in separate method
sql/sql_select.h:
some common operation moved in separate method
(SCRUM) (part of WL#818)
mysql-test/r/subselect.result:
test of new optimisation
mysql-test/t/subselect.test:
test of new optimisation
sql/item_subselect.cc:
new engine for simple IN with primary index
sql/item_subselect.h:
new engine for simple IN with primary index
sql/sql_lex.h:
fixed typo
sql/sql_select.cc:
engine changing
report_error can't be static, because it used in new engine
sql/sql_select.h:
new JT_ type (just for information in EXPLAIN statement)
report_error can't be static, because it used in new engine
removed outer resolving flag (because of movingtransformation after fix_fields)
sql/item.cc:
removed outer resolving flag (because of movingtransformation after fix_fields)
sql/item.h:
removed outer resolving flag (because of movingtransformation after fix_fields)
sql/item_cmpfunc.cc:
removed outer resolving flag (because of movingtransformation after fix_fields)
sql/item_cmpfunc.h:
removed outer resolving flag (because of movingtransformation after fix_fields)
sql/item_func.cc:
removed outer resolving flag (because of movingtransformation after fix_fields)
sql/item_func.h:
removed outer resolving flag (because of movingtransformation after fix_fields)
sql/item_row.cc:
removed outer resolving flag (because of movingtransformation after fix_fields)
sql/item_row.h:
removed outer resolving flag (because of movingtransformation after fix_fields)
sql/item_strfunc.h:
removed outer resolving flag (because of movingtransformation after fix_fields)
sql/item_subselect.cc:
after review changes
removed outer resolving flag (because of movingtransformation after fix_fields)
sql/item_subselect.h:
after review changes
removed outer resolving flag (because of movingtransformation after fix_fields)
sql/mysql_priv.h:
after review changes
sql/sql_base.cc:
after review changes
sql/sql_lex.cc:
after review changes
sql/sql_lex.h:
after review changes
sql/sql_select.cc:
after review changes
sql/sql_union.cc:
after review changes
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/item_subselect.h:
Auto merged
sql/sql_derived.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_union.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/table.h:
Auto merged
mysql-test/r/subselect.result:
merging (wiil be fixed after building)
sql/item_subselect.cc:
merging
sql/sql_select.cc:
merging
(bug #518 fixed)
mysql-test/r/subselect.result:
test of bug #518
mysql-test/t/subselect.test:
test of bug #518
sql/item_subselect.cc:
test and switch mem_root if it is necessary
exec() - wrapper around engine->exec() to test and switch mem_root if necessary
sql/item_subselect.h:
added storing THD for mem_root testinmg & switching
exec() - wrapper around engine->exec() to test and switch mem_root if necessary
removed "of is null" if it is possible
(this cset should be SCRUM related, but not approved as scrum task yet)
mysql-test/r/subselect.result:
new subselect test result (new place of error detecting & and more subselect reducing)
sql/item.cc:
layout fix
sql/item.h:
unneed ';'
fixed print pethod
sql/item_cmpfunc.cc:
new method to support transformation after fix_fields
sql/item_cmpfunc.h:
new method to support transformation after fix_fields
fixed Item printing
sql/item_subselect.cc:
new transformation
sql/item_subselect.h:
new transformation
sql/sql_derived.cc:
'table' & 'table_list' now is not union
sql/sql_lex.cc:
'table' & 'table_list' now is not union to support reinit only shared tables (but all)
sql/sql_lex.h:
mark fake st_select_lex
sql/sql_olap.cc:
fixed table assignment
TODO added
sql/sql_select.cc:
'table' & 'table_list' now is not union
transforming subselect
sql/sql_union.cc:
prepare make on fix_fields
sql/sql_yacc.yy:
fixed layout
sql/table.h:
'table & 'table_list' now is different fields
mysql-test/r/subselect.result:
new test results
test of bug 185
mysql-test/t/subselect.test:
test of bug 185
sql/item.h:
new method
sql/item_cmpfunc.cc:
new Item to control NULL value in HAVING clouse
sql/item_cmpfunc.h:
new Item to control NULL value in HAVING clouse
sql/item_subselect.cc:
if IN was rewrited through WHERE thien it will be rewrited in following way:
WHERE left_expr=item or is null(item) heving is_not_null_test(item)
sql/item_subselect.h:
Item_is_not_null_test can change was_null flag
sql/sql_select.cc:
some layout fix
merging with switching on static tables optimization (SCRUM)
fixed subselects with uncacheable results
added test for fixed bugs from bugreports
mysql-test/r/subselect.result:
changes in subselect test after switching on static tables optimization
fixed bug test added
uncacheable subselects
mysql-test/t/subselect.test:
changes in subselect test after switching on static tables optimization
fixed bug test added
uncacheable subselects
sql/item_create.cc:
fixed subselects with uncacheable results
sql/item_func.cc:
fixed subselects with uncacheable results
sql/item_subselect.cc:
fixed subselects with uncacheable results
clean up
sql/item_subselect.h:
fixed subselects with uncacheable results
sql/sql_lex.cc:
fixed subselects with uncacheable results
sql/sql_lex.h:
fixed subselects with uncacheable results
sql/sql_select.cc:
fixed bugs in temporary tables in subselect implementation
fixed subselects with uncacheable results
sql/sql_union.cc:
fixed subselects with uncacheable results
sql/sql_yacc.yy:
fixed subselects with uncacheable results
fixed bug of calling setup_fields without correct lex->current_select pointer in mysql_derived
more correct creation of reference in Item_field::fix_field
mysql-test/r/subselect.result:
new explain with subselect reduced
mysql-test/t/subselect.test:
new explain with subselect reduced
sql/item.cc:
support of subselect without FROM reducing
more correct creation of reference in Item_field::fix_field
sql/item.h:
support of subselect without FROM reducing
sql/item_cmpfunc.cc:
support of subselect without FROM reducing
sql/item_cmpfunc.h:
support of subselect without FROM reducing
sql/item_func.cc:
support of subselect without FROM reducing
sql/item_func.h:
support of subselect without FROM reducing
sql/item_row.cc:
support of subselect without FROM reducing
sql/item_row.h:
support of subselect without FROM reducing
sql/item_strfunc.h:
fixed layout
support of subselect without FROM reducing
sql/item_subselect.cc:
support of subselect without FROM reducing
sql/item_subselect.h:
support of subselect without FROM reducing
sql/mysql_priv.h:
reference in Item_field::fix_field related changes
sql/sql_base.cc:
reference in Item_field::fix_field related changes
sql/sql_derived.cc:
fixed bug of calling setup_fields without correct lex->current_select pointer
fiexd bug in LIMIT check
sql/item_subselect.cc:
more correct argument for translation function
fiexd bug in LIMIT check
sql/item_subselect.h:
more correct argument for translation function
mysql-test/r/subselect.result:
test of row IN subslect
mysql-test/t/subselect.test:
test of row IN subslect
sql/item.cc:
New helper Item - reference on item list by number
cache item for row
sql/item.h:
layout fixed
New helper Item - reference on item list by number
cache item for row
sql/item_cmpfunc.cc:
changed Item_in_optimizer to be able work with row
sql/item_cmpfunc.h:
changed Item_in_optimizer to be able work with row
sql/item_row.cc:
Fixed row Item to be compatible with row subselect
sql/item_row.h:
Fixed row Item to be compatible with row subselect
sql/item_subselect.cc:
changed name of class to corerectly reflex its function
row IN subselect
sql/item_subselect.h:
changed name of class to corerectly reflex its function
row IN subselect
sql/sql_class.cc:
changed name of class to corerectly reflex its function
sql/sql_class.h:
changed name of class to corerectly reflex its function
sql/sql_yacc.yy:
changed name of class to corerectly reflex its function
mysql-test/r/subselect.result:
test of simple row subselect
fixed table droping
mysql-test/t/subselect.test:
test of simple row subselect
fixed table dropimg
sql/item.cc:
Item_cache_str fixed to correctly store NULL and copy string value
sql/item.h:
Item_cache_str fixed to correctly store NULL and copy string value
sql/item_cmpfunc.cc:
support of simple row subselects
sql/item_subselect.cc:
support of simple row subselects
sql/item_subselect.h:
support of simple row subselects
sql/sql_class.cc:
support of simple row subselects
sql/item.h:
optimized single value subselect (to be used as row)
sql/item_subselect.cc:
optimized single value subselect (to be used as row)
sql/item_subselect.h:
optimized single value subselect (to be used as row)
sql/sql_class.cc:
optimized single value subselect (to be used as row)
fixed method definition (overloading instead of redefinition)
fixed time expression type definition
mysql-test/r/subselect.result:
test of subselect null test
mysql-test/t/subselect.test:
test of subselect null test
sql/item.h:
fixed method definition (overloading instead of redefinition)
sql/item_subselect.h:
fixed subselect null test
sql/item_timefunc.cc:
fixed time expression type definition
mysql-test/r/derived.result:
Auto merged
mysql-test/r/func_str.result:
Auto merged
mysql-test/r/select.result:
Auto merged
mysql-test/r/subselect.result:
Auto merged
mysql-test/r/union.result:
Auto merged
mysql-test/t/func_str.test:
Auto merged
sql/field.cc:
Auto merged
sql/field.h:
Auto merged
sql/item.h:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/item_subselect.h:
Auto merged
sql/item_sum.cc:
Auto merged
sql/item_sum.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_analyse.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_select.cc:
Auto merged
Class for sending data from server to client (Protocol)
This handles both the old ( <= 4.0 ) protocol and then new binary protocol that is used for prepared statements.
libmysql/libmysql.c:
Jump over reserved bits in the binary protocol
libmysqld/Makefile.am:
rename of net_pkg.cc to protocol.cc
mysql-test/r/case.result:
Fixed previously wrong test
mysql-test/r/cast.result:
Fixed previously wrong test
sql/Makefile.am:
Rename of net_pkg.cc to protocol.cc
sql/field.cc:
Binary protocol
Added key handling functions for new VARCHAR type
sql/field.h:
New protocol
sql/ha_berkeley.cc:
New protocol
sql/ha_berkeley.h:
New protocol
sql/ha_innodb.cc:
New protocol
sql/ha_myisam.cc:
New protocol
sql/item.cc:
New protocol
sql/item.h:
New protocol
sql/item_func.cc:
Removed old code from 3.23
sql/item_func.h:
Set cached_result_type as it was previosly used before set
sql/item_subselect.cc:
Standard make_field() is now good enough
sql/item_subselect.h:
Use default make_field()
sql/item_sum.cc:
Clean up Item_sum::make_field()
sql/item_sum.h:
Use standard make_field()
sql/item_timefunc.h:
return correct types for casts()
Use standard make_field()
sql/log_event.cc:
New protocol
sql/log_event.h:
New protocol
sql/mysql_priv.h:
Move things to protocol.h
sql/opt_range.cc:
Indentation cleanups + small optimization
sql/procedure.h:
Use MYSQL_TYPE instead of FIELD_TYPE
sql/protocol.cc:
Class for sending data from server to client.
This handles both the old ( <= 4.0 ) protocol and then new binary protocol that is used for prepared statements.
sql/repl_failsafe.cc:
New protocol
sql/slave.cc:
New protocol
sql/sql_acl.cc:
New protocol
sql/sql_base.cc:
Move send_fields() to protocol.cc
sql/sql_class.cc:
New protocol
sql/sql_class.h:
New protocol
sql/sql_db.cc:
New protocol
sql/sql_error.cc:
New protocol
sql/sql_handler.cc:
New protocol
sql/sql_help.cc:
New protocol
sql/sql_parse.cc:
Remove wrong assert (variable was not initalized at this point)
sql/sql_prepare.cc:
New protocol
sql/sql_repl.cc:
New protocol
sql/sql_select.cc:
New protocol
sql/sql_show.cc:
New protocol
sql/sql_string.h:
New functions used by the protocol functions
sql/sql_table.cc:
New protocol
sql/structs.h:
Make second_part ulong to prepare for ANSI sub-seconds
sql/time.cc:
New convert function needed by the new protocol functions
optimization of left expression evaluation
more descriptive method name
mysql-test/r/func_in.result:
test of _NEW_ IN behaviour with NULL
mysql-test/r/subselect.result:
test of _NEW_ IN/ALL/ANY/SOME behaviour with NULL
mysql-test/t/func_in.test:
test of _NEW_ IN behaviour with NULL
mysql-test/t/subselect.test:
test of _NEW_ IN/ALL/ANY/SOME behaviour with NULL
sql/item.cc:
_NEW_ IN/ALL/ANY/SOME behaviour with NULL
optimization of left expression evaluation
sql/item.h:
_NEW_ IN/ALL/ANY/SOME behaviour with NULL
optimization of left expression evaluation
sql/item_cmpfunc.cc:
_NEW_ IN/ALL/ANY/SOME behaviour with NULL
optimization of left expression evaluation
sql/item_cmpfunc.h:
_NEW_ IN/ALL/ANY/SOME behaviour with NULL
optimization of left expression evaluation
sql/item_subselect.cc:
_NEW_ IN/ALL/ANY/SOME behaviour with NULL
optimization of left expression evaluation
sql/item_subselect.h:
_NEW_ IN/ALL/ANY/SOME behaviour with NULL
optimization of left expression evaluation
sql/sql_class.cc:
more descriptive method name
sql/sql_union.cc:
more descriptive method name
fixed sunction-test select in IN bug
fixed unions in subselect bug
include/mysqld_error.h:
new warning
mysql-test/r/subselect.result:
test of * without tables in IN
test of sunction-test select in IN
test of unions in subselect
mysql-test/t/subselect.test:
test of * without tables in IN
test of sunction-test select in IN
test of unions in subselect
sql/item.cc:
fixed * substitution without tables
sql/item_subselect.cc:
fixed subselect rewriting with function-test subselect
sql/item_subselect.h:
mechanism for subselect removing
sql/share/czech/errmsg.txt:
new warning
sql/share/danish/errmsg.txt:
new warning
sql/share/dutch/errmsg.txt:
new warning
sql/share/english/errmsg.txt:
new warning
sql/share/estonian/errmsg.txt:
new warning
sql/share/french/errmsg.txt:
new warning
sql/share/german/errmsg.txt:
new warning
sql/share/greek/errmsg.txt:
new warning
sql/share/hungarian/errmsg.txt:
new warning
sql/share/italian/errmsg.txt:
new warning
sql/share/japanese/errmsg.txt:
new warning
sql/share/korean/errmsg.txt:
new warning
sql/share/norwegian-ny/errmsg.txt:
new warning
sql/share/norwegian/errmsg.txt:
new warning
sql/share/polish/errmsg.txt:
new warning
sql/share/portuguese/errmsg.txt:
new warning
sql/share/romanian/errmsg.txt:
new warning
sql/share/russian/errmsg.txt:
new warning
sql/share/serbian/errmsg.txt:
new warning
sql/share/slovak/errmsg.txt:
new warning
sql/share/spanish/errmsg.txt:
new warning
sql/share/swedish/errmsg.txt:
new warning
sql/share/ukrainian/errmsg.txt:
new warning
sql/sql_base.cc:
fixed case on no name field in UNION subselect
sql/sql_lex.cc:
mechanisp of removing single subselect for optimisation purposes
sql/sql_lex.h:
mechanisp of removing single subselect for optimisation purposes
sql/sql_parse.cc:
error handling
sql/sql_union.cc:
fixed unions in subselect
sql/sql_yacc.yy:
fixed Lex->describe flag appearence
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/item_subselect.h:
Auto merged
sql/item_sum.cc:
Auto merged
sql/item_sum.h:
Auto merged
sql/lex.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_parse.cc:
Auto merged
mysql-test/r/subselect.result:
test of cyclic reference
mysql-test/t/subselect.test:
test of cyclic reference
sql/share/czech/errmsg.txt:
new error message
sql/share/danish/errmsg.txt:
new error message
sql/share/dutch/errmsg.txt:
new error message
sql/share/english/errmsg.txt:
new error message
sql/share/estonian/errmsg.txt:
new error message
sql/share/french/errmsg.txt:
new error message
sql/share/german/errmsg.txt:
new error message
sql/share/greek/errmsg.txt:
new error message
sql/share/hungarian/errmsg.txt:
new error message
sql/share/italian/errmsg.txt:
new error message
sql/share/japanese/errmsg.txt:
new error message
sql/share/korean/errmsg.txt:
new error message
sql/share/norwegian-ny/errmsg.txt:
new error message
sql/share/norwegian/errmsg.txt:
new error message
sql/share/polish/errmsg.txt:
new error message
sql/share/portuguese/errmsg.txt:
new error message
sql/share/romanian/errmsg.txt:
new error message
sql/share/russian/errmsg.txt:
new error message
sql/share/serbian/errmsg.txt:
new error message
sql/share/slovak/errmsg.txt:
new error message
sql/share/spanish/errmsg.txt:
new error message
sql/share/swedish/errmsg.txt:
new error message
sql/share/ukrainian/errmsg.txt:
new error message
fixed subselects in ORDER bug
mysql-test/r/subselect.result:
test of subselects in ORDER clause
test of error handling bug
mysql-test/t/subselect.test:
test of subselects in ORDER clause
test of error handling bug
sql/item_subselect.cc:
fixed subselects in ORDER bug
sql/item_subselect.h:
fixed subselects in ORDER bug
sql/sql_select.cc:
fixed error handling
decreasing number of rules in sql_yacc.yy to satisfy bison limitation
fixed subselect Items initializer methods
mysql-test/r/subselect.result:
tests of ALL/ANY/SOME
mysql-test/t/subselect.test:
tests of ALL/ANY/SOME
sql/item_cmpfunc.cc:
ALL/ANY/SOME
sql/item_cmpfunc.h:
ALL/ANY/SOME
sql/item_subselect.cc:
ALL/ANY/SOME
fixed subselect Items initializer methods
sql/item_subselect.h:
ALL/ANY/SOME
fixed subselect Items initializer methods
sql/lex.h:
ALL/ANY/SOME
sql/mysql_priv.h:
decreasing number of rules in sql_yacc.yy to satisfy bison limitation
sql/sql_parse.cc:
decreasing number of rules in sql_yacc.yy to satisfy bison limitation
sql/sql_yacc.yy:
ALL/ANY/SOME
decreasing number of rules in sql_yacc.yy to satisfy bison limitation
mysql-test/r/subselect.result:
IN subselect test
mysql-test/t/subselect.test:
IN subselect test
sql/item.cc:
Item wrappers for IN subselect
sql/item.h:
Item wrappers for IN subselect
mysql-test/r/subselect.result:
test suite of string & date types with group function in subselects
mysql-test/t/subselect.test:
test suite of string & date types with group function in subselects
sql/item_subselect.cc:
fixed bug in string type with group function
sql/item_subselect.h:
fixed bug in string type with group function
sql/sql_class.cc:
fixed bug in date type with group function
new error handling
Item_ref bug fixed
include/mysql_com.h:
new error handling
query cache pointer description
mysql-test/r/distinct.result:
new result's after Monty's bug fixing
mysql-test/r/subselect.result:
subselect with union test
mysql-test/t/subselect.test:
subselect with union test
sql/item.cc:
subselect with union
Item_ref bug fixed
sql/item_cmpfunc.cc:
Monty's bug fixing
sql/item_subselect.cc:
TODO changing
subselect with union
sql/item_subselect.h:
subselect with union
sql/mysql_priv.h:
Item_ref bug fixed
sql/mysqld.cc:
new error handling
sql/net_pkg.cc:
new error handling
sql/net_serv.cc:
new error handling
sql/sql_base.cc:
Item_ref bug fixed
sql/sql_class.cc:
new error handling
sql/sql_class.h:
new error handling
sql/sql_derived.cc:
subselect with union
sql/sql_insert.cc:
new error handling (only with mysql_select now)
sql/sql_lex.cc:
subselect with union
sql/sql_lex.h:
subselect with union
sql/sql_parse.cc:
new error handling
sql/sql_select.cc:
new error handling
subselect with union
removed thd->where=0 hack
sql/sql_select.h:
subselect with union
sql/sql_union.cc:
subselect with union
sql/sql_update.cc:
new error handling (only with mysql_select now)
sql/sql_yacc.yy:
subselect with union
fixed bug in sum function in subselect
mysql-test/r/subselect.result:
subselect in having clause
mysql-test/t/subselect.test:
subselect in having clause
sql/item.cc:
subselect in having clause
sql/item.h:
subselect in having clause
sql/item_cmpfunc.cc:
subselect in having clause
sql/item_cmpfunc.h:
subselect in having clause
sql/item_func.cc:
subselect in having clause
sql/item_func.h:
subselect in having clause
sql/item_strfunc.h:
subselect in having clause
sql/item_subselect.cc:
subselect in having clause
sql/item_subselect.h:
subselect in having clause
sql/item_uniq.h:
subselect in having clause
sql/sql_base.cc:
subselect in having clause
sql/sql_class.cc:
subselect in having clause
sql/sql_class.h:
subselect in having clause
sql/sql_handler.cc:
subselect in having clause
sql/sql_lex.cc:
subselect in having clause
sql/sql_lex.h:
subselect in having clause
sql/sql_prepare.cc:
subselect in having clause
sql/sql_yacc.yy:
subselect in having clause
more correct parameters in result creation script
mysql-test/create-test-result:
more correct parameters in result creation script
mysql-test/r/subselect.result:
test of EXISTS
mysql-test/t/subselect.test:
test of EXISTS
sql/item_subselect.cc:
EXISTS type of subselect
sql/item_subselect.h:
EXISTS type of subselect
sql/sql_class.cc:
EXISTS type of subselect
sql/sql_class.h:
EXISTS type of subselect
sql/sql_yacc.yy:
EXISTS type of subselect
mysql-test/r/subselect.result:
depended subselect test
mysql-test/t/subselect.test:
depended subselect test
sql/item.cc:
resolving field names in depended queries
sql/item_subselect.cc:
move optimization just before execution, because we can't optimize inner depended subselect if have not optimized outer subselect
sql/item_subselect.h:
move optimization just before execution
sql/sql_lex.h:
some inline methods to hide internal SELECT_LEX structures
sql/sql_select.cc:
fixed error