Commit graph

50392 commits

Author SHA1 Message Date
unknown
9d2b259e23 Fix for bug #26447: "ALTER TABLE .. ORDER" does not work with InnoDB
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.
2007-11-07 19:59:58 +04:00
unknown
3acf386878 Merge bk-internal:/home/bk/mysql-5.1-new-maint
into  loke.(none):/home/knielsen/devel/mysql-5.1-new-maint
2007-10-31 14:11:22 +01:00
unknown
993c2a88a9 Merge loke.(none):/home/knielsen/devel/mysql-5.0-maint
into  loke.(none):/home/knielsen/devel/mysql-5.1-new-maint


strings/ctype-simple.c:
  Auto merged
strings/ctype-ucs2.c:
  SCCS merged
2007-10-31 10:40:40 +01:00
unknown
f8b5a34083 BUG#31799: Scrambled number output due to integer overflow
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.
2007-10-31 10:34:26 +01:00
unknown
ef19210e5f Merge mysql.com:/home/ram/work/mysql-5.1-maint
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
2007-10-31 11:40:53 +04:00
unknown
042963d56b Merge mysql.com:/home/ram/work/mysql-5.1-maint
into  mysql.com:/home/ram/work/b30654/b30654.5.1


client/mysqlcheck.c:
  Auto merged
2007-10-31 11:01:52 +04:00
unknown
f150962109 Merge mysql.com:/home/ram/work/b30654/b30654.5.0
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.
2007-10-31 10:57:10 +04:00
unknown
2611e8ec0c Fix for bug #30654: mysqlcheck fails during upgrade of tables whose
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.
2007-10-30 12:51:57 +04:00
unknown
fe68d102fb after-merge fix-up. 2007-10-29 20:31:03 +04:00
unknown
be04193c09 Merge mysql.com:/home/ram/work/b31137/b31137.5.0
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.
2007-10-29 17:34:01 +04:00
unknown
30dab869ec Merge mysql.com:/home/ram/work/b30782/b30782.5.0
into  mysql.com:/home/ram/work/b30782/b30782.5.1


sql/item_cmpfunc.cc:
  Auto merged
mysql-test/r/case.result:
  manual merge.
mysql-test/t/case.test:
  manual merge.
sql/item_cmpfunc.h:
  manual merge.
2007-10-29 13:16:26 +04:00
unknown
42894ed0b8 Fix for bug #30782: Truncated UNSIGNED BIGINT columns only in SELECT w/ CASE,
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.
2007-10-29 12:20:21 +04:00
unknown
d7d93cf548 Fix for bug #31137: Assertion failed: primary_key_no == -1 || primary_key_no == 0,
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();
2007-10-26 15:37:38 +05:00
unknown
3aaffef2c6 Merge polly.(none):/home/kaa/src/maint/mysql-5.0-maint
into  polly.(none):/home/kaa/src/maint/mysql-5.1-maint


mysys/my_write.c:
  Auto merged
2007-10-25 08:22:14 +04:00
unknown
c63f2e3fb6 Replaced 'return' with DBUG_RETURN() in the fix for bug #31566. 2007-10-25 08:19:57 +04:00
unknown
2af336971c Merge ramayana.hindu.god:/home/tsmith/m/bk/maint/50
into  ramayana.hindu.god:/home/tsmith/m/bk/maint/51
2007-10-24 18:40:47 -06:00
unknown
ddd38de904 Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  ramayana.hindu.god:/home/tsmith/m/bk/maint/50
2007-10-24 18:37:57 -06:00
unknown
94c3eb5cd0 Merge ramayana.hindu.god:/home/tsmith/m/bk/maint/50
into  ramayana.hindu.god:/home/tsmith/m/bk/maint/51
2007-10-24 17:07:43 -06:00
unknown
82a4ea2180 Merge ramayana.hindu.god:/home/tsmith/m/bk/maint/41
into  ramayana.hindu.god:/home/tsmith/m/bk/maint/50
2007-10-24 17:07:17 -06:00
unknown
a0f7218f89 Merge polly.(none):/home/kaa/src/maint/mysql-5.0-maint
into  polly.(none):/home/kaa/src/maint/mysql-5.1-maint


