1
0
mirror of https://github.com/MariaDB/server.git synced 2025-10-19 21:09:40 +03:00
Commit Graph

18631 Commits

Author SHA1 Message Date
unknown
167751b3f0 Merge mysql.com:/d2/hf/mrg/mysql-5.0-opt
into  mysql.com:/d2/hf/mrg/mysql-5.1-opt


mysql-test/r/type_decimal.result:
  Auto merged
sql/item_func.cc:
  Auto merged
2007-06-14 16:35:20 +05:00
unknown
dd3ff42c54 BUG#23051 (READ COMMITTED breaks mixed and statement-based replication):
Temporarily using thd_tx_isolation() until decision is made on how to
get the isolation level.


storage/innobase/handler/ha_innodb.cc:
  Using thd_tx_isolation() instead of direct access to variable.
mysql-test/r/binlog_tx_isolation.result:
  New BitKeeper file ``mysql-test/r/binlog_tx_isolation.result''
2007-06-14 13:33:31 +02:00
unknown
837ba138b1 Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-5.1-engines
into  mysql.com:/home/svoj/devel/mysql/BUG26976/mysql-5.1-engines
2007-06-14 16:28:34 +05:00
unknown
805c446ca4 Bug#26402 Server crashes with old-style named table
Problem: crash on attempt to open a table
  having "#mysql50#" prefix in db or table name.
  Fix: This prefix is reserved for "mysql_upgrade"
  to access 5.0 tables  whose file names are not encoded
  according to "5.1 tablename to filename encoded".
  Don't try open tables whose db name or table name
  has this prefix.


mysql-test/r/show_check.result:
  Adding test case.
mysql-test/t/show_check.test:
  Adding test case.
sql/mysql_priv.h:
  Moving 5.0 prefix declarations into mysql_priv.h
sql/sql_table.cc:
  Moving 5.0 prefix declarations into mysql_priv.h
sql/table.cc:
  Don't try to do "normal" open of tables having '#mysql50#' prefix in
  db or table name. This prefix is reserved to access to unencoded
  table names when upgrading from 5.0 to 5.1.
2007-06-14 16:28:33 +05:00
unknown
e1f5ce69b9 Merge mysql.com:/home/svoj/devel/mysql/BUG26976/mysql-5.0-engines
into  mysql.com:/home/svoj/devel/mysql/BUG26976/mysql-5.1-engines


mysql-test/r/merge.result:
  Auto merged
storage/myisammrg/ha_myisammrg.cc:
  Auto merged
2007-06-14 16:19:47 +05:00
unknown
5bc3eb2e11 BUG#26976 - Missing table in merge not noted in related error msg +
SHOW CREATE TABLE fails
Addition to the fix: report db name + table name instead of table path.
This solves embedded merge test failure.


mysql-test/r/merge.result:
  BUG#26976 - Missing table in merge not noted in related error msg +
              SHOW CREATE TABLE fails
  Addition to the fix: report db name + table name instead of table path.
sql/ha_myisammrg.cc:
  BUG#26976 - Missing table in merge not noted in related error msg +
              SHOW CREATE TABLE fails
  Addition to the fix: report db name + table name instead of table path.
2007-06-14 16:18:01 +05:00
unknown
28444ac8b1 Bug #29103 ndb_restore segfaults on NULL var[char|binary]
mysql-test/r/ndb_restore.result:
  Bug #29103 ndb_restore segfaults on NULL var[char|binary]
  - add extra row with NULL value to test
mysql-test/t/ndb_restore.test:
  Bug #29103 ndb_restore segfaults on NULL var[char|binary]
  - add extra row with NULL value to test
storage/ndb/tools/restore/consumer_restore.cpp:
  Bug #29103 ndb_restore segfaults on NULL var[char|binary]
  - check that the attribute is not null
2007-06-14 12:51:13 +02:00
unknown
dcd779cb38 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.1-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B28991-5.1-opt
2007-06-14 12:54:52 +03:00
unknown
37559e3db5 Bug #28991: rpl_events failure in pushbuild
In tests waiting on a timeout is not deterministic enough
to make sure that an event actually finished executing.
Fixed the test by waiting in a loop and checking the effect
that the event is supposed to produce.


