Commit graph

14 commits

Author SHA1 Message Date
unknown
2576c4c0c9 Merge mysql.com:/home/svoj/devel/mysql/BUG23175/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/engines/mysql-4.1-engines


mysql-test/r/repair.result:
  Manual merge.
mysql-test/t/repair.test:
  Manual merge.
2006-10-19 17:35:09 +05:00
unknown
48cf65c037 BUG#23175 - MYISAM crash/repair failed during repair
Repair table could crash a server if there is not sufficient
memory (myisam_sort_buffer_size) to operate. Affects not only
repair, but also all statements that use create index by sort:
repair by sort, parallel repair, bulk insert.

Return an error if there is not sufficient memory to store at
least one key per BUFFPEK.

Also fixed memory leak if thr_find_all_keys returns an error.


myisam/sort.c:
  maxbuffer is number of BUFFPEK-s for repair. It is calculated
  as records / keys. keys is number of keys that can be stored
  in memory (myisam_sort_buffer_size). There must be sufficient
  memory to store both BUFFPEK-s and keys. It was checked
  correctly before this patch. However there is another
  requirement that wasn't checked: there must be sufficient
  memory for at least one key per BUFFPEK, otherwise repair
  by sort/parallel repair cannot operate.
  
  Return an error if there is not sufficient memory to store at
  least one key per BUFFPEK.
  
  Also fixed memory leak if thr_find_all_keys returns an error.
mysql-test/r/repair.result:
  A test case for BUG#23175.
mysql-test/t/repair.test:
  A test case for BUG#23175.
2006-10-18 17:57:29 +05:00
unknown
31754c57bd BUG#22562 - REPAIR TABLE .. USE_FRM causes server crash on Windows and server
hangs on Linux

If REPAIR TABLE ... USE_FRM is issued for table that is located in different
than default database server crash could happen.

In reopen_name_locked_table take database name from table_list (user specified
or default database) instead of from thd (default database).

Affects 4.1 only.


mysql-test/r/repair.result:
  A test case for BUG#22562.
mysql-test/t/repair.test:
  A test case for BUG#22562.
sql/sql_base.cc:
  In reopen_name_locked_table take database name from table_list (user specified
  or default database) instead of from thd (default database).
2006-10-11 20:34:20 +05:00
unknown
23fefc8801 BUG#10974 - No error message if merge table based on union of innodb, memory
Fixed confusing error message from the storage engine when
it fails to open underlying table. The error message is issued
when a table is _opened_ (not when it is created).


myisammrg/myrg_open.c:
  Set my_errno to HA_ERR_WRONG_MRG_TABLE_DEF if attempt to open
  underlying table failed.
mysql-test/r/merge.result:
  A test case for bug#10974.
mysql-test/r/repair.result:
  Fixed a test case according to patch for bug#10974.
mysql-test/t/merge.test:
  A test case for bug#10974.
sql/share/english/errmsg.txt:
  Better error message if we fail to open underlying table.
sql/table.cc:
  Report error from handler with print_error instead of frm_error. This
  fixes confusing error message from the handler. Actually this is
  backported from 5.0.
2006-09-20 01:40:59 +05:00
unknown
f6d7985a5b BUG#18874 - Setting myisam_repair_threads > 1, index cardinality always 1
Fixed by moving update_key_parts() down to be after write_index().


myisam/sort.c:
  write_index() collects index statistic which is further used in
  update_key_parts(). Thus update_key_parts() must be called after
  write_index().
mysql-test/r/repair.result:
  Test case for bug#18874.
mysql-test/t/repair.test:
  Test case for bug#18874.
