This bug happens when a query, having subselects in the fields list,
needs temporary table.
Item_subselect::get_tmp_table_item isn't implemented and just returns
*this. So the tmp_table_item takes value not from temporary but
from original table.
mysql-test/r/subselect.result:
appropriate test result added
mysql-test/t/subselect.test:
test case added
sql/item_subselect.cc:
Item_subselect::get_tmp_table_item implementation
sql/item_subselect.h:
Item_subselect::get_tmp_table_item declaration
(isn't it obvious ?)
mysys/charset.c:
all charsets support my_mbcharlen - no need to protect it with use_mb()
sql/sql_load.cc:
all charsets support my_mbcharlen - no need to protect it with use_mb()
BitKeeper/etc/ignore:
auto-union
BitKeeper/etc/logging_ok:
auto-union
myisam/mi_check.c:
Auto merged
myisam/myisamchk.c:
Auto merged
myisam/sort.c:
Auto merged
mysql-test/r/variables.result:
Auto merged
mysql-test/t/variables.test:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_table.cc:
Auto merged
mysql-test/r/query_cache.result:
test of BUG#1986
mysql-test/t/query_cache.test:
test of BUG#1986
sql/sql_db.cc:
as far as we remove db name we should remove its length
we change THD::system_thread from a 'bool' to a bitmap to be able to
distinguish between delayed-insert threads and slave threads.
- Fix for BUG#1701 "Update from multiple tables" (one line in sql_parse.cc,
plus a new test rpl_multi_update.test). That's just adding an initialization.
sql/repl_failsafe.cc:
comment to warn about this unused code
sql/slave.cc:
Now thd->system_thread is a bitmap, not a bool.
sql/sql_class.h:
'bool' for THD::system_thread is not accurate enough; sometimes we need
to distinguish between delayed-insert threads and slave threads;
so changing THD::system_thread to a bitmap (uint).
sql/sql_insert.cc:
thd.system_thread is now a bitmap
sql/sql_parse.cc:
We need to initialize thd->lex.select_lex.options in mysql_init_query();
it's already initialized in dispatch_command() but replication calls
mysql_parse() directly, thus bypassing dispatch_command().
Not initing it here leads to a query influencing the next query,
in the slave SQL thread.
The initialization in dispatch_command() must be kept as this
command uses the variable in tests, even when the command was not a
query (i.e. when mysql_init_query() was not called).
move bdb/innodb tests to right places
mysql-test/r/bdb.result:
Update results after test changes
mysql-test/r/innodb.result:
Update results after test changes
mysql-test/r/multi_update.result:
Update results after test changes
mysql-test/t/bdb.test:
Move bdb tests here
mysql-test/t/innodb.test:
Move innodb test here
mysql-test/t/multi_update.test:
move bdb/innodb tests to repective test
sql/mysqld.cc:
Allow space in service names
if we failed to classify integer as datetime
in Field_datetime::store().
Stylistic clean-ups.
sql/field.cc:
Fix undeterministic behaviour of year check
if we failed to classify integer as datetime
Stylistic clean-ups.
The problem was that when the slave SQL thread reads a hot relay log (hot = the one being written to by the
slave I/O thread), it must have the LOCK_log. It already took it for read_log_event(), but needs
it also for check_binlog_magic().
This should fix all recently reported failures of the rpl_max_relay_size test in 4.1 and 5.0
(though the bug exists since 4.0, it showed up first in 5.0).
sql/slave.cc:
Fix for BUG#2011 "rare race condition producing "binlog has bad magic number" error in slave".
The problem was that when the slave SQL thread reads a hot relay log (hot = the one being written to by the
slave I/O thread), it must have the LOCK_log. It already took it for read_log_event(), but needs
it also for check_binlog_magic().
and BUG#1654: Stored Procedure Crash if contains subquery and set function
Disallowed subselects in RETURN (for FUNCTIONs) and SET of local variables.
The latter should work, but turned out to be difficult to fix, so we just
disallow it for the time being.
include/mysqld_error.h:
New error message for unsupported subselect as SP set values (for the time being).
include/sql_state.h:
New error message for unsupported subselect as SP set values (for the time being).
mysql-test/r/sp-error.result:
Test cases for BUG#336 and BUG#1654. (Unsupported use of subselect)
mysql-test/t/sp-error.test:
Test cases for BUG#336 and BUG#1654. (Unsupported use of subselect)
sql/item.cc:
Made Item_splocal::type() work at compile time, for error checking.
sql/item.h:
Made Item_splocal::type() work at compile time, for error checking.
sql/share/czech/errmsg.txt:
New error message for unsupported subselect as SP set values (for the time being).
sql/share/danish/errmsg.txt:
New error message for unsupported subselect as SP set values (for the time being).
sql/share/dutch/errmsg.txt:
New error message for unsupported subselect as SP set values (for the time being).
sql/share/english/errmsg.txt:
New error message for unsupported subselect as SP set values (for the time being).
sql/share/estonian/errmsg.txt:
New error message for unsupported subselect as SP set values (for the time being).
sql/share/french/errmsg.txt:
New error message for unsupported subselect as SP set values (for the time being).
sql/share/german/errmsg.txt:
New error message for unsupported subselect as SP set values (for the time being).
sql/share/greek/errmsg.txt:
New error message for unsupported subselect as SP set values (for the time being).
sql/share/hungarian/errmsg.txt:
New error message for unsupported subselect as SP set values (for the time being).
sql/share/italian/errmsg.txt:
New error message for unsupported subselect as SP set values (for the time being).
sql/share/japanese/errmsg.txt:
New error message for unsupported subselect as SP set values (for the time being).
sql/share/korean/errmsg.txt:
New error message for unsupported subselect as SP set values (for the time being).
sql/share/norwegian-ny/errmsg.txt:
New error message for unsupported subselect as SP set values (for the time being).
sql/share/norwegian/errmsg.txt:
New error message for unsupported subselect as SP set values (for the time being).
sql/share/polish/errmsg.txt:
New error message for unsupported subselect as SP set values (for the time being).
sql/share/portuguese/errmsg.txt:
New error message for unsupported subselect as SP set values (for the time being).
sql/share/romanian/errmsg.txt:
New error message for unsupported subselect as SP set values (for the time being).
sql/share/russian/errmsg.txt:
New error message for unsupported subselect as SP set values (for the time being).
sql/share/serbian/errmsg.txt:
New error message for unsupported subselect as SP set values (for the time being).
sql/share/slovak/errmsg.txt:
New error message for unsupported subselect as SP set values (for the time being).
sql/share/spanish/errmsg.txt:
New error message for unsupported subselect as SP set values (for the time being).
sql/share/swedish/errmsg.txt:
New error message for unsupported subselect as SP set values (for the time being).
sql/share/ukrainian/errmsg.txt:
New error message for unsupported subselect as SP set values (for the time being).
sql/sp_head.cc:
Fixed (bogus) compile error on HP-UX alpha.
sql/sql_yacc.yy:
Disallowed subselects in RETURN (for FUNCTIONs) and SET of local variables.
The latter should work, but turned out to be difficult to fix, so we just
disallow it for the time being.
files from being included in the source distribution
sql/Makefile.am:
- Added missing backslash that prevented the sp_* header files from being
included in the source distribution
into rurik.mysql.com:/home/igor/dev/mysql-5.0-0
mysql-test/r/join_outer.result:
Auto merged
sql/item.cc:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/sql_select.cc:
Auto merged
Fixed a problem a with special cases of IS NULL usage
caused by some erroneous change made when Item_equal
was introduced.
sql/sql_select.cc:
Fixed a problem a with special cases of IS NULL usage
caused by some erroneous change made when Item_equal
was introduced.
mysql-test/r/create.result:
Auto merged
mysql-test/t/create.test:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
include/mysqld_error.h:
Merge for updates
mysql-test/r/rpl_change_master.result:
Merge for updates
sql/share/czech/errmsg.txt:
Merge for updates
sql/share/danish/errmsg.txt:
Merge for updates
sql/share/dutch/errmsg.txt:
Merge for updates
sql/share/english/errmsg.txt:
Merge for updates
sql/share/estonian/errmsg.txt:
Merge for updates
sql/share/french/errmsg.txt:
Merge for updates
sql/share/german/errmsg.txt:
Merge for updates
sql/share/greek/errmsg.txt:
Merge for updates
sql/share/hungarian/errmsg.txt:
Merge for updates
sql/share/italian/errmsg.txt:
Merge for updates
sql/share/japanese/errmsg.txt:
Merge for updates
sql/share/korean/errmsg.txt:
Merge for updates
sql/share/norwegian-ny/errmsg.txt:
Merge for updates
sql/share/norwegian/errmsg.txt:
Merge for updates
sql/share/polish/errmsg.txt:
Merge for updates
sql/share/portuguese/errmsg.txt:
Merge for updates
sql/share/romanian/errmsg.txt:
Merge for updates
sql/share/russian/errmsg.txt:
Merge for updates
sql/share/serbian/errmsg.txt:
Merge for updates
sql/share/slovak/errmsg.txt:
Merge for updates
sql/share/spanish/errmsg.txt:
Merge for updates
sql/share/swedish/errmsg.txt:
Merge for updates
sql/share/ukrainian/errmsg.txt:
Merge for updates
include/mysqld_error.h:
New error message: unknown table engine
mysql-test/r/create.result:
New error message: unknown table engine
mysql-test/t/create.test:
New error message: unknown table engine
sql/lex.h:
Remove some keywords: HEAP, ISAM, MERGE, MEMORY, MRG_MYISAM, MYISAM
sql/mysql_priv.h:
Remove unused symbol
sql/set_var.h:
New system variable type: sys_var_thd_table_type
sql/sql_yacc.yy:
Remove tokens and make table_types resolve at run time
sql/sql_show.cc:
Tidy up
sql/sql_table.cc:
Tidy up
include/sql_state.h:
Fix indent
sql/mysqld.cc:
optimize
mysql-test/r/rpl_change_master.result:
It wouldn't pass the tests
mysql-test/r/variables.result:
Fix for changes
mysql-test/r/warnings.result:
Fix for changes
mysql-test/t/variables.test:
Fix for changes
sql/handler.h:
parameter is a const
sql/set_var.cc:
Code clean up for sys_var_thd_table_type::check()
sql/handler.cc:
More tidyup
sql/share/czech/errmsg.txt:
Fixups during review
sql/share/danish/errmsg.txt:
Fixups during review
sql/share/dutch/errmsg.txt:
Fixups during review
sql/share/english/errmsg.txt:
Fixups during review
sql/share/estonian/errmsg.txt:
Fixups during review
sql/share/french/errmsg.txt:
Fixups during review
sql/share/german/errmsg.txt:
Fixups during review
sql/share/greek/errmsg.txt:
Fixups during review
sql/share/hungarian/errmsg.txt:
Fixups during review
sql/share/italian/errmsg.txt:
Fixups during review
sql/share/japanese/errmsg.txt:
Fixups during review
sql/share/korean/errmsg.txt:
Fixups during review
sql/share/norwegian-ny/errmsg.txt:
Fixups during review
sql/share/norwegian/errmsg.txt:
Fixups during review
sql/share/polish/errmsg.txt:
Fixups during review
sql/share/portuguese/errmsg.txt:
Fixups during review
sql/share/romanian/errmsg.txt:
Fixups during review
sql/share/russian/errmsg.txt:
Fixups during review
sql/share/serbian/errmsg.txt:
Fixups during review
sql/share/slovak/errmsg.txt:
Fixups during review
sql/share/spanish/errmsg.txt:
Fixups during review
sql/share/swedish/errmsg.txt:
Fixups during review
sql/share/ukrainian/errmsg.txt:
Fixups during review
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
about it". Now numbers representing illegal timestamps are
converted to 0 value if they are stored as timestamp or
datetime. This behaviour is consistent with manual and with
behaviour of string -> timestamp conversion.
mysql-test/r/type_datetime.result:
Added test if ranges are checked during
integer, string -> timestamp conversion
mysql-test/r/type_timestamp.result:
Added test if ranges are checked during
integer, string -> datetime conversion
mysql-test/t/type_datetime.test:
Added test if ranges are checked during
integer, string -> datetime conversion
mysql-test/t/type_timestamp.test:
Added test if ranges are checked during
integer, string -> timestamp conversion
sql/field.cc:
Checks of month, day, hour, minute and second ranges were added
to storing of integer into Field_datetime and Field_timestamp
and so for integer -> datetime, timestamp conversion.
SQL_BIG_RESULT used':
- BIT_AND now returns BIGINT UNSIGNED
- in case there were no matching rows BIT_AND returns 18446744073709551615
(but not NULL), BIT_OR returns 0 (but not NULL). That's how Monty wants it
and how is described in our docs.
include/my_global.h:
Added definition for ULONGLONG_MAX.
This is also a check that ULL type specifier
can be used on all supported platforms.
mysql-test/r/func_group.result:
bug #1790, post-review work: test results fixed
sql/item_sum.cc:
small cleanup
sql/item_sum.h:
few style fixes.
BIT_AND and BIT_OR now are both BIGINT UNSIGNED
into mysql.com:/home/pem/work/mysql-5.0
mysql-test/r/join_outer.result:
Auto merged
mysql-test/r/null.result:
Auto merged
mysql-test/t/null.test:
Auto merged
sql/item.cc:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
instead of Log_event::Log_event(THD*, ...) when the event is built in the master
to be written in the binlog.
Rand_log_event already used the good constructor, so there really is no reason
for Intvar_log_event to be an exception.
This fixes a test failure of last night (which appeared after I removed a useless
e.server_id=thd->server_id in log.cc; in fact this line was not useless because
it hid the bad constructor).
Replication tests pass, with Valgrind too.
sql/log_event.h:
There is no reason that Intvar_log_event's constructor calls Log_event::Log_event()
instead of Log_event::Log_event(THD*, ...) when the event is built in the master
to be written in the binlog.
Rand_log_event already used the good constructor, so there really is no reason
for Intvar_log_event to be an exception.
This fixes a test failure of last night (which appeared after I removed a useless
e.server_id=thd->server_id in log.cc; in fact this line was not useless because
it hid the bad constructor).
Second edition: error message was deleted as Segey suggested
Now name of the constraint will be used as the name of the key
if the last not specified
mysql-test/r/constraints.result:
appropriate test result
mysql-test/t/constraints.test:
test case for 1189
sql/sql_yacc.yy:
language definitions changed so that we can obtaint constraint's name
and send it as the name of the key if it's not specified
mysql-test/t/range.test:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/item_func.cc:
Auto merged
sql/opt_range.cc:
Auto merged
sql/opt_sum.cc:
Auto merged
sql/sql_list.h:
Auto merged
sql/sql_select.h:
Auto merged