1
0
mirror of https://github.com/MariaDB/server.git synced 2025-05-02 19:25:03 +03:00

22189 Commits

Author SHA1 Message Date
unknown
f74a78b8eb Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into  bodhi.(none):/opt/local/work/mysql-5.1-27430


include/my_global.h:
  Auto merged
mysql-test/r/grant.result:
  Auto merged
mysql-test/t/disabled.def:
  Auto merged
mysql-test/t/grant.test:
  Auto merged
sql/item.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
sql/table.h:
  Auto merged
storage/myisam/mi_create.c:
  Auto merged
tests/mysql_client_test.c:
  Auto merged
sql/share/errmsg.txt:
  Manual merge.
2008-04-19 14:37:20 +04:00
unknown
642b4c27c5 Attempt to fix a sporadic failure of innodb_mysql.test 2008-04-19 14:27:17 +04:00
unknown
0a3d14a395 Add tests + modifications according to review
mysql-test/r/ps_ddl.result:
  Updated results
mysql-test/t/ps_ddl.test:
  - add missing subtests
  - add comments + minor reformatting for better overview on content
mysql-test/r/ps_ddl1.result:
  Expected results
mysql-test/t/ps_ddl1.test:
  Script for tests which do not really fit into ps_ddl
2008-04-18 21:18:53 +02:00
unknown
e82865b54d Fix of makefile. 2008-04-18 19:22:35 +02:00
unknown
6dad5e90ac Merge trift2.:/MySQL/M51/push-5.1
into  trift2.:/MySQL/M51/tmp-5.1


mysql-test/mysql-test-run.pl:
  Auto merged
2008-04-18 15:49:51 +02:00
unknown
f6ee0a8959 Merge hh-nb.hungers:/work/trees/mysql-5.1-build-src-clean
into  hh-nb.hungers:/work/merge/mysql-5.1-build


mysql-test/Makefile.am:
  Auto merged
