execute crashes server": we were deleting lex->result
after each execute, but prepared statements assumed that
it's left intact.
The fix adds cleanup() method to select_result hierarchy,
so that result objects can be reused.
Plus we now need to delete result objects more wisely.
mysql-test/r/ps.result:
Test results fixed: test case for bug#5034
mysql-test/t/ps.test:
A test case for bug#5034, few followups
sql/sql_class.cc:
- fix warning in THD::THD
- implementation of cleanup() for select_result hierarchy
- select_export::send_eof was identical to
select_dump::send_eof: moved to the base class select_to_file.
- Statement::end_statement() to end lex, free items, and
delete possible select_result
sql/sql_class.h:
- select_result::cleanup() declaration
-
sql/sql_insert.cc:
- implementation of select_insert::cleanup(): currently
we always create a new instance of select_insert/
select_create on each execute.
sql/sql_lex.cc:
- with more complicated logic of freeing lex->result it's
easier to have it non-zero only if it points to a valid
result.
sql/sql_lex.h:
Now st_lex::st_lex is not empty.
sql/sql_parse.cc:
mysql_execute_command():
- delete select_result *result only if it was created in
this function.
- use end_statement() to cleanup lex and thd in the end of
each statement.
- no need to save THD::lock if this is explain. This save
apparently left from times when derived tables were
materialized here, not in open_and_lock_tables.
sql/sql_prepare.cc:
- call result->cleanup() in reset_stmt_for_execute
- now Statement is responsible for freeing its lex->result.
sql/sql_select.cc:
handle_select():
- don't delete result, it might be needed
for next executions
- result is never null
Build-tools/Do-compile:
Auto merged
Docs/Makefile.am:
Auto merged
innobase/btr/btr0cur.c:
Auto merged
innobase/include/lock0lock.h:
Auto merged
innobase/include/row0mysql.h:
Auto merged
innobase/include/srv0srv.h:
Auto merged
innobase/include/sync0arr.h:
Auto merged
innobase/include/trx0trx.h:
Auto merged
innobase/lock/lock0lock.c:
Auto merged
innobase/srv/srv0srv.c:
Auto merged
innobase/srv/srv0start.c:
Auto merged
innobase/sync/sync0arr.c:
Auto merged
innobase/trx/trx0trx.c:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
mysql-test/r/innodb.result:
to be fixed after the merge
The problem was that (for any storage engine), the created temporary table was not removed if CREATE SELECT failed (because
of a constraint violation for example). This was not consistent with the manual and with CREATE SELECT (no TEMPORARY).
sql/sql_insert.cc:
Fix for BUG#4551 "Temporary InnoDB tables not replicated properly with CREATE TABLE .. SELECT"
The problem was that (for any storage engine), the created temporary table was not removed if CREATE SELECT failed (because
of a constraint violation for example). This was not consistent with the manual and with CREATE SELECT (no TEMPORARY).
And it led to the above bug, because the binlogging of CREATE SELECT is done by select_insert::send_eof() (same function
as INSERT SELECT) and so, if the table is transactional and there is a failure, the statement is considered as rolled
back and so nothing is written in the binlog. So temp table MUST be deleted.
include/mysql.h:
Cleanup
sql-common/client.c:
Allow client.c to compile after changes to mysql.h
sql/opt_range.cc:
Make bdb.test repeatable (and assume that table scans is a little bit slower)
sql/sql_handler.cc:
Fixed typo during merge
sql/sql_insert.cc:
Fixed indentation
configure.in:
Auto merged
mysql-test/Makefile.am:
Auto merged
mysql-test/r/fulltext.result:
Auto merged
sql/field.cc:
Auto merged
sql/ha_berkeley.cc:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/ha_innodb.h:
Auto merged
sql/handler.cc:
Auto merged
sql/handler.h:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/lex.h:
Auto merged
sql/opt_range.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_cache.cc:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_help.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_update.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/table.cc:
Auto merged
sql/unireg.cc:
Auto merged
Added basic per-thread time zone functionality (based on public
domain elsie-code). Now user can select current time zone
(from the list of time zones described in system tables).
All NOW-like functions honor this time zone, values of TIMESTAMP
type are interpreted as values in this time zone, so now
our TIMESTAMP type behaves similar to Oracle's TIMESTAMP WITH
LOCAL TIME ZONE (or proper PostgresSQL type).
WL#1266 "CONVERT_TZ() - basic time with time zone conversion
function".
Fixed problems described in Bug #2336 (Different number of warnings
when inserting bad datetime as string or as number). This required
reworking of datetime realted warning hadling (they now generated
at Field object level not in conversion functions).
Optimization: Now Field class descendants use table->in_use member
instead of current_thd macro.
include/my_global.h:
Added macro for reading of 32-bit ints stored in network order from
unaligned memory location.
include/mysqld_error.h:
Added error-code for invalid timestamp warning and error-code
for wrong or unknown time zone specification.
libmysqld/Makefile.am:
Added main per-thread time zone support file to libmysqld
libmysqld/lib_sql.cc:
Added initialization of time zones infrastructure to embedded server.
mysql-test/r/connect.result:
Updated test result since now mysql database contains more
system tables.
mysql-test/r/date_formats.result:
Now when truncation occurs during conversion to datetime value we are producing Warnings
instead of Notes. Also we are giving more clear warnings about this in some cases.
mysql-test/r/func_sapdb.result:
New warnings about truncation occured during conversion to datetime value added due
their better handling.
mysql-test/r/func_time.result:
New warnings about truncation occured during conversion to datetime value added due
their better handling.
mysql-test/r/select.result:
New warnings about truncation occured during conversion to datetime value added due
their better handling. Also tweaked test a bit to made it less ambigious for reader.
mysql-test/r/system_mysql_db.result:
Updated test result because new system tables holding time zone descriptions were
added.
mysql-test/r/timezone.result:
Updated timezone.test to use new system variable which shows system time zone.
Added test of warning which is produced if someone tries to store non-existing (due
falling into spring time-gap) datetime value into TIMESTAMP field.
mysql-test/r/type_datetime.result:
Separated and extended test of values and warnings produced for bad values stored in
DATETTIME fields.
mysql-test/r/type_time.result:
Now we are producing more consistent warning when we are truncating datetime value while
storing it in TIME field.
mysql-test/r/type_timestamp.result:
Separated and extended test of values and warnings produced for bad
values stored in TIMESTAMP fields.
mysql-test/t/select.test:
Updated test to make it less ambigous for reader.
mysql-test/t/timezone.test:
Updated timezone.test to use new system variable which shows system time zone.
Added test of warning which is produced if someone tries to store non-existing (due
falling into spring time-gap) datetime value into TIMESTAMP field.
mysql-test/t/type_datetime.test:
Separated and extended test of values and warnings produced for bad
values stored in DATETTIME fields.
mysql-test/t/type_timestamp.test:
Separated and extended test of values and warnings produced for bad
values stored in TIMESTAMP fields.
scripts/mysql_create_system_tables.sh:
Added creation of tables with time zone descriptions.
Also added descriptions of time zones used in tests.
scripts/mysql_fix_privilege_tables.sql:
Added mysql.time_zone* tables family.
sql/Makefile.am:
Added files implementing time zone support to server, also added
rules for building of mysql_tzinfo_to_sql converter and test_time
test.
sql/field.cc:
Now we are using per-thread time zone for TIMESTAMP <-> whatever conversion.
Fixed generation of warnings for datetime types (DATETIME/TIMESTAMP/DATE/...) and
any other Field to datetime conversion (now we are generating warnings no in lower
level functions like in str_to_TIME() but in Field methods. This allows generate
better and more consistent warnings and to reuse code of str_to_TIME() outside of
server).
Added 3rd parameter to set_warning() method to be able to not increment cut fields
but still produce a warning. Also added set_datetime_warning() family of auxiliary
methods which allow easier generate datetime related warnings.
Also replaced occurences of current_thd with table->in_use member, added
asserts for catching all places there we need to set table->in_use
accordingly. Renamed fix_datetime() function to number_to_TIME() and
moved it to sql/time.cc there it fits better.
sql/field.h:
Added comment about places where we can use table->in_use member
instead of current_thd.
Added 3rd parameter to Field::set_warning() method and set_datetime_warning()
family of methods.
sql/field_conv.cc:
Field::set_warning() method with 2 arguments was replaced with more
generic set_warning() method with 3 arguments.
sql/ha_berkeley.cc:
Now we set table->in_use for temporary tables so we have to use
table->tmp_table for checking if table is temporary.
sql/item.cc:
Replaced calls to str_to_time() and str_to_TIME() funcs with their warning
generating analogs.
sql/item_create.cc:
Added creation of CONVERT_TZ function as FUNC_ARG3.
sql/item_create.h:
Added creation of CONVERT_TZ function as FUNC_ARG3.
sql/item_timefunc.cc:
Added support of per-thread time zone to NOW-like and FROM_UNIXTIME,
UNIX_TIMESTAMP functions.
Added support for CONVERT_TZ function.
Removed call to str_to_timestamp function which caused non-optimal
behavior in certain cases. Replaced calls to str_to_time() function
with its warning generating analog.
sql/item_timefunc.h:
Added support of per-thread time zone to NOW-like and
FROM_UNIXTIME, UNIX_TIMESTAMP functions.
Added support of CONVERT_TZ function.
sql/lex.h:
Added support of CONVERT_TZ function.
sql/log.cc:
Added support for replication of statements depending on time zone.
sql/mysql_priv.h:
Now including headers with per-thread time zone support functions
and classes. Added portable replacement of time_t - my_time_t type.
Added time zone as one of query distinguishing parameters for
query cache.
Fixed declarations of str_to_TIME, str_to_time and
my_system_gmt_sec (former my_gmt_sec) since now they have one more
out parameter which informs about wrong datetime value or data
truncation during conversion.
Added warning generating version of str_to_TIME() and str_to_time()
functions.
Thrown away str_to_datetime/timestamp functions since they are not
needed any longer. Added number_to_TIME function.
sql/mysqld.cc:
Added per-thread time zone support initialization.
Added new startup parameter --default-time-zone.
sql/set_var.cc:
Added support for per-thread time_zone variable.
Renamed old timezone variable to system_time_zone.
sql/set_var.h:
Added support for per-thread time_zone variable.
sql/share/czech/errmsg.txt:
Added error message for barking when incorrect time zone name or
specifiaction is provided and for warning about invalid TIMESTAMP
values (e.g. falling into the spring time-gap).
sql/share/danish/errmsg.txt:
Added error message for barking when incorrect time zone name or
specifiaction is provided and for warning about invalid TIMESTAMP
values (e.g. falling into the spring time-gap).
sql/share/dutch/errmsg.txt:
Added error message for barking when incorrect time zone name or
specifiaction is provided and for warning about invalid TIMESTAMP
values (e.g. falling into the spring time-gap).
sql/share/english/errmsg.txt:
Added error message for barking when incorrect time zone name or
specifiaction is provided and for warning about invalid TIMESTAMP
values (e.g. falling into the spring time-gap).
sql/share/estonian/errmsg.txt:
Added error message for barking when incorrect time zone name or
specifiaction is provided and for warning about invalid TIMESTAMP
values (e.g. falling into the spring time-gap).
sql/share/french/errmsg.txt:
Added error message for barking when incorrect time zone name or
specifiaction is provided and for warning about invalid TIMESTAMP
values (e.g. falling into the spring time-gap).
sql/share/german/errmsg.txt:
Added error message for barking when incorrect time zone name or
specifiaction is provided and for warning about invalid TIMESTAMP
values (e.g. falling into the spring time-gap).
sql/share/greek/errmsg.txt:
Added error message for barking when incorrect time zone name or
specifiaction is provided and for warning about invalid TIMESTAMP
values (e.g. falling into the spring time-gap).
sql/share/hungarian/errmsg.txt:
Added error message for barking when incorrect time zone name or
specifiaction is provided and for warning about invalid TIMESTAMP
values (e.g. falling into the spring time-gap).
sql/share/italian/errmsg.txt:
Added error message for barking when incorrect time zone name or
specifiaction is provided and for warning about invalid TIMESTAMP
values (e.g. falling into the spring time-gap).
sql/share/japanese/errmsg.txt:
Added error message for barking when incorrect time zone name or
specifiaction is provided and for warning about invalid TIMESTAMP
values (e.g. falling into the spring time-gap).
sql/share/korean/errmsg.txt:
Added error message for barking when incorrect time zone name or
specifiaction is provided and for warning about invalid TIMESTAMP
values (e.g. falling into the spring time-gap).
sql/share/norwegian-ny/errmsg.txt:
Added error message for barking when incorrect time zone name or
specifiaction is provided and for warning about invalid TIMESTAMP
values (e.g. falling into the spring time-gap).
sql/share/norwegian/errmsg.txt:
Added error message for barking when incorrect time zone name or
specifiaction is provided and for warning about invalid TIMESTAMP
values (e.g. falling into the spring time-gap).
sql/share/polish/errmsg.txt:
Added error message for barking when incorrect time zone name or
specifiaction is provided and for warning about invalid TIMESTAMP
values (e.g. falling into the spring time-gap).
sql/share/portuguese/errmsg.txt:
Added error message for barking when incorrect time zone name or
specifiaction is provided and for warning about invalid TIMESTAMP
values (e.g. falling into the spring time-gap).
sql/share/romanian/errmsg.txt:
Added error message for barking when incorrect time zone name or
specifiaction is provided and for warning about invalid TIMESTAMP
values (e.g. falling into the spring time-gap).
sql/share/russian/errmsg.txt:
Added error message for barking when incorrect time zone name or
specifiaction is provided and for warning about invalid TIMESTAMP
values (e.g. falling into the spring time-gap).
sql/share/serbian/errmsg.txt:
Added error message for barking when incorrect time zone name or
specifiaction is provided and for warning about invalid TIMESTAMP
values (e.g. falling into the spring time-gap).
sql/share/slovak/errmsg.txt:
Added error message for barking when incorrect time zone name or
specifiaction is provided and for warning about invalid TIMESTAMP
values (e.g. falling into the spring time-gap).
sql/share/spanish/errmsg.txt:
Added error message for barking when incorrect time zone name or
specifiaction is provided and for warning about invalid TIMESTAMP
values (e.g. falling into the spring time-gap).
sql/share/swedish/errmsg.txt:
Added error message for barking when incorrect time zone name or
specifiaction is provided and for warning about invalid TIMESTAMP
values (e.g. falling into the spring time-gap).
sql/share/ukrainian/errmsg.txt:
Added error message for barking when incorrect time zone name or
specifiaction is provided and for warning about invalid TIMESTAMP
values (e.g. falling into the spring time-gap).
sql/slave.cc:
In order to support replication of statements using time zones in 4.1 we should
ensure that both master and slave have same default time zone.
sql/sql_base.cc:
Now we are setting TABLE::in_use member for all tables (which assume
calls to Field::store or val_ methods).
sql/sql_cache.cc:
Added time zone as one more query distinguishing parameter
for query cache.
sql/sql_class.cc:
Added THD::time_zone_used variable indicating that this query
uses per thread time zone.
sql/sql_class.h:
Added per-thread time zone variable. Added THD::time_zone_used
variable indicating that this query uses per thread time zone
so if this is updating query the time zone should be logged to
binlog.
sql/sql_insert.cc:
We should set TABLE::in_use member pointing to thread which is called
INSERT DELAYED and not to worker thread.
sql/sql_load.cc:
Field::set_warning() now has one more argument now.
sql/sql_parse.cc:
Resetting THD::time_zone_used variable in the end of query
processing.
sql/sql_select.cc:
Now we are setting TABLE::in_use member for all tables (which assume
calls to Field::store or val_ methods).
sql/sql_show.cc:
Now using per thread time zone for extended show tables.
sql/time.cc:
Added support for per-thread time zones for TIMESTAMP type and
reworked generation of warnings for TIMESTAMP and DATETIME types.
(Introduced new TIME_to_timestamp() function. Removed hours
normalisation from former my_gmt_sec() since it was not working
and not used anywhere now, but breaks parameter constness, added
to this function generation of warning if we are falling in spring
time-gap. Removed str_to_timestamp and str_to_datetime functions
which are no longer used. Moved fix_datetime function from
sql/field.cc to this file as number_to_TIME() function. Added
out parameter for str_to_TIME and str_to_time functions which
indicates if value was truncated during conversion, removed direct
generation of warnings from this functions.)
sql/unireg.cc:
Now we are setting TABLE::in_use member for all tables (which assume
calls to Field::store or val_ methods).
BitKeeper/etc/ignore:
Added sql/test_time sql/mysql_tzinfo_to_sql libmysqld/tztime.cc to the ignore list
libmysqld/Makefile.am:
Removed define that is now defined by configure and my_global.h
mysql-test/r/func_gconcat.result:
Fixed test result after removing end space
sql/share/romanian/errmsg.txt:
Fixed wrong error message
sql/sql_insert.cc:
Removed compiler warning
Applied patches for Netware
innobase/include/os0thread.h:
Applied patches for Netware
innobase/os/os0thread.c:
Applied patches for Netware
libmysql/libmysql.c:
Applied patches for Netware
libmysql/libmysql.def:
Applied patches for Netware
myisam/myisamchk.c:
Applied patches for Netware
Changed prototype of killed_ptr() to make it more portable
myisam/myisamdef.h:
Applied patches for Netware
Changed prototype of killed_ptr() to make it more portable
mysql-test/t/rpl_relayspace-slave.opt:
Applied patches for Netware
mysys/my_pthread.c:
Applied patches for Netware
mysys/my_static.h:
Portability fix
netware/BUILD/compile-linux-tools:
Applied patches for Netware
Changed prototype of killed_ptr() to make it more portable
netware/BUILD/mwenv:
Applied patches for Netware
Changed prototype of killed_ptr() to make it more portable
netware/BUILD/nwbootstrap:
Applied patches for Netware
Changed prototype of killed_ptr() to make it more portable
netware/my_manage.c:
Applied patches for Netware
Changed prototype of killed_ptr() to make it more portable
netware/mysql_fix_privilege_tables.pl:
Applied patches for Netware
Changed prototype of killed_ptr() to make it more portable
netware/mysql_test_run.c:
Applied patches for Netware
Changed prototype of killed_ptr() to make it more portable
netware/static_init_db.sql:
Applied patches for Netware
Changed prototype of killed_ptr() to make it more portable
scripts/make_binary_distribution.sh:
Applied patches for Netware
Changed prototype of killed_ptr() to make it more portable
sql/filesort.cc:
Changed prototype of killed_ptr() to make it more portable
sql/ha_myisam.cc:
Changed prototype of killed_ptr() to make it more portable
sql/mysqld.cc:
Fixed some typos for Netware
sql/sql_bitmap.h:
Applied patches for Netware
sql/sql_class.h:
Changed prototype of killed_ptr() to make it more portable
sql/sql_insert.cc:
safety fix
strings/my_strtoll10.c:
Added comment
after Monty's review.
- Item_param was rewritten.
- it turns out that we can't convert string data to character set of
connection on the fly, because they first should be written to the binary
log.
To support efficient conversion we need to rewrite prepared statements
binlogging code first.
include/my_global.h:
Macro swap(a, b, c) was renamed to resolve name conflict with
String::swap() method.
include/my_sys.h:
Added declaration of escape_string_for_mysql()
include/mysql_com.h:
Removed and moved back: a macro which is visible to libmysql user but
has sence only in prepared statement protocol implementation.
isam/_search.c:
swap -> swap_variables
isam/test2.c:
swap -> swap_variables
libmysql/libmysql.c:
- sub_escape_string moved to mysys/charset.c to be visible in sql/
- few cleanups
myisam/mi_test2.c:
swap -> swap_variables
mysys/charset.c:
sub_escape_string was moved from libmysql.c to be able to use it in sql/
code.
mysys/my_chsize.c:
rename: swap -> swap_variables
mysys/my_compress.c:
swap -> swap_variables
mysys/my_handler.c:
swap -> swap_variables
sql/field.cc:
Field::store_time refactored to use TIME_to_string function from time.cc
sql/item.cc:
New implementation of Item_param class:
added support for character sets conversion.
sql/item.h:
Item_param:
- 'state' member introduced instead of many boolean variables.
- put ltime, int_value and real_value into union to save space.
- remove unimplemented members
- set_value renamed to set_str
sql/item_timefunc.cc:
Refactored to use functions from time.cc
sql/lock.cc:
rename: swap -> swap_variables
sql/mysql_priv.h:
- added declarations for TIME_to_ulonglong_*, TIME_to_string functions
- const specifiers for make_date, make_time, make_datetime arguments
sql/opt_range.cc:
rename: swap -> swap_variables
sql/protocol.cc:
- added character set conversion support to binary protocol.
- Protocol::convert changed to point at shared buffer in THD.
This lets us use one convert buffer for binary and simple protocol.
The same buffer is used for client->server conversions in prepared
statements code.
- string conversion code refactored to Protocol::store_string_aux function.
- few more comments
sql/protocol.h:
- Protocol::convert now points at THD::convert_buffer: we want to share one
buffer between all protocol implementations.
sql/sql_class.cc:
- implementation of THD::convert_string using THD::convert_buffer
(conversion of strings allocated in the system heap).
sql/sql_class.h:
- THD::convert_buffer is shared between THD and network Protocols and
used for character set conversion of strings.
- new function to convert String object from one charset to another using
THD::convert_buffer
sql/sql_insert.cc:
A little fix in a comment.
sql/sql_parse.cc:
Shrink convert buffer in the end of each statement.
sql/sql_prepare.cc:
Many changes:
- static specifier for set_param_* family of functions.
- FIELD_TYPE -> MYSQL_TYPE
- added set_param_binary as handler for BLOB types.
- added character set support
- added support for param typecode in mysql_stmt_get_longdata
(mysql_stmt_send_long_data handler)
- changes in Item_param deployed
- few cleanups
sql/sql_select.cc:
rename: swap -> swap_variables
sql/sql_string.cc:
- String::append rewritten to support character set conversion for
single-byte encodings.
- added String::swap method to efficiently exchange two string objects.
sql/sql_string.h:
Declraration for String::swap().
sql/time.cc:
- function TIME_to_string to convert TIME to String in default MySQL format
- family of functions TIME_to_ulonglong_*
tests/client_test.c:
Test for support for character set conversions in prepared statements
(binary and text data).
Fixed wrong number of warnings/duplicates for machines with high-byte-first
client/mysql.cc:
Remove not used variables
client/mysqltest.c:
Remove double ;
myisam/ft_nlq_search.c:
Fix valgrind error (not fatal)
myisam/rt_test.c:
Portability fix
mysql-test/r/rpl_trunc_binlog.result:
Portability fix
mysql-test/t/rpl_trunc_binlog.test:
Portability fix
(Column 23 was different on openbsd)
sql/sql_insert.cc:
Fixed wrong number of warnings/duplicates for machines with high-byte-first
strings/ctype-big5.c:
Portability fix
strings/ctype-gbk.c:
Portability fix
strings/ctype-mb.c:
Portability fix
strings/ctype-uca.c:
Portability fix
tests/client_test.c:
Portability fixes
Ensure that raid_chunks is not set to higher than 255 as this could cause problems with DROP DATABASE. (Bug #3182)
mysql-test/r/raid.result:
Test of raid_chunks > 255
mysql-test/t/raid.test:
Test of raid_chunks > 255
sql/item.cc:
Fixed wrong usage of str_value in Item::save_in_field
This could caused a stack overrun with some very special INSERT ... SELECT ... GROUP BY queries where the GROUP BY value was an expression that generated a NULL value. (Bug #3265)
The Item_copy_string::save_in_field() function is from 4.1 and helps optimized this case a bit
sql/item.h:
Fixed wrong usage of str_value in Item_copy_string::save_in_field
sql/sql_insert.cc:
More debug information
sql/table.cc:
Ensure that raid_chunks is not set to higher than 255 as this could cause problems with DROP DATABASE.
Another problem with values > 255 is that in the .frm file we store the chunks value in one byte.
(Bug #3182)
sql/item_cmpfunc.cc:
merged in one if
sql/mysql_priv.h:
removed unused paremeter of check_one_table_access
declaration of new function for SP share code
sql/set_var.cc:
function descriotion added
unneeded parantses removed
sql/sql_acl.cc:
new parameter to limit number of checked tables for check_grant
sql/sql_acl.h:
new parameter to limit number of checked tables for check_grant
sql/sql_delete.cc:
preparation moved in separate function
sql/sql_insert.cc:
preparation moved in separate function
sql/sql_lex.cc:
comment style fixed
unneeded assignment removed
sql/sql_parse.cc:
new parameter to limit number of checked tables for check_grant
table list manipulation removed (because of above)
new precheck function
sql/sql_prepare.cc:
function rewrited to shere code with sql_prepare.cc
flow control fixed
sql/sql_show.cc:
new parameter to limit number of checked tables for check_grant
sql/sql_update.cc:
preparation moved in separate function
sql/table.h:
flag renamed
change 10 to a #define'd constant
myisam/myisamdef.h:
use a constant with a difficult-to-type name instead of two-digit number :)
sql/ha_myisam.cc:
use a constant with a difficult-to-type name instead of two-digit number :)
sql/sql_insert.cc:
always call start_bulk_insert (it performs all checks itself)
removed spurious semicolon at the end of the "if" :)
added a clarifying comment
Revert main parts of patch for online index builds. Should be done differently
Added support for %lx in my_snprintf()
sql/ha_myisam.cc:
Don't enable HA_EXTRA_WRITE_CACHE if too few rows
sql/handler.h:
Indentaion fix
sql/mysql_priv.h:
Removed real_alter_table, mysql_add_column and mysql_drop_column
sql/sql_class.cc:
After merge fix
sql/sql_insert.cc:
Don't user bulk_insert if only one row (common case)
sql/sql_parse.cc:
Added mysql_create_index() and mysql_drop_index() as these are only wrappers for mysql_alter_table()
sql/sql_table.cc:
Revert main parts of patch for online index builds
Changed back to use tabs to make merges possible between trees
sql/unireg.cc:
Added comments and minor cleanup
strings/my_vsnprintf.c:
Added support for %lx.
Proper long support
sql/field.cc:
Auto merged
sql/item.cc:
Auto merged
sql/protocol.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/table.cc:
Auto merged
into sanja.is.com.ua:/home/bell/mysql/bk/work-ps3-4.1
mysql-test/r/union.result:
Auto merged
sql/item.cc:
Auto merged
sql/item_sum.cc:
Auto merged
sql/item_sum.h:
Auto merged
sql/log_event.cc:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_cache.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/log_event.cc:
non_cachable_table flag changed to cacheable_table
sql/repl_failsafe.cc:
non_cachable_table flag changed to cacheable_table
sql/slave.cc:
non_cachable_table flag changed to cacheable_table
sql/sql_acl.cc:
non_cachable_table flag changed to cacheable_table
sql/sql_base.cc:
non_cachable_table flag changed to cacheable_table
sql/sql_cache.cc:
non_cachable_table flag changed to cacheable_table
sql/sql_help.cc:
non_cachable_table flag changed to cacheable_table
sql/sql_insert.cc:
non_cachable_table flag changed to cacheable_table
sql/sql_parse.cc:
non_cachable_table flag changed to cacheable_table
sql/sql_prepare.cc:
renamed DEBUG tag
sql/table.h:
non_cachable_table flag changed to cacheable_table
into mysql.com:/home/my/mysql-4.1
sql/field.cc:
Auto merged
sql/field.h:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/item.cc:
Auto merged
sql/mysqld.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
Fixed bugs in group_concat with ORDER BY and DISTINCT (Bugs #2695, #3381 and #3319)
Fixed crash when doing rollback in slave and the io thread catched up with the sql thread
Set locked_in_memory properly
include/mysql_com.h:
Fixed compiler warning
libmysqld/emb_qcache.cc:
Removed not used variable
libmysqld/lib_sql.cc:
Removed not used variable
myisam/mi_locking.c:
Added comment
myisam/mi_rnext.c:
Fixed bug in concurrent insert
myisam/mi_rprev.c:
Simple optimization
mysql-test/r/func_gconcat.result:
New tests
mysql-test/t/func_gconcat.test:
New tests
mysql-test/t/func_group.test:
Cleanup
sql-common/client.c:
Removed compiler warning
sql/derror.cc:
Better comments
sql/field.cc:
Removed not used function/variable
sql/field.h:
Removed not needed variable
sql/ha_innodb.cc:
Removed not used function
sql/item.cc:
Fixed compiler warning
sql/item_cmpfunc.cc:
Fixed compiler warning
sql/item_func.cc:
Fixed compiler warning
sql/item_geofunc.cc:
Fixed compiler warning
sql/item_sum.cc:
Fixed bugs in group_concat and added more comments
(Bugs #2695, #3381 and #3319)
- field->abs_offset was not needed
- Wrong assumption of field order in temporary table
- Some not used variables removed
- Added ORDER BY fields after argument fields so that code in sql_select.cc can move all fields to point to temporary tables, if needed.
- Optimized loops
sql/item_sum.h:
Bug fixing and cleanup of group_concat()
sql/log.cc:
Removed wrong comment
sql/log_event.cc:
Removed compiler warning
sql/mysqld.cc:
Set locked_in_memory properly
sql/protocol.cc:
Removed compiler warning
sql/set_var.cc:
Code cleanup
sql/slave.cc:
Fixed crash when doing rollback in slave and the io thread catched up with the sql thread
sql/sql_cache.cc:
Removed compiler warnings
sql/sql_derived.cc:
Removed not used variable
sql/sql_insert.cc:
Removed compiler warnings
sql/sql_lex.cc:
Removed not used lable
sql/sql_lex.h:
Removed compiler warnings
sql/sql_parse.cc:
Removed compiler warnings
sql/sql_prepare.cc:
Removed compiler warnings
sql/sql_select.cc:
Removed not used variables
Added function comments
sql/sql_show.cc:
Removed compiler warnings
sql/sql_yacc.yy:
Fix for ORDER BY handling in GROUP_CONCAT()
fixed error code in union test
mysql-test/t/union.test:
right code worr 4.1 error
sql/log_event.cc:
assign non-cachable for Item status for all stack tables for safety
sql/repl_failsafe.cc:
assign non-cachable for Item status for all stack tables for safety
sql/slave.cc:
assign non-cachable for Item status for all stack tables for safety
sql/sql_acl.cc:
assign non-cachable for Item status for all stack tables for safety
sql/sql_base.cc:
assign non-cachable for Item status for all stack tables for safety
non-cachable status processing
sql/sql_cache.cc:
assign non-cachable for Item status for all stack tables for safety
sql/sql_class.cc:
removed ald way to prevent using stack tables for caching Items in PS
sql/sql_class.h:
removed old way to prevent using stack tables for caching Items in PS
sql/sql_help.cc:
assign non-cachable for Item status for all stack tables for safety
sql/sql_insert.cc:
assign non-cachable for Item status for all stack tables for safety
removed old way to prevent using stack tables for caching Items in PS
sql/table.h:
non-cachable for Item status for tables
Final version of patch.
Adds support for specifying of DEFAULT NOW() and/or ON UPDATE NOW()
clauses for TIMESTAMP field definition.
Current implementation allows only one such field per table and
uses several unireg types for storing info about this properties of
field. It should be replaced with better implementation when new
.frm format is introduced.
include/mysqld_error.h:
Added error codes for case when we have more than one column with NOW()
in DEFAULT or ON UPDATE clauses and for case when we are using ON UPDATE
clause with wrong type.
mysql-test/r/create.result:
Added tests for using of DEFAULT NOW() and ON UPDATE NOW() with
non-TIMESTAMP fields.
mysql-test/r/show_check.result:
Updated test results to reflect new default look of TIMESTAMP fields
in SHOW CREATE TABLE.
mysql-test/r/system_mysql_db.result:
Updated test results to reflect new default look of TIMESTAMP fields
in SHOW CREATE TABLE.
mysql-test/r/type_ranges.result:
Updated test results to reflect new default look of TIMESTAMP fields
in SHOW COLUMNS.
mysql-test/r/type_timestamp.result:
Added tests for various DEFAULT and ON UPDATE clauses for TIMESTAMP
fields definitions.
mysql-test/t/create.test:
Added tests for using of DEFAULT NOW() and ON UPDATE NOW() with
non-TIMESTAMP fields.
mysql-test/t/type_timestamp.test:
Added tests for various DEFAULT and ON UPDATE clauses for TIMESTAMP
fields definitions.
sql/field.cc:
Added support for various combinations of DEFAULT and ON UPDATE clauses
for TIMESTAMP field.
Setting TABLE::timestamp* members for TIMESTAMP fields with auto-set
option taking into account their unireg type (which corresponds to
various DEFAULT/ON UPDATE values combinations). Replaced
TABLE::time_stamp with TABLE::timestamp_default_now/on_update_now
couple moved their setup to separate method set_timestamp_offsets(),
which now is called from open_table instead of Field_timestamp cons.
sql/field.h:
Added more unireg types for handling of DEFAULT NOW() and ON UPDATE
NOW() for TIMESTAMP fields.
Fixed value corresponding to DEFAULT item for TIMESTAMP field.
sql/ha_berkeley.cc:
Now TIMESTAMP column with auto-set property could be updated during
INSERT or/and UPDATE independently.
sql/ha_heap.cc:
Now TIMESTAMP column with auto-set property could be updated during
INSERT or/and UPDATE independently.
sql/ha_innodb.cc:
Now TIMESTAMP column with auto-set property could be updated during
INSERT or/and UPDATE independently.
sql/ha_isam.cc:
Now TIMESTAMP column with auto-set property could be updated during
INSERT or/and UPDATE independently.
sql/ha_isammrg.cc:
Now TIMESTAMP column with auto-set property could be updated during
INSERT or/and UPDATE independently.
sql/ha_myisam.cc:
Now TIMESTAMP column with auto-set property could be updated during
INSERT or/and UPDATE independently.
sql/ha_myisammrg.cc:
Now TIMESTAMP column with auto-set property could be updated during
INSERT or/and UPDATE independently.
sql/item_func.h:
We need to distinguish NOW() from other function for using in
DEFAULT and in ON UPDATE clauses.
sql/item_timefunc.h:
We need to distinguish NOW() from other function for using in
DEFAULT and in ON UPDATE clauses.
sql/mysql_priv.h:
Added parameter for ON UPDATE value to add_field_to_list() function.
sql/share/czech/errmsg.txt:
Added error messages for case when we have more than one column with
NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or
ON UPDATE clauses and for case when we are using ON UPDATE clause with
wrong type.
sql/share/danish/errmsg.txt:
Added error messages for case when we have more than one column with
NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or
ON UPDATE clauses and for case when we are using ON UPDATE clause with
wrong type.
sql/share/dutch/errmsg.txt:
Added error messages for case when we have more than one column with
NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or
ON UPDATE clauses and for case when we are using ON UPDATE clause with
wrong type.
sql/share/english/errmsg.txt:
Added error messages for case when we have more than one column with
NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or
ON UPDATE clauses and for case when we are using ON UPDATE clause with
wrong type.
sql/share/estonian/errmsg.txt:
Added error messages for case when we have more than one column with
NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or
ON UPDATE clauses and for case when we are using ON UPDATE clause with
wrong type.
sql/share/french/errmsg.txt:
Added error messages for case when we have more than one column with
NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or
ON UPDATE clauses and for case when we are using ON UPDATE clause with
wrong type.
sql/share/german/errmsg.txt:
Added error messages for case when we have more than one column with
NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or
ON UPDATE clauses and for case when we are using ON UPDATE clause with
wrong type.
sql/share/greek/errmsg.txt:
Added error messages for case when we have more than one column with
NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or
ON UPDATE clauses and for case when we are using ON UPDATE clause with
wrong type.
sql/share/hungarian/errmsg.txt:
Added error messages for case when we have more than one column with
NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or
ON UPDATE clauses and for case when we are using ON UPDATE clause with
wrong type.
sql/share/italian/errmsg.txt:
Added error messages for case when we have more than one column with
NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or
ON UPDATE clauses and for case when we are using ON UPDATE clause with
wrong type.
sql/share/japanese/errmsg.txt:
Added error messages for case when we have more than one column with
NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or
ON UPDATE clauses and for case when we are using ON UPDATE clause with
wrong type.
sql/share/korean/errmsg.txt:
Added error messages for case when we have more than one column with
NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or
ON UPDATE clauses and for case when we are using ON UPDATE clause with
wrong type.
sql/share/norwegian-ny/errmsg.txt:
Added error messages for case when we have more than one column with
NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or
ON UPDATE clauses and for case when we are using ON UPDATE clause with
wrong type.
sql/share/norwegian/errmsg.txt:
Added error messages for case when we have more than one column with
NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or
ON UPDATE clauses and for case when we are using ON UPDATE clause with
wrong type.
sql/share/polish/errmsg.txt:
Added error messages for case when we have more than one column with
NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or
ON UPDATE clauses and for case when we are using ON UPDATE clause with
wrong type.
sql/share/portuguese/errmsg.txt:
Added error messages for case when we have more than one column with
NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or
ON UPDATE clauses and for case when we are using ON UPDATE clause with
wrong type.
sql/share/romanian/errmsg.txt:
Added error messages for case when we have more than one column with
NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or
ON UPDATE clauses and for case when we are using ON UPDATE clause with
wrong type.
sql/share/russian/errmsg.txt:
Added error messages for case when we have more than one column with
NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or
ON UPDATE clauses and for case when we are using ON UPDATE clause with
wrong type.
sql/share/serbian/errmsg.txt:
Added error messages for case when we have more than one column with
NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or
ON UPDATE clauses and for case when we are using ON UPDATE clause with
wrong type.
sql/share/slovak/errmsg.txt:
Added error messages for case when we have more than one column with
NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or
ON UPDATE clauses and for case when we are using ON UPDATE clause with
wrong type.
sql/share/spanish/errmsg.txt:
Added error messages for case when we have more than one column with
NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or
ON UPDATE clauses and for case when we are using ON UPDATE clause with
wrong type.
sql/share/swedish/errmsg.txt:
Added error messages for case when we have more than one column with
NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or
ON UPDATE clauses and for case when we are using ON UPDATE clause with
wrong type.
sql/share/ukrainian/errmsg.txt:
Added error messages for case when we have more than one column with
NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or
ON UPDATE clauses and for case when we are using ON UPDATE clause with
wrong type.
sql/sql_base.cc:
Added setup of TABLE::timestamp_default_now/on_update_now pair
for each statement to open_table().
sql/sql_insert.cc:
Using TABLE::timestamp_default_now/on_update_now pair instead of
old TABLE::time_stamp. Added check for case then REPLACE could not
be converted to UPDATE because of different DEFAULT/ON UPDATE values
for TIMESTAMP field.
sql/sql_lex.h:
Added member for value used in ON UPDATE clause to st_lex.
sql/sql_load.cc:
Using TABLE::timestamp_default_now/on_update_now pair instead of
old TABLE::time_stamp. We don't need to restore these members
since they are set up for each statement in open_table().
sql/sql_parse.cc:
Added handling of DEFAULT NOW() and ON UPDATE NOW() clauses for
TIMESTAMP fields to add_field_to_list() function.
sql/sql_show.cc:
Added support for DEFAULT CURRENT_TIMESTAMP (aka NOW() ) and
ON UPDATE CURRENT_TIMESTAMP to SHOW CREATE TABLE and SHOW COLUMNS.
sql/sql_table.cc:
mysql_create_table() function - added check for number of TIMESTAMP
fields with auto-set values and replacing of old style TIMESTAMPs
with their newer analogs.
mysql_alter_table(): Using TABLE::timestamp_default_now/on_update_now
pair instead of old TABLE::time_stamp. We don't need to restore these
members since they are set up for each statement in open_table().
sql/sql_update.cc:
Left only setting of TABLE::timestamp_default_now/on_update_now
to 0 since they should be already set up in open_table().
sql/sql_yacc.yy:
Added support for DEFAULT NOW() and ON UPDATE NOW() in field
definitions.
sql/table.h:
Replaced TABLE::time_stamp withTABLE::timestamp_default_now/timestamp_on_update_now
pair which allows to distinguish TIMESTAMP's with various DEFAULT/ON UPDATE
clauses and optimize checks if TIMESTAMP field should be set to NOW()
in handlers.
sql/unireg.cc:
Now we are marking only TIMESTAMP fields with NOW() as default or
as on update value as special field for unireg.
save moving ON/USING tables conditions to WHERE clause (BUG#2794)
sql/sql_base.cc:
fix for table/field caching mechanism (global lock of it and right table passed as parameter)
save moving ON/USING tables conditions to WHERE clause (BUG#2794)
sql/sql_class.cc:
lock for using field/table cache in Item name resolution
sql/sql_class.h:
lock for using field/table cache in Item name resolution
sql/sql_insert.cc:
lock for using field/table cache in Item name resolution
tests/client_test.c:
Test of PS queries with ON condition
client/mysqltest.c:
Added support for --enable_metadata
mysql-test/t/order_by.test:
Improved comment
scripts/mysqlaccess.sh:
CGI is required (Bug #2988)
sql/field.cc:
Fix to get correct metadata when using temporary tables to create result
sql/field.h:
Fix to get correct metadata when using temporary tables to create result
sql/sql_insert.cc:
Fix to get correct metadata when using temporary tables to create result
user is not SUPER, instead of setting the value but ignoring it
silently internally.
mysql-test/r/rpl_temporary.result:
result update
mysql-test/t/rpl_temporary.test:
adding test for privileges for SET SQL_LOG_BIN
sql/log.cc:
don't need to check SUPER
sql/set_var.cc:
refuse SET SQL_LOG_BIN if not SUPER
sql/sql_insert.cc:
Don't need to check SUPER
client/mysqladmin.c:
Auto merged
client/mysqltest.c:
Auto merged
innobase/dict/dict0dict.c:
Auto merged
innobase/include/os0file.h:
Auto merged
innobase/os/os0file.c:
Auto merged
myisam/mi_check.c:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/opt_range.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_cache.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_handler.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
BitKeeper/etc/logging_ok:
auto-union
VC++Files/innobase/innobase.dsp:
Auto merged
VC++Files/libmysql/libmysql.dsp:
Auto merged
acinclude.m4:
Auto merged
configure.in:
Auto merged
BitKeeper/deleted/.del-com0shm.c~6a16f0c3d81de1f:
Auto merged
BitKeeper/deleted/.del-mysql_fix_privilege_tables.sql:
Auto merged
extra/replace.c:
Auto merged
include/my_sys.h:
Auto merged
innobase/btr/btr0btr.c:
Auto merged
innobase/btr/btr0cur.c:
Auto merged
innobase/btr/btr0pcur.c:
Auto merged
innobase/btr/btr0sea.c:
Auto merged
innobase/configure.in:
Auto merged
innobase/data/data0data.c:
Auto merged
innobase/dict/dict0boot.c:
Auto merged
innobase/dict/dict0crea.c:
Auto merged
innobase/dict/dict0dict.c:
Auto merged
innobase/dict/dict0load.c:
Auto merged
innobase/dict/dict0mem.c:
Auto merged
innobase/ha/ha0ha.c:
Auto merged
innobase/ha/hash0hash.c:
Auto merged
innobase/include/btr0btr.ic:
Auto merged
innobase/include/data0type.ic:
Auto merged
innobase/include/dict0mem.h:
Auto merged
innobase/include/log0log.ic:
Auto merged
innobase/include/mach0data.ic:
Auto merged
innobase/include/mtr0log.h:
Auto merged
innobase/include/mtr0mtr.h:
Auto merged
innobase/include/os0file.h:
Auto merged
innobase/include/row0upd.ic:
Auto merged
innobase/include/srv0srv.h:
Auto merged
innobase/include/sync0sync.h:
Auto merged
innobase/include/trx0rseg.ic:
Auto merged
innobase/lock/lock0lock.c:
Auto merged
innobase/log/log0recv.c:
Auto merged
innobase/mem/mem0dbg.c:
Auto merged
innobase/mtr/mtr0log.c:
Auto merged
innobase/mtr/mtr0mtr.c:
Auto merged
innobase/os/os0file.c:
Auto merged
innobase/page/page0cur.c:
Auto merged
innobase/page/page0page.c:
Auto merged
innobase/pars/lexyy.c:
Auto merged
innobase/read/read0read.c:
Auto merged
innobase/rem/rem0cmp.c:
Auto merged
innobase/rem/rem0rec.c:
Auto merged
innobase/row/row0ins.c:
Auto merged
innobase/row/row0mysql.c:
Auto merged
innobase/row/row0purge.c:
Auto merged
innobase/row/row0sel.c:
Auto merged
innobase/row/row0undo.c:
Auto merged
innobase/row/row0upd.c:
Auto merged
innobase/srv/srv0srv.c:
Auto merged
innobase/srv/srv0start.c:
Auto merged
innobase/sync/sync0rw.c:
Auto merged
innobase/thr/thr0loc.c:
Auto merged
innobase/trx/trx0purge.c:
Auto merged
innobase/trx/trx0rec.c:
Auto merged
innobase/trx/trx0roll.c:
Auto merged
innobase/trx/trx0trx.c:
Auto merged
innobase/trx/trx0undo.c:
Auto merged
myisam/mi_check.c:
Auto merged
myisam/myisamchk.c:
Auto merged
mysql-test/r/multi_update.result:
Auto merged
mysql-test/r/mysqlbinlog.result:
Auto merged
mysql-test/r/rpl_error_ignored_table.result:
Auto merged
mysql-test/t/multi_update.test:
Auto merged
mysql-test/t/rpl_error_ignored_table.test:
Auto merged
mysys/mf_iocache.c:
Auto merged
mysys/mf_pack.c:
Auto merged
mysys/my_getopt.c:
Auto merged
sql/ha_berkeley.cc:
Auto merged
sql/ha_myisam.cc:
Auto merged
sql/lock.cc:
Auto merged
sql/log.cc:
Auto merged
sql/opt_range.cc:
Auto merged
sql/set_var.h:
Auto merged
sql/sql_cache.cc:
Auto merged
sql/sql_cache.h:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_handler.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_list.h:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_update.cc:
Auto merged
tests/thread_test.c:
Auto merged
client/mysqldump.c:
Keep original indentation
mysql-test/r/merge.result:
keep old file
scripts/mysql_fix_privilege_tables.sh:
Keep old structure in merge with 4.0
sql/table.cc:
merge with 4.0 + simple optimizations
#2709 Affected Rows for ON DUPL. KEY undocumented, perheps illogical
1. added COPY_INFO::updated to work with it in
'insert .. on duplicate' instead of COPY_INFO::deleted
2. added affected rows to output of "info:" in mysqltest.c
client/mysqltest.c:
added "affected rows" to output of "info : "..
mysql-test/r/insert_update.result:
added tests for affected rows with insert .. duplicate (bug #2709)
mysql-test/t/insert_update.test:
added tests for affected rows with insert .. duplicate (bug #2709)
sql/sql_class.h:
added COPY_INFO::updated
sql/sql_insert.cc:
get write_record to work with COPY_INFO::updated instead of
COPY_INFO::deleted for 'insert ... duplicate' statement
nsure that rows in a multi-row INSERT DELAYED are inserted atomicly
mysql-test/mysql-test-run.sh:
Make test case safe for openserver/unixware (Bug #2700)
sql/sql_delete.cc:
Rollback statement on kill
sql/sql_insert.cc:
Ensure that rows in a multi-row INSERT DELAYED are inserted atomicly (without releasing logs).
This is needed to ensure that the mysqlbinlog is consistent.
Bug #2491
sql/sql_list.h:
Ensure that rows in a multi-row INSERT DELAYED is inserted atomicly (without releasing logs).
This is needed to ensure that the mysqlbinlog is consistent.
Bug #2491
sql/sql_update.cc:
Rollback statement on kill
sql/mysql_priv.h:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_load.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_update.cc:
Auto merged
mysql-test/r/union.result:
fix for union test becuase now not all fields in UNION allow NULLS
fix of test
test suite for BUG#2809
mysql-test/t/union.test:
test suite for BUG#2809
sql/mysql_priv.h:
removed unused parameter of setup_tables()
sql/sql_base.cc:
removed unused parameter of setup_tables()
cleanup of unused code
sql/sql_class.h:
removed unused field
sql/sql_help.cc:
removed unused parameter of setup_tables()
sql/sql_insert.cc:
removed unused parameter of setup_tables()
sql/sql_lex.cc:
excluded duplicate tables finding for UNION
sql/sql_load.cc:
removed unused parameter of setup_tables()
sql/sql_olap.cc:
removed unused parameter of setup_tables()
sql/sql_prepare.cc:
removed unused parameter of setup_tables()
sql/sql_select.cc:
removed unused parameter of setup_tables()
revert old BUG#2508 patch
sql/sql_union.cc:
revert old BUG#2508 patch
removed unused code
sql/sql_update.cc:
removed unused parameter of setup_tables()
sql/table.h:
shared used only for multi-update for now
BitKeeper/etc/ignore:
auto-union
BitKeeper/etc/logging_ok:
auto-union
mysql-test/r/ctype_tis620.result-old:
Merge rename: mysql-test/r/ctype_tis620.result -> mysql-test/r/ctype_tis620.result-old
BUILD/compile-pentium-max:
Auto merged
BitKeeper/etc/config:
Auto merged
Build-tools/Bootstrap:
Auto merged
Build-tools/Do-compile:
Auto merged
configure.in:
Auto merged
mysql-test/t/ctype_tis620.test-old:
Merge rename: mysql-test/t/ctype_tis620.test -> mysql-test/t/ctype_tis620.test-old
Docs/Makefile.am:
Auto merged
client/mysqldump.c:
Auto merged
client/mysqltest.c:
Auto merged
include/my_global.h:
Auto merged
include/my_pthread.h:
Auto merged
include/my_sys.h:
Auto merged
include/myisam.h:
Auto merged
innobase/btr/btr0cur.c:
Auto merged
innobase/ibuf/ibuf0ibuf.c:
Auto merged
innobase/include/dict0dict.h:
Auto merged
innobase/include/srv0srv.h:
Auto merged
innobase/include/ut0mem.h:
Auto merged
innobase/log/log0log.c:
Auto merged
innobase/row/row0ins.c:
Auto merged
innobase/row/row0sel.c:
Auto merged
innobase/srv/srv0start.c:
Auto merged
innobase/ut/ut0mem.c:
Auto merged
myisam/mi_check.c:
Auto merged
myisam/mi_dynrec.c:
Auto merged
myisam/mi_key.c:
Auto merged
myisam/myisam_ftdump.c:
Auto merged
myisam/myisamdef.h:
Auto merged
mysql-test/mysql-test-run.sh:
Auto merged
mysql-test/r/alter_table.result:
Auto merged
mysql-test/r/bdb.result:
Auto merged
mysql-test/r/bigint.result:
Auto merged
mysql-test/r/fulltext.result:
Auto merged
client/mysqlbinlog.cc:
Ensure that errors are returned to upper levels instead of just doing 'exit/die' in sub function.
sql/handler.h:
Indentation cleanup
sql/sql_insert.cc:
Indentation cleanup
Allow always DROPping of a table which is only referenced by FOREIGN KEY constraints from the same table
Many files:
Do not let REPLACE to perform internally an UPDATE if the table is referenced by a FOREIGN KEY: the manual says that REPLACE must resolve a duplicate key error semantically with DELETE(s) + INSERT, and not by an UPDATE; the internal update caused foreign key checks and cascaded operations to behave in a semantically wrong way
sql/ha_innodb.cc:
Do not let REPLACE to perform internally an UPDATE if the table is referenced by a FOREIGN KEY: the manual says that REPLACE must resolve a duplicate key error semantically with DELETE(s) + INSERT, and not by an UPDATE; the internal update caused foreign key checks and cascaded operations to behave in a semantically wrong way
sql/sql_insert.cc:
Do not let REPLACE to perform internally an UPDATE if the table is referenced by a FOREIGN KEY: the manual says that REPLACE must resolve a duplicate key error semantically with DELETE(s) + INSERT, and not by an UPDATE; the internal update caused foreign key checks and cascaded operations to behave in a semantically wrong way
sql/ha_innodb.h:
Do not let REPLACE to perform internally an UPDATE if the table is referenced by a FOREIGN KEY: the manual says that REPLACE must resolve a duplicate key error semantically with DELETE(s) + INSERT, and not by an UPDATE; the internal update caused foreign key checks and cascaded operations to behave in a semantically wrong way
sql/handler.h:
Do not let REPLACE to perform internally an UPDATE if the table is referenced by a FOREIGN KEY: the manual says that REPLACE must resolve a duplicate key error semantically with DELETE(s) + INSERT, and not by an UPDATE; the internal update caused foreign key checks and cascaded operations to behave in a semantically wrong way
innobase/dict/dict0dict.c:
Do not let REPLACE to perform internally an UPDATE if the table is referenced by a FOREIGN KEY: the manual says that REPLACE must resolve a duplicate key error semantically with DELETE(s) + INSERT, and not by an UPDATE; the internal update caused foreign key checks and cascaded operations to behave in a semantically wrong way
innobase/include/dict0dict.h:
Do not let REPLACE to perform internally an UPDATE if the table is referenced by a FOREIGN KEY: the manual says that REPLACE must resolve a duplicate key error semantically with DELETE(s) + INSERT, and not by an UPDATE; the internal update caused foreign key checks and cascaded operations to behave in a semantically wrong way
innobase/row/row0mysql.c:
Allow always DROPping of a table which is only referenced by FOREIGN KEY constraints from the same table
into sanja.is.com.ua:/home/bell/mysql/bk/work-derived2-4.1
sql/sql_delete.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_select.h:
Auto merged
sql/sql_update.cc:
Auto merged
fixed BUG#2120 and other problem with EXPLAINing derived tables
mysql-test/r/derived.result:
correct tables names & Co in derived tables
test case for BUG#2120
mysql-test/t/derived.test:
test case for BUG#2120
sql/mysql_priv.h:
derived tables processing moved after open/locking all tables (in open_and_lock_tables)
sql/repl_failsafe.cc:
correct initialization of TABLE_LIST
sql/sql_acl.cc:
used simple table opening without derived table processing to avoid unneeded initialization of SELECT_LEX
sql/sql_base.cc:
derived tables processing moved after open/locking all tables (in open_and_lock_tables)
sql/sql_delete.cc:
all tables processing is done during opening
sql/sql_derived.cc:
derived tables processing moved after open/locking all tables (in open_and_lock_tables) to sutisfy "all query tables locking" at the moment
sql/sql_insert.cc:
all tables processing is done during opening
correct initialization of TABLE_LIST
sql/sql_lex.cc:
now table list will be created for whole query
layout fix
correct check of updated table in subqueries
sql/sql_lex.h:
now table list will be created for whole query
correct check of updated table in subqueries
sql/sql_olap.cc:
THIS FUNCTION IS USED NOWHERE
it will be good to remove it at all (handle_olaps)
sql/sql_parse.cc:
derived tables processing moved after open/locking all tables (in open_and_lock_tables)
sql/sql_prepare.cc:
new creating list parameters
all tables processing is done during opening
sql/sql_select.cc:
all tables processing is done during opening
sql/sql_select.h:
now it used only within file where is defined
sql/sql_udf.cc:
used simple table opening without derived table processing to avoid unneeded initialization of SELECT_LEX
sql/sql_update.cc:
all tables processing is done during opening
(BUG#2089)
mysql-test/r/subselect_innodb.result:
correct results
sql/mysql_priv.h:
new parameter for setup_tables()
sql/sql_base.cc:
new parameter for setup_tables() added to avoid dropping query_id of fields during reinitialization subquery
sql/sql_class.cc:
layout fixed
sql/sql_help.cc:
new parameter for setup_tables()
sql/sql_insert.cc:
new parameter for setup_tables()
sql/sql_lex.cc:
removed incorrect code
sql/sql_load.cc:
new parameter for setup_tables()
sql/sql_olap.cc:
new parameter for setup_tables()
sql/sql_prepare.cc:
new parameter for setup_tables()
sql/sql_select.cc:
new parameter for setup_tables()
sql/sql_update.cc:
new parameter for setup_tables()
Added support for lower_case_table_names=2, which is to be used on case insensitive file systems.
This tells MySQL to preserve the used case of filenames and database names to make it esier to move files between cases sensitive can case insensitive file systems (like Windows and Linux)
client/mysqltest.c:
Indentation cleanup
include/myisam.h:
Made some pointers 'const'
mysql-test/mysql-test-run.sh:
Portability fix for OSX
sql/filesort.cc:
Safety fix (not needed for current code but needed for 5.0)
sql/ha_berkeley.cc:
More debugging
Changed 'create' to return error number
sql/ha_berkeley.h:
Added HA_FILE_BASED
sql/ha_innodb.cc:
Added missing DBUG_RETURN
sql/ha_isam.cc:
Changed create to return error number
sql/ha_isam.h:
Added HA_FILE_BASED
sql/ha_isammrg.h:
Added HA_FILE_BASED
sql/ha_myisam.cc:
Changed create to return error number
sql/ha_myisam.h:
Added HA_FILE_BASED
sql/ha_myisammrg.cc:
Changed create to return error number
sql/ha_myisammrg.h:
Added HA_FILE_BASED
sql/handler.cc:
Ensure that table engines gets table names in lower case even if we are using lower_case_table_names
Removed test for DB_TYPE_INNODB by ensuring that create method returns error number.
sql/handler.h:
Added HA_FILE_BASED
Made some struct entries 'const'
Added 'alias' for create to be able to create tables in mixed case on case insensitive file systems
sql/mysql_priv.h:
Support for lower_case_table_names=2
sql/mysqld.cc:
Support for lower_case_table_names=2
Moved test of case insenstive file system after all mutex are created
sql/set_var.cc:
Support for lower_case_table_names=2
sql/sql_class.h:
Indentation change
sql/sql_db.cc:
Support for lower_case_table_names=2
sql/sql_insert.cc:
Indentation change
sql/sql_parse.cc:
Support for lower_case_table_names=2
sql/sql_rename.cc:
Support for lower_case_table_names=2
Added missing 'unpack_filename' to RENAME which may fix a bug in RENAME TABLE on windows
sql/sql_show.cc:
If lower_case_table_name=2 is given, show original case in SHOW CREATE TABLE
sql/sql_table.cc:
Support for lower_case_table_names=2 for DROP TABLE, RENAME TABLE, ALTER TABLE and CREATE TABLE
All tests pass (client_test included)
libmysqld/lib_sql.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/filesort.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/ha_innodb.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/ha_myisam.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/item.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/item_cmpfunc.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/item_create.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/item_func.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/item_subselect.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/item_sum.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/mysql_priv.h:
THD::lex now points to THD::main_lex like in 5.0
sql/mysqld.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/protocol.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/repl_failsafe.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/slave.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_acl.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_base.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_cache.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_class.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_class.h:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_delete.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_error.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_insert.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_lex.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_lex.h:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_parse.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_prepare.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_repl.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_select.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_table.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_union.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_update.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_yacc.yy:
THD::lex now points to THD::main_lex like in 5.0
BitKeeper/etc/logging_ok:
auto-union
Build-tools/Do-compile:
Auto merged
acinclude.m4:
Auto merged
configure.in:
Auto merged
dbug/dbug.c:
Auto merged
include/config-win.h:
Auto merged
include/my_base.h:
Auto merged
include/my_global.h:
Auto merged
include/my_pthread.h:
Auto merged
include/my_sys.h:
Auto merged
include/mysql.h:
Auto merged
include/mysql_com.h:
Auto merged
innobase/lock/lock0lock.c:
Auto merged
innobase/row/row0ins.c:
Auto merged
innobase/row/row0sel.c:
Auto merged
innobase/row/row0umod.c:
Auto merged
innobase/row/row0upd.c:
Auto merged
myisam/ft_boolean_search.c:
Auto merged
myisam/mi_check.c:
Auto merged
myisam/mi_dbug.c:
Auto merged
myisam/mi_open.c:
Auto merged
mysql-test/r/auto_increment.result:
Auto merged
mysql-test/r/bdb.result:
Auto merged
mysql-test/r/func_op.result:
Auto merged
Build-tools/Bootstrap:
Merge with 4.0
client/mysql.cc:
Merge with 4.0
client/mysqldump.c:
Merge with 4.0
client/mysqltest.c:
Use local version
innobase/btr/btr0cur.c:
Merge with 4.0 (Heikki should check if we should remove btr_cur_update_sec_rec_in_place()
libmysql/libmysql.c:
Merge with 4.0
libmysqld/lib_sql.cc:
Merge with 4.0
myisam/mi_key.c:
Merge with 4.0
myisam/mi_search.c:
Merge with 4.0
mysql-test/r/binary.result:
Merge with 4.0
mysql-test/r/func_group.result:
Merge with 4.0
mysql-test/r/func_str.result:
Merge with 4.0
mysql-test/r/func_time.result:
Merge with 4.0
mysql-test/r/group_by.result:
Merge with 4.0
mysql-test/r/handler.result:
Merge with 4.0
mysql-test/r/innodb.result:
Merge with 4.0
mysql-test/r/insert.result:
Merge with 4.0
mysql-test/r/join_outer.result:
Merge with 4.0
mysql-test/r/loaddata.result:
Merge with 4.0
mysql-test/r/lowercase_table.result:
Merge with 4.0
mysql-test/r/multi_update.result:
Merge with 4.0
mysql-test/r/mysqldump.result:
Merge with 4.0
mysql-test/r/query_cache.result:
Merge with 4.0
mysql-test/r/rpl_max_relay_size.result:
Merge with 4.0
mysql-test/r/rpl_rotate_logs.result:
Merge with 4.0
mysql-test/r/rpl_trunc_binlog.result:
Merge with 4.0
mysql-test/r/select_found.result:
Merge with 4.0
mysql-test/r/symlink.result:
Merge with 4.0
mysql-test/r/truncate.result:
Merge with 4.0
mysql-test/r/type_blob.result:
Merge with 4.0
mysql-test/r/type_datetime.result:
Merge with 4.0
mysql-test/r/type_decimal.result:
Merge with 4.0
mysql-test/r/type_enum.result:
Merge with 4.0
mysql-test/r/type_timestamp.result:
Merge with 4.0
mysql-test/r/union.result:
Merge with 4.0
mysql-test/t/auto_increment.test:
Merge with 4.0
mysql-test/t/bdb.test:
Merge with 4.0
mysql-test/t/func_group.test:
Merge with 4.0
mysql-test/t/func_op.test:
Merge with 4.0
mysql-test/t/func_str.test:
Merge with 4.0
mysql-test/t/func_time.test:
Merge with 4.0
mysql-test/t/group_by.test:
Merge with 4.0
mysql-test/t/handler.test:
Merge with 4.0
mysql-test/t/innodb.test:
Merge with 4.0
mysql-test/t/insert.test:
Merge with 4.0
mysql-test/t/join_outer.test:
Merge with 4.0
mysql-test/t/limit.test:
Merge with 4.0
mysql-test/t/loaddata.test:
Merge with 4.0
mysql-test/t/lowercase_table.test:
Merge with 4.0
mysql-test/t/multi_update.test:
Merge with 4.0
mysql-test/t/mysqldump.test:
Merge with 4.0
mysql-test/t/query_cache.test:
Merge with 4.0
mysql-test/t/rpl_log_pos.test:
Merge with 4.0
mysql-test/t/rpl_max_relay_size.test:
Merge with 4.0
mysql-test/t/rpl_rotate_logs.test:
Merge with 4.0
mysql-test/t/rpl_trunc_binlog.test:
Merge with 4.0
mysql-test/t/select_found.test:
Merge with 4.0
mysql-test/t/symlink.test:
Merge with 4.0
mysql-test/t/truncate.test:
Merge with 4.0
mysql-test/t/type_blob.test:
Merge with 4.0
mysql-test/t/type_datetime.test:
Merge with 4.0
mysql-test/t/type_decimal.test:
Merge with 4.0
mysql-test/t/type_enum.test:
Merge with 4.0
mysql-test/t/type_timestamp.test:
Merge with 4.0
mysql-test/t/union.test:
Merge with 4.0
mysys/charset.c:
Merge with 4.0
mysys/my_init.c:
Merge with 4.0
mysys/my_symlink.c:
Merge with 4.0
mysys/my_thr_init.c:
Merge with 4.0
regex/reginit.c:
Merge with 4.0
sql/field.cc:
Change fix_datetime() to print errors
sql/field.h:
Merge with 4.0
sql/ha_innodb.cc:
Merge with 4.0
sql/item.cc:
Merge with 4.0
sql/item.h:
Merge with 4.0
sql/item_cmpfunc.cc:
Merge with 4.0
sql/item_func.cc:
Merge with 4.0
sql/item_func.h:
Merge with 4.0
sql/item_strfunc.cc:
Merge with 4.0
sql/item_strfunc.h:
Merge with 4.0
sql/item_sum.cc:
Merge with 4.0
sql/item_sum.h:
Merge with 4.0
sql/item_timefunc.cc:
Merge with 4.0
sql/lex.h:
Merge with 4.0
sql/log.cc:
Merge with 4.0
sql/log_event.cc:
Merge with 4.0
sql/log_event.h:
Merge with 4.0
sql/mysql_priv.h:
Merge with 4.0
sql/mysqld.cc:
Merge with 4.0
sql/nt_servc.cc:
Merge with 4.0
sql/opt_range.cc:
Merge with 4.0
sql/records.cc:
Merge with 4.0
sql/repl_failsafe.cc:
Merge with 4.0
sql/slave.cc:
Merge with 4.0
sql/sql_acl.cc:
Merge with 4.0
sql/sql_analyse.cc:
Merge with 4.0
sql/sql_base.cc:
Merge with 4.0
sql/sql_cache.cc:
Merge with 4.0
sql/sql_class.h:
Merge with 4.0
sql/sql_db.cc:
Merge with 4.0
sql/sql_delete.cc:
Merge with 4.0
sql/sql_insert.cc:
Merge with 4.0
sql/sql_load.cc:
Merge with 4.0
sql/sql_parse.cc:
Merge with 4.0
sql/sql_rename.cc:
Merge with 4.0
sql/sql_select.cc:
Merge with 4.0
sql/sql_show.cc:
Merge with 4.0
sql/sql_table.cc:
Merge with 4.0
sql/sql_update.cc:
Merge with 4.0
sql/sql_yacc.yy:
Merge with 4.0
sql/table.cc:
Merge with 4.0
sql/table.h:
Merge with 4.0
sql/time.cc:
Merge with 4.0
sql/uniques.cc:
Merge with 4.0
strings/ctype-tis620.c:
Merge with 4.0
strings/strto.c:
Merge with 4.0
support-files/mysql.server.sh:
Merge with 4.0
support-files/mysql.spec.sh:
Merge with 4.0