- 15 May, 2007 1 commit
-
-
unknown authored
Several string comparisons could never yield true because they had an 'x' guard added to the variable but not to the constant value. Fix that by guarding both sides. scripts/make_win_bin_dist: Fix bug#27833 "Bourne shell string comparison issue in scripts/make_win_bin_dist": Several string comparisons could never yield true because they had an 'x' guard added to the variable but not to the constant value. Fix that by guarding both sides. Use this occasion to apply some corrections to the comments and the usage text. Also, ensure the ".pdb" file is always optional.
-
- 14 May, 2007 1 commit
-
-
unknown authored
-
- 12 May, 2007 2 commits
-
-
unknown authored
into bk-internal.mysql.com:/data0/bk/mysql-5.0-opt
-
unknown authored
a crash when the left operand of the predicate is evaluated to NULL. It happens when the rows from the inner tables (tables from the subquery) are accessed by index methods with key values obtained by evaluation of the left operand of the subquery predicate. When this predicate is evaluated to NULL an alternative access with full table scan is used to check whether the result set returned by the subquery is empty or not. The crash was due to the fact the info about the access methods used for regular key values was not properly restored after a switch back from the full scan access method had occurred. The patch restores this info properly. The same problem existed for queries with IN subquery predicates if they were used not at the top level of the queries. mysql-test/r/subselect3.result: Added a test case for bug #28375. mysql-test/t/subselect3.test: Added a test case for bug #28375. sql/item_subselect.cc: Fixed bug #28375: a query with an NOT IN subquery predicate may cause a crash when the left operand of the predicate is evaluated to NULL. It happens when the rows from the inner tables (tables from the subquery) are accessed by index methods with key values obtained by evaluation of the left operand of the subquery predicate. When this predicate is evaluated to NULL an alternative access with full table scan is used to check whether the result set returned by the subquery is empty or not. The crash was due to the fact the info about the access methods used for regular key values was not properly restored after a switch back from the full scan access method had occurred. The patch restores this info properly. sql/sql_select.h: Fixed bug #28375: a query with an NOT IN subquery predicate may cause a crash when the left operand of the predicate is evaluated to NULL. In the JOIN_TAB structure two fields have been added to save info about index methods used to access the subquery rows. The saved info is used after a switch back from the alternative full scan access method has occurred. The full scan is used when the left operand of the subquery predicate is evaluated to NULL.
-
- 11 May, 2007 8 commits
-
-
unknown authored
into moonbone.local:/mnt/gentoo64/work/27878-bug-5.0-opt-mysql
-
unknown authored
Corrected test case for the bug#27878. mysql-test/t/grant.test: Corrected test case for the bug#27878. mysql-test/r/grant.result: Corrected test case for the bug#27878.
-
unknown authored
into mysql.com:/home/hf/work/27957/my50-27957
-
unknown authored
into moonbone.local:/mnt/gentoo64/work/27878-bug-5.0-opt-mysql
-
unknown authored
database. If a user has a right to update anything in the current database then the access was granted and further checks of access rights for underlying tables wasn't done correctly. The check is done before a view is opened and thus no check of access rights for underlying tables can be carried out. This allows a user to update through a view a table from another database for which he hasn't enough rights. Now the mysql_update() and the mysql_test_update() functions are forces re-checking of access rights after a view is opened. mysql-test/t/grant.test: Added a test case for the bug#27878: Unchecked privileges on a view referring to a table from another database. mysql-test/r/grant.result: Added a test case for the bug#27878: Unchecked privileges on a view referring to a table from another database. sql/sql_update.cc: Bug#27878: Unchecked privileges on a view referring to a table from another database. Now the mysql_update() function forces re-checking of access rights after the view is opened. sql/sql_prepare.cc: Bug#27878: Unchecked privileges on a view referring to a table from another database. Now the mysql_test_update() function forces re-checking of access rights after the view is opened.
-
unknown authored
mysql-test/r/type_datetime.result: result fixed mysql-test/t/type_datetime.test: testcase fixed sql/item_func.cc: my_decimal_length_to_precision used sql/my_decimal.h: merging fix
-
unknown authored
into mysql.com:/home/hf/work/27957/my50-27957 mysql-test/r/cast.result: Auto merged sql/item_func.cc: Auto merged sql/item_func.h: Auto merged sql/my_decimal.h: merging
-
unknown authored
into mysql.com:/home/hf/work/27957/my50-27957 sql/item_func.cc: Auto merged
-
- 10 May, 2007 6 commits
-
-
unknown authored
Bug occurs in INSERT IGNORE ... SELECT ... ON DUPLICATE KEY UPDATE statements, when SELECT returns duplicated values and UPDATE clause tries to assign NULL values to NOT NULL fields. NOTE: By current design MySQL server treats INSERT IGNORE ... ON DUPLICATE statements as INSERT ... ON DUPLICATE with update of duplicated records, but MySQL manual lacks this information. After this fix such behaviour becomes legalized. The write_record() function was returning error values even within INSERT IGNORE, because ignore_errors parameter of the fill_record_n_invoke_before_triggers() function call was always set to FALSE. FALSE is replaced by info->ignore. sql/sql_insert.cc: Fixed bug #28000: The write_record() function was returning error values even within INSERT IGNORE, because ignore_errors parameter of the fill_record_n_invoke_before_triggers() function call was always set to FALSE. FALSE is replaced by info->ignore. mysql-test/t/insert_update.test: Added test case for bug #28000. mysql-test/r/insert_update.result: Added test case for bug #28000.
-
unknown authored
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb ndb/src/mgmclient/CommandInterpreter.cpp: Auto merged
-
unknown authored
ref access to a less expensive range access. This occurred only with InnoDB tables. mysql-test/r/innodb_mysql.result: Added a test case for bug #28189. mysql-test/t/innodb_mysql.test: Added a test case for bug #28189.
-
unknown authored
into whalegate.ndb.mysql.com:/home/tomas/mysql-4.1-ndb
-
unknown authored
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
-
unknown authored
test result fixed
-
- 09 May, 2007 6 commits
-
-
unknown authored
Item_decimal_typecast::print properly implemented mysql-test/r/view.result: Bug #27921 View ignores precision for CAST() test result mysql-test/t/view.test: Bug #27921 View ignores precision for CAST() test case sql/field.cc: zero decimals handling unified sql/item_create.cc: Bug #27921 View ignores precision for CAST() create_func_cast parameters changed, zero precision handling unified sql/item_create.h: Bug #27921 View ignores precision for CAST() create_func_cast parameters changed sql/item_func.cc: Bug #27921 View ignores precision for CAST() Item_decimal_typecast::print properly implemented sql/item_func.h: Bug #27921 View ignores precision for CAST() max_length counting fixed sql/my_decimal.h: Bug #27921 View ignores precision for CAST() my_decimal_trim() implemented to unify zero precision handling sql/sql_yacc.yy: Bug #27921 View ignores precision for CAST() create_func_cast calls simplified
-
unknown authored
enable setting api reg req frequency to be higher than heartbeat setting to ensure we have reasonably up-to-date info from ndb nodes + do this for management server
-
unknown authored
- corrected previous patch - some platforms do strange things with char... use Int8 to be sure of signedness
-
unknown authored
Missing check for overflow added to the Item_decimal_typecast::val_decimal include/decimal.h: Bug #27957 cast as decimal does not check overflow, also inconsistent with group, subselect decimal_intg() declaration mysql-test/r/cast.result: Bug #27957 cast as decimal does not check overflow, also inconsistent with group, subselect result fixed mysql-test/r/type_newdecimal.result: Bug #27957 cast as decimal does not check overflow, also inconsistent with group, subselect test result mysql-test/t/type_newdecimal.test: Bug #27957 cast as decimal does not check overflow, also inconsistent with group, subselect test case added sql/item_func.cc: Bug #27957 cast as decimal does not check overflow, also inconsistent with group, subselect now we check for possible ovreflow in Item_decimal_typecast::val_decimal sql/my_decimal.h: Bug #27957 cast as decimal does not check overflow, also inconsistent with group, subselect my_decimal_intg() implemented strings/decimal.c: Bug #27957 cast as decimal does not check overflow, also inconsistent with group, subselect decimal_intg() implemented
-
unknown authored
A test case is corrected. mysql-test/t/loaddata.test: A test case is corrected. mysql-test/r/loaddata.result: A test case is corrected.
-
unknown authored
- some platforms do strange things with char... use Int8 to be sure of signedness
-
- 08 May, 2007 9 commits
-
-
unknown authored
into moonbone.local:/mnt/gentoo64/work/27670-bug-5.0-opt-mysql
-
unknown authored
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.
-
unknown authored
-
unknown authored
into perch.ndb.mysql.com:/home/jonas/src/mysql-5.0-ndb ndb/src/kernel/blocks/dblqh/DblqhMain.cpp: Auto merged
-
unknown authored
redo extra verification code so that tupkeyref is reset just before tupkeyreq ndb/src/kernel/blocks/dblqh/DblqhMain.cpp: redo extra verification code so that tupkeyref is reset just before tupkeyreq
-
unknown authored
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
-
unknown authored
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
-
unknown authored
into dev3-221.dev.cn.tlan:/home/ngb/mysql/mysql-4.1/mysql-4.1-ndb
-
unknown authored
into dev3-221.dev.cn.tlan:/home/ngb/mysql/mysql-5.0/mysql-5.0-ndb sql/ha_ndbcluster.h: Auto merged sql/set_var.cc: Auto merged
-
- 07 May, 2007 7 commits
-
-
unknown authored
-
unknown authored
into moonbone.local:/mnt/gentoo64/work/27759-bug-5.0-opt-mysql
-
unknown authored
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.
-
unknown authored
into gleb.loc:/home/uchum/work/bk/mysql-5.0-opt-27954
-
unknown authored
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.
-
unknown authored
into moonbone.local:/mnt/gentoo64/work/28133-bug-5.0-opt-mysql sql/item_cmpfunc.cc: Auto merged mysql-test/r/type_datetime.result: SCCS merged mysql-test/t/type_datetime.test: SCCS merged
-
unknown authored
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.
-