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