- 22 Oct, 2007 1 commit
-
-
unknown authored
A deprecation warning added. server-tools/instance-manager/mysqlmanager.cc: Add a deprecation warning.
-
- 20 Oct, 2007 1 commit
-
-
unknown authored
Assertion `table->key_read == 0' failed. The problem was that key_read on a table in a sub-select was not properly reset. That happens because the code responsible for that is copy&pasted all around the server. In some place, it was obviously forgotten to be pasted. The fix is to reset key_read properly. mysql-test/r/key.result: Update result file. mysql-test/t/key.test: A test case for BUG#31148: bool close_thread_table(THD*, TABLE**): Assertion `table->key_read == 0' failed. sql/sql_select.cc: Reset key_read before closing index.
-
- 19 Oct, 2007 5 commits
-
-
unknown authored
into bodhi.(none):/opt/local/work/mysql-5.1-runtime sql/sql_class.cc: Auto merged
-
unknown authored
Add comments. sql/ha_ndbcluster_binlog.cc: query_error -> slave_error sql/handler.cc: query_error -> slave_error sql/log.cc: query_error -> slave_error sql/log_event.cc: query_error -> slave_error sql/log_event_old.cc: query_error -> slave_error sql/mysqld.cc: query_error -> slave_error sql/protocol.cc: query_error -> slave_error sql/slave.cc: query_error -> slave_error sql/sp_head.cc: query_error -> slave_error sql/sql_class.cc: query_error -> slave_error sql/sql_class.h: Rename: query_error -> is_slave_error, to avoid confusion. Add commenta. sql/sql_connect.cc: Rename: query_error -> is_slave_error, to avoid confusion. Originally it was the same code to handle init-connect and init-slave mysqld options. Then init-connect implementation forked off, but the one who copy-pasted the code didn't change it to not use a replication-specific variable.
-
unknown authored
There actually were several problems here: - WRITE-lock is required to load events from the mysql.event table, but in the read-only mode an ordinary user can not acquire it; - Security_context::master_access attribute was not properly initialized in Security_context::init(), which led to differences in behavior with and without debug configure options. - if the server failed to load events from mysql.event, it forgot to close the mysql.event table, that led to the coredump, described in the bug report. The patch is to fix all these problems: - Use the super-user to acquire WRITE-lock on the mysql.even table; - The WRITE-lock is acquired by the event scheduler in two cases: - on initial loading of events from the database; - when an event has been executed, so its attributes should be updated. Other cases when WRITE-lock is needed for the mysql.event table happen under the user account. So, nothing should be changed there for the read-only mode. The user is able to create/update/drop an event only if he is a super-user. - Initialize Security_context::master_access; - Close the mysql.event table in case something went wrong. mysql-test/r/events_bugs.result: Update result file. mysql-test/t/events_bugs.test: A test case for BUG#31111: --read-only crashes MySQL (events fail to load). sql/event_data_objects.cc: When the worker thread is going to drop event after the execution we should do it under the super-user privileges in order to be able to lock the mysql.event table for writing in the read-only mode. This is a system operation, where user SQL can not be executed. So, there is no risk in compromising security by dropping an event under the super-user privileges. sql/event_db_repository.cc: 1. Close tables if something went wrong in simple_open_n_lock_tables(); 2. As soon as the system event scheduler thread is running under the super-user privileges, we should always be able to acquire WRITE-lock on the mysql.event table. However, let's have an assert to check this. sql/event_scheduler.cc: Run the system event scheduler thread under the super-user privileges. In particular, this is needed to be able to lock the mysql.event table for writing when the server is running in the read-only mode. The event scheduler executes only system operations and does not execute user SQL (this is what the worker threads for). So, there is no risk in compromising security by running the event scheduler under the super-user privileges. sql/events.cc: Open the mysql.event table as the super user to be able to acquire WRITE-lock in the read-only mode. sql/sql_class.cc: Initialize Security_context::master_acces.
-
unknown authored
into lambda.hsd1.co.comcast.net.:/home/malff/TREE/mysql-5.1-runtime mysql-test/r/udf.result: Auto merged mysql-test/t/udf.test: Auto merged sql/item.cc: Auto merged sql/item_func.cc: Auto merged sql/mysql_priv.h: Auto merged sql/set_var.cc: Auto merged sql/udf_example.c: Auto merged sql/udf_example.def: Auto merged
-
unknown authored
into lambda.hsd1.co.comcast.net.:/home/malff/TREE/mysql-5.1-rt-merge client/mysqltest.c: Auto merged mysql-test/r/udf.result: Auto merged mysql-test/t/mysqltest.test: Auto merged mysql-test/t/udf.test: Auto merged sql/item_func.cc: Auto merged sql/mysql_priv.h: Auto merged sql/udf_example.c: Auto merged sql/udf_example.def: Auto merged
-
- 18 Oct, 2007 6 commits
-
-
unknown authored
into lambda.hsd1.co.comcast.net.:/home/malff/TREE/mysql-5.1-rt-merge client/mysqlcheck.c: Auto merged client/mysqltest.c: Auto merged libmysql/libmysql.c: Auto merged mysql-test/include/mix1.inc: Auto merged mysql-test/r/innodb_mysql.result: Auto merged mysql-test/r/udf.result: Auto merged mysql-test/t/udf.test: Auto merged sql/item.cc: Auto merged sql/item_func.cc: Auto merged sql/mysql_priv.h: Auto merged sql/set_var.cc: Auto merged sql/sql_class.cc: Auto merged sql/sql_lex.h: Auto merged sql/sql_select.cc: Auto merged tests/mysql_client_test.c: Auto merged
-
unknown authored
into lambda.hsd1.co.comcast.net.:/home/malff/TREE/mysql-5.0-rt-merge mysql-test/r/udf.result: Auto merged mysql-test/t/udf.test: Auto merged sql/item.cc: Auto merged sql/item_func.cc: Auto merged sql/mysql_priv.h: Auto merged sql/set_var.cc: Auto merged sql/udf_example.c: Auto merged sql/udf_example.def: Auto merged
-
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 13 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 ramayana.hindu.god:/home/tsmith/m/bk/maint/51 libmysql/libmysql.c: Auto merged
-
unknown authored
in middle of block) libmysql/libmysql.c: Fix syntax error - don't define new variables in the middle of a block. Also, use size_t instead of uint to avoid unnecessary casting.
-
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
into polly.(none):/home/kaa/src/maint/mysql-5.1-maint mysql-test/r/repair.result: Auto merged mysql-test/t/repair.test: Auto merged
-
unknown authored
into polly.(none):/home/kaa/src/maint/mysql-5.0-maint mysql-test/r/repair.result: Auto merged mysql-test/t/repair.test: Auto merged
-
unknown authored
-
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 14 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 polly.(none):/home/kaa/src/maint/mysql-5.1-maint storage/myisam/sort.c: Auto merged mysql-test/r/repair.result: SCCS merged mysql-test/t/repair.test: SCCS merged
-
unknown authored
into polly.(none):/home/kaa/src/maint/mysql-5.0-maint myisam/sort.c: Auto merged mysql-test/r/repair.result: Auto merged mysql-test/t/repair.test: Auto merged
-
unknown authored
into polly.(none):/home/kaa/src/maint/mysql-4.1-maint
-
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()
-