- Add debug queries
mysql-test/suite/rpl/t/rpl_ssl.test:
Add additional queries to run when we detect that the number of queries between slave and master differs
and auto_increment keys
Problems:
1. ALTER TABLE ... ORDER BY... doesn't make sence if there's a
user-defined clustered index in the table.
2. using a secondary index is slower than using a clustered one
for a table scan.
Fixes:
1. raise a warning.
2. use the clustered index.
mysql-test/include/mix1.inc:
Fix for bug #26447: "ALTER TABLE .. ORDER" does not work with InnoDB
and auto_increment keys
- test case.
mysql-test/r/innodb.result:
Fix for bug #26447: "ALTER TABLE .. ORDER" does not work with InnoDB
and auto_increment keys
- results adjusted.
mysql-test/r/innodb_mysql.result:
Fix for bug #26447: "ALTER TABLE .. ORDER" does not work with InnoDB
and auto_increment keys
- results adjusted.
mysql-test/r/join_outer_innodb.result:
Fix for bug #26447: "ALTER TABLE .. ORDER" does not work with InnoDB
and auto_increment keys
- results adjusted.
sql/sql_select.cc:
Fix for bug #26447: "ALTER TABLE .. ORDER" does not work with InnoDB
and auto_increment keys
- use the clustered index for a table scan (if any) as it's faster than
using a secondary index.
sql/sql_table.cc:
Fix for bug #26447: "ALTER TABLE .. ORDER" does not work with InnoDB
and auto_increment keys
- ALTER TABLE ... ORDER BY doesn't make sence if there's a
user-defined clustered index in the table. Ignore it in such cases
and raise a warning.
Problem: calling non-constant argument's val_xxx() methods
in the ::fix_length_and_dec() is inadmissible.
Fix: call the method only for constant arguments.
mysql-test/r/ps.result:
Fix for bug #32137: prepared statement crash with str_to_date in update clause
- test result.
mysql-test/t/ps.test:
Fix for bug #32137: prepared statement crash with str_to_date in update clause
- test case.
sql/item_timefunc.cc:
Fix for bug #32137: prepared statement crash with str_to_date in update clause
- call argument's val_str() only for constant items in the
Item_func_str_to_date::fix_length_and_dec().
into pilot.mysql.com:/data/msvensson/mysql/mysql-5.1-new-maint
storage/ndb/src/ndbapi/ClusterMgr.cpp:
Auto merged
storage/ndb/src/mgmsrv/Services.cpp:
SCCS merged
into pilot.mysql.com:/data/msvensson/mysql/mysql-5.1-new-maint
client/mysqltest.c:
Auto merged
mysql-test/lib/mtr_cases.pl:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_cmpfunc.h:
Auto merged
ndb/src/mgmsrv/Services.cpp:
Only call 'updateStatus'(and forcing HB) once before printing
node status
ndb/src/ndbapi/ClusterMgr.cpp:
Only wait for reply to forced API_REGREQ if any signals
has been sent
An integer overflow in number->string conversion caused completely
wrong output of the number LONGLONG_MIN with gcc 4.2.1.
Fixed by eliminating the overflow, using only operations that are
well-defined in ANSI C.
strings/ctype-simple.c:
An integer overflow in number->string conversion caused completely
wrong output of the number LONGLONG_MIN with gcc 4.2.1.
Fixed by eliminating the overflow, using only operations that are
well-defined in ANSI C.
strings/ctype-ucs2.c:
An integer overflow in number->string conversion caused completely
wrong output of the number LONGLONG_MIN with gcc 4.2.1.
Fixed by eliminating the overflow, using only operations that are
well-defined in ANSI C.
strings/int2str.c:
An integer overflow in number->string conversion caused completely
wrong output of the number LONGLONG_MIN with gcc 4.2.1.
Fixed by eliminating the overflow, using only operations that are
well-defined in ANSI C.
strings/longlong2str.c:
An integer overflow in number->string conversion caused completely
wrong output of the number LONGLONG_MIN with gcc 4.2.1.
Fixed by eliminating the overflow, using only operations that are
well-defined in ANSI C.
into mysql.com:/home/ram/work/b30679/b30679.5.1
client/mysqlcheck.c:
Auto merged
mysql-test/r/mysqlcheck.result:
Auto merged
mysql-test/t/mysqlcheck.test:
Auto merged
into mysql.com:/home/ram/work/b30654/b30654.5.1
client/mysqlcheck.c:
Auto merged
mysql-test/r/mysqlcheck.result:
Auto merged
mysql-test/t/mysqlcheck.test:
manual merge.
names include backticks or blank
Problem: mysqlcheck doesn't escape backtick characters in the table names.
Fix: escape them.
client/mysqlcheck.c:
Fix for bug #30654: mysqlcheck fails during upgrade of tables whose
names include backticks or blank
- escape backtick characters in the table names.
mysql-test/r/mysqlcheck.result:
Fix for bug #30654: mysqlcheck fails during upgrade of tables whose
names include backticks or blank
- test result.
mysql-test/t/mysqlcheck.test:
Fix for bug #30654: mysqlcheck fails during upgrade of tables whose
names include backticks or blank
- test case.
into mysql.com:/home/ram/work/b31137/b31137.5.1
sql/sql_table.cc:
Auto merged
sql/structs.h:
Auto merged
mysql-test/include/mix1.inc:
will merge tests manually
mysql-test/r/innodb_mysql.result:
will merge tests manually
mysql-test/r/key.result:
will merge tests manually
mysql-test/t/key.test:
will merge tests manually
include/my_base.h:
manual merge.
JOIN, and ORDER BY
Problem: improper maximum length calculation of the CASE function leads to
decimal value truncation (storing/retrieving decimal field values).
Fix: accurately calculate maximum length/unsigned flag/decimals parameters
of the CASE function.
mysql-test/r/case.result:
Fix for bug #30782: Truncated UNSIGNED BIGINT columns only in SELECT w/ CASE,
JOIN, and ORDER BY
- test result.
mysql-test/t/case.test:
Fix for bug #30782: Truncated UNSIGNED BIGINT columns only in SELECT w/ CASE,
JOIN, and ORDER BY
- test case.
sql/item_cmpfunc.cc:
Fix for bug #30782: Truncated UNSIGNED BIGINT columns only in SELECT w/ CASE,
JOIN, and ORDER BY
- accurately calculate Item_func_case::max_length/unsigned_flag/decimals.
sql/item_cmpfunc.h:
Fix for bug #30782: Truncated UNSIGNED BIGINT columns only in SELECT w/ CASE,
JOIN, and ORDER BY
- accurately calculate Item_func_case::max_length/unsigned_flag/decimals.
file .\ha_innodb.
Problem: if a partial unique key followed by a non-partial one we declare
the second one as a primary key.
Fix: sort non-partial unique keys before partial ones.
include/my_base.h:
Fix for bug #31137: Assertion failed: primary_key_no == -1 || primary_key_no == 0,
file .\ha_innodb.
- sort unique keys that don't contain partial segments before other keys:
set HA_KEY_HAS_PART_KEY_SEG flag for such keys in the mysql_prepare_table(),
use it in the sort_keys();
mysql-test/r/innodb_mysql.result:
Fix for bug #31137: Assertion failed: primary_key_no == -1 || primary_key_no == 0,
file .\ha_innodb.
- test result.
mysql-test/r/key.result:
Fix for bug #31137: Assertion failed: primary_key_no == -1 || primary_key_no == 0,
file .\ha_innodb.
- test result.
mysql-test/t/innodb_mysql.test:
Fix for bug #31137: Assertion failed: primary_key_no == -1 || primary_key_no == 0,
file .\ha_innodb.
- test case.
mysql-test/t/key.test:
Fix for bug #31137: Assertion failed: primary_key_no == -1 || primary_key_no == 0,
file .\ha_innodb.
- test case.
sql/sql_table.cc:
Fix for bug #31137: Assertion failed: primary_key_no == -1 || primary_key_no == 0,
file .\ha_innodb.
- sort unique keys that don't contain partial segments before other keys:
set HA_KEY_HAS_PART_KEY_SEG flag for such keys in the mysql_prepare_table(),
use it in the sort_keys();
sql/structs.h:
Fix for bug #31137: Assertion failed: primary_key_no == -1 || primary_key_no == 0,
file .\ha_innodb.
- sort unique keys that don't contain partial segments before other keys:
set HA_KEY_HAS_PART_KEY_SEG flag for such keys in the mysql_prepare_table(),
use it in the sort_keys();
Problem: we skip views perfoming --fix-table-names.
Fix: rename views as well.
client/mysqlcheck.c:
Fix for bug #30679: 5.1 name encoding not performed for views during upgrade
- rename views performing --fix-table-names as well.
mysql-test/r/mysqlcheck.result:
Fix for bug #30679: 5.1 name encoding not performed for views during upgrade
- test result.
mysql-test/t/mysqlcheck.test:
Fix for bug #30679: 5.1 name encoding not performed for views during upgrade
- test case.
some platforms
Since the behavior of write(fd, buf, 0) is undefined, it may fail with
EFAULT on some architectures when buf == NULL. The error was propagated
up to a caller, since my_write() code did not handle it properly.
Fixed by checking the 'number of bytes' argument in my_write() and
returning before calling the write() system call when there is nothing
to write.
mysys/my_write.c:
Return from my_write() before calling the write() system call when the
number of bytes to be written is 0, since the behavior of write() in
this case is not portable.