mysql-test/include/rpl_events.inc:
  Bug #28991: wait until event has taken effect
2007-06-14 12:53:13 +03:00
unknown
e615aaff68 Add a missing wait_condition call.
mysql-test/t/events_restart_phase3.test:
  Add a missing wait.
2007-06-14 13:51:35 +04:00
unknown
f3dc047890 WL#3303 (RBR: Engine-controlled logging format):
Test case fixes.


mysql-test/r/binlog_multi_engine.result:
  Result change.
mysql-test/r/rpl_ndb_stm_innodb.result:
  Result change.
mysql-test/t/binlog_multi_engine.test:
  NDB tests only work in MIXED or ROW mode. Adding some cleanup actions.
mysql-test/t/loaddata_autocom_ndb.test:
  NDB requires MIXED or ROW mode.
mysql-test/t/ndb_alter_table.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_alter_table2.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_alter_table3.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_autodiscover.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_autodiscover2.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_autodiscover3.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_basic.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_binlog_log_bin.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_binlog_multi.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_bitfield.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_blob.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_blob_partition.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_cache.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_cache2.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_cache_multi.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_cache_multi2.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_charset.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_condition_pushdown.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_config.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_config2.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_cursor.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_database.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_dd_alter.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_dd_backuprestore.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_dd_basic.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_dd_ddl.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_dd_disk2memory.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_dd_dump.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_dd_sql_features.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_gis.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_index.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_index_ordered.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_index_unique.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_insert.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_limit.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_loaddatalocal.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_lock.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_minmax.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_multi.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_partition_error.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_partition_key.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_partition_list.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_partition_range.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_read_multi_range.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_rename.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_replace.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_restore.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_restore_partition.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_restore_print.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_row_format.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_single_user.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_sp.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_subquery.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_temporary.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_transaction.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_trigger.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_truncate.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_types.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_update.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndb_view.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ndbapi.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/ps_7ndb.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/rpl_ndb_commit_afterflush.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/rpl_ndb_innodb_trans.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
mysql-test/t/rpl_ndb_stm_innodb.test:
  We need MIXED mode on slave since it is necessary to let the slave
  switch to row format when executing replicated statements.
mysql-test/t/strict_autoinc_5ndb.test:
  NDB requires MIXED or ROW mode, but will switch to row format
  automatically, so we only run these tests under ROW mode.
2007-06-14 11:05:48 +02:00
unknown
b1516976f0 Bug#28497 wait_for_slave_to_stop can cause random replication mysql-test failures
- touch up


mysql-test/include/wait_for_slave_io_to_stop.inc:
  Update comment
  Remove superfluous variable assignments
2007-06-14 08:48:00 +02:00
unknown
e6a8ce327d Merge bk-internal:/home/bk/mysql-5.1-maint
into  pilot.(none):/data/msvensson/mysql/mysql-5.1-new-maint
2007-06-14 08:38:49 +02:00
unknown
8b8b28881f Bug#27857 (Log tables supplies the wrong value for generating AUTO_INCREMENT
numbers)

Before this patch, the code in the class Log_to_csv_event_handler, which is
used by the global LOGGER object to write to the tables mysql.slow_log and
mysql_general_log, was supporting only records of the format defined for
these tables in the database creation scripts.

Also before this patch, the server would allow, with certain limitations,
to perform ALTER TABLE on the LOG TABLES.

As implemented, the behavior of the server, with regards to LOG TABLES,
is inconsistent:
- either ALTER TABLES on LOG TABLES should be prohibited,
and the code writing to these tables can make assumptions on the record
format,
- or ALTER TABLE on LOG TABLES is permitted, in which case the code
writing a record to these tables should be more flexible and honor
new fields.

In particular, adding an AUTO_INCREMENT column to the logs,
does not work as expected (per the bug report).

Given that the ALTER TABLE on log tables statement has been explicitly
implemented to check that the log should be off to perform the operation,
and that current test cases already cover this, the user expectation is
already set that this is a "feature" and should be supported.

With this patch, the server will:
- populate AUTO INCREMENT columns if present,
- populate any additional column with it's default value
when writing a record to the LOG TABLES.

