mysql-test/r/cast.result:
test result fixed
mysql-test/t/cast.test:
test case added
sql/item_func.cc:
checks for NULL added
strings/decimal.c:
we need to return specified 'scale' for the rounded decimal
When the GROUP BY clause contains a column reference that can be resolved to
both an aliased column in the SELECT list, and to a column in the FROM clause,
the group column is resolved to the column in the FROM clause (for ANSI conformance).
However, it may be so that the user's intent is just the other way around, and he/she
gets the query results grouped by a completely different column than expexted.
This patch adds a warning in such cases that tells the user that there is potential
ambiguity in the group column.
sql/sql_select.cc
- Added a warning when a GROUP column is ambiguous due to that there is a
column reference with the same name both in the SELECT and FROM clauses.
In this case we resolve to the column in FROM clause and warn the user
of a possible ambiguity.
- More extensive comments.
- Changed the function to return bool instead of int (as in other places).
mysql-test/t/group_by.test
Added test for BUG#11211.
mysql-test/r/group_by.result
Added test for BUG#11211.
mysql-test/r/group_by.result:
Import patch 11211.diff
mysql-test/t/group_by.test:
Import patch 11211.diff
sql/sql_select.cc:
Import patch 11211.diff
BitKeeper/etc/ignore:
Added ndb/src/dummy.cpp to the ignore list
mysql-test/r/alias.result:
Added warning for potentially ambiguous column.
mysql-test/r/having.result:
Added warning for potentially ambiguous column.
mysql-test/r/query_cache.result:
testing cursors in SP with QC
testing suspicious but working using selects in function with QC
mysql-test/t/query_cache.test:
testing cursors in SP with QC
testing suspicious but working using selects in function with QC
sql/sp_head.h:
method for prohibiting of QC using SP query
sql/sp_rcontext.cc:
prohibit opening Query cache for SP cursors
sql/sp_rcontext.h:
constructor moved to .cc file to be able to use methods from lex_keeper
The problem was that when there was no MIN or MAX function, after finding the
group prefix based on the DISTINCT or GROUP BY attributes we did not search further
for a key in the group that satisfies the equi-join conditions on attributes that
follow the group attributes. Thus we ended up with the wrong rows, and subsequent
calls to select_cond->val_int() in evaluate_join_record() were filtering those
rows. Hence - the query result set was empty.
The problem occured both for GROUP BY queries without MIN/MAX and for queries
with DISTINCT (which were internally executed as GROUP BY queries).
mysql-test/r/group_min_max.result:
Added test result for BUG#11044. Notice that the group by query is
equivalent to the distinct query and both are executed via the same
algorithm.
mysql-test/t/group_min_max.test:
Added test for BUG#11044. Notice that the group by query is
equivalent to the distinct query and both are executed via the
same algorithm.
sql/opt_range.cc:
* Use the extended prefix in QUICK_GROUP_MIN_MAX_SELECT::get_next()
to find keys that satisfy equality conditions in the case when there is
no MIN or MAX function.
* Corrected some method comments.
* Corrected debug printout of cost information.
Correction for test case of bug #11142.
mysql-test/t/func_if.test:
Correction for test case of bug #11142.
mysql-test/r/func_if.result:
Correction for test case of bug #11142.
Added a test case for bug #11142.
item_cmpfunc.cc:
Fixed bug #11142.
Implementation of Item_func_nullif::is_null was corrected.
sql/item_cmpfunc.cc:
Fixed bug #11142.
Implementation of Item_func_nullif::is_null was corrected.
mysql-test/t/func_if.test:
Added a test case for bug #11142.
mysql-test/r/func_if.result:
Added a test case for bug #11142.
into igor-inspiron.creware.com:/home/igor/dev/mysql-5.0-0
BitKeeper/etc/logging_ok:
auto-union
mysql-test/r/ctype_utf8.result:
Auto merged
sql/sql_select.cc:
Auto merged
Added a test case for bug #11167.
sql_select.cc:
Fixed bug #11167.
In 4.1 char/varchar fields are limited by 255 characters in
length that make them longer than 255 bytes in size for such
character sets as UTF8. The functions store_record_in_cache
and read_cached_records did not take into account this
Moreover the code did not take into account that the size
of the varchar fields in 5.0 can be up to 65535 bytes
sql/sql_select.cc:
Fixed bug #11167.
In 4.1 char/varchar fields are limited by 255 characters in
length that make them longer than 255 bytes in size for such
character sets as UTF8. The functions store_record_in_cache
and read_cached_records did not take into account this
Moreover the code did not take into account that the size
of the varchar fields in 5.0 can be up to 65535 bytes
mysql-test/r/ctype_utf8.result:
Added a test case for bug #11167.
mysql-test/t/ctype_utf8.test:
Added a test case for bug #11167.
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
into mysql.com:/home/pem/work/mysql-5.0
mysql-test/r/sp.result:
Auto merged
mysql-test/t/sp.test:
Auto merged
sql/item_func.cc:
Auto merged
sql/sp_head.cc:
Auto merged
sql/sp_rcontext.cc:
Auto merged
Fixed valgrind complaints. This fixes the memory leak problems for
procedured, and partially for functions. There's still a leak involving
results from functions that turned out to be too involved, so it will be
fixed separately.
mysql-test/r/sp.result:
Fixed some minor mistake (spotted while debugging).
mysql-test/t/sp.test:
Fixed some minor mistake (spotted while debugging).
sql/item_func.cc:
Moved Item_func_sp::cleanup() from item_func.h to ease debugging,
and made a debug output come out right.
sql/item_func.h:
Moved Item_func_sp::cleanup() to item_func.cc to ease debugging.
sql/sp_head.cc:
Fixed valgrind problems with the previous memory leak fix (unit cleanup and
putting result field in a differen mem_root), and removed prealloc flag from
init_alloc_root() calls.
sql/sp_rcontext.cc:
New mem_root pointer used for return fields from functions.
sql/sp_rcontext.h:
New mem_root pointer used for return fields from functions.
into mysql.com:/home/jimw/my/mysql-5.0-clean
mysys/hash.c:
Auto merged
sql/ha_heap.h:
Auto merged
configure.in:
Resolve conflicts from 4.1
mysql-test/r/heap.result:
Update results
mysql-test/t/heap.test:
Merge from 4.1
- show_msg.inc - displays a message followed by a line of '-' at the length of the messgae
- show_msg80.inc - displays a message followed by a line of '-' with a fixed length of 80
mysql-test/r/mysqltest.result:
Updated result file
mysql-test/t/mysqltest.test:
Added test cases to test the show_msg.inc and show_msg80.inc auxiliary files
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
Added a test case for bug #10084.
sql_yacc.yy:
Fixed bug #10084: STRAIGHT_JOIN for expressions with ON was
added.
sql/sql_yacc.yy:
Fixed bug #10084: STRAIGHT_JOIN for expressions with ON was
added.
mysql-test/r/select.result:
Added a test case for bug #10084.
mysql-test/t/select.test:
Added a test case for bug #10084.
Report error instead of crashing
mysql-test/r/create.result:
Test for bug 11028
mysql-test/t/create.test:
Test for bug 11028
sql/sql_table.cc:
fix for null db name
mysql-test/r/type_newdecimal.result:
test result fixed
mysql-test/t/type_newdecimal.test:
test case added
strings/decimal.c:
in round(999.9, 0) case we have to increase intg
This is to close Bug#10975, Bug#7115, Bug#10605
This feature will be implemented in a future release.
mysql-test/r/sp-error.result:
Test results fixed (test coverage for disabled Dynamic SQL in SP).
mysql-test/t/sp-error.test:
Test coverage to disable Dynamic SQL in stored routines.
sql/sql_yacc.yy:
Disable dynamic SQL in stored routines.
the case in the FROM and WHERE clauses didn't agree. (Bug #9500)
mysql-test/r/lowercase_table2.result:
Update results
mysql-test/t/lowercase_table2.test:
Fix 'DROP TABLE' to not drop tables with the same name.
sql/mysqld.cc:
Move initialization of table_alias_charset to after we
have decided what lower_case_table_names should be.
In order to make multi-delete SP friendly we need to have all table
locks for the elements of main statement table list properly set
at the end of parsing.
Also performed small cleanup: We don't need relink_tables_for_multidelete()
any longer since the only case now when TABLE_LIST::correspondent_table
is non-zero are tables in auxilary table list of multi-delete and these
tables are handled specially in mysql_multi_delete_prepare().
mysql-test/r/sp-threads.result:
Added test case for bug #11158 "Can't perform multi-delete in stored
procedure".
mysql-test/t/sp-threads.test:
Added test case for bug #11158 "Can't perform multi-delete in stored
procedure".
sql/mysql_priv.h:
- Removed third argument from the declaration of multi_delete_precheck()
as nowdays we calculate number of tables in multi-delete from which
we are going to delete rows right at the end of statement parsing.
- Introduced definition of multi_delete_set_locks_and_link_aux_tables()
which is responsible for propagation of proper table locks from
multi-delete's auxilary table list to the main list and binding
corresponding tables in these two lists.
sql/sql_base.cc:
Removed relink_tables_for_multidelete() routine and its invocations.
We don't need them in 5.0 since the only case now when
TABLE_LIST::correspondent_table is non-zero are tables in auxilary table
list of multi-delete and these tables are handled specially in
mysql_multi_delete_prepare().
sql/sql_lex.h:
LEX::table_count
Added description of new role of this LEX member for multi-delete.
Now for this statement we store number of tables from which we should
delete records there.
sql/sql_parse.cc:
multi_delete_precheck():
Moved code which is responsible for iterating through auxilary table
list and binding its elements with corresponding elements of main
table list, and properly updating locks in it to separate function -
multi_delete_set_locks_and_link_aux_tables(). This is because in order
to make multi-delete SP friendly we need to have all locks set properly
at the end of statement parsing. So we are introducing new function
which will be called from parser.
We also calculate number of tables from which we are going to perform
deletions there and store this number for later usage in
LEX::table_count.
Also removed some no longer needed code.
sql/sql_prepare.cc:
mysql_test_multidelete():
Now multi_delete_precheck() takes only two arguments, so we don't
need to pass fake third parameter.
sql/sql_yacc.yy:
delete:
In order to make multi-delete SP friendly we need to have all table
locks for the elements of main statement table list properly set
at the end of parsing.
mysql-test/r/type_newdecimal.result:
test result fixed
mysql-test/t/type_newdecimal.test:
test case added
sql/my_decimal.h:
we neede to check for zero here not to get -0.00
mysql-test/r/create.result:
test result fixed
mysql-test/r/distinct.result:
test result fixed
mysql-test/t/distinct.test:
test case added
sql/item_cmpfunc.cc:
max_length should be calculated differently for DECIMAL_RESULT and others
mysql-test/r/func_math.result:
test result ixed
mysql-test/t/func_math.test:
test case added
sql/item_strfunc.cc:
Item_func_format::val_str now handles 'decimal' and 'double' values in
different way