Commit graph

20407 commits

Author SHA1 Message Date
unknown
80e7938736 Merge mysql.com:/data0/mysqldev/my/mysql-4.1.16a-release
into  mysql.com:/data0/mysqldev/my/mysql-4.1.20-release


tests/mysql_client_test.c:
  Auto merged
configure.in:
  merged
2006-05-24 14:12:19 +02:00
unknown
f02b0d8afd configure.in:
Updated release number 4.1.16a


configure.in:
  Updated release number 4.1.16a
2006-05-24 01:05:20 +02:00
unknown
6a60accef2 don't let bugfix for bug#8303 break the bugfix for bug#8378
revert the fix for bug#8303
correct the test for bug#8378


mysql-test/r/ctype_sjis.result:
  updated
mysql-test/t/ctype_sjis.test:
  updated
sql/sql_lex.cc:
  revert the fix for bug#8303
tests/mysql_client_test.c:
  correct the test for bug#8378
2006-05-24 00:55:53 +02:00
unknown
9cffcab4e6 mysql.spec.sh:
Backport of changes in 5.0 (bug#18294)


support-files/mysql.spec.sh:
  Backport of changes in 5.0 (bug#18294)
2006-04-29 01:28:04 +02:00
unknown
fb7a614383 Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/Users/kent/mysql/bk/mysql-4.1-new
2006-04-29 00:52:30 +02:00
unknown
dd68976a24 BUG#19145: mysqld crashes if you set the default value of an enum field to NULL
Now test for NULLness the pointers returned from objects created from the
default value. Pushing patch on behalf of cmiller.


mysql-test/r/null.result:
  Add test case
mysql-test/t/null.test:
  Add test case
sql/sql_table.cc:
  No longer blindly dereference pointer of the string representation of the
  values, where "NULL" is NUL. Raise INVALID DEFAULT error messages where
  appropriate.
  
  Note that the -O1 optimization flag made debugging this extremely tricky, with
  misleading results, and that removing it from the Makefile during debugging can
  be invaluable.
2006-04-28 12:15:29 -04:00
unknown
a59807d8cf Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/Users/kent/mysql/bk/mysql-4.1-new
2006-04-28 16:27:39 +02:00
unknown
e92e1dace7 Merge msvensson@bk-internal.mysql.com:/home/bk/mysql-4.1
into  devsrv-b.mysql.com:/users/msvensson/mysql-4.1
2006-04-28 15:15:13 +02:00
unknown
62e09b3e38 Merge msvensson@bk-internal.mysql.com:/home/bk/mysql-4.1
into  devsrv-b.mysql.com:/users/msvensson/mysql-4.1
2006-04-28 13:43:26 +02:00
unknown
3a0d0b4ce5 BUG#18492: mysqld reports ER_ILLEGAL_REFERENCE in --ps-protocol
In the code that converts IN predicates to EXISTS predicates it is changing
the select list elements to constant 1. Example :
SELECT ... FROM ...  WHERE a IN (SELECT c FROM ...)
is transformed to :
SELECT ... FROM ... WHERE EXISTS (SELECT 1 FROM ...  HAVING a = c)
However there can be no FROM clause in the IN subquery and it may not be
a simple select : SELECT ... FROM ... WHERE a IN (SELECT f(..) AS
c UNION SELECT ...) This query is transformed to : SELECT ... FROM ...
WHERE EXISTS (SELECT 1 FROM (SELECT f(..) AS c UNION SELECT ...)
x HAVING a = c) In the above query c in the HAVING clause is made to be
an Item_null_helper (a subclass of Item_ref) pointing to the real
Item_field (which is not referenced anywhere else in the query anymore).
This is done because Item_ref_null_helper collects information whether
there are NULL values in the result.  This is OK for directly executed
statements, because the Item_field pointed by the Item_null_helper is
already fixed when the transformation is done.  But when executed as
a prepared statement all the Item instances are "un-fixed" before the
recompilation of the prepared statement. So when the Item_null_helper
gets fixed it discovers that the Item_field it points to is not fixed
and issues an error.  The remedy is to keep the original select list
references when there are no tables in the FROM clause. So the above
becomes : SELECT ... FROM ...  WHERE EXISTS (SELECT c FROM (SELECT f(..)
AS c UNION SELECT ...) x HAVING a = c) In this way c is referenced
directly in the select list as well as by reference in the HAVING
clause. So it gets correctly fixed even with prepared statements.  And
since the Item_null_helper subclass of Item_ref_null_helper is not used
anywhere else it's taken out.


mysql-test/r/ps_11bugs.result:
  Test case for the bug
mysql-test/r/subselect.result:
  Explain updated because of the tranformation
mysql-test/t/ps_11bugs.test:
  Testcase for the bug
sql/item.cc:
  Taking out Item_null_helper as it's no longer needed
sql/item.h:
  Taking out Item_null_helper as it's no longer needed
sql/item_subselect.cc:
  The described change to the IN->EXISTS transformation
2006-04-28 11:23:31 +02:00
unknown
f0e7abfcc1 set_var.cc:
System variable was added out of lexical order.


sql/set_var.cc:
  System variable was added out of lexical order.
2006-04-27 07:51:56 -05:00
unknown
c8e2e3fd96 Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/Users/kent/mysql/bk/mysql-4.1-new
2006-04-27 11:28:15 +02:00
unknown
18a140b3e7 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into  neptunus.(none):/home/msvensson/mysql/mysql-4.1
2006-04-27 08:42:36 +02:00
unknown
5bbd943758 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into sergbook.mysql.com:/usr/home/serg/Abk/mysql-4.1
2006-04-26 10:24:47 -07:00
unknown
494ac21dc9 merged ul 2006-04-26 10:10:31 -07:00
unknown
d215e2e8ce Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/Users/kent/mysql/bk/mysql-4.1-new
2006-04-26 17:40:16 +02:00
unknown
5854f65b29 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into  neptunus.(none):/home/msvensson/mysql/mysql-4.1
2006-04-26 16:53:25 +02:00
unknown
6dd5c29025 Merge perch.ndb.mysql.com:/home/jonas/src/41-work
into  perch.ndb.mysql.com:/home/jonas/src/mysql-4.1
2006-04-26 16:53:25 +02:00
unknown
f3ca0c28e4 Merge aivanov@bk-internal.mysql.com:/home/bk/mysql-4.1
into  mysql.com:/home/alexi/innodb/mysql-4.1-innodb
2006-04-26 18:53:24 +04:00
unknown
966658fa48 Merge aivanov@bk-internal.mysql.com:/home/bk/mysql-4.1
into  mysql.com:/home/alexi/innodb/mysql-4.1-innodb
2006-04-26 12:39:47 +04:00
unknown
c2e6c898ac Make innodb_mysql produce a non-empty output.
mysql-test/r/innodb_mysql.result:
  Fix result.
2006-04-26 11:15:09 +04:00
unknown
a4c62dbb8a Files innodb.[test|result] are to be used by Innobase only.
Use files innodb_mysql.[test|result] instead.


mysql-test/t/innodb.test:
  This file is to be used by Innobase only.
mysql-test/r/innodb_mysql.result:
  New BitKeeper file ``mysql-test/r/innodb_mysql.result''
   Use this file instead of innodb.result.
mysql-test/t/innodb_mysql.test:
  New BitKeeper file ``mysql-test/t/innodb_mysql.test''
   Use this file instead of innodb.test.
2006-04-26 09:51:57 +04:00
unknown
a940b1a744 after merge fix 2006-04-25 17:12:06 -07:00
unknown
9dd61750f4 small optimization of the previous bugfix
(based on the fact that packet is ALWAYS \0 terminated, see my_net_read)
2006-04-25 16:41:12 -07:00
unknown
e262aaa885 merged 2006-04-25 14:06:04 -07:00
unknown
b3a7131896 buffer overflow and information exposure bugs fixed
(reported by Stefano Di Paola)
2006-04-25 13:37:33 -07:00
unknown
abc0d700bb ndb - bug#18597
Handle early abort of scan, so that resources are correctly freed


ndb/src/kernel/blocks/dbtc/Dbtc.hpp:
  Handle early abort
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
  Handle early abort so that require on running.empty() does not fire
2006-04-25 16:01:08 +02:00
unknown
f9216cdf8d Fix typo in mysql-test-run.pl (not caught by aotupush since it uses mysql-test-run.sh).
mysql-test/mysql-test-run.pl:
  Fix typo.
2006-04-24 15:34:01 +02:00
unknown
1caa459742 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into  neptunus.(none):/home/msvensson/mysql/mysql-4.1
2006-04-24 12:04:10 +02:00
unknown
73f5ae213d Merge knielsen@10.100.52.19:/usr/local/mysql/mysql-4.1-mtr-fix
into  mysql.com:/data0/knielsen/mysql-4.1-mtr-fix
2006-04-24 10:28:31 +02:00
unknown
9a7a78f700 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1
into  production.mysql.com:/usersnfs/rkalimullin/4.1.b17896
2006-04-24 08:01:10 +02:00
unknown
3d7fe27202 Merge paul@bk-internal.mysql.com:/home/bk/mysql-4.1
into  polar.kitebird.com:/src/extern/MySQL/bk/mysql-4.1
2006-04-23 19:50:03 -05:00
unknown
868c49e36c myisam_ftdump.c:
myisam_ftdump options: --help first, then rest in
  lexical order.


myisam/myisam_ftdump.c:
  myisam_ftdump options: --help first, then rest in
  lexical order.
2006-04-23 19:26:56 -05:00
unknown
4189bfa421 Bug#17263: incorrect DROP query in temporary tables replication
accounting non-ai32 in tmpkeyval. This changeset is supposed to be specifically for 4.1.
Another changeset is going to push into 5. 


sql/sql_base.cc:
  correction due to uint4korr definition: can not sizeof on not ia32.
2006-04-23 19:42:26 +03:00
unknown
329ebbd14d Bug#17263 temporary tables and replication
Backporting a changeset made for 5.0. Comments from there:

  The fix refines the algorithm of generating DROPs for binlog.
  Temp tables with common pseudo_thread_id are clustered into one query.
  Consequently one replication event per pseudo_thread_id is generated.




mysql-test/r/rpl_temporary.result:
  results changed
mysql-test/t/rpl_temporary.test:
  test to generate problematic drop in binlog to feed it to restarting slave
  to see no stop.
sql/sql_base.cc:
  change in drop temprorary tables alg in close_temporary_tables.
2006-04-23 12:18:57 +03:00
unknown
8ed06b840e Merge aivanov@bk-internal.mysql.com:/home/bk/mysql-4.1
into  mysql.com:/home/alexi/innodb/mysql-4.1
2006-04-23 13:18:56 +04:00
unknown
bb40065a1f Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-4.1
into  rurik.mysql.com:/home/igor/mysql-4.1
2006-04-21 08:22:03 -07:00
unknown
04be401f96 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1
into  production.mysql.com:/usersnfs/rkalimullin/4.1.b18643
2006-04-21 13:56:40 +02:00
unknown
301a24e3a0 Bug #17896: MIN of CASE WHEN returns non-minimum value!
- after review fixes


sql/item_cmpfunc.cc:
  Bug #17896: MIN of CASE WHEN returns non-minimum value!
  - after review fixes.
2006-04-21 11:48:00 +05:00
unknown
d4f4f5bdaf Merge rurik.mysql.com:/home/igor/mysql-4.1
into  rurik.mysql.com:/home/igor/dev/mysql-4.1-0
2006-04-20 22:34:37 -07:00
unknown
9225a51c58 Fixed bug #18767.
The bug caused wrong result sets for union constructs of the form
(SELECT ... ORDER BY order_list1 [LIMIT n]) ORDER BY order_list2.
For such queries order lists were concatenated and limit clause was
completely neglected. 


mysql-test/r/order_by.result:
  Added a test case for bug #18767.
mysql-test/t/order_by.test:
  Added a test case for bug #18767.
sql/sql_lex.h:
  Fixed bug #18767.
  Placed the code the created a fake SELECT_LEX into a separate function.
sql/sql_parse.cc:
  Fixed bug #18767.
  Placed the code the created a fake SELECT_LEX into a separate function.
sql/sql_select.cc:
  Fixed bug #18767.
  Changed the condition on which a SELECT is treated as part of a UNION.
  The SELECT in 
  (SELECT ... ORDER BY order_list1 [LIMIT n]) ORDER BY order_list2 
  now is handled in the same way as the first SELECT in a UNION
  sequence.
sql/sql_union.cc:
  Fixed bug #18767.
  Changed the condition at which a SELECT is treated as part of a UNION.
  The SELECT in 
  (SELECT ... ORDER BY order_list1 [LIMIT n]) ORDER BY order_list2 
  now is handled in the same way as the first SELECT in a UNION
  sequence.
sql/sql_yacc.yy:
  Fixed bug #18767.
  Changed the condition at which a SELECT is treated as part of a UNION.
  The SELECT in 
  (SELECT ... ORDER BY order_list1 [LIMIT n]) ORDER BY order_list2 
  now is handled in the same way as the first SELECT in a UNION
  sequence. In the same way is handled the SELECT in
  (SELECT ... LIMIT n) ORDER BY order list.
  Yet if there is neither ORDER BY nor LIMIT in the single-select
  union construct
  (SELECT ...) ORDER BY order_list
  then it is still handled as simple select with an order clause.
2006-04-20 22:15:38 -07:00
unknown
66ee876ba3 Applied innodb-4.1-ss22 snapshot.
Fix BUG#16814: "SHOW INNODB STATUS format error in LATEST FOREIGN KEY ERROR section"
     Add a missing newline to the LAST FOREIGN KEY ERROR section in SHOW INNODB STATUS
     output.
 Fix BUG#18934: "InnoDB crashes when table uses column names like DB_ROW_ID".
     Refuse tables that use reserved column names.


innobase/dict/dict0dict.c:
  Applied innodb-4.1-ss22 snapshot.
   dict_foreign_error_report(): Always print a newline after invoking
    dict_print_info_on_foreign_key_in_create_format() (Bug#16814).
   Refuse tables that use reserved column names (Bug#18934).
innobase/dict/dict0mem.c:
  Applied innodb-4.1-ss22 snapshot.
   Refuse tables that use reserved column names (Bug#18934).
innobase/include/dict0dict.h:
  Applied innodb-4.1-ss22 snapshot.
   Refuse tables that use reserved column names (Bug#18934).
innobase/include/dict0mem.h:
  Applied innodb-4.1-ss22 snapshot.
   Refuse tables that use reserved column names (Bug#18934).
innobase/include/univ.i:
  Applied innodb-4.1-ss22 snapshot.
innobase/row/row0mysql.c:
  Applied innodb-4.1-ss22 snapshot.
   Refuse tables that use reserved column names (Bug#18934).
2006-04-20 23:09:49 +04:00
unknown
5f3c91080c Merge mleich@bk-internal.mysql.com:/home/bk/mysql-4.1
into  production.mysql.com:/usersnfs/mleich/src
2006-04-20 11:31:22 +02:00
unknown
fffe7c4d1e func_gconcat.test:
Clean up test case for bug#14169


mysql-test/t/func_gconcat.test:
  Clean up test case for bug#14169
2006-04-20 12:35:33 +04:00
unknown
e4d653abb8 Temporarily commented out a query from the test case for bug 14169 to make it pass with --ps-protocol.
mysql-test/r/func_gconcat.result:
  Added DROP TABLE command to the test case for bug 14169.
2006-04-19 16:08:37 -07:00
unknown
34efb701ed Merge rurik.mysql.com:/home/igor/mysql-4.1
into  rurik.mysql.com:/home/igor/dev/mysql-4.1-2
2006-04-19 14:42:51 -07:00
unknown
08e5267969 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-4.1
into moonbone.local:/work/14169-bug-4.1-mysql
2006-04-20 00:28:17 +04:00
unknown
913c8fa185 func_gconcat.result:
Corrected test case for the bug#14169 to make it pass in --ps-protocol mode.


mysql-test/r/func_gconcat.result:
  Corrected test case for the bug#14169 to make it pass in --ps-protocol mode.
2006-04-20 00:27:43 +04:00
unknown
5500b0b66c Bug#18818 configure: No longer finds OpenSSL on Mac OS X
- Eval shrext_cmds variable before using it


acinclude.m4:
  eval the shrext_cmds variable before using it. This is the same fix as in ltmain.sh which has a comment describing how this works on Darwin.
  The bug describes it as not working for openSSL but as the same syntax and variable is used for zlib it has to be fixed there as well.
2006-04-19 20:26:40 +02:00
unknown
c0887e5461 Bug#18544 - LOCK TABLES timeout causes MyISAM table corruption
After a locking error the open table(s) were not fully
cleaned up for reuse. But they were put into the open table
cache even before the lock was tried. The next statement
reused the table(s) with a wrong lock type set up. This
tricked MyISAM into believing that it don't need to update
the table statistics. Hence CHECK TABLE reported a mismatch
of record count and table size.

Fortunately nothing worse has been detected yet. The effect
of the test case was that the insert worked on a read locked
table. (!)

I added a new function that clears the lock type from all
tables that were prepared for a lock. I call this function
when a lock failes.

No test case. One test would add 50 seconds to the
test suite. Another test requires file mode modifications.
I added a test script to the bug report. It contains three
cases for failing locks. All could reproduce a table
corruption. All are fixed by this patch.

This bug was not lock timeout specific.


sql/lock.cc:
  Bug#18544 - LOCK TABLES timeout causes MyISAM table corruption
  Resetting the lock type in the open table(s) lock data
  after a locking error.
2006-04-19 22:54:25 +05:00