Tests are provided, that detail the precise sequence of statements
a SUPER user might want to perform to add more columns to the log tables.


mysql-test/r/log_tables.result:
  Test case for bug#27857
mysql-test/t/log_tables.test:
  Test case for bug#27857
sql/log.cc:
  Set extra fields in log tables with default values.
2007-06-13 22:05:22 -06:00
unknown
8c617a3b01 Merge damien-katzs-computer.local:/Users/dkatz/mysql50
into  damien-katzs-computer.local:/Users/dkatz/mysql51


mysql-test/r/query_cache.result:
  Auto merged
mysql-test/t/query_cache.test:
  Auto merged
sql/sql_select.cc:
  Auto merged
2007-06-13 16:37:16 -04:00
unknown
31608f67ab Bug #28953 Using events in a replication let the slave crash.
Fixed where the slave code would try to update the Lex->sphead which is NULL on an "alter table" commands.


mysql-test/r/rpl_events.result:
  test that "alter event" replicates without crashing the slave
mysql-test/t/rpl_events.test:
  test that "alter event" replicates without crashing the slave
sql/sql_parse.cc:
  Added a check for lex->spd, which isn't set on an "alter event" command
2007-06-13 16:24:21 -04:00
unknown
da4e864c7c Merge damien-katzs-computer.local:/Users/dkatz/mysql50
into  damien-katzs-computer.local:/Users/dkatz/50_win
2007-06-13 15:47:34 -04:00
unknown
40ebf3b70b Bug #28897 UUID() returns non-unique values when query cache is enabled
Removed the ability to cache queries containing "UUID()".


mysql-test/r/query_cache.result:
  Added test to ensure "select UUID(), a from t1" is different each time.
mysql-test/t/query_cache.test:
  Added test to ensure "select UUID(), a from t1" is different each time.
sql/item_create.cc:
  Removed the ability to cache queries with UUID().
2007-06-13 14:23:25 -04:00
unknown
57cac5df09 rpl_known_bugs_detection.test:
Updated to use new tool(s):Missed on call, resubmitting


mysql-test/t/rpl_known_bugs_detection.test:
  Updated to use new tool(s):Missed on call, resubmitting
2007-06-13 19:52:42 +02:00
unknown
c0ebdff9c7 Fixed bug #28980: the result of ROUND(<decimal expr>,<int column>)
was erroneously converted to double, while the result of
ROUND(<decimal expr>, <int literal>) was preserved as decimal.
As a result of such a conversion the value of ROUND(D,A) could
differ from the value of ROUND(D,val(A)) if D was a decimal expression.

Now the result of the ROUND function is never converted to 
double if the first argument is decimal.  


mysql-test/r/type_decimal.result:
  Added a test case for bug #28980.
mysql-test/t/type_decimal.test:
  Added a test case for bug #28980.
2007-06-13 09:32:36 -07:00
unknown
93d01a659a Merge jmiller@bk-internal.mysql.com:/home/bk/mysql-5.1-maint
into  mysql.com:/data2/mysql-5.1-maint
2007-06-13 17:44:21 +02:00
unknown
bef9666565 rpl_known_bugs_detection.test:
Updated to use new tool(s)


mysql-test/t/rpl_known_bugs_detection.test:
  Updated to use new tool(s)
2007-06-13 17:43:31 +02:00
unknown
1ab7b066d0 Merge mhansson@bk-internal.mysql.com:/home/bk/mysql-5.1-opt
into  dl145s.mysql.com:/users/mhansson/mysql/autopush/5.1o-bug27634
2007-06-13 16:01:16 +02:00
unknown
85525c4a54 [PATCH] Enable test for (Closed) bug 16445
Bug was updated on May 30th by Tomas to say that hasn't been seen in PB
since global dict cache rewrite. This test should probably be enabled then.

Index: ndb-work/mysql-test/t/ndb_basic.test
===================================================================


mysql-test/r/ndb_basic.result:
  Enable test for (Closed) bug 16445
mysql-test/t/ndb_basic.test:
  Enable test for (Closed) bug 16445
