Commit graph

16 commits

Author SHA1 Message Date
Davi Arnaut
4f18083b08 Bug#42643: InnoDB does not support replication of TRUNCATE TABLE
The problem was that TRUNCATE TABLE didn't take a exclusive
lock on a table if it resorted to truncating via delete of
all rows in the table. Specifically for InnoDB tables, this
could break proper isolation as InnoDB ends up aborting some
granted locks when truncating a table.

The solution is to take a exclusive metadata lock before
TRUNCATE TABLE can proceed. This guarantees that no other
transaction is using the table.

Incompatible change: Truncate via delete no longer fails
if sql_safe_updates is activated (this was a undocumented
side effect).

libmysqld/CMakeLists.txt:
  Add new files to the build list.
libmysqld/Makefile.am:
  Add new files to the build list.
mysql-test/extra/binlog_tests/binlog_truncate.test:
  Add test case for Bug#42643
mysql-test/include/mix1.inc:
  Update test case as TRUNCATE TABLE now grabs a exclusive lock.
  Ensure that TRUNCATE waits for granted locks on the table.
mysql-test/suite/binlog/t/binlog_truncate_innodb.test:
  As with other data modifying statements, TRUNCATE is still not
  possible in a transaction with isolation level READ COMMITTED
  or READ UNCOMMITED. It would be possible to implement so, but
  it is not worth the effort.
mysql-test/suite/binlog/t/binlog_truncate_myisam.test:
  Test under different binlog formats.
mysql-test/suite/binlog/t/disabled.def:
  Re-enable test case.
mysql-test/t/innodb_bug38231.test:
  Truncate no longer works with row-level locks.
mysql-test/t/mdl_sync.test:
  Ensure that a acquired lock is not given up due to a conflict.
mysql-test/t/partition_innodb_semi_consistent.test:
  End transaction as to release metadata locks.
mysql-test/t/truncate.test:
  A metadata lock is now taken before the object is verified.
sql/CMakeLists.txt:
  Add new files to the build list.
sql/Makefile.am:
  Add new files to the build list.
sql/datadict.cc:
  Introduce a new file specific for data dictionary operations.
sql/datadict.h:
  Add header file.
sql/sql_base.cc:
  Rename data dictionary function.
sql/sql_bitmap.h:
  Include dependency.
sql/sql_delete.cc:
  Move away from relying on mysql_delete() to delete all rows of
  a table. Thus, move any bits related to truncate to sql_truncate.cc
sql/sql_delete.h:
  Remove parameter.
sql/sql_parse.cc:
  Add protection against the global read lock -- a intention
  exclusive lock can be acquired in the truncate path.
sql/sql_show.cc:
  Add sync point for testing scenarios where a pending flush
  is ignored.
sql/sql_truncate.cc:
  Acquire a shared metadata lock before accessing table metadata.
  Upgrade the lock to a exclusive one if the table can be re-created.
  Rework binlog rules to better reflect the requirements.
sql/sql_yacc.yy:
  Set appropriate lock types for table to be truncated.
sql/table.h:
  Move to data dictionary header.
2010-05-25 17:01:38 -03:00
Konstantin Osipov
5a4f8e214c Backport of:
------------------------------------------------------------
 2599.161.3 Ingo Struewing      2009-07-21
 Bug#20667 - Truncate table fails for a write locked table

 TRUNCATE TABLE was not allowed under LOCK TABLES.

 The patch removes this restriction. mysql_truncate()
 does now handle that case.


mysql-test/r/merge.result:
  Bug#20667 - Truncate table fails for a write locked table
  Updated test result.
mysql-test/r/truncate.result:
  Bug#20667 - Truncate table fails for a write locked table
  Updated test result.
mysql-test/r/truncate_coverage.result:
  Bug#20667 - Truncate table fails for a write locked table
  New test result.
mysql-test/t/merge.test:
  Bug#20667 - Truncate table fails for a write locked table
  Updated test case due to now working TRUNCATE under LOCK TABLES.
  Added some SELECTs to show that child tables are truncated.
mysql-test/t/truncate.test:
  Bug#20667 - Truncate table fails for a write locked table
  Added test cases for TRUNCATE under LOCK TABLE.
mysql-test/t/truncate_coverage.test:
  Bug#20667 - Truncate table fails for a write locked table
  New test file. Coverage tests for TRUNCATE.
sql/sql_delete.cc:
  Bug#20667 - Truncate table fails for a write locked table
  Added branches for thd->locked_tables_mode.
sql/sql_parse.cc:
  Bug#20667 - Truncate table fails for a write locked table
  Deleted rejection of TRUNCATE in case of LOCK TABLES.
2009-12-11 15:24:23 +03:00
Konstantin Osipov
c03174458a ----------------------------------------------------------
revno: 2617.69.33
committer: Konstantin Osipov <kostja@sun.com>
branch nick: mysql-next-46452
timestamp: Wed 2009-08-19 18:39:31 +0400
message:
  Bug#46452 "Crash in MDL, HANDLER OPEN + TRUNCATE TABLE".
  Flush open HANDLER tables before TRUNCATE, which is a DDL.


mysql-test/r/truncate.result:
  Update results for Bug#46452.
mysql-test/t/truncate.test:
  Add a test case for Bug#46452 "Crash in MDL, HANDLER OPEN + TRUNCATE TABLE".
2009-12-09 12:29:36 +03:00
unknown
5234f5adb7 reverted the fix for Bug#5507 2007-04-17 12:32:01 +02:00
unknown
0b54001b21 Bug#5507: TRUNCATE does not work with views.
Support of views wasn't implemented for the TRUNCATE statement.
Now TRUNCATE on views has the same semantics as DELETE FROM view:
mysql_truncate() checks whether the table is a view and falls back
to delete if so.
In order to initialize properly the LEX::updatable for a view
st_lex::can_use_merged() now allows usage of merged views for the
TRUNCATE statement.


mysql-test/r/truncate.result:
  Added a test case for the Bug#5507: TRUNCATE does not work with views.
mysql-test/t/truncate.test:
  Added a test case for the Bug#5507: TRUNCATE does not work with views.