sql/set_var.cc:
  Auto merged
2007-10-24 23:13:16 +04:00
unknown
05b79bc19d Merge bk-internal.mysql.com:/home/bk/mysql-5.1-new-maint
into  polly.(none):/home/kaa/src/maint/mysql-5.1-maint
2007-10-24 23:07:10 +04:00
unknown
ae69a9012d Merge ssh://bk-internal.mysql.com//home/bk/mysql-5.0-maint
into  polly.(none):/home/kaa/src/maint/mysql-5.0-maint
2007-10-24 23:01:31 +04:00
unknown
c8282d7b6b Merge polly.(none):/home/kaa/src/maint/mysql-5.0-maint
into  polly.(none):/home/kaa/src/maint/mysql-5.1-maint


mysql-test/suite/binlog/t/binlog_killed.test:
  Auto merged
mysys/my_write.c:
  Auto merged
2007-10-24 21:39:00 +04:00
unknown
d4befc1dca Fix for bug #30679: 5.1 name encoding not performed for views during upgrade
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.
2007-10-24 22:36:57 +05:00
unknown
c58cebf683 Merge polly.(none):/home/kaa/src/maint/bug31566/my50-bug31566
into  polly.(none):/home/kaa/src/maint/mysql-5.0-maint
2007-10-24 21:30:38 +04:00
unknown
b260e144a5 Fix for bug #31566: my_write(fd, 0x0, 0, flags) fails with EFAULT on
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.
2007-10-24 21:16:20 +04:00
unknown
ab4f08b39e Merge mysql.com:/home/ram/work/mysql-4.1-maint
into  mysql.com:/home/ram/work/b31615/b31615.4.1
2007-10-24 21:57:54 +05:00
unknown
4de3fdd716 Merge mysql.com:/home/ram/work/mysql-5.0-maint
into  mysql.com:/home/ram/work/b31615/b31615.5.0


sql/set_var.cc:
  Auto merged
2007-10-24 21:57:51 +05:00
unknown
59729a7835 Merge mysql.com:/home/ram/work/mysql-5.1-maint
into  mysql.com:/home/ram/work/b31615/b31615.5.1
2007-10-24 21:56:32 +05:00
unknown
b5d33614ac after-merge fix: new sys_var_character_set_client classs introduced to perform
separate checking.
2007-10-24 13:28:46 +05:00
unknown
17e9db8cdb Merge bk-internal:/home/bk/mysql-5.1-maint
into  pilot.mysql.com:/data/msvensson/mysql/mysql-5.1-new-maint
2007-10-24 08:35:22 +02:00
unknown
d1b8a76dad Merge bk-internal:/home/bk/mysql-5.1-maint
into  pilot.mysql.com:/data/msvensson/mysql/mysql-5.1-new-maint
2007-10-23 13:16:31 +02:00
unknown
57d74b5c98 Merge bk-internal:/home/bk/mysql-5.0-maint
into  pilot.mysql.com:/data/msvensson/mysql/mysql-5.0-maint
2007-10-23 13:16:15 +02:00
unknown
5e2fc9a919 Merge pilot.mysql.com:/data/msvensson/mysql/bug30560/my50-bug30560
into  pilot.mysql.com:/data/msvensson/mysql/mysql-5.0-maint
2007-10-23 13:15:35 +02:00
unknown
e4c117146d Merge mysql.com:/home/ram/work/b31615/b31615.5.0
into  mysql.com:/home/ram/work/b31615/b31615.5.1


mysql-test/r/ctype_ucs.result:
  Auto merged
mysql-test/t/ctype_ucs.test:
  Auto merged