2007-06-13 23:34:22 +10:00
unknown
1f2ce0eb48 [PATCH] Add tests for ndb variables (related to BUG#26675)
This is somewhat related to BUG#26675 (ndb_connectstring not reported
in show global variables)

Index: ndb-work/mysql-test/r/ndb_basic.result
===================================================================


mysql-test/r/ndb_basic.result:
  Add tests for ndb variables (related to BUG#26675)
mysql-test/t/ndb_basic.test:
  Add tests for ndb variables (related to BUG#26675)
2007-06-13 23:33:51 +10:00
unknown
18c6c75a35 [PATCH] Disable mysql_upgrade test (Bug#28560)
Index: ndb-work/mysql-test/t/disabled.def
===================================================================


mysql-test/t/disabled.def:
  Disable mysql_upgrade test (Bug#28560)
2007-06-13 23:33:37 +10:00
unknown
83d2257826 Merge kindahl-laptop.dnsalias.net:/home/bkroot/mysql-5.1-rpl
into  kindahl-laptop.dnsalias.net:/home/bk/b24954-mysql-5.1-new-rpl
2007-06-13 15:18:39 +02:00
unknown
2b24acb2a4 Fixing some trivial test problems.
mysql-test/r/rpl_loaddata_fatal.result:
  Result change
mysql-test/r/rpl_slave_skip.result:
  Result change
mysql-test/t/rpl_loaddata_fatal.test:
  Test only valid for debug build
  Adding shutdown sequence.
mysql-test/t/rpl_slave_skip.test:
  Masking out new columns.
sql/log_event.cc:
  Freeing memory to keep valgrind silent.
2007-06-13 15:16:33 +02:00
unknown
7eebcf2f99 BUG#23051 (READ COMMITTED breaks mixed and statement-based replication):
Post-merge fixes.


BitKeeper/deleted/.del-ndb_binlog_basic2.test:
  Delete: mysql-test/t/ndb_binlog_basic2.test
BitKeeper/deleted/.del-ndb_binlog_basic2.result:
  Delete: mysql-test/r/ndb_binlog_basic2.result
mysql-test/r/binlog_innodb.result:
  Result change
mysql-test/r/binlog_multi_engine.result:
  Result change
mysql-test/t/binlog_multi_engine.test:
  Changed error code
mysql-test/t/partition_hash.test:
  Changed error code
sql/sql_class.h:
  Fixes to select_create constructor argument list.
2007-06-13 12:28:35 +02:00
unknown
25a7effa1a after-merge fix.
mysql-test/r/func_in.result:
  After-merge fix.
    - result adjusted.
2007-06-13 14:59:31 +05:00
unknown
dc6c3b31d8 Merge mysql.com:/home/ram/work/mysql-5.0-maint
into  mysql.com:/home/ram/work/b28748/b28748.5.0
2007-06-13 14:21:44 +05:00
unknown
44d25ca232 Merge mysql.com:/home/ram/work/b28748/b28748.5.0
into  mysql.com:/home/ram/work/b28748/b28748.5.1


mysql-test/r/func_in.result:
  Auto merged
mysql-test/t/func_in.test:
  Auto merged
2007-06-13 14:16:39 +05:00
unknown
a009eb692c Merge pilot.(none):/data/msvensson/mysql/mysql-5.0-maint
into  pilot.(none):/data/msvensson/mysql/mysql-5.1-new-maint


mysql-test/mysql-test-run.pl:
  Auto merged
2007-06-13 10:37:31 +02:00
unknown
9cb0a84c7e Merge pilot.(none):/data/msvensson/mysql/mysql-4.1-maint
into  pilot.(none):/data/msvensson/mysql/mysql-5.0-maint


mysql-test/mysql-test-run.pl:
  Manual merge
2007-06-13 10:36:47 +02:00
unknown
3aa6d3f51a Bug#29065 mysql-test-run.pl aborts execution on missing log file from test tool
- Make tesingt continue even if test log file does not exists


mysql-test/mysql-test-run.pl:
  Allow execution to continue even if no log file has been
  generated by the test tool - it's not a critical error
2007-06-13 10:35:20 +02:00
unknown
b55468d713 Updated patch for Bug#28497 based off of Magnus's review
mysql-test/include/wait_for_slave_io_to_stop.inc:
  Updated previous commit to include Magnus's change request from review. In addition, I moved it from the mysql-5.1 to mysql-5.1-maint clone. We now have 3 new replications tools and one tool that has been refactored. 1) include/wait_for_slave_to_stop.inc replaces the old mysqltest.c wait_for_slave_to_stop. NEW: 2) include/wait_for_slave_sql_to_stop.inc is for when you are expecting the slave to get an SQL error and waiting for the SQL Thread to stop. 3) include/wait_for_slave_io_to_stop.inc is used for test that you expect sometype of IO error and the IO Thread to stop. 4) include/wait_for_slave_to_start.inc for waiting for the slave to completely start before moving forward in the test. All 4 tests have a built in loop that will stop the test if any of the tools take too long.
mysql-test/include/wait_for_slave_sql_to_stop.inc:
  Updated previous commit to include Magnus's change request from review. In addition, I moved it from the mysql-5.1 to mysql-5.1-maint clone. We now have 3 new replications tools and one tool that has been refactored. 1) include/wait_for_slave_to_stop.inc replaces the old mysqltest.c wait_for_slave_to_stop. NEW: 2) include/wait_for_slave_sql_to_stop.inc is for when you are expecting the slave to get an SQL error and waiting for the SQL Thread to stop. 3) include/wait_for_slave_io_to_stop.inc is used for test that you expect sometype of IO error and the IO Thread to stop. 4) include/wait_for_slave_to_start.inc for waiting for the slave to completely start before moving forward in the test. All 4 tests have a built in loop that will stop the test if any of the tools take too long.
mysql-test/include/wait_for_slave_to_start.inc:
  Updated previous commit to include Magnus's change request from review. In addition, I moved it from the mysql-5.1 to mysql-5.1-maint clone. We now have 3 new replications tools and one tool that has been refactored. 1) include/wait_for_slave_to_stop.inc replaces the old mysqltest.c wait_for_slave_to_stop. NEW: 2) include/wait_for_slave_sql_to_stop.inc is for when you are expecting the slave to get an SQL error and waiting for the SQL Thread to stop. 3) include/wait_for_slave_io_to_stop.inc is used for test that you expect sometype of IO error and the IO Thread to stop. 4) include/wait_for_slave_to_start.inc for waiting for the slave to completely start before moving forward in the test. All 4 tests have a built in loop that will stop the test if any of the tools take too long.
mysql-test/include/wait_for_slave_to_stop.inc:
  Updated previous commit to include Magnus's change request from review. In addition, I moved it from the mysql-5.1 to mysql-5.1-maint clone. We now have 3 new replications tools and one tool that has been refactored. 1) include/wait_for_slave_to_stop.inc replaces the old mysqltest.c wait_for_slave_to_stop. NEW: 2) include/wait_for_slave_sql_to_stop.inc is for when you are expecting the slave to get an SQL error and waiting for the SQL Thread to stop. 3) include/wait_for_slave_io_to_stop.inc is used for test that you expect sometype of IO error and the IO Thread to stop. 4) include/wait_for_slave_to_start.inc for waiting for the slave to completely start before moving forward in the test. All 4 tests have a built in loop that will stop the test if any of the tools take too long.
mysql-test/t/rpl_critical_errors.test:
  Updated to use new tool(s)
mysql-test/t/rpl_dual_pos_advance.test:
  Updated to use new tool(s)
mysql-test/t/rpl_known_bugs_detection.test:
  Updated to use new tool(s)
mysql-test/t/rpl_rotate_logs.test:
  Updated to use new tool(s)
mysql-test/t/rpl_row_inexist_tbl.test:
  Updated to use new tool(s)
mysql-test/extra/rpl_tests/rpl_extraSlave_Col.test:
  Updated to use new tool(s)
mysql-test/extra/rpl_tests/rpl_loaddata.test:
  Updated to use new tool(s)
mysql-test/extra/rpl_tests/rpl_row_tabledefs.test:
  Updated to use new tool(s)
mysql-test/extra/rpl_tests/rpl_stm_000001.test:
  Updated to use new tool(s)
mysql-test/extra/rpl_tests/rpl_stm_EE_err2.test:
  Updated to use new tool(s)
2007-06-13 05:52:43 +02:00
unknown
f09496c8c2 Bug#25411 (trigger code truncated), PART II
Bug 28127 (Some valid identifiers names are not parsed correctly)
Bug 26302 (MySQL server cuts off trailing "*/" from comments in SP/func)

This patch is the second part of a major cleanup, required to fix
Bug 25411 (trigger code truncated).

The root cause of the issue stems from the function skip_rear_comments,
which was a work around to remove "extra" "*/" characters from the query
text, when parsing a query and reusing the text fragments to represent a
view, trigger, function or stored procedure.
The reason for this work around is that "special comments",
like /*!50002 XXX */, were not parsed properly, so that a query like:
  AAA /*!50002 BBB */ CCC
would be seen by the parser as "AAA BBB */ CCC" when the current version
is greater or equal to 5.0.2

The root cause of this stems from how special comments are parsed.
Special comments are really out-of-bound text that appear inside a query,
that affects how the parser behave.
In nature, /*!50002 XXX */ in MySQL is similar to the C concept
of preprocessing :
  #if VERSION >= 50002
  XXX
  #endif

Depending on the current VERSION of the server, either the special comment
should be expanded or it should be ignored, but in all cases the "text" of
the query should be re-written to strip the "/*!50002" and "*/" markers,
which does not belong to the SQL language itself.

Prior to this fix, these markers would leak into :
- the storage format for VIEW,
- the storage format for FUNCTION,
- the storage format for FUNCTION parameters, in mysql.proc (param_list),
- the storage format for PROCEDURE,
- the storage format for PROCEDURE parameters, in mysql.proc (param_list),
- the storage format for TRIGGER,
- the binary log used for replication.

In all cases, not only this cause format corruption, but also provide a vector
for dormant security issues, by allowing to tunnel code that will be activated
after an upgrade.

The proper solution is to deal with special comments strictly during parsing,
when accepting a query from the outside world.
Once a query is parsed and an object is created with a persistant
representation, this object should not arbitrarily mutate after an upgrade.
In short, special comments are a useful but limited feature for MYSQLdump,
when used at an *interface* level to facilitate import/export,
but bloating the server *internal* storage format is *not* the proper way
to deal with configuration management of the user logic.

With this fix:
- the Lex_input_stream class now acts as a comment pre-processor,
and either expands or ignore special comments on the fly.
- MYSQLlex and sql_yacc.yy have been cleaned up to strictly use the
public interface of Lex_input_stream. In particular, how the input stream
accepts or rejects a character is private to Lex_input_stream, and the
internal buffer pointers of that class are strictly private, and should not
be tempered with during parsing.

This caused many changes mostly in sql_lex.cc.

During the code cleanup in case MY_LEX_NUMBER_IDENT,
Bug 28127 (Some valid identifiers names are not parsed correctly)
was found and fixed.

By parsing special comments properly, and removing the function
'skip_rear_comments' [sic],
Bug 26302 (MySQL server cuts off trailing "*/" from comments in SP/func)
has been fixed as well.


sql/event_data_objects.cc:
  Cleanup of the code that extracts the query text
sql/sp.cc:
  Cleanup of the code that extracts the query text
sql/sp_head.cc:
  Cleanup of the code that extracts the query text
sql/sql_trigger.cc:
  Cleanup of the code that extracts the query text
sql/sql_view.cc:
  Cleanup of the code that extracts the query text
mysql-test/r/comments.result:
  Bug#25411 (trigger code truncated)
mysql-test/r/sp.result:
  Bug#25411 (trigger code truncated)
  Bug 26302 (MySQL server cuts off trailing "*/" from comments in SP/func)
mysql-test/r/trigger.result:
  Bug#25411 (trigger code truncated)
mysql-test/r/varbinary.result:
  Bug 28127 (Some valid identifiers names are not parsed correctly)
mysql-test/t/comments.test:
  Bug#25411 (trigger code truncated)
mysql-test/t/sp.test:
  Bug#25411 (trigger code truncated)
  Bug 26302 (MySQL server cuts off trailing "*/" from comments in SP/func)
mysql-test/t/trigger.test:
  Bug#25411 (trigger code truncated)
mysql-test/t/varbinary.test:
  Bug 28127 (Some valid identifiers names are not parsed correctly)
sql/sql_lex.cc:
  Implemented comment pre-processing in Lex_input_stream,
  major cleanup of the lex/yacc code to not use Lex_input_stream private members.
sql/sql_lex.h:
  Implemented comment pre-processing in Lex_input_stream,
  major cleanup of the lex/yacc code to not use Lex_input_stream private members.
sql/sql_yacc.yy:
  post merge fix : view_check_options must be parsed before signaling the end of the query
2007-06-12 15:23:58 -06:00
unknown
95d678f841 Merge kindahl-laptop.dnsalias.net:/home/bkroot/mysql-5.1-rpl
into  kindahl-laptop.dnsalias.net:/home/bk/b23051-mysql-5.1-rpl


sql/ha_ndbcluster.cc:
  Auto merged
sql/handler.cc:
  Auto merged
sql/handler.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
storage/archive/ha_archive.h:
  Auto merged
storage/blackhole/ha_blackhole.h:
  Auto merged
storage/csv/ha_tina.h:
  Auto merged
storage/example/ha_example.h:
  Auto merged
storage/federated/ha_federated.h:
  Auto merged
storage/heap/ha_heap.h:
  Auto merged
storage/innobase/handler/ha_innodb.cc:
  Auto merged
storage/innobase/handler/ha_innodb.h:
  Auto merged
storage/myisam/ha_myisam.cc:
  Auto merged
storage/myisammrg/ha_myisammrg.h:
  Auto merged
sql/share/errmsg.txt:
  SCCS merged
2007-06-12 22:14:54 +02:00
unknown
492ebf924b Merge kindahl-laptop.dnsalias.net:/home/bkroot/mysql-5.1-rpl
into  kindahl-laptop.dnsalias.net:/home/bk/b23051-mysql-5.1-rpl


BitKeeper/deleted/.del-binlog_row_blackhole.result:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/handler.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/share/errmsg.txt:
  Auto merged
storage/blackhole/ha_blackhole.h:
  Auto merged
storage/innobase/handler/ha_innodb.cc:
  Auto merged
storage/innobase/handler/ha_innodb.h:
  Auto merged
storage/myisam/ha_myisam.cc:
  Auto merged
mysql-test/t/partition_hash.test:
  Manual merge
sql/handler.h:
  Manual merge
sql/set_var.cc:
  Manual merge
sql/sql_class.h:
  Manual merge
sql/sql_insert.cc:
  Manual merge
sql/sql_parse.cc:
  Manual merge
2007-06-12 22:02:46 +02:00
unknown
ccbada0864 BUG#23051 (READ COMMITTED breaks mixed and statement-based
replication):

Patch to add binlog format capabilities to the InnoDB storage engine.
The engine will not allow statement format logging when in READ COMMITTED
or READ UNCOMMITTED transaction isolation level.

In addition, an error is generated when trying to use READ COMMITTED
or READ UNCOMMITTED transaction isolation level in STATEMENT binlog
mode.


sql/handler.h:
  Adding declaration of already global arrays.
sql/share/errmsg.txt:
  Adding error messages for invalid changes of transaction isolation level
  and binlog mode switch.  Removing messages that are not needed any more
  (this cset it pushed together with the cset that introduced these
  messages, so it is safe to remove the messages).
sql/sql_base.cc:
  Some changes to error reporting code to get more informative messages.
storage/innobase/handler/ha_innodb.cc:
  Adding capabilities to storage engine.
  
  Ha_innobase:table_flags() now compute flags on a per-statement basis
  and the statement capabilities flag is just set if the transaction
  isolation level is below READ COMMITTED.
  
  An informative message is printed in the event that the transaction
  isolation level is below READ COMMITTED and the binlog mode is STATEMENT.
storage/innobase/handler/ha_innodb.h:
  Accomodating to changes in the server code that switched from ulong
  to Table_flags as type for the table flags.
mysql-test/r/binlog_innodb.result:
  New BitKeeper file ``mysql-test/r/binlog_innodb.result''
mysql-test/t/binlog_innodb.test:
  New BitKeeper file ``mysql-test/t/binlog_innodb.test''
2007-06-12 21:47:00 +02:00
unknown
ab84fb1d1b Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.1-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B27816-5.1-opt


sql/sql_table.cc:
  Auto merged
2007-06-12 19:24:48 +03:00
unknown
044476451d Merge bk-internal:/home/bk/mysql-5.1-opt
into  magare.gmz:/home/kgeorge/mysql/work/merge-5.1-opt
2007-06-12 18:42:43 +03:00
unknown
e53dfc6df4 Merge bk-internal:/home/bk/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/work/merge-5.1-opt


mysql-test/r/insert_update.result:
  Auto merged
mysql-test/r/trigger.result:
  Auto merged
mysql-test/t/insert_update.test:
  Auto merged
mysql-test/t/trigger.test:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/item_func.cc:
  merge of 5.0-opt -> 5.1-opt
sql/sql_insert.cc:
  merge of 5.0-opt -> 5.1-opt
sql/structs.h:
  merge of 5.0-opt -> 5.1-opt
tests/mysql_client_test.c:
  merge of 5.0-opt -> 5.1-opt
2007-06-12 16:34:54 +03:00
unknown
acc7614a86 Merge bk@192.168.21.1:mysql-5.1-opt
into  mysql.com:/home/hf/work/28757/my51-28757
2007-06-12 18:33:49 +05:00
unknown
0a67a6e5b6 Bug #28757 Test program / embedded server crash in test "unsafe_binlog_innodb"
the reported test failure is fixed by the patch to 28333,
but there's a bit more to fix in the test itself - to
drop tables created in this test at the test's beginning.


mysql-test/include/unsafe_binlog.inc:
  remove tables created later in this test
  number error codes changed with the appropriate ER_something
mysql-test/r/unsafe_binlog_innodb.result:
  test result fixed
2007-06-12 17:53:16 +05:00
unknown
a8bb10ac9e Bug#27634: group_by test fails
On many architectures, e.g. 68000, x86, the double registers have higher precision 
than the IEEE standard prescribes. When compiled with flags -O and higher, some double's 
go into registers and therefore have higher precision. In one test case the cost 
information of the best and second-best key were close enough to be influenced by this 
effect, causing a failed test in distribution builds.

Fixed by removing some rows from the table in question so that cost information is not
influenced by decimals beyond standard definition of double.


mysql-test/r/group_by.result:
  Bug#27634: Altered test reslut. The only difference in the results is in the 'rows' column.
mysql-test/t/group_by.test:
  Bug#27634: Altered test case to avoid the corner case where excess precision causes 
  non-minimum costs to appear minimal.
2007-06-12 15:10:33 +03:00
unknown
e4cd7e985f Merge bk-internal:/home/bk/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B28992-5.0-opt
2007-06-12 14:37:14 +03:00
unknown
030bb02b69 Bug #28992: trigger fails in pushbuild
- fixed wrong test case for bug 20903
 - closed the dangling connections in trigger.test
 - GET_LOCK() and RELEASE_LOCK() now produce more detailed log
 - fixed an omission in GET_LOCK() : assign the thread_id when
    acquiring the lock.


mysql-test/r/trigger.result:
  Bug #28992: test case updated
mysql-test/t/trigger.test:
  Bug #28992: test case updated. dangling connections closed.
sql/item_func.cc:
  Bug #28992: 
   - GET_LOCK() and RELEASE_LOCK() now produce more detailed log
   - fixed an omission in GET_LOCK() : assign the thread_id when
      acquiring the lock.
2007-06-12 14:35:36 +03:00
unknown
0c2338e7b9 Merge polly.local:/home/kaa/src/maint/bug28895/my51-bug28895
into  polly.local:/home/kaa/src/maint/mysql-5.1-maint


sql/sql_select.cc:
  Auto merged
2007-06-12 11:48:43 +04:00
unknown
d447929a02 Merge polly.local:/home/kaa/src/maint/bug28895/my50-bug28895
into  polly.local:/home/kaa/src/maint/mysql-5.0-maint


sql/sql_select.cc:
  Auto merged
2007-06-12 11:42:39 +04:00