Commit graph

59687 commits

Author SHA1 Message Date
Davi Arnaut
5aeeaaf507 Manual merge of mysql-next-mr-runtime upstream. 2009-11-19 21:48:08 -02:00
Mattias Jonsson
176cabc1b4 Bug#32115: Bad use of Name_resolution_context from current LEX in partitioning
port from mysql-next (5.4) to mysql-next-mr-bugfixing (5.5/5.6?)

2755 Konstantin Osipov	2008-11-27
Bug#32115 will remove the pre-requisite to initialize LEX to open tables.
This dependency was added in 5.1 and was supposed to be removed in 6.0.
Remove asserts and initialization of LEX in places where we don't deal
with partitioned tables.

sql/sp_head.cc:
  Fix a typo.
2009-11-20 00:13:54 +01:00
Guilhem Bichot
27fca0ab17 Backport of the fix for BUG#40368 "mysqld_safe not honouring underscore same as dash on server options" from 6.0
(revision-id:guilhem@mysql.com-20090505113602-l12kxupeatve18dh).
Such bug led "mysqld_safe --core_file_size=#" to not work because mysqld_safe wouldn't recognize
that "ulimit -c" is needed; only --core-file-size=# worked. Same for --open_files_limit and other
options with _ where mysqld_safe needs to do something more than passing to mysqld.
Original fix by Erik Ljungstrom erik at ibiblio dot org ; slightly modified here.
Tested on all internally accessible Unix.
2009-11-18 21:36:17 +01:00
Marc Alff
48ea0b83a0 Port the unit test framework to windows
Backport from 6.0.14 to 5.6.0

Original code from Guilhem Bichot
2009-11-17 21:29:26 -07:00
Marc Alff
244eced1a7 WL#3230 concurrent hash
Backport from 6.0.14 to 5.6.0

Original code from Sergei Golubchik
2009-11-17 19:31:40 -07:00
Marc Alff
7b9fd341a0 Misc cleanup 2009-11-17 17:36:39 -07:00
Marc Alff
382ae22290 WL#2595 kernel-independent atomic operations
Backport from 6.0.14 to 5.6.0

Original code from Sergei Golubchik
2009-11-17 17:11:32 -07:00
Alexey Botchkov
6c832ee4bf merging. 2009-11-17 15:27:40 +04:00
Alexey Botchkov
5b8a24cf04 merging. 2009-11-17 15:24:23 +04:00
Alexey Botchkov
8afc2658d7 merging. 2009-11-17 15:19:47 +04:00
Marc Alff
7d59878096 Merge mysql-next-mr (revno 2922) --> mysql-next-mr-marc 2009-11-16 14:42:20 -07:00
Marc Alff
ce1cd22dca New tree for merges 2009-11-16 14:14:54 -07:00
Luis Soares
625ddcd5ec BUG#48048: Deprecated constructs need removal in Betony
Post-push fix: Removed MTRv1 arguments according to the
original patch. Although there is a version check, the patch
was pushed to a 5.1 GA staging tree, while the version check 
considers version 5.2. This makes the deprecated parameters 
to be used, despite the fact that they are not valid anymore.

Part of MTRv1 is currently used in RQG semisync test, and this
was causing the test to fail on slave startup.

It should be safe to uncomment when merging up to celosia.
2009-11-16 12:17:19 +00:00
Alexey Botchkov
5eea1c0544 result updates for the 'row-only' tests 2009-11-15 23:19:53 +04:00
Davi Arnaut
5128b54c38 Post-merge fixes for backports.
mysql-test/r/sp-error.result:
  Update test case result.
mysql-test/t/dirty_close.test:
  Dirty close does not work under embedded.
mysql-test/t/sp-error.test:
  Use the specific error number so it won't catch
  other non-fatal errors.
2009-11-13 10:56:38 -02:00
Luis Soares
bcb25587ae BUG#48048: Deprecated constructs need removal in Betony
Post-push fix: Reverting change in Makefile.am which was
causing windows not to build client/.
2009-11-13 12:14:38 +00:00
Luis Soares
d8ca6b9dd9 manual merge: mysql-5.1-rep+2 (bug tree) --> mysql-5.1-rep+2 (latest)
CONFLICTS
=========

