into shellback.(none):/home/msvensson/mysql/mysql-5.1-new-maint
sql/ha_innodb.cc:
Auto merged
sql/handler.cc:
Auto merged
sql/log.cc:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_show.cc:
Auto merged
storage/csv/ha_tina.cc:
Auto merged
mysql-test/mysql-test-run.pl:
Merge
- Honor unsigned_flag in the corresponding functions
- Use compare_int_signed_unsigned()/compare_int_unsigned_signed() instead of explicit comparison in GREATEST() and LEAST()
mysql-test/r/case.result:
Added test case for bug #20924
mysql-test/r/func_if.result:
Added test case for bug #20924
mysql-test/r/func_test.result:
Added test case for bug #20924
mysql-test/r/user_var.result:
Added test case for bug #20924
mysql-test/t/case.test:
Added test case for bug #20924
mysql-test/t/func_if.test:
Added test case for bug #20924
mysql-test/t/func_test.test:
Added test case for bug #20924
mysql-test/t/user_var.test:
Added test case for bug #20924
sql/item_cmpfunc.cc:
Bug #20924: CAST(expr as UNSIGNED) returns SIGNED value when used in various functions
- Moved some code out of Arg_comparator to external functions to be reused in Item_func_min_max
- Fixed IFNULL(), IF(), CASE() and COALESCE()
sql/item_cmpfunc.h:
Bug #20924: CAST(expr as UNSIGNED) returns SIGNED value when used in various functions
- Moved some code out of Arg_comparator to external functions to be reused in Item_func_min_max
sql/item_func.cc:
Bug #20924: CAST(expr as UNSIGNED) returns SIGNED value when used in various functions
Fixed LEAST(), GREATEST() and "SET @a=..." parts
sql/item_func.h:
Bug #20924: CAST(expr as UNSIGNED) returns SIGNED value when used in various functions
Fixed "SET @a=..." part
sql/sql_class.h:
Bug #20924: CAST(expr as UNSIGNED) returns SIGNED value when used in various functions
Fixed "SET @a=..." part
include/mysql_com.h:
USERNAME_LENGTH is changed to USERNAME_BYTE_LENGTH
mysql-test/r/ctype_utf8.result:
result fix
mysql-test/t/ctype_utf8.test:
test fix
sql/sp.cc:
NAME_LEN constant is changed to NAME_BYTE_LEN for database name buffer
USERNAME_LENGTH constant is changed to USERNAME_BYTE_LENGTH for user name buffer
sql/sp_head.cc:
NAME_LEN constant is changed to NAME_BYTE_LEN for database name buffer
USERNAME_LENGTH constant is changed to USERNAME_BYTE_LENGTH for user name buffer
sql/sql_acl.cc:
NAME_LEN constant is changed to NAME_BYTE_LEN for database name buffer
USERNAME_LENGTH constant is changed to USERNAME_BYTE_LENGTH for user name buffer
sql/sql_class.h:
NAME_LEN constant is changed to NAME_BYTE_LEN for database name buffer
sql/sql_parse.cc:
NAME_LEN constant is changed to NAME_BYTE_LEN for database name buffer
Function check_string_length() is fixed, now it check string lenght in symbols
sql/sql_repl.h:
NAME_LEN constant is changed to NAME_BYTE_LEN for database name buffer
USERNAME_LENGTH constant is changed to USERNAME_BYTE_LENGTH for user name buffer
into mysql.com:/home/gluh/MySQL/Merge/5.0
include/mysql_com.h:
Auto merged
mysql-test/t/ctype_utf8.test:
Auto merged
sql/item_func.h:
Auto merged
sql/item_strfunc.cc:
Auto merged
sql/item_strfunc.h:
Auto merged
sql/slave.cc:
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
mysql-test/r/ctype_utf8.result:
manual merge
sql/sql_acl.cc:
manual merge
mysql-test/r/ctype_recoding.result:
Case change in 5.1.
mysql-test/t/heap_btree.test:
Fixes bad merge.
mysql-test/t/partition.test:
Split terrible "ls" test into two parts so that the different sorting orders
of sundry OSes don't affect the output.
into bk-internal.mysql.com:/data0/bk/mysql-5.1-wl3337
client/mysqltest.c:
Auto merged
libmysqld/Makefile.am:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/r/events.result:
Auto merged
mysql-test/r/not_embedded_server.result:
Auto merged
mysql-test/t/events.test:
Auto merged
sql/CMakeLists.txt:
Auto merged
sql/Makefile.am:
Auto merged
sql/mysqld.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sp_head.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/table.cc:
Auto merged
sql/table.h:
Auto merged
This bug report was two problems:
1) LAST_INSERT_ID() returns a value which does not exist in the table
2) the reporter would want it to return the autoinc id of the updated
row.
1) is a real bug, 2) is a feature request.
In July I implemented 2) in 5.1 (which automatically fixes 1).
This has not yet been documented or released, so is changeable.
Precisely, recently Paul and a user found an easy workaround to give
2), which works in 4.1-5.0-5.1. So I can revert my code for 2),
because it's not needed, that's what I do here;
we forget about 2) (we will document the workaround).
But when I revert my code for 2), 1) comes back. We solve 1) by saying
that if INSERT ON DUPLICATE KEY UPDATE updates a row, it's like a
regular UPDATE: LAST_INSERT_ID() should not be affected (instead of
returning a non-existent value).
So note: no behaviour change compared to the last released 5.1; just
a bugfix for 1).
mysql-test/r/innodb_mysql.result:
result update
mysql-test/t/innodb_mysql.test:
test for the new way to fix BUG#19243: that if INSERT ON DUPLICATE
KEY UPDATE updates a row, SELECT LAST_INSERT_ID() is not affected.
Test of the workaround for people who want SELECT LAST_INSERT_ID()
to return the autoinc id of the updated row.
sql/sql_insert.cc:
No need to change LAST_INSERT_ID() if INSERT ON DUPLICATE KEY UPDATE
updates a row, there is a workaround to achieve this without changing
code: just add "autoinc_col=LAST_INSERT_ID(autoinc_col)" to your
ON DUPLICATE KEY UPDATE clause.
Prevent LAST_INSERT_ID() to contain an inexistent value in this case:
if the row is updated it should be like a regular UPDATE: don't
affect LAST_INSERT_ID() (achieved by marking that we didn't generate
an id for this row: insert_id_for_cur_row=0).
into mysql.com:/windows/Linux_space/MySQL/mysql-5.1
mysql-test/r/ndb_condition_pushdown.result:
Auto merged
mysql-test/t/ndb_condition_pushdown.test:
Auto merged
into mysql.com:/windows/Linux_space/MySQL/mysql-5.1
mysql-test/r/ndb_condition_pushdown.result:
Auto merged
mysql-test/t/ndb_condition_pushdown.test:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/ha_ndbcluster.h:
Auto merged
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint
client/mysql.cc:
Auto merged
mysql-test/r/ctype_utf8.result:
Auto merged
mysql-test/t/ctype_utf8.test:
Auto merged
sql/net_serv.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
vio/viosocket.c:
Auto merged
mysql-test/r/ctype_recoding.result:
Manual merge.
mysql-test/t/ctype_recoding.test:
Manual merge.
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint
mysql-test/r/ctype_recoding.result:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
mysql-test/t/ctype_recoding.test:
manual merge.
sql/sql_lex.h:
manual merge.
sql/sql_table.cc:
manual merge.
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint
mysql-test/r/ctype_utf8.result:
Auto merged
mysql-test/t/ctype_utf8.test:
Auto merged
sql/sql_select.cc:
Auto merged
into salvation.intern.azundris.com:/home/tnurnberg/21913/my51-21913
mysql-test/r/func_time.result:
Auto merged
mysql-test/t/func_time.test:
Auto merged
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint
configure.in:
Auto merged
include/mysql.h:
Auto merged
include/mysql_com.h:
Auto merged
mysql-test/r/ctype_ucs.result:
Auto merged
mysql-test/t/ctype_ucs.test:
Auto merged
sql/item_strfunc.cc:
Auto merged
sql/item_strfunc.h:
Auto merged
sql/sql_acl.cc:
Auto merged
sql-common/client.c:
Auto merged
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint
include/config-netware.h:
Auto merged
include/mysql.h:
Auto merged
include/mysql_com.h:
Auto merged
mysql-test/r/grant.result:
Auto merged
mysql-test/r/sp.result:
Auto merged
mysql-test/r/trigger.result:
Auto merged
mysql-test/r/view.result:
Auto merged
mysql-test/t/grant.test:
Auto merged
mysql-test/t/sp.test:
Auto merged
mysql-test/t/trigger.test:
Auto merged
mysql-test/t/view.test:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql-common/client.c:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/share/errmsg.txt:
SCCS merged
configure.in:
SCCS merged
sql/sql_base.cc:
SCCS merged
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint
mysql-test/r/grant.result:
Auto merged
mysql-test/r/view.result:
Auto merged
mysql-test/t/grant.test:
Auto merged
mysql-test/t/view.test:
Auto merged
sql/sql_acl.cc:
Auto merged
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/r/im_life_cycle.result:
Auto merged
mysql-test/r/view.result:
Auto merged
mysql-test/t/grant.test:
Auto merged
mysql-test/t/im_life_cycle.imtest:
Auto merged
mysql-test/t/view.test:
Auto merged
sql/field.cc:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_strfunc.cc:
Auto merged
sql/item_strfunc.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_view.cc:
Auto merged
sql/share/errmsg.txt:
Auto merged
sql/sql_yacc.yy:
Auto merged
configure.in:
Manual merge.
mysql-test/r/grant.result:
manual merge.
In 5.0 we made LOAD DATA INFILE autocommit in all engines, while
only NDB wanted that. Users and trainers complained that it affected
InnoDB and was a change compared to 4.1 where only NDB autocommitted.
To revert to the behaviour of 4.1, we move the autocommit logic out of mysql_load() into
ha_ndbcluster::external_lock().
The result is that LOAD DATA INFILE commits all uncommitted changes
of NDB if this is an NDB table, its own changes if this is an NDB
table, but does not affect other engines.
Note: even though there is no "commit the full transaction at end"
anymore, LOAD DATA INFILE stays disabled in routines (re-entrency
problems per a comment of Pem).
Note: ha_ndbcluster::has_transactions() does not give reliable results
because it says "yes" even if transactions are disabled in this engine...
sql/ha_ndbcluster.cc:
NDB wants to do autocommit if this is LOAD DATA INFILE.
For this to not affect all other engines, we move the logic
inside ha_ndbcluster.
sql/sql_load.cc:
This ha_enable_transaction() in mysql_load() forced an autocommit
in all engines, while only NDB wants to do that.
So we move the logic inside ha_ndbcluster.cc.
mysql-test/include/loaddata_autocom.inc:
test for engines to see if they autocommit or not in LOAD DATA INFILE
mysql-test/r/loaddata_autocom_innodb.result:
result for InnoDB (no autocommit)
mysql-test/r/loaddata_autocom_ndb.result:
result for NDB (autocommit)
mysql-test/r/rpl_ndb_innodb_trans.result:
result for InnoDB+NDB transactions. Observe that when ROLLBACK
cannot rollback the LOAD DATA INFILE in NDB it issues warning 1196
as appropriate.
mysql-test/t/loaddata_autocom_innodb.test:
test that InnoDB does not autocommit in LOAD DATA INFILE.
mysql-test/t/loaddata_autocom_ndb.test:
test that NDB does autocommit in LOAD DATA INFIL
mysql-test/t/rpl_ndb_innodb_trans-slave.opt:
need to tell the slave to use innodb
mysql-test/t/rpl_ndb_innodb_trans.test:
test of transactions mixing NDB and InnoDB. To see if ROLLBACK
rolls back in both engines, with the exception of LOAD DATA INFILE
which does not roll back NDB: we see that a LOAD DATA INFILE in NDB
commits all what has been done in NDB so far, commits its changes,
but does not commit in other engines.
into maint2.mysql.com:/data/localhome/tsmith/bk/51
client/mysqltest.c:
Auto merged
configure.in:
Auto merged
include/config-netware.h:
Auto merged
include/mysql_com.h:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/lib/mtr_process.pl:
Auto merged
mysql-test/r/func_time.result:
Auto merged
mysql-test/r/grant.result:
Auto merged
mysql-test/r/innodb_mysql.result:
Auto merged
mysql-test/r/partition.result:
Auto merged
mysql-test/r/partition_mgm.result:
Auto merged
mysql-test/t/disabled.def:
Auto merged
mysql-test/t/func_time.test:
Auto merged
mysql-test/t/grant.test:
Auto merged
mysql-test/t/innodb_mysql.test:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/item_func.h:
Auto merged
sql/item_strfunc.cc:
Auto merged
sql/item_strfunc.h:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_show.cc:
Auto merged
storage/innobase/btr/btr0btr.c:
Auto merged
storage/innobase/buf/buf0buf.c:
Auto merged
storage/innobase/dict/dict0dict.c:
Auto merged
storage/innobase/fil/fil0fil.c:
Auto merged
storage/innobase/fsp/fsp0fsp.c:
Auto merged
storage/innobase/include/btr0cur.ic:
Auto merged
storage/innobase/include/buf0buf.ic:
Auto merged
storage/innobase/log/log0log.c:
Auto merged
storage/innobase/log/log0recv.c:
Auto merged
storage/innobase/os/os0file.c:
Auto merged
storage/innobase/row/row0sel.c:
Auto merged
storage/innobase/srv/srv0start.c:
Auto merged
storage/innobase/ut/ut0dbg.c:
Auto merged
tests/mysql_client_test.c:
Auto merged
BUILD/check-cpu:
Manual merge
storage/innobase/row/row0mysql.c:
Manual merge
into salvation.intern.azundris.com:/home/tnurnberg/21913/my50-21913
21913: DATE_FORMAT() Crashes mysql server if I use it through mysql-connector-j driver.
Variable character_set_results can legally be NULL (for "no conversion.")
This could result in a NULL deref that crashed the server. Fixed.
(Although ran some additional precursory tests to see whether I could break
anything else, but no breakage so far.)
mysql-test/r/func_time.result:
Bug#21913: DATE_FORMAT() Crashes mysql server if I use it through mysql-connector-j driver.
Prove DATE_FORMAT() no longer crashes the server when character_set_results is
NULL (which is a legal value and means, "no conversion").
mysql-test/t/func_time.test:
Bug#21913: DATE_FORMAT() Crashes mysql server if I use it through mysql-connector-j driver.
Prove DATE_FORMAT() no longer crashes the server when character_set_results is
NULL (which is a legal value and means, "no conversion").
sql/sql_string.cc:
Bug#21913: DATE_FORMAT() Crashes mysql server if I use it through mysql-connector-j driver.
Avoid NULL deref in my_charset_same() -- if !to_cs, we won't need to compare
because it is magic for, "no conversion."
Variable character_set_results can legally be NULL (for "no conversion.")
This could result in a NULL deref that crashed the server. Fixed.
(Although ran some additional precursory tests to see whether I could break
anything else, but no breakage so far.)
mysql-test/r/func_time.result:
Bug#21913: DATE_FORMAT() Crashes mysql server if I use it through mysql-connector-j driver.
Prove DATE_FORMAT() no longer crashes the server when character_set_results is
NULL (which is a legal value and means, "no conversion").
mysql-test/t/func_time.test:
Bug#21913: DATE_FORMAT() Crashes mysql server if I use it through mysql-connector-j driver.
Prove DATE_FORMAT() no longer crashes the server when character_set_results is
NULL (which is a legal value and means, "no conversion").
sql/sql_string.cc:
Bug#21913: DATE_FORMAT() Crashes mysql server if I use it through mysql-connector-j driver.
Avoid NULL deref in my_charset_same() -- if !to_cs, we won't need to compare
because it is magic for, "no conversion."
Identifiers with embedded escape characters were not handled correctly by
some SHOW statements due to some old code that was doing some extra unescaping.
mysql-test/r/show_check.result:
Add new results
mysql-test/t/show_check.test:
Add new regression test
sql/sql_parse.cc:
Remove remove_escape() -- it is not actually necessary, and now harmful because
identifiers may include escape characters.
into mysql.com:/windows/Linux_space/MySQL/mysql-5.1-new-ndb
sql/ha_ndbcluster.cc:
Auto merged
sql/ha_ndbcluster_binlog.cc:
Auto merged
storage/ndb/include/ndbapi/NdbTransaction.hpp:
Auto merged
storage/ndb/src/mgmapi/mgmapi.cpp:
Auto merged
storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp:
Auto merged
storage/ndb/src/ndbapi/NdbEventOperationImpl.cpp:
Auto merged
storage/ndb/src/ndbapi/NdbEventOperationImpl.hpp:
Auto merged
storage/ndb/src/ndbapi/ndb_cluster_connection.cpp:
Auto merged
mysql-test/mysql-test-run.pl:
Merge
storage/ndb/include/ndbapi/ndb_cluster_connection.hpp:
Merge