sql/sql_lex.cc:
  Bug#5507: TRUNCATE does not work with views.
  can_use_merged() was denying of usage of merged views for a
  TRUNCATE statement. This results in improper initialization
  of view LEX::updatable. Fixed.
sql/sql_delete.cc:
  Bug#5507: TRUNCATE does not work with views.
  1.mysql_truncate() was lacking of check whether the table is view. Added.
  2.mysql_truncate() calls mysql_delete(), but mysql_delete() always reports
  errors as "DELETE" errors. Fixed.
mysql-test/t/view.test:
  Updated test case for Bug#14540: OPTIMIZE, ANALYZE, REPAIR applied 
  to not a view.
mysql-test/r/view.result:
  Updated test case for Bug#14540: OPTIMIZE, ANALYZE, REPAIR applied 
  to not a view.
2007-04-12 23:21:37 +05:00
unknown
a49c12f515 manually merged
BitKeeper/etc/logging_ok:
  auto-union
mysql-test/r/binary.result:
  Auto merged
mysql-test/r/truncate.result:
  Auto merged
mysql-test/t/binary.test:
  Auto merged
mysql-test/t/truncate.test:
  Auto merged
mysys/my_lib.c:
  Auto merged
strings/my_vsnprintf.c:
  Auto merged
support-files/Makefile.am:
  Auto merged
