mysql-test/r/view.result:
using sum(distinct ), cast(... as decimal) & avg(distinct ) in views
mysql-test/t/view.test:
using sum(distinct ), cast(... as decimal) & avg(distinct ) in views
sql/item.h:
Add a comment for Item::print
sql/item_func.cc:
Use functype(), not func_name() for item equvalence detection
sql/item_func.h:
Missed function typoes added
Add a comment for Item_func::func_name()
style fix
sql/item_strfunc.cc:
Use functype(), not func_name() for item equvalence detection
sql/item_strfunc.h:
Add missing func_name and func_type
sql/item_sum.cc:
Item_sum func_name report beggining of function till first argument
sql/item_sum.h:
Item_sum func_name report beggining of function till first argument
sql/item_timefunc.cc:
Use functype(), not func_name() for item equvalence detection
sql/item_timefunc.h:
Add missing func_name and func_type
sql/item_uniq.h:
Add missing func_name
Bug#8367 "low log doesn't gives complete information about prepared
statements"
Implement status variables for prepared statements commands (a port of
the patch by Andrey Hristov).
See details in comments to the changed files.
No test case as there is no way to test slow log/general log in
mysqltest.
mysql-test/r/ps_grant.result:
Now execute is logged with tag 'Execute' (changed result file).
sql/mysql_priv.h:
- remove obsolete macro.
- add declarations for new status variables.
- export function log_slow_statement, which now is used in sql_prepare.cc
sql/mysqld.cc:
Add status variables for prepared statements API: now we record
mysql_stmt_close, mysql_stmt_reset, mysql_stmt_prepare, mysql_stmt_execute
mysql_stmt_send_long_data, PREPARE, EXECUTE, DEALLOCATE.
sql/sql_parse.cc:
- account DEALLOCATE prepare as a Com_stmt_close command (close of a
prepared statement).
sql/sql_prepare.cc:
- fix a bug in SQL syntax for prepared statements + logging:
if we use --log and EXECUTE stmt USING @no_such_variable;, the
server crashed because the old code assumed that the variable
returned by get_var_with_binlog is never NULL.
- account statistics for
mysql_stmt_{prepare,execute,close,reset,send_long_data} in
Com_stmt_{prepare,execute,close,reset,send_long_data} correspondingly.
- log slow statements into the slow log early, when thd->query
points to a valid (with expanded placeholder values) query.
The previous version was logging it in sql_parse, when thd->query
is empty. Prevent the server from logging the statement twice by
setting thd->enable_slow_log= FALSE.
- now in case of EXECUTE stmt in SQL syntax for prepared statements the
general log gets two queries, e.g.
Query EXECUTE stmt USING @a, @b, @c
Execute INSERT INTO t1 VALUES (1, 2, 3)
This makes the behavior consistent with PREPARE command, which
also logs the statement twice.
Correction after merge of fix for bug #8614.
mysql-test/t/group_by.test:
Correction after merge of fix for bug #8614.
mysql-test/r/group_by.result:
Correction after merge of fix for bug #8614.
Added a test case for bug #8614.
sql_select.cc:
Fixed bug #8614.
SELECT DISTINCT ... GROUP BY 'const' must be equivalent to
SELECT ... GROUP BY 'const'.
sql/sql_select.cc:
Fixed bug #8614.
SELECT DISTINCT ... GROUP BY 'const' must be equivalent to
SELECT ... GROUP BY 'const'.
mysql-test/t/group_by.test:
Added a test case for bug #8614.
mysql-test/r/group_by.result:
Added a test case for bug #8614.
Removed SHOW BINLOG EVENTS in test case for ps-protocol and row-based replication
client/mysqltest.c:
WL#2067: Added if(...) construct to mysqltest
mysql-test/include/rpl_stmt_seq.inc:
Removed SHOW BINLOG EVENTS in test case for ps-protocol and row-based replication
mysql-test/r/rpl_ddl.result:
Removed SHOW BINLOG EVENTS in test case for ps-protocol and row-based replication
mysql-test/t/rpl_ddl.test:
Comment
mysql-test/include/show_msg80.inc:
Post review fixes: improved description
mysql-test/r/mysqltest.result:
Updated result
mysql-test/t/mysqltest.test:
one sub testcase added
- replace @message by $message
--> The annoying protocol line "SET @message= <value>" will disappear.
- extended description
- some examples added
mysql-test/include/show_msg.inc:
replace @message by $message
mysql-test/include/show_msg80.inc:
- replace @message by $message
- extended description
- some examples added
mysql-test/r/mysqltest.result:
updated results
mysql-test/t/mysqltest.test:
sub testcases for the show_msg*.inc scripts modified, because the script properties are altered
Added test case for bug #11283.
field.h, field.cc:
Fixed bug #11283: wrong conversion from varchar to decimal.
Added methods Field_string::val_decimal,
Field_varstring::val_decimal, Field_blob::val_decimal.
They are not inherited from the base class Field_longstr
anymore.
sql/field.cc:
Fixed bug #11283: wrong conversion from varchar to decimal.
Added methods Field_string::val_decimal,
Field_varstring::val_decimal, Field_blob::val_decimal.
They are not inherited from the base class Field_longstr
anymore.
sql/field.h:
Fixed bug #11283: wrong conversion from varchar to decimal.
Added methods Field_string::val_decimal,
Field_varstring::val_decimal, Field_blob::val_decimal.
They are not inherited from the base class Field_longstr
anymore.
mysql-test/t/cast.test:
Added test case for bug #11283.
mysql-test/r/cast.result:
Added test case for bug #11283.
mysql-test/r/func_math.result:
test result fixed
mysql-test/t/func_math.test:
test case added
strings/decimal.c:
handling of round_digit changed - we have to check all the digits after
the point if round_digit is 0
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
Added a teast case for bug #11284.
sql_select.cc:
Fixed bug #11284.
Optimization with empty inner table currently cannot be
used in the case of nested outer join.
sql/sql_select.cc:
Fixed bug #11284.
Optimization with empty inner table currently cannot be
used in the case of nested outer join.
mysql-test/t/join_nested.test:
Added a teast case for bug #11284.
Added a test case for bug #11285.
sql_select.cc:
Fixed bug #11285.
The problem occurred with Item_equal in an 'on expression'
that was evaluated to false.
sql/sql_select.cc:
Fixed bug #11285.
The problem occurred with Item_equal in an 'on expression'
that was evaluated to false.
mysql-test/t/join_outer.test:
Added a test case for bug #11285.
mysql-test/r/join_outer.result:
Added a test case for bug #11285.
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.