- Starting time of a query sent by bootstrapping wasn't initialized
and starting time defaulted to 0. This later used value by NOW-
item and was translated to 1970-01-01 11:00:00.
- Marketing the time with thd->set_time() before the call to
mysql_parse resolves this issue.
- set_time was refactored to be part of the thd->init_for_queries-
process.
mysql-test/r/init_file.result:
Manual merge from 4.1
mysql-test/std_data/init_file.dat:
Manual merge from 4.1
sql/sql_class.cc:
- Moved set_time into init_for_queries process.
run at startup"
The server returned an error when trying to execute init-file with a
stored procedure that could return multiple result sets to the client.
A stored procedure can return multiple result sets if it contains
PREPARE, SELECT, SHOW and similar statements.
The fix is to set client_capabilites|=CLIENT_MULTI_RESULTS in
sql_parse.cc:handle_bootstrap(). There is no "client" really, so
nothing is ever sent. This makes init-file feature behave consistently:
the prepared statements that can be called directly in the init-file
can be used in a stored procedure too.
Re-committed the patch originally submitted by Per-Erik after review.
mysql-test/Makefile.am:
Fix re-make without make clean.
mysql-test/r/init_connect.result:
Updated results (a test case for Bug#17843)
mysql-test/r/init_file.result:
Updated results (a test case for Bug#17843)
mysql-test/std_data/init_file.dat:
Add test coverage for new features added in 5.0. Note, that what can
be done in init_file is very limited as it does not support any other
delimiter except ';' -- only "one liners" and no multiple statement
procedures. Also, this is executed with a dummy user "boot@", which
calls for the use of DEFINER clause.
mysql-test/t/init_connect.test:
Add test coverage for new features added in 5.0.
mysql-test/t/init_file.test:
Add test coverage for new features added in 5.0 --
stored routines, views, triggers. The actual tests are in
std_data/init_file.dat, here we just check the results and clean up.
sql/sql_class.cc:
Initialize Security_context::priv_host to an empty string:
when executing an init-file, sql_parse.cc:get_default_definer()
will use this for the value of the definer if it's not set in the query.
sql/sql_parse.cc:
Set CLIENT_MULTI_RESULTS in handle_bootstrap(), to make prepared
statements work in stored procedures called from init-file.
- Updated after review
client/mysqltest.c:
Remove the mysterious 1024, sed when calculating max_length for bind columns
Change affected_rows variables to use ulonglong
A little more fiddling with warnings in ps mode needed
Add temporary workaround for bug#15518
Use ulong instead of "unsigned long"
Print verbose_msg when failure to create view or sp
Updated cheks for "zero size result file" and "no queries executed but result file found"
The test must produce some output
mysql-test/include/have_multi_ndb.inc:
Use --require <result_file> instead of @r <result_file>
mysql-test/r/mysqltest.result:
Update resulfiles
mysql-test/t/init_file.test:
Add "echo" command so that test produces output.
mysql-test/t/mysql_client_test.test:
Add "echo" command so that test produces output.
mysql-test/t/mysqltest.test:
Added new test case for "zero size resul file"
Added new test case for "no output"
Make sure all generated sql files are put in var/tmp dir
mysql-test/r/init_file.result:
New BitKeeper file ``mysql-test/r/init_file.result''
mysql-test/r/mysql_client_test.result:
New BitKeeper file ``mysql-test/r/mysql_client_test.result''