into olga.mysql.com:/home/igor/mysql-5.1-opt
mysql-test/t/loaddata.test:
Auto merged
sql/sql_load.cc:
Auto merged
mysql-test/r/loaddata.result:
SCCS merged
TIMESTAMP field when no value has been provided.
The LOAD DATA sets the current time in the TIMESTAMP field with
CURRENT_TIMESTAMP default value when the field is detected as a null.
But when the LOAD DATA command loads data from a file that doesn't contain
enough data for all fields then the rest of fields are simply set to null
without any check. This leads to no value being inserted to such TIMESTAMP
field.
Now the read_sep_field() and the read_fixed_length() functions set current
time to the TIMESTAMP field with CURRENT_TIMESTAMP default value in all cases
when a NULL value is loaded to the field.
mysql-test/t/loaddata.test:
Added a test case for the bug#27670: LOAD DATA does not set CURRENT_TIMESTAMP
default value for a TIMESTAMP field when no value has been provided.
mysql-test/r/loaddata.result:
Added a test case for the bug#27670: LOAD DATA does not set CURRENT_TIMESTAMP
default value for a TIMESTAMP field when no value has been provided.
sql/sql_load.cc:
Bug#27670: LOAD DATA does not set CURRENT_TIMESTAMP default value for a
TIMESTAMP field when no value has been provided.
Now the read_sep_field() and the read_fixed_length() functions set current
time to the TIMESTAMP field with CURRENT_TIMESTAMP default value in all cases
when a NULL value is loaded to the field.
After merge fix.
sql/item_cmpfunc.cc:
After merge fix.
sql/item_cmpfunc.h:
After merge fix.
mysql-test/r/type_datetime.result:
After merge fix.
mysql-test/t/type_datetime.test:
After merge fix.
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-single-user
mysql-test/r/ndb_basic.result:
Auto merged
mysql-test/t/ndb_basic.test:
Auto merged
sql/ha_ndbcluster.h:
Auto merged
sql/set_var.cc:
Auto merged
BitKeeper/deleted/.del-ndb_config_1_node.ini:
Auto merged
BitKeeper/deleted/.del-ndb_config_4_node.ini:
Auto merged
storage/ndb/src/kernel/blocks/dblqh/Dblqh.hpp:
Auto merged
storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
Auto merged
storage/ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp:
Auto merged
mysql-test/ndb/ndb_config_2_node.ini:
manual merge
This patch corrects a bug involving a LOAD DATA INFILE operation on a
transactional table. It corrects a problem in the error handler by moving
the transactional table check and autocommit_or_rollback operation to the
end of the error handler.
The problem was an assert was thrown after the operation completed. The
assert found a non-sunk event in the transaction cache. The events in the
transaction cache were added after commit_or_rollack and thereafter nothing
removed them.
An additional test case was added to detect this
condition.
mysql-test/extra/rpl_tests/rpl_loaddata.test:
BUG#17233 : LOAD DATA INFILE: failure causes mysqld dbug_assert, binlog not flushed
This patch adds an additional test to rpl_loaddata for handling the
duplicate key error on LOAD DATA INFILE.
mysql-test/r/rpl_loaddata.result:
BUG#17233 : LOAD DATA INFILE: failure causes mysqld dbug_assert, binlog not flushed
This patch adds the results for the additional test for properly handling the
duplicate key error on LOAD DATA INFILE.
sql/sql_load.cc:
BUG#17233 : LOAD DATA INFILE: failure causes mysqld dbug_assert, binlog not flushed
This patch moves the check for a transactional table and rollback in the
error handler for mysql_load(). The patch moves the transactional table
check to the end of the error handler matching the implementation for other
similar operations (see sql_insert).
into moonbone.local:/mnt/gentoo64/work/test-5.1-opt-mysql
mysql-test/r/func_in.result:
Auto merged
mysql-test/r/insert_update.result:
Auto merged
mysql-test/r/type_datetime.result:
Auto merged
mysql-test/t/insert_update.test:
Auto merged
mysql-test/t/type_datetime.test:
Auto merged
sql/item_func.cc:
Auto merged
sql/handler.cc:
Manual merge
sql/item_cmpfunc.cc:
Manual merge
sql/item_cmpfunc.h:
Manual merge
sql/item_func.h:
Manual merge
sql/sql_class.h:
Manual merge
into adventure.(none):/home/thek/Development/cpp/bug27792/my51-bug27792
mysql-test/r/query_cache.result:
Auto merged
mysql-test/t/query_cache.test:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_cache.cc:
SCCS merged
mysql-test/r/query_cache.result:
Added 5.0 testcase
mysql-test/t/query_cache.test:
Added 5.0 test case
sql/mysql_priv.h:
Added support for div_precision_increment
sql/set_var.cc:
- Added query cache flush when system variable ft_boolean_syntax is
updated since this also invalidates all cached result sets using this
variable.
sql/sql_cache.cc:
- Added the local system variable div_precision_increment as an identification flag
for cached queries.
Problem: XPath variables didn't work.
Fix: adding variables support,
both user-defined and sp local variables are now supported by XPath.
mysql-test/r/xml.result:
Adding test case
mysql-test/t/xml.test:
Adding test case
sql/item_xmlfunc.cc:
Adding variables support:
- SP variables with standard XPath syntax: $i
- User variables with non-standard syntax: $@i
- Queries in the query cache are identified by the individual
characters in the query statement, the current database and
the current environment expressed as a set of system variable
flags.
- Since the set of environment flags didn't properly describe the
current environment unexpected results were returned from the
query cache.
- Query cache is now cleared when the variable ft_boolean_syntax is
updated.
- An identification flag for the variable default_week_format is
added to the query cache record.
Thanks to Martin Friebe who has supplied significant parts of this patch.
mysql-test/r/query_cache.result:
Added test case
mysql-test/t/query_cache.test:
Added test case
sql/mysql_priv.h:
- Added missing flags to reflect the significant local environment
settings of the cached query.
sql/set_var.cc:
- Added query cache flush when system variable ft_boolean_syntax is
updated since this also invalidates all cached result sets using this
variable.
sql/sql_cache.cc:
- Added another local system variable as an identification flag
for cached queries.
into perch.ndb.mysql.com:/home/jonas/src/mysql-5.0-ndb
mysql-test/r/ndb_basic.result:
Auto merged
mysql-test/t/ndb_basic.test:
Auto merged
ndb/src/kernel/blocks/dblqh/Dblqh.hpp:
Auto merged
ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
Auto merged
ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp:
Auto merged
into perch.ndb.mysql.com:/home/jonas/src/mysql-5.1-new-ndb
mysql-test/r/ndb_basic.result:
Auto merged
mysql-test/t/ndb_basic.test:
Auto merged
storage/ndb/src/kernel/blocks/dblqh/Dblqh.hpp:
Auto merged
storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
Auto merged
storage/ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp:
Auto merged
bug in interpretedupdate (used for auto-increment) that made TUPKEYREF be sent twice
this was however "normally" shadowed, but made LQH crash when LCP was about to start
mysql-test/r/ndb_basic.result:
testcase
mysql-test/t/ndb_basic.test:
testcase
ndb/src/kernel/blocks/dblqh/Dblqh.hpp:
add extra variable to make sure TUPKEYREF is not received twice (VM_TRACE)
ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
add extra variable to make sure TUPKEYREF is not received twice (VM_TRACE)
ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp:
make sure TUPKEYREF is not sent twice in case of "error" in interpreted program
into dev3-221.dev.cn.tlan:/home/ngb/mysql/mysql-5.1/mysql-5.1-new-ndb
mysql-test/t/disabled.def:
Auto merged
sql/field.cc:
Auto merged
sql/field.h:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/ha_ndbcluster.h:
Auto merged
sql/handler.cc:
Auto merged
sql/mysqld.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_plugin.cc:
Auto merged
sql/sql_table.cc:
Auto merged
storage/ndb/src/mgmsrv/ConfigInfo.cpp:
Auto merged
storage/ndb/src/mgmsrv/MgmtSrvr.cpp:
Auto merged
storage/ndb/src/ndbapi/ndberror.c:
Auto merged
storage/ndb/tools/restore/consumer_restore.cpp:
Auto merged
storage/ndb/tools/restore/restore_main.cpp:
Auto merged
This patch corrects a bug involving a LOAD DATA INFILE operation on a
transactional table. It corrects a problem in the error handler moving
the transactional table check and autocommit_or_rollback operation to the
end of the error handler. An additional test case was added to detect this
condition.
mysql-test/r/rpl_loaddata.result:
BUG#17233 : LOAD DATA INFILE: failure causes mysqld dbug_assert, binlog not flushed
This patch adds the results for the additional test for properly handling the
duplicate key error on LOAD DATA INFILE.
mysql-test/t/rpl_loaddata.test:
BUG#17233 : LOAD DATA INFILE: failure causes mysqld dbug_assert, binlog not flushed
This patch adds an additional test to rpl_loaddata for handling the
duplicate key error on LOAD DATA INFILE.
sql/sql_load.cc:
BUG#17233 : LOAD DATA INFILE: failure causes mysqld dbug_assert, binlog not flushed
This patch moves the check for a transactional table and rollback in the
error handler for mysql_load(). The patch moves the transactional table
check to the end of the error handler matching the implementation for other
similar operations (see sql_insert).
mysql-test/t/type_datetime.test:
Additional test case for the bug#27759.
sql/item_func.h:
Bug#27759: Wrong DATE/DATETIME comparison in LEAST()/GREATEST() functions.
Now the Item_func_min_max::result_as_longlong() returns TRUE when LEAST()
compares DATE/DATETIME values. This allows caller to obtain correct integer
values through the val_int() function.
into xiphis.org:/home/antony/work2/mysql-5.1-merge
mysql-test/mysql-test-run.pl:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
This bug affects multi-row INSERT ... ON DUPLICATE into table
with PRIMARY KEY of AUTO_INCREMENT field and some additional UNIQUE indices.
If the first row in multi-row INSERT contains duplicated values of UNIQUE
indices, then following rows of multi-row INSERT (with either duplicated or
unique key field values) may me applied to _arbitrary_ records of table as
updates.
This bug was introduced in 5.0. Related code was widely rewritten in 5.1, and
5.1 is already free of this problem. 4.1 was not affected too.
When updating the row during INSERT ON DUPLICATE KEY UPDATE, we called
restore_auto_increment(), which set next_insert_id back to 0, but we
forgot to set clear_next_insert_id back to 0.
restore_auto_increment() function has been fixed.
sql/sql_class.h:
Fixed bug #27954.
Added commentary for THD::clear_next_insert_id variable.
sql/handler.cc:
Fixed bug #27954.
When updating the row during INSERT ON DUPLICATE KEY UPDATE, we called
restore_auto_increment(), which set next_insert_id back to 0, but we
forgot to set clear_next_insert_id back to 0.
restore_auto_increment() function has been fixed.
mysql-test/t/insert_update.test:
Added test case for bug #27954.
mysql-test/r/insert_update.result:
Added test case for bug #27954.
The IN function was comparing DATE/DATETIME values either as ints or as
strings. Both methods have their disadvantages and may lead to a wrong
result.
Now IN function checks whether all of its arguments has the STRING result
types and at least one of them is a DATE/DATETIME item. If so it uses either
an object of the in_datetime class or an object of the cmp_item_datetime
class to perform its work. If the IN() function arguments are rows then
row columns are checked whether the DATE/DATETIME comparator should be used
to compare them.
The in_datetime class is used to find occurence of the item to be checked
in the vector of the constant DATE/DATETIME values. The cmp_item_datetime
class is used to compare items one by one in the DATE/DATETIME context.
Both classes obtain values from items with help of the get_datetime_value()
function and cache the left item if it is a constant one.
mysql-test/t/type_datetime.test:
Added a test case for the bug#28133: Wrong DATE/DATETIME comparison in IN() function.
mysql-test/r/type_datetime.result:
Added a test case for the bug#28133: Wrong DATE/DATETIME comparison in IN() function.
mysql-test/r/func_in.result:
A test case result is corrected after the fix for the bug#28133.
sql/item_cmpfunc.h:
Bug#28133: Wrong DATE/DATETIME comparison in IN() function.
Two DATE/DATETIME comparison classes are added.
The in_datetime class is used to find occurence of the item to be checked
in the vector of the constant DATE/DATETIME values. The cmp_item_datetime
class is used to compare items one by one in the DATE/DATETIME context.
Both classes obtain values from items with help of the get_datetime_value()
function and cache the left item if it is a constant one.
sql/item_cmpfunc.cc:
Bug#28133: Wrong DATE/DATETIME comparison in IN() function.
Now IN function checks whether all of its arguments has the STRING result
types and at least one of them is a DATE/DATETIME item. If so it uses either
an object of the in_datetime class or an object of the cmp_item_datetime
class to perform its work. If the IN() function arguments are rows then
row columns are checked whether the DATE/DATETIME comparator should be used
to compare them.
into mysql.com:/d2/hf/mrg/mysql-5.1-opt
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/sql_select.cc:
Auto merged
mysql-test/r/sp-vars.result:
merging
mysql-test/r/type_datetime.result:
SCCS merged
mysql-test/t/type_datetime.test:
SCCS merged
sql/item_func.h:
merging
sql/mysql_priv.h:
merging