2008-04-18 12:01:06 +02:00
unknown
97c25b23a3 Fix for win platforms (bug#35988).
mysql-test/Makefile.am:
  Fix for missing data files (bug#35988).
2008-04-18 11:38:41 +02:00
unknown
9acf64dade Merge hh-nb.hungers:/work/trees/mysql-5.1-build-src-clean
into  hh-nb.hungers:/work/merge/mysql-5.1-build
2008-04-17 16:12:39 +02:00
unknown
1ca18a8a45 fix of typo for bug#35988. 2008-04-17 15:51:17 +02:00
unknown
e119174cfe Minor corrections within the script
mysql-test/r/ps_ddl.result:
  Updated results
mysql-test/t/ps_ddl.test:
  - remove trailing spaces
  - correct wrong written word "echo"
2008-04-17 14:31:43 +02:00
unknown
bd2a732812 WL#4165 "Prepared statements: validation".
Add metadata validation to ~20 more SQL commands. Make sure that
these commands actually work in ps-protocol, since until now they
were enabled, but not carefully tested.
Fixes the ml003 bug found by Matthias during internal testing of the
patch.


mysql-test/r/ps_ddl.result:
  Update test results (WL#4165)
mysql-test/t/ps_ddl.test:
  Cover with tests metadata validation of 26 SQL statements.
sql/mysql_priv.h:
  Fix the name in the comment.
sql/sp_head.cc:
  Changed the way the observer is removed in case of stored procedures
  to support validation prepare stmt from "call p1(<expr>)": whereas
  tables used in the expression must be validated, substatements
  of p1 must not.
  The previous scheme used to silence the observer only in stored
  functions and triggers.
sql/sql_class.cc:
  Now the observer is silenced in sp_head::execute(). Remove it from
  Sub_statement_state.
sql/sql_class.h:
  Now the observer is silenced in sp_head::execute(). Remove it from
  Sub_statement_state.
sql/sql_parse.cc:
  Add CF_REEXECUTION_FRAGILE to 20 more SQLCOMs that need it.
sql/sql_prepare.cc:
  Add metadata validation to ~20 new SQLCOMs that need it.
  Fix memory leaks with expressions used in SHOW DATABASES and CALL
  (and prepared statements).
  We need to fix all expressions at prepare, since if these expressions
  use subqueries, there are one-time transformations of the parse
  tree that must be done at prepare. 
  List of fixed commands includes: SHOW TABLES, SHOW DATABASES,
  SHOW TRIGGERS, SHOW EVENTS, SHOW OPEN TABLES,SHOW KEYS, SHOW FIELDS, 
  SHOW COLLATIONS, SHOW CHARSETS, SHOW VARIABLES, SHOW TATUS, SHOW TABLE
  STATUS, SHOW PROCEDURE STATUS, SHOW FUNCTION STATUS, CALL.
  Add comment to set_parameters().
sql/table.h:
  Update comments.
2008-04-17 01:04:49 +04:00
unknown
6ac4045306 Merge mysql.com:/home/kent/bk/mysql-5.1-release
into  mysql.com:/home/kent/bk/build/mysql-5.1-build
2008-04-16 22:01:50 +02:00
unknown
bfdff2810b Merge hh-nb.hungers:/work/trees/mysql-5.1-build-src-clean
into  hh-nb.hungers:/work/merge/mysql-5.1-build
2008-04-16 16:49:49 +02:00
unknown
14f753d42f fifth set of fixes to bug#35988. 2008-04-16 16:32:33 +02:00
unknown
c3e0ed6a7e Merge hh-nb.hungers:/work/trees/mysql-5.1-build-src-clean
into  hh-nb.hungers:/work/merge/mysql-5.1-build
2008-04-16 10:50:09 +02:00
unknown
9c63b06c6d fourth set of fixes for bug#35988. 2008-04-16 10:23:07 +02:00
unknown
6116e30633 Merge hh-nb.hungers:/work/trees/mysql-5.1-build-src-clean
into  hh-nb.hungers:/work/merge/mysql-5.1-build
2008-04-15 15:56:11 +02:00
unknown
53c1832680 Third set of fixes for bug#35988. 2008-04-15 15:44:11 +02:00
unknown
77c7d6972d Bug#35157: mysqldump should use FLUSH TABLES NO_WRITE_TO_BINLOG \
when --master-data is used

When using the --master-data option with mysqldump, mysqldump uses 
a FLUSH TABLES command.  However, this statement got replicated to 
the slave(s), which caused the slave(s) to block unnecessarily while
the FLUSH tables command completed.

Now, if the master-data option is set to one of the two "on" modes,
then use the "LOCAL" qualifier to ensure that it's not replicated.


client/mysqldump.c:
  If master_data is set to one of the two modes, then insert "LOCAL"
  to the command to FLUSH TABLES so that the slaves aren't told to 
  flush also.
mysql-test/r/mysqldump.result:
  Output of mysqldump changed.
2008-04-14 17:43:08 -04:00
unknown
27e532bcff Merge hh-nb.hungers:/work/trees/mysql-5.1-build-src-clean
into  hh-nb.hungers:/work/merge/mysql-5.1-build
2008-04-14 17:31:15 +02:00
unknown
a9c37b3bfe Second set of fixes for bug#35988. 2008-04-14 17:21:18 +02:00
unknown
b1c8244470 Merge hh-nb.hungers:/work/merge/mysql-5.1-build
into  hh-nb.hungers:/work/merge/mysql-5.1-wl4288


mysql-test/t/disabled.def:
  Auto merged
2008-04-11 22:16:41 +02:00
unknown
5fd727f73b Fixes of system variable test programs for bug#35988. 2008-04-11 21:59:33 +02:00
unknown
3828535bbe Merge hh-nb.hungers:/work/trees/mysql-5.1-build-src-clean
into  hh-nb.hungers:/work/merge/mysql-5.1-build


BitKeeper/etc/ignore:
  auto-union
2008-04-10 18:32:37 +02:00
unknown
b00c536378 System variable tests delivered by Folio3 (see WL4288).
BitKeeper/etc/ignore:
  Added mysql-test/linux_sys_vars.inc mysql-test/load_sysvars.inc mysql-test/windows_sys_vars.inc to the ignore list
2008-04-10 15:14:28 +02:00
unknown
ec63ce2529 Error message changed across versions. 2008-04-09 21:19:41 -04:00
unknown
b64f664856 Merge bk-internal.mysql.com:/home/bk/mysql-5.1-build
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-build
2008-04-09 21:03:14 -04:00
unknown
fe6df1495b Merge zippy.cornsilk.net:/home/cmiller/work/mysql/bug15776-encore/my51-bug15776-encore
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-build


sql/field.cc:
  Auto merged
sql/unireg.h:
  Auto merged
mysql-test/r/type_blob.result:
  manual merge.
mysql-test/t/type_blob.test:
  manual merge.
sql/item_create.cc:
  manual merge.
sql/share/errmsg.txt:
  manual merge.
sql/sql_yacc.yy:
  manual merge.
2008-04-09 20:38:32 -04:00
unknown
7cce56b2f2 Merge zippy.cornsilk.net:/home/cmiller/work/mysql/bug15776/my51-bug15776
into  zippy.cornsilk.net:/home/cmiller/work/mysql/bug15776-encore/my51-bug15776-encore


sql/field.cc:
  Auto merged
sql/item_create.cc:
  Auto merged
sql/share/errmsg.txt:
  Auto merged
sql/unireg.h:
  Auto merged
mysql-test/r/type_blob.result:
  manual merge.
mysql-test/t/type_blob.test:
  manual merge.
sql/sql_yacc.yy:
  merge by hand.
2008-04-09 18:24:50 -04:00
unknown
4a77e833f2 Merge zippy.cornsilk.net:/home/cmiller/work/mysql/bug15776/my50-bug15776
into  zippy.cornsilk.net:/home/cmiller/work/mysql/bug15776/my51-bug15776


mysql-test/r/type_blob.result:
  Auto merged
mysql-test/t/type_blob.test:
  Auto merged
sql/field.cc:
  Auto merged
sql/unireg.h:
  Auto merged
2008-04-09 18:09:42 -04:00
unknown
a16a72b6c3 Merge zippy.cornsilk.net:/home/cmiller/work/mysql/bug15776/my50-bug15776
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0-build


mysql-test/r/type_blob.result:
  Auto merged
mysql-test/t/type_blob.test:
  Auto merged
sql/field.cc:
  Auto merged
sql/unireg.h:
  Auto merged
2008-04-09 12:27:51 -04:00
unknown
2bc7179d2d Follow-up to B-g#15776, test failures on 64-bit linux.
Make maximum blob size to be 2**32-1, regardless of word size.

Fix failure of timestamp with size of 2**31-1.  The method of
rounding up to the nearest even number would overflow.


mysql-test/r/type_blob.result:
  2**32-1 is not a special case for timestamp.
  
  Test 2**32-1 and 2**64 as the reliable test points for both 32-
  and 64-bit machines.  I'd like to test 2**32, but that would make 
  tests that vary between architectures.
  
  I'd like to generalize the tests by pulling the max blob size from
  the server, and then "eval"ing N-1, N, and N+1 instead of all these
  literal numbers, but I have not found a way to get UINT_MAX.
mysql-test/t/type_blob.test:
  2**32-1 is not a special case for timestamp.
  
  Test 2**32-1 and 2**64 as the reliable test points for both 32-
  and 64-bit machines.  I'd like to test 2**32, but that would make 
  tests that vary between architectures.
  
  I'd like to generalize the tests by pulling the max blob size from
  the server, and then "eval"ing N-1, N, and N+1 instead of all these
  literal numbers, but I have not found a way to get UINT_MAX.
sql/field.cc:
  Fix a bug where the round-to-even code for TIMESTAMP fields
  failed where the size would overflow the size to zero and then
  fail.
  
  Also, since we silently truncate the size of TIMESTAMP fields, set
  the maximum size we report is allowable to be the largest parsable
  number.
sql/unireg.h:
  Make BLOB size the maximum that the packed value in 
  field_blob::get_length() allows.
2008-04-09 12:27:30 -04:00
unknown
ffb16fe7d4 Merge five.local.lan:/work/merge/mysql-5.1-funcs_1
into  five.local.lan:/work/trees/mysql-5.1-build-src-clean
2008-04-09 16:05:58 +02:00
unknown
9fd682e6e0 Additional tests inspired by Bug
#12713 Error in a stored function called from a
          SELECT doesn't cause ROLLBACK of statem


mysql-test/r/func_rollback.result:
  Expected results
mysql-test/t/func_rollback.test:
  New test
2008-04-09 15:56:25 +02:00
unknown
a63dde5a5b Tentative implementation of
WL#4165 Prepared statements: validation 
WL#4166 Prepared statements: automatic re-prepare
Fixes
Bug#27430 Crash in subquery code when in PS and table DDL changed after PREPARE
Bug#27690 Re-execution of prepared statement after table was replaced with a view crashes
Bug#27420 A combination of PS and view operations cause error + assertion on shutdown

The basic idea of the patch is to keep track of table metadata between
prepared statement prepare and execute. If some table used in the statement
has changed, the prepared statement is re-prepared before execution.

See WL#4165 and WL#4166 contents and comments in the code for details
of the implementation.


include/my_global.h:
  Remove 'register' keyword to avoid warnings when swapping large structures
  that don't fit into a register. Any modern compiler is capable of placing
  a variable in a register when that would benefit performance.
mysql-test/r/ps_1general.result:
  Update test results: since now we re-prepare automatically,
  more correct results are produced in prepare-ddl-execute scenario.
mysql-test/r/query_cache_merge.result:
  Ensure that the table definition cache is large enough for
  the test to pass in --ps-protocol
mysql-test/r/trigger.result:
  Update test results to reflect automatic statement reprepare.
mysql-test/t/disabled.def:
  Enable ps_ddl.test, which now passes.
mysql-test/t/ps_1general.test:
  Since now we re-execute prepared statements after DDL successfully,
  change the test to produce repeatable results. Remove expectancy of
  an error in one place where now we automatically reprepare the prepared
  statement.
mysql-test/t/query_cache_merge.test:
  Ensure the table definition cache is large enough for the test to pass
  in --ps-protocol
mysql-test/t/trigger.test:
  Sinc
sql/item.cc:
  Implement Item_param "copy" functionality, used at re-prepare of
  a prepared statement.
  We copy the type of the original parameter, and move the assigned value,
  if any. Sic, the value is "moved", since it can be quite big --
  e.g. in case we deal with a LONG DATA parameter.
  It's essential to move the value from the old parameter since
  at the time of re-prepare the client packet with the necessary information
  may be not available.
sql/item.h:
  Declare a new method used for reprepare.
sql/my_decimal.h:
  Implement "swap()" functionality of class my_decimal to be
  able to easily swap two decimal values.
sql/mysql_priv.h:
  Declare enum_metadata_type.
sql/mysqld.cc:
  Implement a status variable for the number of reprepared statements.
sql/sql_base.cc:
  Implement metadata version validation.
sql/share/errmsg.txt:
  Add two new error messages: ER_NEED_REPREPARE and ER_PS_REBIND.
  The first error (theoretically) never reaches the user.
  It is issued by the metadata validation framework when a metadata version
  has changed between prepare and execute. Later on it's intercepted
  and the statement is automatically re-prepared. Only if the error
  has occurred repeatedly MAX_REPREPARE_ATTEMTS (3) times do we
  return it to the user.
  
  The second error is issued when after re-prepare we discover
  that the metadata we sent over to the client using the binary
  protocol differs drammatically from the new result set metadata 
  that the reprepared statement produces (e.g. number of result
  set columns is different).
sql/sql_class.cc:
  Implement metadata version validation framework.
sql/sql_class.h:
  Declarations for metadata version validation framework.
sql/sql_parse.cc:
  Mark commands for which we must invalidate and reprepare a prepared
  statement when metadata has changed.
sql/sql_prepare.cc:
  Implement WL#4165 and WL#4166 (limited support of metadata validation
  and re-prepare).
sql/table.h:
  Implement metadata validation.
tests/mysql_client_test.c:
  Add a test case for WL#4166
2008-04-08 20:01:20 +04:00
unknown
24d9bbad70 Merge mysqldev@production.mysql.com:my/mysql-5.1-release
into  mysql1000.(none):/home/andrei/MySQL/BARE/mysql-5.1-release
2008-04-08 12:52:11 +03:00
unknown
73febb3bf9 Bug #35762 Failing CREATE-SELECT steels Table map of the following query
Among two claimed artifacts the critical one is in that the Table map of 
a query following the failing with a duplicate key error CREATE-SELECT is skipped from
instantionating (and thus binlogging). That leads to sending a "chopped" group of the data
row-events without the table map head to the slave. 
The slave can not apply the only data row events.
It's not easy to force the slave to react with an error in such a case (the second complaint
on the bug report), because the lack of a table Rows_log_event::do_apply_event the data row event
handler is a common situation which  normally designates the event has to be filtered out
basing on the repliation do/ingore rules decision.

Fixed: table map creating and binlogging is restored via deploying the standard cleanup call in
select_create::abort().
No error is reported if by chance the table map was not been binlogged.
Leaving this out to resolve with considering how to combine the do/ingore rules with the situation
when erronoulsy the Table_map is not written to binlog.


mysql-test/suite/rpl/r/rpl_row_create_table.result:
  results changed
mysql-test/suite/rpl/t/rpl_row_create_table.test:
  regression test for the bug
sql/sql_insert.cc:
  adding resetting of thd binlogging state that was missed for the particular case of failing CREATE..SELECT
2008-04-08 10:43:00 +03:00
unknown
9fd89afca0 Fix for bug #35732: read-only blocks SELECT statements in InnoDB
Problem: SELECTs prohibited for a transactional SE in autocommit mode
if read_only is set.

Fix: allow them.


mysql-test/r/read_only_innodb.result:
  Fix for bug #35732: read-only blocks SELECT statements in InnoDB
    - test result.
mysql-test/t/read_only_innodb.test:
  Fix for bug #35732: read-only blocks SELECT statements in InnoDB
    - test case.
sql/handler.cc:
  Fix for bug #35732: read-only blocks SELECT statements in InnoDB
    - in autocommit mode thd->transaction.all list is empty thus 
      is_real_trans set to TRUE for any SELECTs, so using it in the
      "read_only" check is insufficient.
      ha_check_and_coalesce_trx_read_only() changed to return number
      of engines with read-write changes. This value is used in the
      "read-only" check and checks for GLOBAL READ LOCK.
sql/lock.cc:
  Fix for bug #35732: read-only blocks SELECT statements in InnoDB
    - added assert(protect_against_global_read_lock) before decreasing,
      in order to catch (uint) 0 - 1 situation due to wrong 
      wait_if_global_read_lock()/start_waiting_global_read_lock() call
      sequence.
2008-04-08 10:20:58 +05:00
unknown
17ec1c3c3b A fix for Bug#32724 "innodb_mysql.test fails randomly".
Enable back the disabled test case.


mysql-test/t/disabled.def:
  Enable the test case innodb_mysql.
sql/sql_parse.cc:
  Fix the random failure of innodb_mysql test. The failure is not
  random any more after a patch for Bug 12713 added asserts around
  handler commit.
2008-04-07 15:42:32 +04:00
unknown
d017aceed0 Review and update WL#4165 and WL#4166 test coverage. 2008-04-07 13:35:42 +04:00
unknown
4fbe0d14ce Merge trift2.:/MySQL/M51/push-5.1
into  trift2.:/MySQL/M51/work-5.1
2008-04-05 13:37:05 +02:00
unknown
d683134526 Merge trift2.:/MySQL/M51/clone-5.1
into  trift2.:/MySQL/M51/tmp-5.1

Null merge - changes specific to 5.1.24-rc are superseded by better ones done in parallel.


mysql-test/suite/funcs_1/r/innodb_storedproc_02.result:
  Null merge.
mysql-test/suite/funcs_1/r/innodb_trig_03e.result:
  Null merge.
mysql-test/suite/funcs_1/r/memory_storedproc_02.result:
  Null merge.
mysql-test/suite/funcs_1/r/memory_trig_03e.result:
  Null merge.
mysql-test/suite/funcs_1/r/myisam_storedproc_02.result:
  Null merge.
mysql-test/suite/funcs_1/r/myisam_trig_03e.result:
  Null merge.
mysql-test/suite/funcs_1/r/ndb_storedproc_02.result:
  Null merge.
mysql-test/suite/funcs_1/r/ndb_trig_03e.result:
  Null merge.
mysql-test/suite/funcs_1/storedproc/storedproc_02.inc:
  Null merge.
mysql-test/suite/funcs_1/storedproc/storedproc_master.inc:
  Null merge.
mysql-test/suite/funcs_1/r/innodb_storedproc.result:
  Null merge - changes specific to 5.1.24-rc are superseded by better ones done in parallel.
mysql-test/suite/funcs_1/r/memory_storedproc.result:
  Null merge - changes specific to 5.1.24-rc are superseded by better ones done in parallel.
mysql-test/suite/funcs_1/r/myisam_storedproc.result:
  Null merge - changes specific to 5.1.24-rc are superseded by better ones done in parallel.
mysql-test/suite/funcs_1/r/ndb_storedproc.result:
  Null merge - changes specific to 5.1.24-rc are superseded by better ones done in parallel.
2008-04-04 19:52:48 +02:00
unknown
b020868d87 Merge trift2.:/MySQL/M51/clone-5.1
into  trift2.:/MySQL/M51/tmp-5.1
2008-04-04 19:25:39 +02:00
unknown
f89f3c803d Merge five.local.lan:/work/merge/mysql-5.0-funcs_1
into  five.local.lan:/work/trees/mysql-5.0-build-src-clean
2008-04-04 18:02:55 +02:00
unknown
1daeb66563 Backport of fix made in 5.1 to 5.0
mysql-test/Makefile.am   :    Fix a copy-paste error ...


mysql-test/Makefile.am:
  Correct the variables used for target directory
  of copy action.
2008-04-04 17:41:14 +02:00
unknown
d75f5765a9 mysql-test/Makefile.am : Fix a copy-paste error ...
mysql-test/Makefile.am:
  Fix a copy-paste error ...
  In this place, "$(distdir)" expands to empty, resulting in absolute "/std_data/funcs_1"
2008-04-04 13:21:40 +02:00
unknown
ee3fb5f5e5 Merge bk-internal.mysql.com:/home/bk/mysql-5.1-build
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-build


sql/sql_yacc.yy:
  Auto merged
sql/share/errmsg.txt:
  Auto merged
2008-04-03 11:30:38 -04:00
unknown
a0d02a942a Merge bk-internal.mysql.com:/home/bk/mysql-5.0-build
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0-build


sql/share/errmsg.txt:
  Auto merged
2008-04-03 11:28:10 -04:00
unknown
69c54e5438 Merge trift2.:/MySQL/M50/mysql-5.0
into  trift2.:/MySQL/M50/push-5.0
2008-04-03 15:30:39 +02:00
unknown
4ccd06a29c Merge five.local.lan:/work/merge/mysql-5.1-funcs_1
into  five.local.lan:/work/trees/mysql-5.1-build-src-clean
2008-04-02 21:30:48 +02:00