statements
Currently the optimizer evaluates loose index scan only for top-level SELECT
statements
Extend loose index scan applicability by :
- Test the applicability of loose scan for each sub-select, instead of the
whole query. This change enables loose index scan for sub-queries.
- allow non-select statements with SELECT parts (like, e.g.
CREATE TABLE .. SELECT ...) to use loose index scan.
mysql-test/r/group_min_max.result:
Bug#24156: Loose index scan not used with CREATE TABLE ...SELECT and similar
statements
- test case
mysql-test/t/group_min_max.test:
Bug#24156: Loose index scan not used with CREATE TABLE ...SELECT and similar
statements
- test case
sql/opt_range.cc:
Bug#24156: Loose index scan not used with CREATE TABLE ...SELECT and similar
statements
- loose index scan will be tried over the current subselect
(lex->current_select) instead of the whole query (lex->select_lex).
- allow non-select statements with SELECT parts (like, e.g.
CREATE TABLE .. SELECT ...) to use loose index scan.
- CREATE PROCEDURE stores database name based on query context instead
of 'current database' as set by 'USE' according to manual.
The bug reporter interpret the filtering statements as bug for
DROP PROCEDURE based on this behavior.
- Removed the code which changes db context.
- Added code to check that a valid db was supplied.
mysql-test/r/rpl_sp.result:
- Added test case (result)
mysql-test/t/rpl_sp.test:
- Added test case
sql/sp.cc:
- Removed code for changing current db context.
sql/sql_parse.cc:
- Added code to check if a valid db was supplied.
into rakia.gmz:/home/kgeorge/mysql/autopush/B11927-5.0-opt
mysql-test/r/func_gconcat.result:
Auto merged
sql/field.cc:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_func.h:
Auto merged
sql/item_subselect.h:
Auto merged
sql/item_sum.cc:
Auto merged
sql/item_sum.h:
Auto merged
sql/sql_string.h:
Auto merged
When implicitly converting string fields to numbers the
string-to-number conversion error was not sent to the client.
Added code to send the conversion error as warning.
We also need to prevent generation of warnings from the places
where val_xxx() methods are called for the sole purpose of updating
the Item::null_value flag.
To achieve that a special function is added (and called) :
update_null_value(). This function will set the no_errors flag and
will call val_xxx(). The warning generation in Field_string::val_xxx()
will use the flag when generating the conversion warnings.
mysql-test/r/compare.result:
BUG#11927: Warnings shown for CAST( chr as signed) but not (chr + 0)
- non-convertible strings in arithmetic operations
mysql-test/r/func_gconcat.result:
BUG#11927: Warnings shown for CAST( chr as signed) but not (chr + 0)
- non-convertible strings in arithmetic operations
mysql-test/r/func_group.result:
BUG#11927: Warnings shown for CAST( chr as signed) but not (chr + 0)
- non-convertible strings in arithmetic operations
mysql-test/r/type_varchar.result:
BUG#11927: Warnings shown for CAST( chr as signed) but not (chr + 0)
- test case
mysql-test/t/type_varchar.test:
BUG#11927: Warnings shown for CAST( chr as signed) but not (chr + 0)
- test case
sql/field.cc:
BUG#11927: Warnings shown for CAST( chr as signed) but not (chr + 0)
- send conversion warning to the client
sql/item.cc:
BUG#11927: Warnings shown for CAST( chr as signed) but not (chr + 0)
- send conversion warning to the client
sql/item.h:
BUG#11927: Warnings shown for CAST( chr as signed) but not (chr + 0)
- added a special function to explicitly update the null_value
sql/item_func.h:
BUG#11927: Warnings shown for CAST( chr as signed) but not (chr + 0)
- added a special function to explicitly update the null_value
sql/item_subselect.h:
BUG#11927: Warnings shown for CAST( chr as signed) but not (chr + 0)
- added a special function to explicitly update the null_value
sql/item_sum.cc:
BUG#11927: Warnings shown for CAST( chr as signed) but not (chr + 0)
- added a special function to explicitly update the null_value
sql/item_sum.h:
BUG#11927: Warnings shown for CAST( chr as signed) but not (chr + 0)
- added a special function to explicitly update the null_value
sql/sql_string.h:
BUG#11927: Warnings shown for CAST( chr as signed) but not (chr + 0)
- send conversion warning to the client
- Better control of when to create/remove vardir
mysql-test/mysql-test-run.pl:
Split the part the function cleanup_stale_files in two parts
- one that removes any old var directories
- one that setup var in te proper location
If running against extern server and no vardir has been created in the specified
location, run the latter function to create the vardir structure. Else print
message saying the vardir already exists and continue.
into neptunus.(none):/home/msvensson/mysql/work/my50-work
mysql-test/lib/mtr_process.pl:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/lib/mtr_report.pl:
Auto merged
And if var/ has been created, it will be recreated later so the logs
from "mtr_kill_leftovers" will be lost anyway
mysql-test/mysql-test-run.pl:
Don't create vardir before mtr_kill_leftovers
mysql-test/lib/mtr_process.pl:
Send output - if any - from mysqladmin to stdout/stderr. There shouldn't
be any such errors and if any occur, it's good to know about them.
mysql-test/lib/mtr_report.pl:
Don't output "skipped" comment if there is none (bug#24471)
mysql-test/mysql-test-run.pl:
Removed "use diagnostics", reduces Perl speed significantly. Can be
enabled with "perl -Mdiagnostics mysql-test-run.pl".
And if var/ has been created, it will be recreated later so the logs will
be lost
mysql-test/lib/mtr_process.pl:
Send output - if any - from mysqladmin to stdout/stderr. There shouldn't
be any such errors and if any occur, it's good to know about them.
mysql-test/mysql-test-run.pl:
Don't create vardir before mtr_kill_leftovers
mysql-test-run.pl:
Removed "use diagnostics", reduces Perl speed significantly. Can be
enabled with "perl -Mdiagnostics mysql-test-run.pl".
mtr_report.pl:
Don't try output "skipped" comment if there is none (bug#24471)
mysql-test/lib/mtr_report.pl:
Don't try output "skipped" comment if there is none (bug#24471)
mysql-test/mysql-test-run.pl:
Removed "use diagnostics", reduces Perl speed significantly. Can be
enabled with "perl -Mdiagnostics mysql-test-run.pl".
Initialize key_part->type on open. This caused key_copy() to fail for bit_fields. (key_copy is used in HANDLER and opt_range)
include/heap.h:
Increased heap max length to > 4G for 64 bit machines
mysql-test/r/show_check.result:
Updated results after heap size change
mysql-test/r/type_bit.result:
Added test for bug in bit field handling (in handler and opt_range.cc)
mysql-test/t/type_bit.test:
Added test for bug in bit field handling (in handler and opt_range.cc)
sql/ha_heap.cc:
Increased heap max length to > 4G for 64 bit machines
sql/item_sum.cc:
Increased heap max length to > 4G for 64 bit machines
sql/mysqld.cc:
Increased heap max length to > 4G for 64 bit machines
sql/set_var.cc:
Increased heap max length to > 4G for 64 bit machines
sql/sql_class.h:
Increased heap max length to > 4G for 64 bit machines
sql/sql_select.cc:
Increased heap max length to > 4G for 64 bit machines
sql/table.cc:
Initialize key_part->type ; This was used for bit fields but only set in temporary tables
sql/uniques.cc:
Increased heap max length to > 4G for 64 bit machines
into shakedown.(none):/home/jpipes/dev/mysql-5.0-maint
BitKeeper/etc/ignore:
auto-union
client/mysql.cc:
Auto merged
mysql-test/r/func_misc.result:
Auto merged
sql/item_func.h:
Auto merged
mysql-test/r/mysql.result:
Manual merge
mysql-test/t/mysql.test:
Manual merge
master_port after a "change master" will be set to the compiled in default value
i.e not always the same as what the master report as it's port number.
mysql-test/mysql-test-run.pl:
Read the master-port value from the mysqld. Used for replacing the
default compiled in port number in for example rpl000015
mysql-test/r/rpl000015.result:
Update result file
mysql-test/t/rpl000015.test:
When changing master without specifying master port, the port for master will
be set to the compiled in default. Replace with that value
into dl145s.mysql.com:/data0/bk/team_tree_merge/MERGE/mysql-5.0-opt
libmysql/libmysql.c:
Auto merged
mysql-test/t/subselect.test:
Auto merged
mysql-test/t/type_newdecimal.test:
Auto merged
sql/filesort.cc:
Auto merged
sql/handler.cc:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql-common/client.c:
Auto merged
sql/sql_select.cc:
Auto merged
sql/table.cc:
Auto merged
sql-common/my_time.c:
Auto merged
strings/decimal.c:
Auto merged
If a view was created with the DEFINER security and later the definer user
was dropped then a SELECT from the view throws the error message saying that
there is no definer user is registered. This is ok for a root but too much
for a mere user.
Now the st_table_list::prepare_view_securety_context() function reveals
the absence of the definer only to a superuser and throws the 'access denied'
error to others.
mysql-test/t/view_grant.test:
Added a test case for bug#17254: Error for DEFINER security on VIEW provides too much info
mysql-test/r/view_grant.result:
Added a test case for bug#17254: Error for DEFINER security on VIEW provides too much info
sql/table.cc:
Bug#17254: Error for DEFINER security on VIEW provides too much info
Now the st_table_list::prepare_view_securety_context() function reveals
the absence of the definer only to a superuser and throws the 'access denied'
error to others.
Removed "use diagnostics", reduces Perl speed significantly. Can be
enabled with "perl -Mdiagnostics mysql-test-run.pl".
mtr_report.pl:
Don't try output "skipped" comment if there is none (bug#24471)
mysql-test/mysql-test-run.pl:
Removed "use diagnostics", reduces Perl speed significantly. Can be
enabled with "perl -Mdiagnostics mysql-test-run.pl".
mysql-test/lib/mtr_report.pl:
Don't try output "skipped" comment if there is none (bug#24471)
mysql-test/lib/mtr_unique.pl:
- add info message to mtr_require_unique_id_and_wait as suggested
- fix for security issue
- locks for pids of processes that don't exist anymore are reused, if ps is present and working as expected
into ymer.(none):/usr/local/mysql/tmp/mysql-5.0-gca
mysql-test/mysql-test-run.pl:
Auto merged
sql-common/my_time.c:
Auto merged
sql/item_timefunc.cc:
Auto merged
into ymer.(none):/usr/local/mysql/tmp/mysql-5.0-gca
mysql-test/lib/mtr_io.pl:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/r/date_formats.result:
Auto merged
mysql-test/t/date_formats.test:
Auto merged
sql-common/my_time.c:
Auto merged
sql/item_timefunc.cc:
Auto merged
traces in Valgrind (broken libc6-dbg).
Installing libc6-dbg on Debian will still provide proper bactraces, even
without setting LD_LIBRARY_PATH explicitly.
mysql-test/lib/mtr_io.pl:
Do not link /usr/lib/debug/* on Debian <=3.1, as it causes broken stack
traces in Valgrind.
mysql-test/mysql-test-run.pl:
Do not link /usr/lib/debug/* on Debian <=3.1, as it causes broken stack
traces in Valgrind.
into neptunus.(none):/home/msvensson/mysql/mysql-4.1-maint
mysql-test/Makefile.am:
Auto merged
mysql-test/r/func_time.result:
Auto merged
mysql-test/t/func_time.test:
Auto merged
sql-common/my_time.c:
Auto merged
sql/item_timefunc.cc:
Auto merged
mysql-test/mysql-test-run-shell.sh:
Auto merged
mysql-test/mysql-test-run.pl:
Manual merge of changes for RPM
fails randomly.
The problem was that the test case used command line tool (mysql)
without specifying connect_timeout argument. In some cases,
this lead to hanging of the test case.
The fix is to specify --connect_timeout=1 when starting mysql.
Also, the patch contains polishing and various cleanups to simplify
analyzing of the problems further.
The patch affects only test suite, no server codebase has been
touched.
mysql-test/lib/mtr_im.pl:
Remember PID of the IM-spawner -- a process, that is
used to fork IM-angel.
mysql-test/lib/mtr_io.pl:
Trim \n from the PID.
mysql-test/lib/mtr_process.pl:
Don't complain if it was IM-spawner, who died.
mysql-test/r/im_daemon_life_cycle.result:
Update the result file.
mysql-test/r/im_life_cycle.result:
Update the result file.
mysql-test/t/im_daemon_life_cycle.imtest:
Polishing: add more comments, be more verbose.
mysql-test/t/im_life_cycle.imtest:
Polishing: be more verbose.
mysql-test/t/im_utils.imtest:
Polishing: be more verbose.
mysql-test/t/kill_n_check.sh:
Log messages to the extrenal file so that they can be analyzed
if test case failed.
mysql-test/t/wait_for_process.sh:
Log messages to the extrenal file so that they can be analyzed
if test case failed.
mysql-test/t/wait_for_socket.sh:
Log messages to the extrenal file so that they can be analyzed
if test case failed.
mysql-test/t/log.sh:
Dummy script to facilitate logging from test-scripts.
mysql-test/t/utils.sh:
A bunch of auxilary functions to facilitate logging.
Load shared libraries from zlib (fixed that mysql-test-run.pl didn't work on some Solaris boxes)
Added connect timeout to test to make im_daemon_life_cycle more predictable
mysql-test/mysql-test-run.pl:
Added option --mtr-build-thread
Load shared libraries from zlib (fixed that mysql-test-run.pl didn't work on some Solaris boxes)
mysql-test/t/wait_for_socket.sh:
Added connect timeout (to make test predictable)
Fixed that --valgrind works again with mysql-test-run.sh
Extended error messages when loosing connection during mysql_real_connect()
client/mysqldump.c:
Added some missing DBUG_RETURN
include/errmsg.h:
Extended error messages when loosing connection during mysql_real_connect()
libmysql/errmsg.c:
Extended error messages when loosing connection during mysql_real_connect()
mysql-test/mysql-test-run.pl:
Don't remove .reject files at startup
mysql-test/mysql-test-run.sh:
Fixed that --valgrind works again
Don't give warnings for directores in var/tmp
sql-common/client.c:
Extended error messages when loosing connection during mysql_real_connect()