2006-08-14 17:05:02 +05:00
unknown
030587a7a6 Fix to handle unsigned data in prepared statements (Bug #3447)
Fixed security problem that password was temporarly reset when someone changed GRANT for a user. (Bug #3404)
Fixed problem with PROCEDURE analyse() and impossible WHERE (Bug #2238)
Don't auto-repair tables in mysqlcheck if table type doesn't support 'check' command.


Docs/mysqld_error.txt:
  Updated error values
client/mysqlcheck.c:
  Don't cause auto-repair on 'note' (Tables that doesn't support 'check')
libmysql/libmysql.c:
  Fix to handle unsigned data in prepared statements (Bug #3447)
mysql-test/r/analyse.result:
  Test of analyze + impossible where (Bug #2238)
mysql-test/r/bdb.result:
  Update results
mysql-test/r/ctype_ujis.result:
  Update results
mysql-test/r/isam.result:
  Update results
mysql-test/r/repair.result:
  Update results
mysql-test/t/analyse.test:
  Test of analyze + impossible where (Bug #2238)
mysql-test/t/ctype_ujis.test:
  Added test for LIKE (Bug #3438)
sql/sql_acl.cc:
  Fixed security problem that password was temporarly reset when someone changed GRANT for a user. (Bug #3404)
sql/sql_select.cc:
  Fixed problem with PROCEDURE analyse() and impossible WHERE (Bug #2238)
sql/sql_table.cc:
  Changed 'error' to 'note' when table doesn't support admin command.
sql/sql_update.cc:
  Indentaion cleanup
tests/client_test.c:
  Added test for handling unsigned/signed strings with prepared statements
2004-05-04 15:02:38 +03:00
unknown
1bbca272a9 Fixed problems noticed with last build
mysql-test/r/lowercase_table2.result:
  Fixed typo
mysql-test/r/repair.result:
  Portability fix (For OpenBSD)
mysql-test/t/repair.test:
  Portability fix (For OpenBSD)
mysys/my_thr_init.c:
  Fixed crasch with some tests on OpenBSD.
sql/field.cc:
  Don't truncate big values (Caused a core dump on Linux-Alpha for big values)
sql/log.cc:
  More DBUG
2004-04-09 07:12:41 +03:00
unknown
736853e501 post-review fixes
HA_EXTRA_WRITE_CACHE now part of start_bulk_insert()
test cleanups


BitKeeper/deleted/.del-repair_part2-master.sh~f44a8c15d6c36585:
  Delete: mysql-test/t/repair_part2-master.sh
BitKeeper/deleted/.del-repair_part2.test~c20f60783b04d001:
  Delete: mysql-test/t/repair_part2.test
BitKeeper/deleted/.del-repair_part2.result~72ca166fb248b566:
  Delete: mysql-test/r/repair_part2.result
mysql-test/r/myisam.result:
  updated
mysql-test/t/lowercase_table2.test:
  typo fixed
mysql-test/r/repair.result:
  single repair.test from repair_part[12].test
mysql-test/t/lowercase_table3.test:
  typo fixed
mysql-test/t/lowercase_table_qcache.test:
  newline added
mysql-test/t/myisam.test:
  updated
mysql-test/t/repair.test:
  single repair.test from repair_part[12].test
sql/field.cc:
  reverted
sql/field.h:
  style fix
sql/ha_myisam.cc:
  add HA_EXTRA_WRITE_CACHE to start_bulk_insert
sql/sql_insert.cc:
  add HA_EXTRA_WRITE_CACHE to start_bulk_insert
sql/sql_load.cc:
  add HA_EXTRA_WRITE_CACHE to start_bulk_insert
sql/sql_table.cc:
  add HA_EXTRA_WRITE_CACHE to start_bulk_insert
2004-04-07 16:04:28 +02:00
unknown
824dd7f545 After merge fixes
mysql-test/r/repair_part1.result:
  Rename: mysql-test/r/repair.result -> mysql-test/r/repair_part1.result
mysql-test/t/repair_part1.test:
  Rename: mysql-test/t/repair.test -> mysql-test/t/repair_part1.test
include/sql_common.h:
  Declare not_error_sqlstate
scripts/Makefile.am:
  Added back fill_help_tables.sql
2003-06-05 23:19:56 +03:00
unknown
f72611b4fa After merge fixes
Added initialization of all important global variables


BUILD/SETUP.sh:
  build with readline
client/mysqltest.c:
  Added variable SERVER_VERSION
myisam/mi_key.c:
  Indentation change
myisam/mi_open.c:
  After merge fix
myisam/mi_range.c:
  After merge fix
myisam/mi_rkey.c:
  After merge fix
myisam/mi_search.c:
  After merge fix
myisam/myisamdef.h:
  After merge fix
mysql-test/include/not_embedded.inc:
  Fix test (because of wrong utf8 test)
mysql-test/r/alter_table.result:
  Updated results after merge
mysql-test/r/create.result:
  Updated results after merge
mysql-test/r/ctype_recoding.result:
  Updated results after merge
mysql-test/r/fulltext.result:
  Updated results after merge
mysql-test/r/func_group.result:
  Updated results after merge
mysql-test/r/group_by.result:
  Updated results after merge
mysql-test/r/innodb.result:
  Updated results after merge
mysql-test/r/join_outer.result:
  Updated results after merge
mysql-test/r/null_key.result:
  Updated results after merge
mysql-test/r/order_by.result:
  Updated results after merge
mysql-test/r/query_cache.result:
  Updated results after merge
mysql-test/r/repair.result:
  Updated results after merge
mysql-test/r/rpl_flush_tables.result:
  Updated results after merge
mysql-test/r/union.result:
  Updated results after merge
mysql-test/r/update.result:
  Updated results after merge
mysql-test/t/ansi.test:
  After merge fixes
mysql-test/t/create.test:
  After merge fixes
mysql-test/t/ctype_recoding.test:
  After merge fixes
mysql-test/t/ctype_ujis.test:
  After merge fixes
mysql-test/t/fulltext.test:
  After merge fixes
mysql-test/t/innodb.test:
  After merge fixes
mysql-test/t/join_outer.test:
  After merge fixes
mysql-test/t/loaddata.test:
  After merge fixes
mysql-test/t/order_by.test:
  After merge fixes
mysql-test/t/rpl_flush_tables.test:
  After merge fixes
mysql-test/t/status.test:
  After merge fixes
mysql-test/t/subselect.test:
  After merge fixes
sql/convert.cc:
  Code cleanup
sql/field.cc:
  After merge fixes
sql/filesort.cc:
  Remove compiler warning
sql/item.cc:
  More efficient set_name() (no mallocs)
sql/item_cmpfunc.cc:
  Code Code cleanup
  Item_bool_func2::fix_fields() added to get error handling right for cmp_charset
sql/item_cmpfunc.h:
  New prototypes
sql/item_func.cc:
  After merge fix
sql/item_strfunc.cc:
  Faster check for BINARY
sql/log_event.cc:
  Comment cleanup
sql/mysql_priv.h:
  New prototypes and variables
sql/mysqld.cc:
  Added initialization of all important global variables.
  Cleanup of variable declarations
  This is needed ot make the embedded version restartable
sql/opt_sum.cc:
  After merge fix
sql/set_var.cc:
  Code cleanup
sql/sql_acl.cc:
  After merge fix
  Better error message
sql/sql_db.cc:
  After merge fix
sql/sql_derived.cc:
  After merge fix
sql/sql_insert.cc:
  Indentation cleanups
sql/sql_list.h:
  Added empty() to base_ilist
sql/sql_parse.cc:
  After merge fix
sql/sql_select.cc:
  After merge fix
  Fixed derived name handling in EXPLAIN
sql/sql_show.cc:
  After merge fix
sql/sql_string.cc:
  Made copy_and_convert global
sql/sql_string.h:
  Made copy_and_convert global
sql/sql_update.cc:
  After merge fix
sql/sql_yacc.yy:
  After merge fix
sql/thr_malloc.cc:
  Added sql_strmake_with_convert()
sql/unireg.h:
  Added MAX_ALIAS_NAME
strings/ctype-ujis.c:
  Fixed bug in converting to ujis
2003-05-21 21:39:58 +03:00
unknown
13a23a879f Fix for MacOSX and symlinks
Fix for USE_FRM and crashed index file


configure.in:
  Fix for MacOSX and symlinks
myisam/mi_open.c:
  Give better error message in case of of crashed index file
mysql-test/r/repair.result:
  new test case
mysql-test/r/update.result:
  new test case
mysql-test/t/repair.test:
  Added test with crashed MyISAM index header
mysql-test/t/update.test:
  Added test case from bugs system
sql/handler.cc:
  Indentation changes
sql/sql_table.cc:
  Fix for USE_FRM and crashed index file
2003-05-14 01:27:26 +03:00
unknown
e2a839ff47 test case added 2003-05-03 15:21:39 +02:00
unknown
f22be77734 Fixed problem when comparing a key for a multi-byte-character set. (bug 152)
Use 0x.... as strings if 'new' mode. (bug 152)
Don't report -max on windows when InnoDB is enabled. (bug 332)
Reset current_linfo;  This could cause a hang when doing PURGE LOGS.
Fix for row numbers in EXPLAIN (bug 322)
 Fix that USE_FRM works for all table types (bug 97)


VC++Files/libmysql/libmysql.dsp:
  Added new source files
myisam/mi_key.c:
  Fixed problem when comparing a key for a multi-byte-character set.
myisam/mi_range.c:
  Fixed problem when comparing a key for a multi-byte-character set.
myisam/mi_rkey.c:
  Fixed problem when comparing a key for a multi-byte-character set.
myisam/mi_search.c:
  Fixed problem when comparing a key for a multi-byte-character set.
myisam/mi_test2.c:
  Fixed printf statements
myisam/myisamdef.h:
  Fixed problem when comparing a key for a multi-byte-character set.
myisam/sort.c:
  Fixed printf statements
mysql-test/r/ctype_latin1_de.result:
  New test results
mysql-test/r/join.result:
  New test results
mysql-test/r/repair.result:
  New test results
mysql-test/r/rpl_alter.result:
  New test results
mysql-test/t/ctype_latin1_de-master.opt:
  --new is needed to get 0x... strings to work properly
mysql-test/t/ctype_latin1_de.test:
  New test for latin1_de
mysql-test/t/repair.test:
  Test of USE_FRM and HEAP tables
sql/field.cc:
  Fixed problem when comparing a key for a multi-byte-character set.
sql/item.cc:
  Use 0x.... as strings if 'new' mode
sql/item.h:
  Use 0x.... as strings if 'new' mode
sql/mysqld.cc:
  Don't report -max on windows when InnoDB is enabled.
sql/sql_analyse.cc:
  Removed unused variable
sql/sql_insert.cc:
  Removed debug message
sql/sql_repl.cc:
  Reset current_linfo;  This could cause a hang when doing PURGE LOGS.
sql/sql_select.cc:
  Fix for row numbers in EXPLAIN
sql/sql_table.cc:
  Fix that USE_FRM works for all table types (without strange errors)
sql/sql_yacc.yy:
  Removed compiler warnings.
2003-04-27 22:12:08 +03:00
unknown
9af502edd2 protected close_cached_table() call in REPAIR ... USE_FRM with a mutex
test for REPAIR ... USE_FRM added


sql/sql_table.cc:
  protected close_cached_table() call in REPAIR ... USE_FRM with a mutex
2002-09-01 18:17:33 +00:00