- 18 Oct, 2007 4 commits
-
-
unknown authored
into moksha.com.br:/Users/davi/mysql/mysql-5.1-runtime
-
unknown authored
mysql-test/r/log_tables.result: Update test result, general_log disabled. mysql-test/t/log_tables.test: Disable the general_log before consulting it.
-
unknown authored
into moksha.com.br:/Users/davi/mysql/mysql-5.1-runtime sql/sp_head.cc: Auto merged sql/sql_parse.cc: Auto merged
-
unknown authored
The general log write function (general_log_print) uses printf style arguments which need to be pre-processed, meaning that the all arguments are copied to a single buffer and the problem is that the buffer size is constant (1022 characters) but queries can be much larger then this. The solution is to introduce a new log write function that accepts a buffer and it's length as arguments. The function is to be used when a formatted output is not required, which is the case for almost all query write-to-log calls. This is a incompatible change with respect to the log format of prepared statements. mysql-test/r/log_tables.result: Add test case result for Bug#21557 mysql-test/t/log_tables.test: Add test case for Bug#21557 sql/log.cc: Introduce the logger function general_log_write which is similar to general_log_print but accepts a single buffer and the buffer length. The function doesn't perform any formatting and sends the buffer directly to the underlying log handlers. sql/log.h: Introduce the logger function general_log_write. sql/log_event.cc: Pass the query buffer directly to the logger function, formatting is not required on this case. sql/mysql_priv.h: Prototype for the logger function general_log_write. sql/sp_head.cc: Pass the query buffer directly to the logger function, formatting is not required on this case. sql/sql_parse.cc: Pass the buffer directly to the logger function when formatting is not required. sql/sql_prepare.cc: Don't log the statement id, it avoids making a extra copy of the query and the query is not truncated anymore if it exceeds the limit.
-
- 17 Oct, 2007 8 commits
-
-
unknown authored
into damien-katzs-computer.local:/Users/dkatz/mysql-5.1-runtime mysql-test/r/udf.result: Auto merged mysql-test/t/udf.test: Auto merged sql/item_func.cc: Auto merged sql/udf_example.def: Auto merged sql/udf_example.c: null merge
-
unknown authored
Previously, UDF *_init functions were passed constant strings with erroneous lengths. The length came from the containing variable's size, not the length of the value itself. Now the *_init functions get the constant as a null terminated string with the correct length supplied too. mysql-test/r/udf.result: Test case to check constants passed UDFs. mysql-test/t/udf.test: Test case to check constants passed UDFs. sql/item_func.cc: UDF _init functions are now passed the length of the constants, rather than the max length of the var containing the constant. sql/udf_example.c: Added check_const_len functions. The check_const_len_init functions checks that lengths of constants are correctly passed. sql/udf_example.def: Add new example functions to windows dll export list.
-
unknown authored
into moksha.com.br:/Users/davi/mysql/mysql-5.1-runtime
-
unknown authored
Post merge fixes: close any open statement before the change user command and fix test case output. client/mysqltest.c: Close an open statement since it won't work after a change_user command. mysql-test/r/change_user.result: Fixed test case output. mysql-test/t/change_user.test: Fix test case output to return 1 or 0.
-
unknown authored
into moksha.com.br:/Users/davi/mysql/mysql-5.1-runtime
-
unknown authored
-
unknown authored
The problem was that the RETURNS column in the mysql.proc was of CHAR(64). That was not enough for storing long-named datatypes. The fix is to change CHAR(64) to LONGBLOB, and to throw warnings at the time a stored routine is created if some data is truncated during writing into mysql.proc. mysql-test/r/sp.result: Update test result. mysql-test/t/sp.test: Add a test case for BUG#24923. scripts/mysql_system_tables.sql: Change the data type of column 'returns' from char(64) to longblob. scripts/mysql_system_tables_fix.sql: Change the data type of column 'returns' from char(64) to longblob. sql/sp.cc: Produce warnings if any data was truncated during writing into mysql.proc. sql/sp.h: Add new error code. sql/share/errmsg.txt: Add new error message. sql/sql_parse.cc: Hande
-
unknown authored
mysql-test/r/sp-error.result: Manual merge mysql-test/r/sp.result: Manual merge mysql-test/r/udf.result: Manual merge mysql-test/t/sp.test: Manual merge mysql-test/t/udf.test: Manual merge sql/item_create.cc: Manual merge sql/sp_head.cc: Manual merge sql/sql_yacc.yy: Manual merge
-
- 16 Oct, 2007 11 commits
-
-
unknown authored
into lambda.hsd1.co.comcast.net.:/home/malff/TREE/mysql-5.1-rt-merge mysql-test/t/sp-error.test: Auto merged mysql-test/t/udf.test: Auto merged sql/item.cc: Auto merged sql/sp.cc: Auto merged sql/sp_head.h: Auto merged sql/sql_parse.cc: Auto merged sql/sql_udf.cc: Auto merged mysql-test/r/sp-error.result: failed auto merge mysql-test/r/sp.result: failed auto merge mysql-test/r/udf.result: failed auto merge mysql-test/t/sp.test: failed auto merge sql/sp_head.cc: failed auto merge sql/sql_yacc.yy: failed auto merge
-
unknown authored
sql/sql_yacc.yy: Fixed error message to use char*, not LEX_STRING
-
unknown authored
into adventure.(none):/home/thek/Development/cpp/mysql-5.1-runtime
-
unknown authored
test programs. mysql-test/r/query_cache.result: Reset query cache parameters to prevent dependency between test programs. mysql-test/t/query_cache.test: Reset query cache parameters to prevent dependency between test programs.
-
unknown authored
into lambda.hsd1.co.comcast.net.:/home/malff/TREE/mysql-5.0-28318-rework
-
unknown authored
mysql-test/r/sp.result: Added tests for coverage mysql-test/t/sp.test: Added tests for coverage sql/sql_udf.cc: Code cleanup
-
unknown authored
(this is a backward-compatible change). include/mysql_h.ic: Update the ABI to reflect member rename (this is a backward-compatible change).
-
unknown authored
The problem is that currently there is no way to test the behavior of the mysql_change_user() function using the mysqltest suite because there is no internal command for it. The solution is to introduce a change_user command that can be used to test aspects of the MySQL client function mysql_change_user(). client/mysqltest.c: Add change_user command to mysqltest. mysql-test/r/mysqltest.result: Add test case result for change_user command mysql-test/t/mysqltest.test: Add test case for change_user command mysql-test/r/change_user.result: Add new file with test case results for bugs 20023 and 31418. mysql-test/t/change_user.test: Add new file with test cases for bugs 20023 and 31418.
-
unknown authored
into adventure.(none):/home/thek/Development/cpp/mysql-5.1-runtime
-
unknown authored
The embedded version of the server doesn't use column level grants, and the compile directive NO_EMBEDDED_ACCESS_CHECKS should be checked instead of the redundant HAVE_QUERY_CACHE (which is always the case) to determine if column level grants should be compiled or not. mysql-test/r/query_cache.result: Updated result file mysql-test/r/query_cache_notembedded.result: Updated result file mysql-test/t/query_cache.test: Moved test with GRANT to query_cache_notembedded test. mysql-test/t/query_cache_notembedded.test: Moved test with GRANT to query_cache_notembedded test. sql/sql_cache.cc: Changed the conditional compilation directive to only compile column level grant checks if NO_EMBEDDED_ACCESS_CHECKS isn't defined.
-
unknown authored
The root cause of the issue was that the CREATE FUNCTION grammar, for User Defined Functions, was using the sp_name rule. The sp_name rule is intended for fully qualified stored procedure names, like either ident.ident, or just ident but with a default database implicitly selected. A UDF does not have a fully qualified name, only a name (ident), and should not use the sp_name grammar fragment during parsing. The fix is to re-organize the CREATE FUNCTION grammar, to better separate: - creating UDF (no definer, can have AGGREGATE, simple ident) - creating Stored Functions (definer, no AGGREGATE, fully qualified name) With the test case provided, another issue was exposed which is also fixed: the DROP FUNCTION statement was using sp_name and also failing when no database is implicitly selected, when droping UDF functions. The fix is also to change the grammar so that DROP FUNCTION works with both the ident.ident syntax (to drop a stored function), or just the ident syntax (to drop either a UDF or a Stored Function, in the current database) mysql-test/r/sp-error.result: Adjust test results mysql-test/r/udf.result: Adjust test results mysql-test/t/sp-error.test: Adjust test results mysql-test/t/udf.test: Adjust test results sql/sql_parse.cc: CREATE UDF FUNCTION does not use a fully qualified name. sql/sql_yacc.yy: Fix grammar for CREATE / DROP FUNCTION, FOR udf Improve error messages for select no_such_function()
-
- 15 Oct, 2007 6 commits
-
-
unknown authored
sql/set_var.cc: fix problem caused by previous submission
-
unknown authored
into damien-katzs-computer.local:/Users/dkatz/mysql-5.1-runtime
-
unknown authored
into damien-katzs-computer.local:/Users/dkatz/mysql-5.0-runtime
-
unknown authored
explicitly. sql/sql_class.cc: Add comments. sql/sql_delete.cc: Change syntax to make grepping easier. No semantical change.
-
unknown authored
sql/net_serv.cc: Fix the build I broke by the previous change.
-
unknown authored
of the stored procedure cursors (materialized on disk). include/mysql_com.h: Remove an unused variable. sql/protocol.cc: net->no_send_eof was not used anywhere.
-
- 12 Oct, 2007 4 commits
-
-
unknown authored
into moksha.com.br:/Users/davi/mysql/mysql-5.1-runtime
-
unknown authored
into moksha.com.br:/Users/davi/mysql/mysql-5.0-runtime
-
unknown authored
into moksha.com.br:/Users/davi/mysql/mysql-5.1-runtime sql/sql_handler.cc: Auto merged
-
unknown authored
If mysql_lock_tables fails because the lock was aborted, we need to reset thd->some_tables_delete, otherwise we might loop indefinitely because handler's tables are not closed in a standard way, meaning that close_thread_tables() (which resets some_tables_deleted) is not used. This patch fixes sporadical failures of handler_myisam/innodb tests which were introduced by previous fix for this bug. sql/sql_handler.cc: Properly reset thd->some_tables_deleted if mysql_lock_tables fails for some reason.
-
- 11 Oct, 2007 7 commits
-
-
unknown authored
into weblab.(none):/home/marcsql/TREE/mysql-5.1-27858-b mysql-test/r/log_tables.result: Auto merged
-
unknown authored
Before this patch, failures to write to the log tables (mysql.slow_log and mysql.general_log) were improperly printed (the time was printed twice), or not printed at all. With this patch, failures to write to the log tables is reported in the error log, for all cases of failures. mysql-test/r/log_tables.result: Bug#27858 (Failing to log to a log table doesn't log anything to error log) mysql-test/t/log_tables.test: Bug#27858 (Failing to log to a log table doesn't log anything to error log) sql/log.cc: Bug#27858 (Failing to log to a log table doesn't log anything to error log)
-
unknown authored
"DECLARE CURSOR FOR SHOW ..." is a syntax that currently appears to work, but is untested for some SHOW commands and does not work for other SHOW commands. Since this is an un-intended feature that leaked as a result of a coding bug (in the parser grammar), the correct fix is to fix the grammar to not accept this construct. In other words, "DECLARE CURSOR FOR SHOW <other commands that don't work>" is not considered a bug, and we will not implement other features to make all the SHOW commands usable inside a cursor just because someone exploited a bug. mysql-test/r/sp-error.result: Only allow declaring cursors for SELECT statements to avoid possible further confusion/problems. mysql-test/t/information_schema.test: Only SELECT statements are allowed in cursors. mysql-test/t/sp-error.test: Add test case for Bug#29223. Non-SELECT statements in cursors now yields a parser error. sql/sql_yacc.yy: Rework DECLARE CURSOR statement to not allow non-SELECT statements.
-
unknown authored
mysql_change_user(). The problem was that THD::ull was not reset in THD::cleanup(). The fix is to reset it. sql/sql_class.cc: Reset THD::ull after cleanup to prevent memory corruption. tests/mysql_client_test.c: Add test case for BUG#31418.
-
unknown authored
mysql-test/include/handler.inc: Add test case for Bug 31409 mysql-test/r/handler_innodb.result: Add test case result for InnoDB run of the handler test for Bug 31409 mysql-test/r/handler_myisam.result: Add test case result for MyISAM run of the handler test for Bug 31409
-
unknown authored
into moksha.com.br:/Users/davi/mysql/bugs/31409-5.1 sql/sql_base.cc: Auto merged sql/sql_handler.cc: Auto merged
-
unknown authored
static but it's still used by another compilation unit. Remove static qualifier from do_command definition. sql/sql_parse.cc: do_command is also used by sql_connect.c in 5.1
-