2004-08-24 17:24:23 +02:00
unknown
e9c25d9336 Fix for BUG#5033 "When using temporary tables truncate does NOT reset the auto_increment counter"
(ok'd by CTO to fix it in 4.0).
Fix to make mysql-test-run work with all Valgrind versions.


mysql-test/mysql-test-run.sh:
  fixing mysql-test-run.sh so that it works indifferently with Valgrind 1.x, 2.x
  (versions <= 2.0.0 refuse --tool option; versions >=2.1.2 require it; 2.1.0 accepts it).
  I hope the shell code is portable enough; anyway Valgrind only runs on Linux...
  I tested it with 2.0.0, 2.1.0, 2.1.2.
mysql-test/r/truncate.result:
  result update
mysql-test/t/truncate.test:
  testing if TRUNCATE resets autoinc counter for temp tables (BUG#5033); testing difference with DELETE FROM.
sql/sql_delete.cc:
  in mysql_truncate(), always reset the autoinc counter, as manual says (even if it's a temp table, which was BUG#5033).
2004-08-23 16:15:57 +02:00
unknown
0fb88806e4 Merge with 4.0.17
BitKeeper/etc/logging_ok:
  auto-union
Build-tools/Do-compile:
  Auto merged
acinclude.m4:
  Auto merged
configure.in:
  Auto merged
dbug/dbug.c:
  Auto merged
include/config-win.h:
  Auto merged
include/my_base.h:
  Auto merged
include/my_global.h:
  Auto merged
include/my_pthread.h:
  Auto merged
include/my_sys.h:
  Auto merged
include/mysql.h:
  Auto merged
include/mysql_com.h:
  Auto merged
innobase/lock/lock0lock.c:
  Auto merged
innobase/row/row0ins.c:
  Auto merged
innobase/row/row0sel.c:
  Auto merged
innobase/row/row0umod.c:
  Auto merged
innobase/row/row0upd.c:
  Auto merged
myisam/ft_boolean_search.c:
  Auto merged
myisam/mi_check.c:
  Auto merged
myisam/mi_dbug.c:
  Auto merged
myisam/mi_open.c:
  Auto merged
mysql-test/r/auto_increment.result:
  Auto merged
mysql-test/r/bdb.result:
  Auto merged
mysql-test/r/func_op.result:
  Auto merged
Build-tools/Bootstrap:
  Merge with 4.0
client/mysql.cc:
  Merge with 4.0
client/mysqldump.c:
  Merge with 4.0
client/mysqltest.c:
  Use local version
innobase/btr/btr0cur.c:
  Merge with 4.0 (Heikki should check if we should remove btr_cur_update_sec_rec_in_place()
libmysql/libmysql.c:
  Merge with 4.0
libmysqld/lib_sql.cc:
  Merge with 4.0
myisam/mi_key.c:
  Merge with 4.0
myisam/mi_search.c:
  Merge with 4.0
mysql-test/r/binary.result:
  Merge with 4.0
mysql-test/r/func_group.result:
  Merge with 4.0
mysql-test/r/func_str.result:
  Merge with 4.0
mysql-test/r/func_time.result:
  Merge with 4.0
mysql-test/r/group_by.result:
  Merge with 4.0
mysql-test/r/handler.result:
  Merge with 4.0
mysql-test/r/innodb.result:
  Merge with 4.0
mysql-test/r/insert.result:
  Merge with 4.0
mysql-test/r/join_outer.result:
  Merge with 4.0
mysql-test/r/loaddata.result:
  Merge with 4.0
mysql-test/r/lowercase_table.result:
  Merge with 4.0
mysql-test/r/multi_update.result:
  Merge with 4.0
mysql-test/r/mysqldump.result:
  Merge with 4.0
mysql-test/r/query_cache.result:
  Merge with 4.0
mysql-test/r/rpl_max_relay_size.result:
  Merge with 4.0
mysql-test/r/rpl_rotate_logs.result:
  Merge with 4.0
mysql-test/r/rpl_trunc_binlog.result:
  Merge with 4.0
mysql-test/r/select_found.result:
  Merge with 4.0
mysql-test/r/symlink.result:
  Merge with 4.0
mysql-test/r/truncate.result:
  Merge with 4.0
mysql-test/r/type_blob.result:
  Merge with 4.0
mysql-test/r/type_datetime.result:
  Merge with 4.0
mysql-test/r/type_decimal.result:
  Merge with 4.0
mysql-test/r/type_enum.result:
  Merge with 4.0
mysql-test/r/type_timestamp.result:
  Merge with 4.0
mysql-test/r/union.result:
  Merge with 4.0
mysql-test/t/auto_increment.test:
  Merge with 4.0
mysql-test/t/bdb.test:
  Merge with 4.0
mysql-test/t/func_group.test:
  Merge with 4.0
mysql-test/t/func_op.test:
  Merge with 4.0
mysql-test/t/func_str.test:
  Merge with 4.0
mysql-test/t/func_time.test:
  Merge with 4.0
mysql-test/t/group_by.test:
  Merge with 4.0
mysql-test/t/handler.test:
  Merge with 4.0
mysql-test/t/innodb.test:
  Merge with 4.0
mysql-test/t/insert.test:
  Merge with 4.0
mysql-test/t/join_outer.test:
  Merge with 4.0
mysql-test/t/limit.test:
  Merge with 4.0
mysql-test/t/loaddata.test:
  Merge with 4.0
mysql-test/t/lowercase_table.test:
  Merge with 4.0
mysql-test/t/multi_update.test:
  Merge with 4.0
mysql-test/t/mysqldump.test:
  Merge with 4.0
mysql-test/t/query_cache.test:
  Merge with 4.0
mysql-test/t/rpl_log_pos.test:
  Merge with 4.0
mysql-test/t/rpl_max_relay_size.test:
  Merge with 4.0
mysql-test/t/rpl_rotate_logs.test:
  Merge with 4.0
mysql-test/t/rpl_trunc_binlog.test:
  Merge with 4.0
mysql-test/t/select_found.test:
  Merge with 4.0
mysql-test/t/symlink.test:
  Merge with 4.0
mysql-test/t/truncate.test:
  Merge with 4.0
mysql-test/t/type_blob.test:
  Merge with 4.0
mysql-test/t/type_datetime.test:
  Merge with 4.0
mysql-test/t/type_decimal.test:
  Merge with 4.0
mysql-test/t/type_enum.test:
  Merge with 4.0
mysql-test/t/type_timestamp.test:
  Merge with 4.0
mysql-test/t/union.test:
  Merge with 4.0
mysys/charset.c:
  Merge with 4.0
mysys/my_init.c:
  Merge with 4.0
mysys/my_symlink.c:
  Merge with 4.0
mysys/my_thr_init.c:
  Merge with 4.0
regex/reginit.c:
  Merge with 4.0
sql/field.cc:
  Change fix_datetime() to print errors
sql/field.h:
  Merge with 4.0
sql/ha_innodb.cc:
  Merge with 4.0
sql/item.cc:
  Merge with 4.0
sql/item.h:
  Merge with 4.0
sql/item_cmpfunc.cc:
  Merge with 4.0
sql/item_func.cc:
  Merge with 4.0
sql/item_func.h:
  Merge with 4.0
sql/item_strfunc.cc:
  Merge with 4.0
sql/item_strfunc.h:
  Merge with 4.0
sql/item_sum.cc:
  Merge with 4.0
sql/item_sum.h:
  Merge with 4.0
sql/item_timefunc.cc:
  Merge with 4.0
sql/lex.h:
  Merge with 4.0
sql/log.cc:
  Merge with 4.0
sql/log_event.cc:
  Merge with 4.0
sql/log_event.h:
  Merge with 4.0
sql/mysql_priv.h:
  Merge with 4.0
sql/mysqld.cc:
  Merge with 4.0
sql/nt_servc.cc:
  Merge with 4.0
sql/opt_range.cc:
  Merge with 4.0
sql/records.cc:
  Merge with 4.0
sql/repl_failsafe.cc:
  Merge with 4.0
sql/slave.cc:
  Merge with 4.0
sql/sql_acl.cc:
  Merge with 4.0
sql/sql_analyse.cc:
  Merge with 4.0
sql/sql_base.cc:
  Merge with 4.0
sql/sql_cache.cc:
  Merge with 4.0
sql/sql_class.h:
  Merge with 4.0
sql/sql_db.cc:
  Merge with 4.0
sql/sql_delete.cc:
  Merge with 4.0
sql/sql_insert.cc:
  Merge with 4.0
sql/sql_load.cc:
  Merge with 4.0
sql/sql_parse.cc:
  Merge with 4.0
sql/sql_rename.cc:
  Merge with 4.0
sql/sql_select.cc:
  Merge with 4.0
sql/sql_show.cc:
  Merge with 4.0
sql/sql_table.cc:
  Merge with 4.0
sql/sql_update.cc:
  Merge with 4.0
sql/sql_yacc.yy:
  Merge with 4.0
sql/table.cc:
  Merge with 4.0
sql/table.h:
  Merge with 4.0
sql/time.cc:
  Merge with 4.0
sql/uniques.cc:
  Merge with 4.0
strings/ctype-tis620.c:
  Merge with 4.0
strings/strto.c:
  Merge with 4.0
support-files/mysql.server.sh:
  Merge with 4.0
support-files/mysql.spec.sh:
  Merge with 4.0
2003-12-17 17:35:34 +02:00
unknown
759ea82ee1 Fix autoincrement for signed columns (Bug #1366)
Fixed problem with char > 128 in QUOTE() function. (Bug #1868)
Disable creation of symlinks if my_disable_symlink is set
Fixed searching of TEXT with end space. (Bug #1651)
Fixed caching bug in multi-table-update where same table was used twice. (Bug #1711)
Fixed problem with UNIX_TIMESTAMP() for timestamps close to 0. (Bug #1998)
Fixed timestamp.test


include/my_base.h:
  Add HA_END_SPACE_KEY to mark keys that has VARCHAR/TEXT fields.
myisam/mi_check.c:
  Delete not used variable
myisam/mi_key.c:
  Fix autoincrement for signed columns (Bug #1366). Patch by Holyfoot
myisam/mi_open.c:
  Bug fix for future (doesn't affect current code)
myisam/mi_search.c:
  Ignore end space for VARCHAR/TEXT columns
mysql-test/r/auto_increment.result:
  Test auto_increment with signed numbers
mysql-test/r/binary.result:
  Update results (old result was wrong)
mysql-test/r/func_str.result:
  Added test of QUOTE()
mysql-test/r/func_time.result:
  Add test of unix_timestamp()
mysql-test/r/have_met_timezone.require:
  Fixed test
mysql-test/r/innodb.result:
  Add test for InnoDB behaviour with TRUNCATE
mysql-test/r/multi_update.result:
  Test of multi-update bug
mysql-test/r/symlink.result:
  Test of ALTER TABLE and symlinks
mysql-test/r/timezone.result:
  Test of from_unixtime()
mysql-test/r/truncate.result:
  Test of truncate and auto_increment
mysql-test/r/type_blob.result:
  Test of key search on TEXT/VARCHAR column with end space
mysql-test/t/auto_increment.test:
  Test auto_increment with signed numbers
mysql-test/t/func_str.test:
  Added test of QUOTE()
mysql-test/t/func_time.test:
  Add test of unix_timestamp()
mysql-test/t/innodb.test:
  Add test for InnoDB behaviour with TRUNCATE
mysql-test/t/multi_update.test:
  Test of multi-update bug
mysql-test/t/symlink.test:
  Test of ALTER TABLE and symlinks
mysql-test/t/timezone.test:
  Test of from_unixtime()
mysql-test/t/truncate.test:
  Test of truncate and auto_increment
mysql-test/t/type_blob.test:
  Test of key search on TEXT/VARCHAR column with end space
mysys/my_symlink2.c:
  Disable creation of symlinks if my_disable_symlink is set
sql/field.h:
  Indentation cleanup
sql/ha_innodb.cc:
  HA_PART_KEY -> HA_PART_KEY_SEG
sql/item_strfunc.cc:
  Fixed problem with char > 128 in QUOTE() function. (Bug #1868)
sql/mysql_priv.h:
  Make check_dup() external
sql/opt_range.cc:
  Fixed searching of TEXT with end space. (Bug #1651)
sql/records.cc:
  Fixed caching bug in multi-table-update where same table was used twice.
  (Bug #1711)
sql/sql_acl.cc:
  Reset ip and ip_mask if hostname is NULL
sql/sql_parse.cc:
  Make check_dup() global
sql/sql_select.cc:
  Fixed searching of TEXT with end space. (Bug #1651)
sql/sql_table.cc:
  Fixed searching of TEXT with end space. (Bug #1651)
sql/sql_update.cc:
  Fixed caching bug in multi-table-update where same table was used twice.
  (Bug #1711)
sql/table.cc:
  Fixed searching of TEXT with end space. (Bug #1651)
sql/table.h:
  Fixed caching bug in multi-table-update where same table was used twice.
  (Bug #1711)
sql/time.cc:
  Fixed problem with UNIX_TIMESTAMP() for timestamps close to 0. (Bug #1998)
2003-12-12 22:26:58 +02:00
unknown
b388eb004d Added SQLSTATE to client/server protocol
bmove_allign -> bmove_align
Added OLAP function ROLLUP
Split mysql_fix_privilege_tables to a script and a .sql data file
Added new (MEMROOT*) functions to avoid calling current_thd() when creating some common objects.
Added table_alias_charset, for easier --lower-case-table-name handling
Better SQL_MODE handling (Setting complex options also sets sub options)
New (faster) assembler string functions for x86


BitKeeper/etc/ignore:
  added libmysqld/sql_state.c
client/mysql.cc:
  Added SQLSTATE to error messages
  Added new function put_error() to be able to clean up some old code.
client/mysqltest.c:
  Write ERROR SQLSTATE for all errors
dbug/dbug.c:
  Portability fixes
include/m_string.h:
  Rename bmove_allign as bmove_align
include/mysql.h:
  Added SQLSTATE (for embedded version)
include/mysql_com.h:
  Send correct SQLSTATE for the error to the client
libmysql/libmysql.c:
  Changed default error state to HY000
  Applied code cleanup patch
libmysqld/Makefile.am:
  Added sql_state.cc
libmysqld/libmysqld.c:
  Added sqlstate
mysql-test/r/analyse.result:
  Updated results
mysql-test/r/ansi.result:
  Updated results
mysql-test/r/auto_increment.result:
  Updated results
mysql-test/r/bdb-deadlock.result:
  Updated results
mysql-test/r/bdb.result:
  Updated results
mysql-test/r/comments.result:
  Updated results
mysql-test/r/create.result:
  Updated results
mysql-test/r/ctype_collate.result:
  Updated results
mysql-test/r/delayed.result:
  Updated results
mysql-test/r/delete.result:
  Updated results
mysql-test/r/derived.result:
  Updated results
mysql-test/r/distinct.result:
  Updated results
mysql-test/r/drop.result:
  Updated results
mysql-test/r/err000001.result:
  Updated results
mysql-test/r/explain.result:
  Updated results
mysql-test/r/flush.result:
  Updated results
mysql-test/r/fulltext.result:
  Updated results
mysql-test/r/func_gconcat.result:
  Updated results
mysql-test/r/func_system.result:
  Updated results
mysql-test/r/grant_cache.result:
  Updated results
mysql-test/r/group_by.result:
  Updated results
mysql-test/r/handler.result:
  Updated results
mysql-test/r/heap.result:
  Updated results
mysql-test/r/heap_btree.result:
  Updated results
mysql-test/r/heap_hash.result:
  Updated results
mysql-test/r/innodb.result:
  Updated results
mysql-test/r/innodb_handler.result:
  Updated results
mysql-test/r/insert_select.result:
  Updated results
mysql-test/r/insert_update.result:
  Updated results
mysql-test/r/join.result:
  Updated results
mysql-test/r/join_outer.result:
  Updated results
mysql-test/r/key.result:
  Updated results
mysql-test/r/lock.result:
  Updated results
mysql-test/r/lock_multi.result:
  Updated results
mysql-test/r/merge.result:
  Updated results
mysql-test/r/multi_update.result:
  Updated results
mysql-test/r/myisam.result:
  Updated results
mysql-test/r/null.result:
  Updated results
mysql-test/r/olap.result:
  Updated results
mysql-test/r/order_by.result:
  Updated results
mysql-test/r/packet.result:
  Updated results
mysql-test/r/query_cache.result:
  Updated results
mysql-test/r/row.result:
  Updated results
mysql-test/r/rpl000001.result:
  Updated results
mysql-test/r/rpl000009.result:
  Updated results
mysql-test/r/rpl_empty_master_crash.result:
  Updated results
mysql-test/r/rpl_log.result:
  Updated results
mysql-test/r/rpl_replicate_do.result:
  Updated results
mysql-test/r/rpl_rotate_logs.result:
  Updated results
mysql-test/r/select.result:
  Updated results
mysql-test/r/select_safe.result:
  Updated results
mysql-test/r/show_check.result:
  Updated results
mysql-test/r/sql_mode.result:
  Updated results
mysql-test/r/subselect.result:
  Updated results
mysql-test/r/temp_table.result:
  Updated results
mysql-test/r/truncate.result:
  Updated results
mysql-test/r/type_blob.result:
  Updated results
mysql-test/r/type_decimal.result:
  Updated results
mysql-test/r/type_float.result:
  Updated results
mysql-test/r/type_ranges.result:
  Updated results
mysql-test/r/union.result:
  Updated results
mysql-test/r/update.result:
  Updated results
mysql-test/r/user_var.result:
  Updated results
mysql-test/r/varbinary.result:
  Updated results
mysql-test/r/variables.result:
  Updated results
mysql-test/t/ansi.test:
  Test of sql_mode
mysql-test/t/derived.test:
  Updated results
mysql-test/t/func_system.test:
  Make this independen of the MySQL server name
mysql-test/t/lowercase_table.test:
  Cleanup
mysql-test/t/olap.test:
  A lot of new tests
mysql-test/t/sql_mode.test:
  More test for sql_mode
mysql-test/t/subselect.test:
  Added a few new tests (to find a bug in the item_ref code)
scripts/Makefile.am:
  Added mysql_fix_privilege_tables.sql
scripts/mysql_fix_privilege_tables.sh:
  Totally new script.  This bascily just pipes mysql_fix_privilege_tables.sql through 'mysql' to 'mysqld'
sql/Makefile.am:
  Added sql_state.cc
sql/item.cc:
  Extended Item_field::eq() to be able to better match GROUP BY fields on the command line.
  Needed for ROLLUP
sql/item.h:
  Added function to be able to avoid calling current_thd() when doing new Item.
sql/item_sum.cc:
  Moved copy_or_same() and some reset() functions from item_sum.h
  Needed to be able to access thd->mem_root.
sql/item_sum.h:
  Moved some functions to item_sum.cc
  Added make_unique() for ROLLUP
sql/item_uniq.h:
  Fixed return value
sql/mysql_priv.h:
  Updated MODE flags
sql/mysqld.cc:
  Added ANSI as it's own mode
  Moved charset_info variables here
  Cleaned up handler_count handling (for NT)
  Added table_alias_charset, for easier --lower-case-table-name handling
sql/net_serv.cc:
  New comment
sql/protocol.cc:
  Send SQLSTATE to client
sql/set_var.cc:
  Better SQL_MODE handling (Setting complex options also sets sub options)
sql/set_var.h:
  Better SQL_MODE handling
sql/sql_base.cc:
  Make alias depend on --lower-case-table-names
  Make find_item_in_list also check database name
sql/sql_cache.cc:
  Indentation cleanup
sql/sql_list.h:
  Added safety assert
  Addes support of alloc without current_thd()
sql/sql_prepare.cc:
  Update after prototype change
sql/sql_select.cc:
  Added ROLLUP
sql/sql_select.h:
  structures for rollup
sql/sql_show.cc:
  Easier SQL_MODE handling
sql/sql_string.cc:
  Move CHARSET_INFO to mysqld (to be together with all other global variables)
sql/sql_string.h:
  Added function to be able to avoid calling current_thd() when doing new Item.
sql/sql_table.cc:
  Simpler --lower-case-table-name handling
sql/sql_union.cc:
  Update after prototype change
sql/sql_yacc.yy:
  ROLLUP
sql/unireg.h:
  bmove_allign ->bmove_align
strings/Makefile.am:
  Fix to be able to compile str_test.c
strings/ctype.c:
  Removed empty lines
strings/str_test.c:
  Added test of bmove_align
strings/strings-x86.s:
  Faster bmove_align, bmove_upp and strmake
strings/strings.asm:
  move_allg
2003-06-04 18:28:51 +03:00
unknown
e10984b95c truncate test made independed from environment 2002-08-30 18:39:42 +03:00
unknown
2cb480f2a8 fixed bug in truncating nonexisting table, found by Carsten
mysql-test/r/truncate.result:
  test suit for truncate bug
mysql-test/t/truncate.test:
  test suit for truncate bug
2002-08-05 11:45:39 +03:00
unknown
fc79f8e68a fixed bug in truncating temp tables
fixed compilation problem on FreeBSD
added test for truncating temporary tables


mysql-test/r/truncate.result:
  truncate test
mysql-test/t/truncate.test:
  truncate test update
mysys/safemalloc.c:
  fixed FreeBSD compilation problem
sql/sql_delete.cc:
  fixed bug in truncating temporary tables
2002-04-08 18:20:24 -06:00
unknown
29f148bd36 client/mysqlmanagerc.c
added support for quiet
    increased line buffer size
client/mysqltest.c
    fixed memory leak
    added query logging to result file
    added error message logging to result file
    added enable_query_log/disable_query_log
mysql-test/mysql-test-run.sh
    converted tests to use mysqlmanager

Updated test results


BitKeeper/etc/ignore:
  added *.reject
client/mysqlmanagerc.c:
  added support for quiet
  increased line buffer size
client/mysqltest.c:
  fixed memory leak
  added query logging to result file
  added error message logging to result file
  added enable_query_log/disable_query_log
mysql-test/mysql-test-run.sh:
  converted tests to use mysqlmanager
mysql-test/r/alias.result:
  log queries
mysql-test/r/alter_table.result:
  log queries
mysql-test/r/analyse.result:
  log queries
mysql-test/r/auto_increment.result:
  log queries
mysql-test/r/backup.result:
  log queries
mysql-test/r/bdb-crash.result:
  log queries
mysql-test/r/bench_count_distinct.result:
  log queries
mysql-test/r/bigint.result:
  log queries
mysql-test/r/binary.result:
  log queries
mysql-test/r/bulk_replace.result:
  log queries
mysql-test/r/case.result:
  log queries
mysql-test/r/check.result:
  log queries
mysql-test/r/comments.result:
  log queries
mysql-test/r/compare.result:
  log queries
mysql-test/r/count_distinct.result:
  log queries
mysql-test/r/count_distinct2.result:
  log queries
mysql-test/r/create.result:
  log queries
mysql-test/r/ctype_latin1_de.result:
  log queries
mysql-test/r/delayed.result:
  log queries
mysql-test/r/dirty-close.result:
  log queries
mysql-test/r/distinct.result:
  log queries
mysql-test/r/drop.result:
  log queries
mysql-test/r/empty_table.result:
  log queries
mysql-test/r/explain.result:
  log queries
mysql-test/r/flush.result:
  log queries
mysql-test/r/fulltext.result:
  log queries
mysql-test/r/fulltext_cache.result:
  log queries
mysql-test/r/fulltext_distinct.result:
  log queries
mysql-test/r/fulltext_left_join.result:
  log queries
mysql-test/r/fulltext_multi.result:
  log queries
mysql-test/r/fulltext_order_by.result:
  log queries
mysql-test/r/fulltext_update.result:
  log queries
mysql-test/r/fulltext_var.result:
  log queries
mysql-test/r/func_crypt.result:
  log queries
mysql-test/r/func_date_add.result:
  log queries
mysql-test/r/func_equal.result:
  log queries
mysql-test/r/func_group.result:
  log queries
mysql-test/r/func_in.result:
  log queries
mysql-test/r/func_like.result:
  log queries
mysql-test/r/func_math.result:
  log queries
mysql-test/r/func_misc.result:
  log queries
mysql-test/r/func_op.result:
  log queries
mysql-test/r/func_regexp.result:
  log queries
mysql-test/r/func_set.result:
  log queries
mysql-test/r/func_str.result:
  log queries
mysql-test/r/func_system.result:
  log queries
mysql-test/r/func_test.result:
  log queries
mysql-test/r/func_time.result:
  log queries
mysql-test/r/func_timestamp.result:
  log queries
mysql-test/r/group_by.result:
  log queries
mysql-test/r/handler.result:
  log queries
mysql-test/r/having.result:
  log queries
mysql-test/r/heap.result:
  log queries
mysql-test/r/identity.result:
  log queries
mysql-test/r/ins000001.result:
  log queries
mysql-test/r/insert.result:
  log queries
mysql-test/r/insert_select.result:
  log queries
mysql-test/r/isam.result:
  log queries
mysql-test/r/join.result:
  log queries
mysql-test/r/join_crash.result:
  log queries
mysql-test/r/join_outer.result:
  log queries
mysql-test/r/key.result:
  log queries
mysql-test/r/key_diff.result:
  log queries
mysql-test/r/key_primary.result:
  log queries
mysql-test/r/keywords.result:
  log queries
mysql-test/r/kill.result:
  log queries
mysql-test/r/limit.result:
  log queries
mysql-test/r/lock.result:
  log queries
mysql-test/r/merge.result:
  log queries
mysql-test/r/multi_update.result:
  log queries
mysql-test/r/myisam.result:
  log queries
mysql-test/r/null.result:
  log queries
mysql-test/r/null_key.result:
  log queries
mysql-test/r/odbc.result:
  log queries
mysql-test/r/openssl_1.result:
  log queries
mysql-test/r/openssl_2.result:
  log queries
mysql-test/r/order_by.result:
  log queries
mysql-test/r/order_fill_sortbuf.result:
  log queries
mysql-test/r/raid.result:
  log queries
mysql-test/r/range.result:
  log queries
mysql-test/r/rename.result:
  log queries
mysql-test/r/replace.result:
  log queries
mysql-test/r/rollback.result:
  log queries
mysql-test/r/rpl000001.result:
  log queries
mysql-test/r/rpl000002.result:
  log queries
mysql-test/r/rpl000003.result:
  log queries
mysql-test/r/rpl000004.result:
  log queries
mysql-test/r/rpl000005.result:
  log queries
mysql-test/r/rpl000006.result:
  log queries
mysql-test/r/rpl000007.result:
  log queries
mysql-test/r/rpl000008.result:
  log queries
mysql-test/r/rpl000009.result:
  log queries
mysql-test/r/rpl000010.result:
  log queries
mysql-test/r/rpl000011.result:
  log queries
mysql-test/r/rpl000012.result:
  log queries
mysql-test/r/rpl000013.result:
  log queries
mysql-test/r/rpl000014.result:
  log queries
mysql-test/r/rpl000015.result:
  log queries
mysql-test/r/rpl000016.result:
  log queries
mysql-test/r/rpl000017.result:
  log queries
mysql-test/r/rpl000018.result:
  log queries
mysql-test/r/rpl_get_lock.result:
  log queries
mysql-test/r/rpl_log.result:
  log queries
mysql-test/r/rpl_magic.result:
  log queries
mysql-test/r/rpl_mystery22.result:
  log queries
mysql-test/r/rpl_sporadic_master.result:
  log queries
mysql-test/r/sel000001.result:
  log queries
mysql-test/r/sel000002.result:
  log queries
mysql-test/r/sel000003.result:
  log queries
mysql-test/r/sel000031.result:
  log queries
mysql-test/r/sel000032.result:
  log queries
mysql-test/r/sel000033.result:
  log queries
mysql-test/r/sel000100.result:
  log queries
mysql-test/r/select.result:
  log queries
mysql-test/r/select_found.result:
  log queries
mysql-test/r/select_safe.result:
  log queries
mysql-test/r/show_check.result:
  log queries
mysql-test/r/slave-running.result:
  log queries
mysql-test/r/slave-stopped.result:
  log queries
mysql-test/r/status.result:
  log queries
mysql-test/r/symlink.result:
  log queries
mysql-test/r/tablelock.result:
  log queries
mysql-test/r/temp_table.result:
  log queries
mysql-test/r/truncate.result:
  log queries
mysql-test/r/type_blob.result:
  log queries
mysql-test/r/type_date.result:
  log queries
mysql-test/r/type_datetime.result:
  log queries
mysql-test/r/type_decimal.result:
  log queries
mysql-test/r/type_enum.result:
  log queries
mysql-test/r/type_float.result:
  log queries
mysql-test/r/type_ranges.result:
  log queries
mysql-test/r/type_time.result:
  log queries
mysql-test/r/type_timestamp.result:
  log queries
mysql-test/r/type_uint.result:
  log queries
mysql-test/r/type_year.result:
  log queries
mysql-test/r/union.result:
  log queries
mysql-test/r/update.result:
  log queries
mysql-test/r/user_var.result:
  log queries
mysql-test/r/varbinary.result:
  log queries
mysql-test/r/variables.result:
  log queries
mysql-test/t/bench_count_distinct.test:
  log queries
mysql-test/t/check.test:
  log queries
mysql-test/t/count_distinct2.test:
  log queries
mysql-test/t/flush.test:
  log queries
mysql-test/t/isam.test:
  log queries
mysql-test/t/multi_update.test:
  log queries
mysql-test/t/myisam.test:
  log queries
mysql-test/t/order_fill_sortbuf.test:
  log queries
mysql-test/t/rpl000016.test:
  log queries
tools/managertest1.nc:
  test for def_exec overwrite
tools/mysqlmanager.c:
  support def_exec overwrite and queries on running server
2001-09-27 23:05:54 -06:00
unknown
5160501770 Update of manual with 4.0 changes
Create innodb table space if configuring with InnoDB and not using --skip-innodb
Fixes for TRUNCATE TABLE and DROP DATABASE.


Docs/manual.texi:
  Update of manual with 4.0 changes.
mysql-test/mysql-test-run.sh:
  Fixed option --mysqld
mysql-test/r/innodb.result:
  More test cases
mysql-test/r/truncate.result:
  More test cases
mysql-test/t/drop.test:
  More test cases
mysql-test/t/innodb.test:
  More test cases
mysql-test/t/truncate.test:
  More test cases
sql/gen_lex_hash.cc:
  Smaller array
sql/ha_innobase.cc:
  Create innodb table space if not using --skip-innodb
sql/lock.cc:
  Fixed wrong mutex handling in global read lock.
sql/md5.c:
  Fixed bug from merge
sql/sql_base.cc:
  cleanup
sql/sql_db.cc:
  Use new global lock functions.
  Fixed new bug that database wasn't always dropped.
sql/sql_delete.cc:
  Fixed problem with mysql_truncate() when called from restore_table
sql/sql_parse.cc:
  Fixed error message handling.
sql/sql_table.cc:
  cleanup
2001-09-03 05:16:15 +03:00
unknown
f537319d42 Added support for hex strings to mysqlimport
A lot of new tests to mysqltest
Fixed bug with BDB tables and autocommit


BitKeeper/deleted/.del-delete.test~389410e29f2cebe5:
  Delete: mysql-test/t/delete.test
BitKeeper/deleted/.del-delete.result~e866a6678e29f186:
  Delete: mysql-test/r/delete.result
BitKeeper/deleted/.del-sel000014.test~74cb8c70f1d73fcc:
  Delete: mysql-test/t/sel000014.test
BitKeeper/deleted/.del-sel000015.test~7442bf9cbc96fe07:
  Delete: mysql-test/t/sel000015.test
BitKeeper/deleted/.del-sel000016.test~f495235f14c47ec:
  Delete: mysql-test/t/sel000016.test
BitKeeper/deleted/.del-sel000017.test~7c39f2b45a6aa780:
  Delete: mysql-test/t/sel000017.test
BitKeeper/deleted/.del-sel000018.test~16207f3ad74de75e:
  Delete: mysql-test/t/sel000018.test
BitKeeper/deleted/.del-sel000014.result~fc8de0ec89d9e35:
  Delete: mysql-test/r/sel000014.result
BitKeeper/deleted/.del-sel000015.result~cadbc52051d47bac:
  Delete: mysql-test/r/sel000015.result
BitKeeper/deleted/.del-sel000016.result~6177851869bd5b07:
  Delete: mysql-test/r/sel000016.result
BitKeeper/deleted/.del-sel000017.result~84ebf147850ff31c:
  Delete: mysql-test/r/sel000017.result
BitKeeper/deleted/.del-sel000018.result~562ac9094cf53aba:
  Delete: mysql-test/r/sel000018.result
BitKeeper/deleted/.del-sel000005.test~982fde89a4d6d886:
  Delete: mysql-test/t/sel000005.test
BitKeeper/deleted/.del-sel000006.test~291cc6c8d85e51df:
  Delete: mysql-test/t/sel000006.test
BitKeeper/deleted/.del-sel000005.result~d5410bb765199cc5:
  Delete: mysql-test/r/sel000005.result
BitKeeper/deleted/.del-sel000006.result~d38004d1acfc11a5:
  Delete: mysql-test/r/sel000006.result
BitKeeper/deleted/.del-sel000004.test~daf9ad4a1a31cd3c:
  Delete: mysql-test/t/sel000004.test
BitKeeper/deleted/.del-sel000007.test~f431e4f4739a24c3:
  Delete: mysql-test/t/sel000007.test
BitKeeper/deleted/.del-sel000008.test~b338ef585cadf7ae:
  Delete: mysql-test/t/sel000008.test
BitKeeper/deleted/.del-sel000009.test~a455c38f5c942cd1:
  Delete: mysql-test/t/sel000009.test
BitKeeper/deleted/.del-sel000010.test~ca07085ae92255f1:
  Delete: mysql-test/t/sel000010.test
BitKeeper/deleted/.del-sel000011.test~c2a971726c9d18d6:
  Delete: mysql-test/t/sel000011.test
BitKeeper/deleted/.del-sel000012.test~ae64bff363c42e92:
  Delete: mysql-test/t/sel000012.test
BitKeeper/deleted/.del-sel000013.test~ce8aa504ba4f74ba:
  Delete: mysql-test/t/sel000013.test
BitKeeper/deleted/.del-sel000019.test~8fd63c8dc6be8dbc:
  Delete: mysql-test/t/sel000019.test
BitKeeper/deleted/.del-sel000020.test~c5758ad18a6dff1e:
  Delete: mysql-test/t/sel000020.test
BitKeeper/deleted/.del-sel000021.test~94dd47de2872264a:
  Delete: mysql-test/t/sel000021.test
BitKeeper/deleted/.del-sel000022.test~6e3e5435e66875e9:
  Delete: mysql-test/t/sel000022.test
BitKeeper/deleted/.del-sel000023.test~7bdfcfaa278f837d:
  Delete: mysql-test/t/sel000023.test
BitKeeper/deleted/.del-sel000024.test~849f47e6cbdc4fe3:
  Delete: mysql-test/t/sel000024.test
BitKeeper/deleted/.del-sel000025.test~65b32b4b67e4c77:
  Delete: mysql-test/t/sel000025.test
BitKeeper/deleted/.del-sel000026.test~d8aa2d614f23b1:
  Delete: mysql-test/t/sel000026.test
BitKeeper/deleted/.del-sel000027.test~ab44bb57a580de9:
  Delete: mysql-test/t/sel000027.test
BitKeeper/deleted/.del-sel000028.test~db9bfc0a808fb629:
  Delete: mysql-test/t/sel000028.test
BitKeeper/deleted/.del-sel000029.test~6aae34dbb3ee86d9:
  Delete: mysql-test/t/sel000029.test
BitKeeper/deleted/.del-sel000030.test~a29683eac3e7b706:
  Delete: mysql-test/t/sel000030.test
BitKeeper/deleted/.del-sel000004.result~1f8d1265be521c17:
  Delete: mysql-test/r/sel000004.result
BitKeeper/deleted/.del-sel000007.result~df455e49f9727c4f:
  Delete: mysql-test/r/sel000007.result
BitKeeper/deleted/.del-sel000008.result~67a459ff62c84d6a:
  Delete: mysql-test/r/sel000008.result
BitKeeper/deleted/.del-sel000009.result~e042b35ab131fb3:
  Delete: mysql-test/r/sel000009.result
BitKeeper/deleted/.del-sel000010.result~eee5b9631a1e0066:
  Delete: mysql-test/r/sel000010.result
BitKeeper/deleted/.del-sel000011.result~6907fe356973ed25:
  Delete: mysql-test/r/sel000011.result
BitKeeper/deleted/.del-sel000012.result~be18991fc28954c2:
  Delete: mysql-test/r/sel000012.result
BitKeeper/deleted/.del-sel000013.result~513389e06c96af73:
  Delete: mysql-test/r/sel000013.result
BitKeeper/deleted/.del-sel000019.result~2870fe1c4998d929:
  Delete: mysql-test/r/sel000019.result
BitKeeper/deleted/.del-sel000020.result~faa670294ef5fa91:
  Delete: mysql-test/r/sel000020.result
BitKeeper/deleted/.del-sel000021.result~8f0ce4ec26e0c21d:
  Delete: mysql-test/r/sel000021.result
BitKeeper/deleted/.del-sel000022.result~34828a43753ee767:
  Delete: mysql-test/r/sel000022.result
BitKeeper/deleted/.del-sel000023.result~13e112d77573bf17:
  Delete: mysql-test/r/sel000023.result
BitKeeper/deleted/.del-sel000024.result~b10d449624f48d07:
  Delete: mysql-test/r/sel000024.result
BitKeeper/deleted/.del-sel000025.result~f31e08fcca805f35:
  Delete: mysql-test/r/sel000025.result
BitKeeper/deleted/.del-sel000026.result~854fa951666b7982:
  Delete: mysql-test/r/sel000026.result
BitKeeper/deleted/.del-sel000027.result~cfd73fe738f27da:
  Delete: mysql-test/r/sel000027.result
BitKeeper/deleted/.del-sel000028.result~13ff5add6ac24908:
  Delete: mysql-test/r/sel000028.result
BitKeeper/deleted/.del-sel000029.result~c6d071781808aa26:
  Delete: mysql-test/r/sel000029.result
BitKeeper/deleted/.del-sel000030.result~98d496948e15064d:
  Delete: mysql-test/r/sel000030.result
BitKeeper/deleted/.del-alt000001.test~633aed61c4bad94c:
  Delete: mysql-test/t/alt000001.test
BitKeeper/deleted/.del-alt000001.result~393103dbf15f35c9:
  Delete: mysql-test/r/alt000001.result
BitKeeper/deleted/.del-mrg000001.dummy.result~bf7e6d609f22b897:
  Delete: mysql-test/r/mrg000001.dummy.result
BitKeeper/deleted/.del-mrg000001.result~db2ef2e717ab8332:
  Delete: mysql-test/r/mrg000001.result
BitKeeper/deleted/.del-mrg000002.result~745be0854aaaaf5e:
  Delete: mysql-test/r/mrg000002.result
BitKeeper/deleted/.del-mrg000001.test~e0327f9d1e6cb4e:
  Delete: mysql-test/t/mrg000001.test
BitKeeper/deleted/.del-mrg000002.test~16b3a176adc0f311:
  Delete: mysql-test/t/mrg000002.test
Docs/manual.texi:
  Changelog
client/mysqlimport.c:
  Added support for hex strings
client/mysqltest.c:
  Added linenumbers in output
  Only allow '{' first on a row (Conflicts with ODBC {} syntax).
  Handle bigger queries.
  Handle double ''
  Truncate result files.
mysql-test/mysql-test-run.sh:
  Added --verbose
  cleanup
mysql-test/r/bdb.result:
  Updating of test
mysql-test/r/func_crypt.result:
  Updating of test
mysql-test/r/func_equal.result:
  Updating of test
mysql-test/r/func_str.result:
  Updating of test
mysql-test/r/ins000001.result:
  Updating of test
mysql-test/t/bdb.test:
  Updating of test
mysql-test/t/err000001.test:
  Updating of test
mysql-test/t/func_crypt.test:
  Updating of test
mysql-test/t/func_equal.test:
  Updating of test
mysql-test/t/func_str.test:
  Updating of test
mysql-test/t/ins000001.test:
  Updating of test
sql/gen_lex_hash.cc:
  Smaller table
sql/handler.cc:
  Fixed bug in auto_commit
2000-12-28 03:56:38 +02:00