Commit graph

29995 commits

Author SHA1 Message Date
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
e33031e76a Merge 192.168.0.20:mysql/mysql-5.0-maint
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint
2006-04-22 21:54:38 +02:00
unknown
609e96e1db Fix for building shared libraries on AIX with 64-bit mode
Set building of shared libraries on QNX to defatul OFF


configure.in:
  -Libtool forgets to pass the -q64 and -X64 flags to "nm" and "xlc_r" when building
  for 64-bit on AIX. Add some hacks before we create libtool that fixes this.
  This test should be integrated into autoconf/libtool
  
  -Set default to not build shared librarues on QNX. When building libmysqlclient and libmysqlclient_r
  so many objects are passed to libtool that sh propably runs out of stack  and segfaults.
2006-04-22 21:53:33 +02:00
unknown
2efefe6890 Merge bk-internal.mysql.com:/home/bk/mysql-5.0-runtime
into  mysql.com:/home/dlenev/mysql-5.0-bg15153-2
2006-04-22 11:56:15 +04:00
unknown
dc526db887 Fix for bug#15153 "CONVERT_TZ() is not allowed in all places in VIEWs".
Error was emitted when one tried to select information from view which used
merge algorithm and which also had CONVERT_TZ() function in its select list.

This bug was caused by wrong assumption that global table list for view
which is handled using merge algorithm begins from tables belonging to
the main select of this view. Nowadays the above assumption is not true only
when one uses convert_tz() function in view's select list, but in future
other cases may be added (for example we may support merging of views
with subqueries in select list one day). Relying on this false assumption
led to the usage of wrong table list for field lookups and therefor errors. 

With this fix we explicitly use pointer to the beginning of main select's
table list.


mysql-test/r/timezone_grant.result:
  Added additional test case for bug#15153 "CONVERT_TZ() is not allowed in
  all places in VIEWs" that checks that usage of CONVERT_TZ() function in view
  does not require additional privileges.
mysql-test/r/view.result:
  Added test case for bug#15153 "CONVERT_TZ() is not allowed in all places in 
  VIEWs".
mysql-test/t/timezone_grant.test:
  Added additional test case for bug#15153 "CONVERT_TZ() is not allowed in
  all places in VIEWs" that checks that usage of CONVERT_TZ() function in view
  does not require additional privileges.
mysql-test/t/view.test:
  Added test case for bug#15153 "CONVERT_TZ() is not allowed in all places in 
  VIEWs".
sql/sql_view.cc:
  mysql_make_view():
    We should not assume that global table list for view which is handled using
    merge algorithm begins from tables belonging to the main select of this
    view. Nowadays the above assumption is not true only when one uses
    convert_tz() function in view's select list, but in future other cases
    may be added (for example we may support merging of views with subqueries
    in select list one day). So let us instead explicitly use pointer to the
    beginning of main select's table list.
2006-04-22 11:54:25 +04:00
unknown
661c6aeaad Bug #18607: LOAD DATA FROM MASTER fails because of INFORMATION_SCHEMA database
Simply exclude INFORMATION_SCHEMA from LOAD DATA FROM MASTER just like
  we exclude the `mysql` database.

  There's no test for this, because it requires an unfiltered 'LOAD DATA
  FROM MASTER' which is too likely to cause chaos (such as when running
  the test suite against an external server).


sql/repl_failsafe.cc:
  Exclude information_schema from LOAD DATA FROM MASTER.
2006-04-21 18:26:39 -07:00
unknown
98a2008fd2 Backport fix for mysql client not using SSl library directly
- Add function mysql_get_ssl_cipher
 - Use function mysql_get_ssl_cipher from mysql


client/mysql.cc:
  Backport fix for mysql client not using SSl library directly
include/mysql.h:
  Backport fix for mysql client not using SSl library directly
libmysql/libmysql.def:
  Backport fix for mysql client not using SSl library directly
libmysqld/libmysqld.def:
  Backport fix for mysql client not using SSl library directly
sql-common/client.c:
  Backport fix for mysql client not using SSl library directly