Text conflict in sql/sql_yacc.yy
1 conflicts encountered.
2009-11-13 10:17:53 +00:00
unknown
0d46e5880e Backport Bug #45827 Stmt using two autoinc values does not produce unsafe warning
One statement that have more than one different tables to update with 
autoinc columns just was marked as unsafe in mixed mode, so the unsafe 
warning can't be produced in statement mode.
      
To fix the problem, mark the statement as unsafe in statement mode too.


mysql-test/extra/rpl_tests/rpl_insert_id.test:
  The test case is updated due to the patch of bug#45827.
mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result:
  The test result is updated due to the patch of bug#45827.
mysql-test/suite/binlog/r/binlog_unsafe.result:
  Test result for bug#45827.
mysql-test/suite/binlog/t/binlog_unsafe.test:
  Added test to verify if stmt that have more than one
  different tables to update with autoinc columns will 
  produce unsafe warning
mysql-test/suite/rpl/r/rpl_stm_auto_increment_bug33029.result:
  The test result is updated due to the patch of bug#45827.
mysql-test/suite/rpl/t/rpl_trigger.test:
  The test case is updated due to the patch of bug#45827.
mysql-test/suite/rpl/t/rpl_variables_stm.test:
  The test case is updated due to the patch of bug#45827.
sql/sql_base.cc:
  Reomved the 'set_current_stmt_binlog_row_based_if_mixed' function 
  for producing unsafe warnings by executing 'decide_logging_format' 
  function later in statement mode
2009-11-13 16:29:35 +08:00
Alexander Nozdrin
3260df8b93 Auto-merge from mysql-next-mr. 2009-11-12 06:17:04 +03:00
Alexander Nozdrin
780871d8b9 Update version tag (new: 5.6). 2009-11-12 06:11:55 +03:00
Alexander Nozdrin
4c700c6b00 Auto-merge from mysql-next-mr. 2009-11-12 05:25:03 +03:00
Alexander Nozdrin
a9403253b1 Auto-merge from mysql-trunk-bugfixing. 2009-11-12 15:17:49 +03:00
Alexander Nozdrin
e29ea6c2f8 Auto-merge from mysql-next-mr. 2009-11-12 15:13:43 +03:00
Alexander Nozdrin
0e7c10445f Auto-merge from mysql-trunk. 2009-11-12 15:10:26 +03:00
Alexander Nozdrin
59403916c1 Auto-merge from mysql-trunk. 2009-11-12 05:22:00 +03:00
Alexander Nozdrin
e99e453633 Auto-merge from mysql-next-mr. 2009-11-12 18:00:24 +03:00
Alexander Nozdrin
03baeb7653 Auto-merge from mysql-trunk-bugfixing. 2009-11-12 05:20:39 +03:00
Alexander Nozdrin
819a299235 Auto-merge from mysql-trunk. 2009-11-12 04:58:56 +03:00
Magne Mahre
827cbd2bb5 Bug#40700: aclocal warnings for missing cache-id's
Just change mysql_foo to mysql_cv_foo for one cache-id variable name.  There
was only one bad variable name, present in 5.0 and 5.1, but not in the -pe
branch.


Backported to 5.6.0  (mysql-next-mr-runtime)
2009-11-11 21:43:31 +01:00
Magne Mahre
56e603a31b Bug #33544 UDF_INIT member decimals initialized wrong with
STRING_RESULT argument

There is a "magic" number for precision : NOT_FIXED_DEC. 
This means that the precision is not a fixed number.
But this constant was re-defined in several files and 
was not available to the UDF developers.
 
Moved the NOT_FIXED_DEC definition to the correct header
and removed the redundant definitions.

Backported to 5.6.0  (mysql-next-mr-runtime)

client/sql_string.h:
  moved NOT_FIXED_DEC to the correct header
