- 29 Nov, 2006 1 commit
-
-
unknown authored
prepared statement and subquery. When a field of a view from an outer select is resolved the find_field_in_view function creates an Item_direct_view_ref object that references the corresponding view underlying field. After that the view_ref is marked as a dependent one. While resolving view underlying field it also get marked as a dependent one due to current_select still points to the subselect. Marking the view underlying field is wrong and lead to attaching conditions to a wrong table and thus to the wrong result of the whole statement. Now mark_select_range_as_dependent() function isn't called for fields from a view underlying table. sql/sql_base.cc: Bug#20327: Marking of a wrong field leads to a wrong result on select with view, prepared statement and subquery. Now mark_select_range_as_dependent() function isn't called for fields from a view underlying table. mysql-test/r/ps.result: Added a test case for bug#20327: Marking of a wrong field leads to a wrong result on select with view, prepared statement and subquery. mysql-test/t/ps.test: Added a test case for bug#20327: Marking of a wrong field leads to a wrong result on select with view,prepared statement and subquery.
-
- 09 Nov, 2006 3 commits
-
-
unknown authored
into rakia.gmz:/home/kgeorge/mysql/autopush/B20191-5.0-opt sql/sql_select.cc: Auto merged
-
unknown authored
When compiling GROUP BY Item_ref instances are dereferenced in setup_copy_fields(), i.e. replaced with the corresponding Item_field (if they point to one) or Item_copy_string for the other cases. Since the Item_ref (in the Item_field case) is no longer used the information about the aliases stored in it is lost. Fixed by preserving the column, table and DB alias on dereferencing Item_ref mysql-test/r/metadata.result: Bug #20191: getTableName gives wrong or inconsistent result when using VIEWs - test case mysql-test/t/metadata.test: Bug #20191: getTableName gives wrong or inconsistent result when using VIEWs - test case sql/item.cc: Bug #20191: getTableName gives wrong or inconsistent result when using VIEWs - use the table and db name to fill up the metadata for columns sql/sql_select.cc: Bug #20191: getTableName gives wrong or inconsistent result when using VIEWs - preserve the field, table and DB name on dereferencing an Item_ref
-
unknown authored
into mysql.com:/home/hf/work/8663/my50-8663
-
- 08 Nov, 2006 3 commits
- 07 Nov, 2006 9 commits
-
-
unknown authored
Don't assume that condition that was pushed down into subquery has produced exactly one KEY_FIELD element - it could produce several or none at all, handle all of those cases.
-
unknown authored
into rakia.gmz:/home/kgeorge/mysql/autopush/B11032-5.0-opt
-
unknown authored
into mysql.com:/home/hf/work/mysql-5.0.clean
-
unknown authored
sql/field.cc: datatime length is 19, not 12
-
unknown authored
into macbook.gmz:/Users/kgeorge/mysql/work/B11032-5.0-opt mysql-test/r/subselect.result: merge fixes mysql-test/t/subselect.test: merge fixes sql/item_subselect.cc: merge fixes sql/item_subselect.h: merge fixes
-
unknown authored
- 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
-
unknown authored
merge fixes sql/item.cc: merge fixes
-
unknown authored
into dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-5.0-opt sql/item.cc: Auto merged mysql-test/r/order_by.result: SCCS merged
-
unknown authored
into mysql.com:/home/hf/work/8663/my50-8663 mysql-test/r/gis-rtree.result: Auto merged
-
- 06 Nov, 2006 6 commits
-
-
unknown authored
include/my_time.h: we need to use it outside the my_time.cc mysql-test/r/gis-rtree.result: result fixed sql-common/my_time.c: 'static' removed sql/field.cc: checks for invalid datetimes added
-
unknown authored
mysql-test/r/gis-rtree.result: merging fix
-
unknown authored
into mysql.com:/home/hf/work/8663/my50-8663 mysql-test/r/type_newdecimal.result: merging mysql-test/t/type_newdecimal.test: merging
-
unknown authored
into mysql.com:/home/hf/work/8663/my50-8663 sql/item_func.cc: Auto merged
-
unknown authored
into mysql.com:/home/hf/work/21790/my50-21790 mysql-test/t/gis-rtree.test: Auto merged mysql-test/r/gis-rtree.result: merging
-
unknown authored
into mysql.com:/home/hf/work/19491/my50-19491 sql/item.cc: Auto merged sql/item.h: Auto merged
-
- 03 Nov, 2006 1 commit
-
-
unknown authored
The parser is allocating Item_field for references by name in ORDER BY expressions. Such expressions however may point not only to Item_field in the select list (or to a table column) but also to an arbitrary Item. This causes Item_field::fix_fields to throw an error about missing column. The fix substitutes Item_field for the reference with an Item_ref when not pointing to Item_field. mysql-test/r/order_by.result: Bug #22457: Column alias in ORDER BY works, but not if in an expression - test case mysql-test/t/order_by.test: Bug #22457: Column alias in ORDER BY works, but not if in an expression - test case sql/item.cc: Bug #22457: Column alias in ORDER BY works, but not if in an expression - transform the Item_field made by the parser into Item_ref if it doesn't point to Item_field and it is in allowed context
-
- 01 Nov, 2006 4 commits
-
-
unknown authored
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
-
unknown authored
into mysql.com:/home/hf/work/mysql-5.0.19491 sql/field.cc: Auto merged sql/field.h: Auto merged sql/item.cc: Auto merged sql/item.h: Auto merged sql/item_timefunc.cc: Auto merged
-
unknown authored
-
unknown authored
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.
-
- 31 Oct, 2006 8 commits
-
-
unknown authored
into mysql.com:/home/psergey/mysql-5.0-bug8804-r4 sql/sql_lex.cc: Auto merged sql/sql_lex.h: Auto merged
-
unknown authored
- Better comments - Remove redundant and dead code.
-
unknown authored
the fix.
-
unknown authored
Evaluate "NULL IN (SELECT ...)" in a special way: Disable pushed-down conditions and their "consequences": = Do full table scans instead of unique_[index_subquery] lookups. = Change appropriate "ref_or_null" accesses to full table scans in subquery's joins. Also cache value of NULL IN (SELECT ...) if the SELECT is not correlated wrt any upper select. mysql-test/r/subselect.result: BUG#8804: wrong results for NULL IN (SELECT ...): - Updated test results sql/item.h: BUG#8804: wrong results for NULL IN (SELECT ...): - Added comments sql/item_cmpfunc.cc: BUG#8804: wrong results for NULL IN (SELECT ...): Made Item_in_optimizer to: - cache the value of "NULL IN (uncorrelated select)" - Turn off pushed-down predicates when evaluating "NULL IN (SELECT ...)" sql/item_cmpfunc.h: BUG#8804: wrong results for NULL IN (SELECT ...): - Made Item_in_optimizer cache the value of "NULL IN (uncorrelated select)" - Added comments sql/item_subselect.cc: BUG#8804: wrong results for NULL IN (SELECT ...): - When needed, wrap the predicates we push into subquery into an Item_func_trig_cond so we're able to turn them off when evaluating NULL IN (SELECT ...). - Added code to evaluate NULL IN (SELECT ...) in a special way: = In [unique_]index_subquery, do full table scan to see if there are any rows. = For other subqueries, change ref[_or_null] to ALL if the ref[_or_null] was created from pushed-down predicate. sql/item_subselect.h: BUG#8804: wrong results for NULL IN (SELECT ...): - Added Item_subselect::is_correlated - Added comments sql/records.cc: BUG#8804: wrong results for NULL IN (SELECT ...): - Make rr_sequential() non-static sql/sql_lex.cc: BUG#8804: wrong results for NULL IN (SELECT ...): - Added st_select_lex::is_correlated and Item_subselect::is_correlated. sql/sql_lex.h: BUG#8804: wrong results for NULL IN (SELECT ...): - Added st_select_lex::is_correlated sql/sql_select.cc: BUG#8804: wrong results for NULL IN (SELECT ...): - Added KEY_FIELD::outer_ref to keep track of which ref accesses are created from predicates that were pushed down into the subquery. sql/sql_select.h: BUG#8804: wrong results for NULL IN (SELECT ...): - Added KEYUSE::outer_ref mysql-test/r/subselect3.result: New BitKeeper file ``mysql-test/r/subselect3.result'' mysql-test/t/subselect3.test: New BitKeeper file ``mysql-test/t/subselect3.test''
-
unknown authored
into mysql.com:/usersnfs/abotchkov/mysql-5.0-opt1
-
unknown authored
into rakia.gmz:/home/kgeorge/mysql/autopush/B21809-5.0-opt sql/item.cc: Auto merged sql/item_func.cc: Auto merged sql/item_func.h: Auto merged sql/sql_lex.cc: Auto merged sql/sql_lex.h: Auto merged
-
unknown authored
into rakia.gmz:/home/kgeorge/mysql/autopush/B23184-5.0-opt
-
unknown authored
Item::val_xxx() may be called by the server several times at execute time for a single query. Calls to val_xxx() may be very expensive and sometimes (count(distinct), sum(distinct), avg(distinct)) not possible. To avoid that problem the results of calculation for these aggregate functions are cached so that val_xxx() methods just return the calculated value for the second and subsequent calls. mysql-test/r/func_group.result: Bug #23184: SELECT causes server crash - test case mysql-test/t/func_group.test: Bug #23184: SELECT causes server crash - test case sql/item_sum.cc: Bug #23184: SELECT causes server crash - caching of the aggregate function results so no need to recalculate at val_xxx() sql/item_sum.h: Bug #23184: SELECT causes server crash - caching of the aggregate function results so no need to recalculate at val_xxx()
-
- 30 Oct, 2006 1 commit
-
-
unknown authored
decimal->ulong conversion fixed to assign max possible ULONG if decimal is bigger Item_func_unsigned now handles DECIMAL parameter separately as we can't rely on decimal::val_int result here. mysql-test/r/type_newdecimal.result: result fixed mysql-test/t/type_newdecimal.test: testcase sql/item_func.cc: DECIMAL_RESULT should be handled separately here as it's always signed. strings/decimal.c: here we assign max possible ULONG if the decimal value is bigger
-
- 25 Oct, 2006 1 commit
-
-
unknown authored
mysql-test/r/type_datetime.result: result fixed mysql-test/r/type_newdecimal.result: result fixed mysql-test/t/type_datetime.test: testcase mysql-test/t/type_newdecimal.test: testcase sql/field.cc: Field_new_decimal::store_time implemented sql/field.h: Field_new_decimal::store_time added sql/item.cc: auxiliary methods implemented to operate with datatimes sql/item.h: auxiliary methods declared in Item to operate with datatimes sql/item_timefunc.cc: Item_date::save_in_field old implementation removed sql/item_timefunc.h: my_decimal and save_in_field methods implemented for datetime items sql/my_decimal.cc: date2my_decimal implemented sql/my_decimal.h: date2my_decimal declared
-
- 24 Oct, 2006 3 commits