sql/set_var.cc:
  I will apply the patch after auto-merging
2007-10-23 16:14:06 +05:00
unknown
0c396b862e Merge mysql.com:/home/ram/work/b31615/b31615.4.1
into  mysql.com:/home/ram/work/b31615/b31615.5.0


mysql-test/r/ctype_ucs.result:
  Auto merged
mysql-test/t/ctype_ucs.test:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/set_var.h:
  Auto merged
2007-10-23 16:04:32 +05:00
unknown
88a23f6b6c Merge pilot.mysql.com:/data/msvensson/mysql/bug30560/my50-bug30560
into  pilot.mysql.com:/data/msvensson/mysql/bug30560/my51-bug30560


mysql-test/mysql-test-run.pl:
  Merge 5.0->5.1
2007-10-23 12:54:26 +02:00
unknown
5cc013209e Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.1-maint
into  mysql.com:/scratch/tnurnberg/20901/51-20901
2007-10-23 12:38:09 +02:00
unknown
1831e8e043 Merge mysql.com:/home/ram/work/mysql-5.1-maint
into  mysql.com:/home/ram/work/b31604/b31604.5.1
2007-10-23 15:26:14 +05:00
unknown
c240ef5be6 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  mysql.com:/home/ram/work/b31349/b31349.5.0
2007-10-23 15:14:58 +05:00
unknown
a2c064207b Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.1-maint
into  mysql.com:/home/ram/work/b31349/b31349.5.1
2007-10-23 15:13:47 +05:00
unknown
5aa9c1bd6f Bug#30560 Valgrind option to mysql-test-run with spaces in cause strange error
mysql-test/mysql-test-run.pl:
  Use an array to store the valgrind options
  Deprecate --valgrind-options=s and instead use --valgrind-option(but allow
  PushBuild's) --valgrind-options=s usage.
  Make the variables local
2007-10-23 11:52:55 +02:00
unknown
355d55ad0f Merge polly.(none):/home/kaa/src/maint/mysql-5.0-maint
into  polly.(none):/home/kaa/src/maint/mysql-5.1-maint
2007-10-23 13:44:04 +04:00
unknown
7e91dbd331 Merge polly.(none):/home/kaa/src/maint/bug30453/my51-bug28878
into  polly.(none):/home/kaa/src/maint/mysql-5.1-maint
2007-10-23 13:39:31 +04:00
unknown
ec35475a88 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.1-maint
into  mysql.com:/home/ram/work/b31604/b31604.5.1
2007-10-23 14:31:53 +05:00
unknown
fb77972470 Merge polly.(none):/home/kaa/src/maint/bug30453/my50-bug28878
into  polly.(none):/home/kaa/src/maint/mysql-5.0-maint
2007-10-23 13:31:24 +04:00
unknown
251b083ed7 Merge polly.(none):/home/kaa/src/maint/bug30453/my50-bug28878
into  polly.(none):/home/kaa/src/maint/bug30453/my51-bug28878


mysql-test/r/insert.result:
  Auto merged
mysql-test/t/insert.test:
  Auto merged
strings/ctype-simple.c:
  Manual merge.
2007-10-23 13:19:54 +04:00
unknown
b04df8fdb5 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.1-maint
into  mysql.com:/home/ram/work/b31349/b31349.5.1
2007-10-23 14:07:44 +05:00
unknown
0d86a617b5 Merge mysql.com:/home/ram/work/mysql-5.0-maint
into  mysql.com:/home/ram/work/b31349/b31349.5.0
2007-10-23 14:06:26 +05:00
unknown
6e71a0f99b Merge mysql.com:/home/ram/work/b31349/b31349.5.0
into  mysql.com:/home/ram/work/b31349/b31349.5.1


mysql-test/r/func_misc.result:
  Auto merged
mysql-test/t/func_misc.test:
  Auto merged
sql/item_strfunc.h:
  Auto merged
2007-10-23 13:55:06 +05:00