2006-04-22 00:48:13 +02:00
unknown
a994f9846e Merge jbruehe@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/M50/mysql-5.0
2006-04-21 22:09:21 +02:00
unknown
6692dcf718 innodb_unsafe_binlog-master.opt:
Make InnoDB option "loose", as the server might be
  started with this option just to find out the test
  is to be skipped in the configuration (bug#17359)


mysql-test/t/innodb_unsafe_binlog-master.opt:
  Make InnoDB option "loose", as the server might be
  started with this option just to find out the test
  is to be skipped in the configuration (bug#17359)
2006-04-21 20:24:52 +02:00
unknown
07268dfad0 Merge
client/mysql.cc:
  Auto merged
2006-04-21 20:04:13 +02:00
unknown
a66fc918e9 Remove -Wall etc, not so portable compiler options 2006-04-21 19:53:30 +02:00
unknown
4f9100b67c Bug #18312: mysqltest: --sleep=0 doesn't disable sleep
Allow --sleep=0 to be specified to mysqltest, so that sleep calls
  can be disabled.

  Original patch from Paul DuBois.


client/mysqltest.c:
  Handle --sleep=0 being specified.
2006-04-21 10:48:53 -07:00
unknown
639c9dbc85 Bug #19083 ./mysql-test-run.pl starts NDB when it is not needed
Now NDB is only initialized and started when the tests that are
  being run will make use of it. The same thing is also done for the
  slave databases and the instance manager.

  After review from Magnus: Only take a snapshot of the data directories
  that are in use.


mysql-test/mysql-test-run.pl:
  Only initialize (and start) NDB, the instance manager, and the slaves
  when we have tests that require them. Also, only snapshot the data
  directories that we are going to use.
mysql-test/ndb/ndbcluster.sh:
  Fix text message that has always annoyed me
2006-04-21 09:48:49 -07:00
unknown
42f715818a Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-5.0
into  rurik.mysql.com:/home/igor/mysql-5.0
2006-04-21 09:46:47 -07:00
unknown
e9bf1b9a89 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0
into  poseidon.ndb.mysql.com:/home/tomas/mysql-5.0
2006-04-21 18:31:17 +02:00
unknown
8b12304337 Move telpate instantiations of taocrypt objects to taocrypt/template_instnt.cpp 2006-04-21 18:19:50 +02: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
b93dd4327b Post merge fixes 2006-04-21 08:19:38 -07:00
unknown
86c70f3d32 Merge mysql.com:/home/tomash/src/mysql_ab/mysql-5.0
into  mysql.com:/home/tomash/src/mysql_ab/mysql-5.0-bug6951


mysql-test/r/trigger.result:
  Auto merged
mysql-test/t/trigger.test:
  Auto merged
sql/sp_head.cc:
  Auto merged
2006-04-21 19:02:05 +04:00
unknown
10eac46a52 Bug#15728: LAST_INSERT_ID function inside a stored function returns 0
Do not reset value of LAST_INSERT_ID() in sub-statement.


mysql-test/r/rpl_insert_id.result:
  Add result for bug#15728.
mysql-test/r/sp.result:
  Add result for bug#15728.
mysql-test/t/rpl_insert_id.test:
  Add test case for bug#15728.
mysql-test/t/sp.test:
  Add test case for bug#15728.
sql/sql_class.cc:
  Do not reset value of LAST_INSERT_ID() in sub-statement.
2006-04-21 18:55:04 +04:00
unknown
3b76cfc210 Disable udf test 2006-04-21 15:57:03 +02:00
unknown
1baaa86846 Merge jbruehe@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/M50/mysql-5.0
2006-04-21 15:20:10 +02:00
unknown
90ecf9b698 Post-push fix for BUG#18344: DROP DATABASE does not drop associated routines
Fixed windows compile error in sql/sp.cc (missing cast to byte*)


sql/sp.cc:
  Fixed windows compile error. (missing cast to byte*)
2006-04-21 14:30:44 +02:00
unknown
2e4d7bd8ba Merge bk-internal:/home/bk/mysql-5.0
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0
2006-04-21 14:28:35 +02:00
unknown
b5cde201d2 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0
into  poseidon.ndb.mysql.com:/home/tomas/mysql-5.0


mysql-test/mysql-test-run.sh:
  Auto merged
2006-04-21 14:02:21 +02: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
0a22763fa6 Bug #17230 Can't change character-sets-dir for ndbd 2006-04-21 13:53:48 +02:00
unknown
afd9558e52 Don't run mysqld when started in ddd
Maybe we should do the same for gdb?
2006-04-21 12:30:33 +02:00
unknown
946adafdc2 Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/usr/local/home/marty/MySQL/mysql-5.0
2006-04-21 12:16:17 +02:00
unknown
761624e7f4 Merge mysql.com:/extern/mysql/bk/mysql-5.0-runtime
into  mysql.com:/extern/mysql/5.0/bug18344/mysql-5.0-runtime
2006-04-21 10:22:06 +02:00
unknown
8b35dc5738 Fix for bug#19088: NDBAPI: Segfault in NdbIndexScanOperation::setBound(...) 2006-04-21 10:17:55 +02:00
unknown
18b2515817 Merge bk-internal:/home/bk/mysql-5.0
into  neptunus.(none):/home/msvensson/mysql/my50-bug19190
2006-04-21 10:17:16 +02:00
unknown
2600133ed5 Merge bk-internal:/home/bk/mysql-5.0-maint
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint
2006-04-21 09:52:21 +02:00
unknown
f7b68502a8 Merge neptunus.(none):/home/msvensson/mysql/my50-bug18837
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint


configure.in:
  Auto merged
2006-04-21 09:47:21 +02:00
unknown
103fbcee45 Merge rurik.mysql.com:/home/igor/dev/mysql-4.1-0
into  rurik.mysql.com:/home/igor/dev/mysql-5.0-0


mysql-test/r/order_by.result:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
mysql-test/t/func_gconcat.test:
  Manual merge
mysql-test/t/order_by.test:
  Manual merge
sql/sql_lex.h:
  Manual merge
sql/sql_parse.cc:
  Manual merge
sql/sql_union.cc:
  Manual merge
2006-04-21 00:36:20 -07: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
4e5bed78df Bug #12792: @@system_time_zone is not SELECTable
Bug #15684: @@version_* are not all SELECTable

  Added the appropriate information as read-only system variables, and
  also removed some special-case handling of @@version along the way.

  @@version_bdb was added, but isn't included in the test because it
  depends on the presence of BDB.


mysql-test/r/variables.result:
  Update results
mysql-test/t/variables.test:
  Fix error from setting @@version, reset sql_select_limit to avoid confusion
  in later tests, and add new regression tests.
sql/item_func.cc:
  Remove special-case handling of VERSION, it's just a read-only server
  variable like the others now.
sql/set_var.cc:
  Add system_time_zone and various version-related system variables
2006-04-20 21:56:53 -07:00
unknown
a4b042c1e6 Bug #16195: SHOW VARIABLES doesn't report correctly sql_warnings and sql_notes values
SQL_WARNINGS and SQL_NOTES were being displayed with SHOW_BOOL, but they
  are system variables that need SHOW_SYS to be used.


mysql-test/r/variables.result:
  Add new results
mysql-test/t/variables.test:
  Add new regression test
sql/set_var.cc:
  Fix display of sql_notes and sql_warnings in SHOW VARIABLES.
2006-04-20 20:41:12 -07:00
unknown
2c5c5fd489 Bug #18617: mysql-test-run.pl, partially wrong handling of option "start-dirty"
This was a case of too much code. The --start-dirty option should act
  just like --start-and-exit, except it skips the database initialization
  step. Now it does, which means it picks up the options from the specified
  test case.


mysql-test/mysql-test-run.pl:
  Fix handle of --start-dirty to be like --start-and-exit, without the
  database initialization, as it was (sort of) documented.
2006-04-20 19:17:14 -07:00
unknown
e83ae318da Dean noticed that constant flush calls caused the archive stream file to flush empty buffers. This patch removes that behavior.
sql/ha_archive.cc:
  Modifications for more of a lazy approach to opening up archive files for writing.
sql/ha_archive.h:
  Added a variable to determine state, and a new method for encapsulating the opening of archive writers.
2006-04-20 18:23:04 -07:00
unknown
4b7c4cd27f Fixed bug#18739: non-standard HAVING extension was allowed in strict ANSI sql mode.
The SQL standard doesn't allow to use in HAVING clause fields that are not 
present in GROUP BY clause and not under any aggregate function in the HAVING
clause. However, mysql allows using such fields. This extension assume that 
the non-grouping fields will have the same group-wise values. Otherwise, the 
result will be unpredictable. This extension allowed in strict 
MODE_ONLY_FULL_GROUP_BY sql mode results in misunderstanding of HAVING 
capabilities.

The new error message ER_NON_GROUPING_FIELD_USED message is added. It says
"non-grouping field '%-.64s' is used in %-.64s clause". This message is
supposed to be used for reporting errors when some field is not found in the
GROUP BY clause but have to be present there. Use cases for this message are 
this bug and when a field is present in a SELECT item list not under any 
aggregate function and there is GROUP BY clause present which doesn't mention 
that field. It renders the ER_WRONG_FIELD_WITH_GROUP error message obsolete as
being more descriptive.
The resolve_ref_in_select_and_group() function now reports the 
ER_NON_GROUPING_FIELD_FOUND error if the strict mode is set and the field for 
HAVING clause is found in the SELECT item list only.



sql/share/errmsg.txt:
  Added the new ER_NON_GROUPING_FIELD_USED error message for the bug#14169.
mysql-test/t/having.test:
  Added test case for the bug#18739:  non-standard HAVING extension was allowed in strict ANSI sql mode.
mysql-test/r/having.result:
  Added test case for the bug#18739:  non-standard HAVING extension was allowed in strict ANSI sql mode.
sql/sql_select.cc:
  Added TODO comment to change the ER_WRONG_FIELD_WITH_GROUP to more detailed ER_NON_GROUPING_FIELD_USED message.
sql/item.cc:
  Fixed bug#18739: non-standard HAVING extension was allowed in strict ANSI sql mode.
  The resolve_ref_in_select_and_group() function now reports the
  ER_NON_GROUPING_FIELD_FOUND error if the strict MODE_ONLY_FULL_GROUP_BY mode
  is set and the field for HAVING clause is found in the SELECT item list only.
2006-04-21 01:52:59 +04:00
unknown
4369050126 Restoring changes erroneously removed by applying
the innodb-5.0-ss476 snapshot.
2006-04-21 01:37:31 +04:00
unknown
7ee05d7c71 Applied innodb-5.0-ss476 snapshot.
Fix BUG#18934: "InnoDB crashes when table uses column like DB_ROW_ID".
 Also, fix memory leaks in row_create_table_for_mysql() in rare
 corner cases.


innobase/dict/dict0dict.c:
  Applied innodb-5.0-ss476 snapshot.
   Refuse tables that use reserved column names (Bug#18934).
innobase/dict/dict0load.c:
  Applied innodb-5.0-ss476 snapshot.
   dict_load_table(): Refuse to load tables with other TYPE
   than DICT_TABLE_ORDINARY.
innobase/dict/dict0mem.c:
  Applied innodb-5.0-ss476 snapshot.
   Add dict_mem_table_free(), use it instead of duplicating
   the code everywhere.
innobase/ibuf/ibuf0ibuf.c:
  Applied innodb-5.0-ss476 snapshot.
innobase/include/dict0dict.h:
  Applied innodb-5.0-ss476 snapshot.
   Refuse tables that use reserved column name (Bug#18934).
innobase/include/dict0mem.h:
  Applied innodb-5.0-ss476 snapshot.
   Add dict_mem_table_free(), use it instead of duplicating
   the code everywhere.
innobase/include/univ.i:
  Applied innodb-5.0-ss476 snapshot.
innobase/log/log0recv.c:
  Applied innodb-5.0-ss476 snapshot.
innobase/row/row0mysql.c:
  Applied innodb-5.0-ss476 snapshot.
   Refuse tables that use reserved column names (Bug#18934).
mysql-test/r/innodb.result:
  Applied innodb-5.0-ss476 snapshot.
   Fix result for test case for Bug#18934.
   (Other changes are to be restored by the next cset).
mysql-test/t/innodb.test:
  Applied innodb-5.0-ss476 snapshot.
   Fix result for test case for Bug#18934.
   (Removed test case for Bug#14360 is to be restored by the next cset).
2006-04-21 01:07:37 +04:00
unknown
6b63f270c6 Merge mysql.com:/home/alexi/innodb/mysql-4.1-work
into  mysql.com:/home/alexi/innodb/mysql-5.0-work
 Null-merge.


innobase/dict/dict0dict.c:
  Null-merge.
innobase/dict/dict0mem.c:
  Null-merge.
innobase/include/dict0dict.h:
  Null-merge.
innobase/include/dict0mem.h:
  Null-merge.
innobase/include/univ.i:
  Null-merge.
innobase/row/row0mysql.c:
  Null-merge.
2006-04-20 23:18:29 +04: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
db623fa89f Post merge correction for the Changesset
Fixes for Bug#12429: Replication tests fail: "Slave_IO_Running" (?) differs related to MySQL 4.1
and Bug#16920 rpl_deadlock_innodb fails in show slave status (reported for MySQL 5.1)


mysql-test/r/rpl_deadlock.result:
  Updated result
2006-04-20 19:43:02 +02:00
unknown
1f3d54b477 Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  mysql.com:/home/mysql-5.0-maint
2006-04-20 16:17:36 +02:00