include/mysql_com.h:
  moved NOT_FIXED_DEC to the correct header
libmysql/libmysql.c:
  moved NOT_FIXED_DEC to the correct header
sql/field.h:
  moved NOT_FIXED_DEC to the correct header
sql/sql_string.h:
  moved NOT_FIXED_DEC to the correct header
storage/ndb/include/kernel/signaldata/DictTabInfo.hpp:
  moved NOT_FIXED_DEC to the correct header
2009-11-11 21:19:41 +01:00
Magne Mahre
a176b24912 Bug #37097 mysqltest add result file format version 2
Add result file format v2

Backport to 5.6.0
2009-11-11 20:25:32 +01:00
Magne Mahre
cc87cb9fbf Fix of incorrect casting for large sizes 2009-11-11 19:54:57 +01:00
Marc Alff
4347bbe3d1 Bug#9801 Views: imperfect error message
Backport to 5.5: adjusted the test outputs in the funcs_1 test suite
2009-11-11 10:34:41 -07:00
Alexey Botchkov
5e85d7170a test updated 2009-11-11 21:30:51 +04:00
Magne Mahre
272b9ad5de Return type fix (strlen returns size_t) 2009-11-11 17:22:27 +01:00
Magne Mahre
fa08bae760 Bug #5724 'mysqladmin password' should be allowed to prompt for password
Add support for being prompted for new passwords by mysqladmin instead of
specifying them on the command line. (Bug #5724, patch by Harrison Fisk)
2009-11-11 17:17:58 +01:00
Magne Mahre
3c3b11c3b8 Bug #14637: trim trailing spaces processes data only byte wise
(From: gkodinov)
Use and int * where possible to scan for trailing space in a
string instead of always iterating char-by-char.
Using the attached benchmark file on a 32 bit Intel Core 2 
Duo CPU I've got 43485 ms run with the fix compared to 44373 
without it.

Backported to 5.6.0 (next-mr-runtime)
6.0-codebase revid: 2476.1362.1


include/m_string.h:
  scan for space through ints
strings/ctype-bin.c:
  scan for space through ints
strings/ctype-latin1.c:
  scan for space through ints
strings/ctype-mb.c:
  scan for space through ints
strings/ctype-simple.c:
  scan for space through ints
2009-11-11 17:03:02 +01:00
Philip Stoev
0a6d18f3fb revert patch for bug #47146 because it breaks Solaris builds 2009-11-11 12:01:09 +02:00
Luis Soares
7cf9ee96ae BUG#48048: Deprecated constructs need removal in Betony
Removed test case that was left without significance after
backporting the deprecated constructs from 6.0 codebase.
2009-11-11 02:02:23 +00:00
Alexey Botchkov
134d2fb675 loadxml test update. 2009-11-11 05:42:02 +04:00
Alexey Botchkov
53d581e0d8 Bug#47126 equal flag values causing unexpected behaviour
Although the MY_SYNC_DIR flag supported in my_create(), my_delete(),
   my_rename() and my_symlink(), this feature is not used in the
   mysql code now. So technically we can declare the MY_SYNC_DIR as 0,
   but I decided to assign a new value for it as it's probably safer and
   worths nothing.

per-file comments:
  include/my_sys.h
Bug#47126      equal flag values causing unexpected behaviour
     assign unique value for the MY_SYNC_DIR
2009-11-11 05:12:56 +04:00
Davi Arnaut
1c3c72ce17 The FIONREAD macro could expand to a expression which
is invalid to preporcessor conditionals. Instead use
the autoconf generated macro to test the presence.
2009-11-10 22:39:06 -02:00
Alexey Botchkov
c868e89f82 Bug #47139 Test "merge" crashes in "embedded" run
In fact this crashes in normal (not embedded) run also.
  The problem is in the memory mapping. Handling the ha_myisammrg::extra(MMAP)
  the MERGE engine tries to mmap all the tables it unites.
  Though some can be empty and then in the mi_dynmap_file()
  we call the my_mmap(0). Normally this call returns MAP_FAILED,
  but not on FreeBSD. There it returns like a 'normal' value,
  and after the consequitive munmap systems gets unstable and
  crashes on some system call later.

per-file comments:
  storage/myisam/mi_dynrec.c
Bug #47139      Test "merge" crashes in "embedded" run
    don't try to mmap zero-length area, just return at once.
2009-11-11 01:10:30 +04:00
Alexey Botchkov
6388a13230 Bug#42520 killing load .. infile Assertion failed: ! is_set(), file .\sql_error.cc, line 8
The additional patch. That 'loadxml.test' failure was actually about our testing system,
   not the code.
   Firstly we need a new mysqltest command, wich i called 'send_eval'. So the expression
   can be evaluated, then started in a parallel thread. We only have separane 'send' and
   'eval' commands at the moment.
   Then we need to add the waiting code after the 'KILL' to our test, so the thread will be killed
   before the test goes further. The present 'reap' command doesn't handle the killed threads
   well.
      
per-file comments:
  client/mysqltest.cc
Bug#42520      killing load .. infile Assertion failed: ! is_set(), file .\sql_error.cc, line 8
    The 'send_eval' command implemented.

  mysql-test/r/loadxml.result
Bug#42520      killing load .. infile Assertion failed: ! is_set(), file .\sql_error.cc, line 8
   test result updated.

  mysql-test/t/loadxml.test
Bug#42520      killing load .. infile Assertion failed: ! is_set(), file .\sql_error.cc, line 8
   test case added.
2009-11-11 00:55:05 +04:00
Davi Arnaut
891dffa322 Backport of Bug#45767 to mysql-next-mr
------------------------------------------------------------
revno: 3405
revision-id: davi.arnaut@sun.com-20090626124624-m4wolyo5193j4cu7
parent: luis.soares@sun.com-20090626113019-1j4mn1jos480u9f3
committer: Davi Arnaut <Davi.Arnaut@Sun.COM>
branch nick: mysql-pe
timestamp: Fri 2009-06-26 09:46:24 -0300
message:
  Bug#45767: deprecate/remove Field::pack_key, Field::unpack_key, Field::pack_cmp
  
  Remove unused and dead code.
  
  Parts of the patch contributed by Zardosht Kasheff
2009-11-10 18:51:14 -02:00
Davi Arnaut
ff84705631 Backport of Bug#27249 to mysql-next-mr
------------------------------------------------------------
revno: 2476.784.4
revision-id: sp1r-davi@moksha.local-20071008114751-46069
parent: sp1r-davi@moksha.local-20071003002731-48537
committer: davi@moksha.local
timestamp: Mon 2007-10-08 08:47:51 -0300
message:
  Bug#27249 table_wild with alias: select t1.* as something

  Aliases to table wildcards are silently ignored, but they should
  not be allowed as it is non-standard and currently useless. There
  is not point in having a alias to a wildcard of column names.

  The solution is to rewrite the select_item rule so that aliases
  for table wildcards are not accepted.

  Contribution by Martin Friebe

mysql-test/r/alias.result:
  Add test case result for Bug#27249
mysql-test/t/alias.test:
  Add test case for Bug#27249
sql/sql_yacc.yy:
  Split up select_item rule so that aliases for table wildcards
  are not accepted by the parser.
2009-11-10 18:43:43 -02:00
Davi Arnaut
e879919a9f Backport of Bug#15192 to mysql-next-mr
------------------------------------------------------------
revno: 2597.4.17
revision-id: sp1r-davi@mysql.com/endora.local-20080328174753-24337
parent: sp1r-anozdrin/alik@quad.opbmk-20080328140038-16479
committer: davi@mysql.com/endora.local
timestamp: Fri 2008-03-28 14:47:53 -0300
message:
  Bug#15192 "fatal errors" are caught by handlers in stored procedures

  The problem is that fatal errors (e.g.: out of memory) were being
  caught by stored procedure exception handlers which could cause
  the execution to not be stopped due to a continue handler.

  The solution is to not call any exception handler if the error is
  fatal and send the fatal error to the client.

mysql-test/r/sp-error.result:
  Add test case result for Bug#15192
mysql-test/t/sp-error.test:
  Add test case for Bug#15192
mysys/my_alloc.c:
  Pass flag to signal fatal error in memory root allocations.
sql/event_data_objects.cc:
  Use init_sql_alloc to initialize memory roots, which uses
  the sql error handler to push errors.
sql/ha_partition.cc:
  Pass flag to signal fatal error instead of calling fatal_error.
sql/item_func.cc:
  Pass flag to signal fatal error instead of calling fatal_error.
sql/item_subselect.cc:
  Remove redundant fatal error, memory root already pushes error.
sql/opt_sum.cc:
  Pass flag to signal fatal error instead of calling fatal_error.
sql/sp_head.cc:
  Allocator already sets fatal error.
sql/sql_class.h:
  A error must exist for it to be fatal. Pass flag to signal fatal
  error instead of calling fatal_error.
sql/sql_insert.cc:
  Pass flag to signal fatal error instead of calling fatal_error.
sql/sql_list.h:
  Pass flag to signal fatal error instead of calling fatal_error.
sql/sql_parse.cc:
  Pass flag to signal fatal error instead of calling fatal_error.
sql/sql_partition.cc:
  Pass flag to signal fatal error instead of calling fatal_error.
sql/sql_select.cc:
  Pass flag to signal fatal error instead of calling fatal_error.
sql/sql_servers.cc:
  Use init_sql_alloc to initialize memory roots, which uses
  the sql error handler to push errors.
sql/sql_show.cc:
  Pass flag to signal fatal error instead of calling fatal_error.
sql/sql_trigger.cc:
  Use init_sql_alloc to initialize memory roots, which uses
  the sql error handler to push errors.
sql/sql_update.cc:
  Pass flag to signal fatal error instead of calling fatal_error.
sql/tztime.cc:
  Use init_sql_alloc to initialize memory roots, which uses
  the sql error handler to push errors.
2009-11-10 18:31:28 -02:00
Davi Arnaut
17871ade9a Backport of Bug#41860 to mysql-next-mr
------------------------------------------------------------
revno: 3317
revision-id: davi.arnaut@sun.com-20090522170916-fzc5ca3tjs9roy1t
parent: patrick.crews@sun.com-20090522152933-ole8s3suy4zqyvku
committer: Davi Arnaut <Davi.Arnaut@Sun.COM>
branch nick: 41860-6.0
timestamp: Fri 2009-05-22 14:09:16 -0300
message:
  Bug#41860: Without Windows named pipe

  The problem was that the patch for Bug#10374 broke named pipe
  and shared memory transports on Windows due to a failure to
  implement a dummy poll method for transports other than BSD
  sockets. Another problem was that mysqltest lacked support
  for named pipe and shared memory connections, which lead to
  misleading test cases that were supposed run common queries
  over both transports.

  The solution is to properly implement, at the VIO layer, the
  poll and is_connected methods. The is_connected method is
  implemented for every suppported transport and the poll one
  only where it makes sense. Furthermore, support for named pipe
  and shared memory connections is added to mysqltest as to
  enable testing of both transports using the test suite.

client/mysqltest.cc:
  Add support for named pipe and shared memory connections.
include/violite.h:
  Move private functions to vio/vio_priv.h
  Add poll_read and is_connected methods.
mysql-test/t/named_pipe.test:
  Run tests over a named pipe connection.
mysql-test/t/shm.test:
  Run tests over a shared memory connection.
sql/item_func.cc:
  Rename method.
sql/sql_class.cc:
  Remove higher-level vio_is_connected implementation.
sql/sql_class.h:
  Rename vio_is_connected to not conflict with the vio one.
  Verify that there is a valid vio.
vio/vio.c:
  Add poll_read and is_connected methods.
vio/vio_priv.h:
  Add private functions.
vio/viosocket.c:
  Implement the is_connected method for the various transports.
2009-11-10 17:36:38 -02:00
Davi Arnaut
80582b000f Backport of Bug#10374 to mysql-next-mr
------------------------------------------------------------
revno: 2597.37.3
revision-id: sp1r-davi@mysql.com/endora.local-20080328123626-16430
parent: sp1r-anozdrin/alik@quad.opbmk-20080327125300-11290
committer: davi@mysql.com/endora.local
timestamp: Fri 2008-03-28 09:36:26 -0300
message:
  Bug#10374 GET_LOCK does not let connection to close on the server side if it's aborted

  The problem is that the server doesn't detect aborted connections which
  are waiting on a lock or sleeping (user sleep), wasting system resources
  for a connection that is already dead.

  The solution is to peek at the connection every five seconds to verify if
  the connection is not aborted. A aborted connection is detect by polling
  the connection socket for available data to be read or end of file and in
  case of eof, the wait is aborted and the connection killed.

include/violite.h:
  Export vio_peek_read function.
mysql-test/r/dirty_close.result:
  Add test case result for Bug#10374
mysql-test/t/dirty_close.test:
  Add test case for Bug#10374
sql/item_func.cc:
  While waiting for a condition to be signaled, check if the connection
  is not broken every INTERRUPT_INTERVAL seconds.
sql/sql_class.cc:
  Add function which checks if the client connection was aborted.
sql/sql_class.h:
  Add function prototype.
vio/viosocket.c:
  Add poll and peek functions for Windows and Unix.
2009-11-10 17:09:27 -02:00
Davi Arnaut
e26de1ca16 Backport of Bug#27525 to mysql-next-mr
------------------------------------------------------------
revno: 2572.2.1
revision-id: sp1r-davi@mysql.com/endora.local-20080227225948-16317
parent: sp1r-anozdrin/alik@quad.-20080226165712-10409
committer: davi@mysql.com/endora.local
timestamp: Wed 2008-02-27 19:59:48 -0300
message:
  Bug#27525 table not found when using multi-table-deletes with aliases over several databas
  Bug#30234 Unexpected behavior using DELETE with AS and USING

  The multi-delete statement has a documented limitation that
  cross-database multiple-table deletes using aliases are not
  supported because it fails to find the tables by alias if it
  belongs to a different database. The problem is that when
  building the list of tables to delete from, if a database
  name is not specified (maybe an alias) it defaults to the
  name of the current selected database, making impossible to
  to properly resolve tables by alias later. Another problem
  is a inconsistency of the multiple table delete syntax that
  permits ambiguities in a delete statement (aliases that refer
  to multiple different tables or vice-versa).

  The first step for a solution and proper implementation of
  the cross-databse multiple table delete is to get rid of any
  ambiguities in a multiple table statement. Currently, the parser
  is accepting multiple table delete statements that have no obvious
  meaning, such as:

  DELETE a1 FROM db1.t1 AS a1, db2.t2 AS a1;
  DELETE a1 AS a1 FROM db1.t1 AS a1, db2.t2 AS a1;

  The solution is to resolve the left part of a delete statement
  using the right part, if the a table on right has an alias,
  it must be referenced in the left using the given alias. Also,
  each table on the left side must match unambiguously only one
  table in the right side.

mysql-test/r/delete.result:
  Add test case result for Bug#27525 and Bug#21148
mysql-test/r/derived.result:
  Update error.
mysql-test/suite/rpl/r/rpl_multi_delete2.result:
  Update syntax.
mysql-test/suite/rpl/t/rpl_multi_delete2.test:
  Update syntax.
mysql-test/t/delete.test:
  Add test case for Bug#27525 and Bug#21148
mysql-test/t/derived.test:
  Update statement error, alias is properly resolved now.
sql/sql_parse.cc:
  Implement new algorithm for the resolution of alias in
  a multiple table delete statement.
sql/sql_yacc.yy:
  Rework multi-delete parser rules to not accept table alias
  for the table source list.
sql/table.h:
  Add flag to signal that the table has a alias set or
  that fully qualified table name was given.
2009-11-10 16:48:46 -02:00