uninitialized value fixed
sql/item_cmpfunc.cc:
fixed uninitialized used_tables_cache
othyer caches moved on proper place
sql/item_subselect.cc:
fixed reported table bit
sql/mysql_priv.h:
after merge chenges.
sql/sql_parse.cc:
used same new operator for all allocation in subroutine
sql/sql_union.cc:
fake st_select_lex should have item list for ref_array allocation
sql/sql_yacc.yy:
after merge changing
sql/item.cc:
As far as now transformer called after setup_wild() it is impossible to have '*' Item
sql/item.h:
As far as now transformer called after setup_wild() it is impossible to have '*' Item
sql/item_subselect.cc:
replaced Item_ref_on_list_position (which need erly ref_array initialisation)
sql/mysql_priv.h:
setup_ref_array moved to st_select_lex class
sql/sql_delete.cc:
setup_ref_array moved to st_select_lex class
sql/sql_derived.cc:
setup_ref_array moved to st_select_lex class
sql/sql_lex.cc:
removed double initialisation
select_n_having_items moved to any query initializations, because it used in setup_ref_array method
setup_ref_array moved to st_select_lex class
sql/sql_lex.h:
setup_ref_array moved to st_select_lex class
sql/sql_select.cc:
setup_ref_array moved to st_select_lex class
sql/sql_table.cc:
setup_ref_array moved to st_select_lex class
sql/sql_union.cc:
setup_ref_array moved to st_select_lex class
sql/sql_update.cc:
setup_ref_array moved to st_select_lex class
mysql-test/r/subselect.result:
test of new optimisation
mysql-test/t/subselect.test:
test of new optimisation
sql/item_subselect.cc:
special subselect to finding max/min of returned values
optimisation of independent ALL/ANY with aggregate function
sql/item_subselect.h:
special subselect to finding max/min of returned values
sql/sql_class.cc:
class for collaction result for max/min subquery
sql/sql_class.h:
class for collaction result for max/min subquery
sql/item_cmpfunc.cc:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/item_subselect.h:
Auto merged
sql/item_sum.cc:
Auto merged
sql/sql_union.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
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)
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)
into sanja.is.com.ua:/home/bell/mysql/bk/work-simple_in-4.1
mysql-test/r/subselect.result:
Auto merged
mysql-test/t/subselect.test:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/item_sum.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_select.cc:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_sum.cc:
Auto merged
sql/sql_derived.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_union.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/item.cc:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
mysql-test/r/subselect.result:
merge
fixed test
mysql-test/t/subselect.test:
merge
fixed test
by MAX/MIN in some cases:
SELECT coercibility(max(s1)) from t1;
Subselect collation and derivation was not processed
correctly:
create table a select (select s1 from t1);
select * from t1 where s1 = (select s2 from t1);
by MAX/MIN in some cases:
SELECT coercibility(max(s1)) from t1;
Subselect collation and derivation was not processed
correctly:
create table a select (select s1 from t1);
select * from t1 where s1 = (select s2 from t1);
removerd unused loop_id
mysql-test/r/subselect.result:
test of BUG#922
mysql-test/t/subselect.test:
test of BUG#922
sql/item.cc:
removerd unused loop_id
we need count HAVING clause elements, because agregate function can be present in it
sql/item.h:
removerd unused loop_id
sql/item_subselect.cc:
new name of field
sql/sql_derived.cc:
new name of field
sql/sql_lex.cc:
new name of field
sql/sql_lex.h:
new name of field
sql/sql_select.cc:
new name of field
sql/sql_union.cc:
new name of field
(SCRUM) (WL#1086)
mysql-test/r/subselect.result:
new optimisation tests
mysql-test/t/subselect.test:
new optimisation tests
sql/item_cmpfunc.cc:
new NOT
sql/item_cmpfunc.h:
new NOT
sql/item_subselect.cc:
independent ALL/ANY in top of WHERE clause optimisation
sql/item_subselect.h:
independent ALL/ANY in top of WHERE clause optimisation
sql/item_sum.cc:
prevent fixlields call for parameters of min/max if it is already done
sql/sql_union.cc:
removed debuging print
sql/sql_yacc.yy:
support of ALL optimisation
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
BitKeeper/etc/ignore:
auto-union
BitKeeper/etc/logging_ok:
auto-union
BitKeeper/deleted/.del-cron-build:
Delete: netware/BUILD/cron-build
BitKeeper/deleted/.del-crontab:
Delete: netware/BUILD/crontab
BitKeeper/triggers/post-commit:
Auto merged
client/mysql.cc:
Auto merged
client/mysqltest.c:
Auto merged
configure.in:
Auto merged
include/my_global.h:
Auto merged
include/my_pthread.h:
Auto merged
include/mysql_com.h:
Auto merged
libmysqld/Makefile.am:
Auto merged
myisam/mi_check.c:
Auto merged
myisam/myisamchk.c:
Auto merged
myisam/myisamdef.h:
Auto merged
myisam/sort.c:
Auto merged
mysql-test/r/connect.result:
Auto merged
mysql-test/r/rpl_temporary.result:
Auto merged
mysql-test/r/show_check.result:
Auto merged
mysql-test/r/variables.result:
Auto merged
mysql-test/t/subselect.test:
Auto merged
mysql-test/t/variables.test:
Auto merged
netware/BUILD/compile-AUTOTOOLS:
Auto merged
netware/BUILD/compile-linux-tools:
Auto merged
netware/BUILD/compile-netware-END:
Auto merged
netware/BUILD/compile-netware-START:
Auto merged
netware/BUILD/compile-netware-all:
Auto merged
netware/BUILD/compile-netware-debug:
Auto merged
netware/BUILD/compile-netware-standard:
Auto merged
netware/BUILD/mwasmnlm:
Auto merged
netware/BUILD/mwccnlm:
Auto merged
netware/BUILD/mwldnlm:
Auto merged
netware/BUILD/nwbootstrap:
Auto merged
sql/filesort.cc:
Auto merged
sql/ha_myisam.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_create.cc:
Auto merged
sql/item_func.h:
Auto merged
sql/log.cc:
Auto merged
sql/log_event.cc:
Auto merged
sql/protocol.cc:
Auto merged
sql/records.cc:
Auto merged
sql/repl_failsafe.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_db.cc:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_derived.cc:
Auto merged
sql/sql_error.cc:
Auto merged
sql/sql_load.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_repl.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_union.cc:
Auto merged
(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
It looks like samll revolution in SELECT_LEX tree, but it was only natural way to solve problem with name resolution of external fields inside subselect which belongs to global order of union
also it have following advantages:
- removed mess with current_select type conversion
- type checking/converting
- a lot of virtual methods
- fake select for union execution allocated only once (it was allocated for every subselect with union executing)
changes:
fixed bug with outer fields name resolution of subqueries which belong to global ORDER BY clause
remuved select_lex() function, now thd->lex.current_select always have type SELECT_LEX
new SELECT_LEX (fake_select_lex) will be allocated in case of UNION for using in UNION processing
fake_select_lex allocated for union hold global ORDER BY & LIMIT clauses and have linkage equal to GLOBAL_OPTIONS_TYPE
new description of SELECT_LEX tree
(SCRUM)
sql/item.cc:
global parameters moved to fake_select_lex
sql/item_subselect.cc:
global parameters moved to fake_select_lex
sql/item_sum.cc:
no need type checking & converion now
sql/sql_delete.cc:
no need type checking & converion now
sql/sql_derived.cc:
global parameters moved to fake_select_lex
sql/sql_lex.cc:
not used fields/mrthods moved from st_select_lex_node to st_select_lex
global parameters moved to fake_select_lex
sql/sql_lex.h:
comments about new tree of select_lex s
not used fields/mrthods moved from st_select_lex_node to st_select_lex
global parameters moved to fake_select_lex
sql/sql_parse.cc:
global parameters moved to fake_select_lex
allocation of fake_select_lex on demand
sql/sql_select.cc:
now fake_select_lex marked as GLOBAL_OPTIONS_TYPE
sql/sql_union.cc:
global parameters moved to fake_select_lex
sql/sql_yacc.yy:
global parameters moved to fake_select_lex
It looks like samll revolution in SELECT_LEX tree, but it was only natural way to solve problem with name resolution of external fields inside subselect which belongs to global order of union
also it have following advantages:
- removed mess with current_select type conversion
- type checking/converting
- a lot of virtual methods
- fake select for union execution allocated only once (it was allocated for every subselect with union executing)
changes:
fixed bug with outer fields name resolution of subqueries which belong to global ORDER BY clause
remuved select_lex() function, now thd->lex.current_select always have type SELECT_LEX
new SELECT_LEX (fake_select_lex) will be allocated in case of UNION for using in UNION processing
fake_select_lex allocated for union hold global ORDER BY & LIMIT clauses and have linkage equal to GLOBAL_OPTIONS_TYPE
new description of SELECT_LEX tree
(SCRUM)
fixed dependence of items from reduced subquery
(SCRUM)
sql/item.cc:
fixed dependence of items from reduced subquery
sql/item.h:
fixed dependence of items from reduced subquery
Item tree iterator
sql/item_cmpfunc.cc:
Item tree iterator
sql/item_cmpfunc.h:
Item tree iterator
sql/item_func.cc:
Item tree iterator
sql/item_func.h:
Item tree iterator
sql/item_row.cc:
Item tree iterator
sql/item_row.h:
Item tree iterator
sql/item_strfunc.h:
Item tree iterator
sql/item_subselect.cc:
Item tree iterator
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
into sanja.is.com.ua:/home/bell/mysql/bk/work-top2-4.1
mysql-test/r/subselect.result:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_select.cc:
Auto merged
fixed BUG #726
mysql-test/r/subselect.result:
test of bug #726
mysql-test/t/subselect.test:
test of bug #726
sql/item_cmpfunc.cc:
cond_count moved to SELECT_LEX_NODE
sql/item_subselect.cc:
fixed current_select pointer
sql/sql_base.cc:
cond_count moved to SELECT_LEX_NODE
sql/sql_class.cc:
cond_count moved to SELECT_LEX_NODE
sql/sql_class.h:
cond_count moved to SELECT_LEX_NODE
sql/sql_lex.cc:
cond_count moved to SELECT_LEX_NODE
sql/sql_lex.h:
cond_count moved to SELECT_LEX_NODE
sql/sql_select.cc:
cond_count moved to SELECT_LEX_NODE
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
into sanja.is.com.ua:/home/bell/mysql/bk/work-item-4.1
sql/item.cc:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/item_sum.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_union.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
(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