mariadb/client
Michael Widenius ec281a3c34 Fixed some bugs in the Maria storage engine
- Changed default recovery mode from OFF to NORMAL to get automatic repair of not properly closed tables.
- Fixed a rase condition when two threads calls external_lock and thr_lock() in different order. When this happend the transaction that called external lock first
  and thr_lock() last did not see see the rows from the other transaction, even if if it had to wait in thr_lock() for other to complete.
- Fixed that one can run maria_chk on an automatcally recovered tables without warnings about too small transaction id
- Don't give warning that crashed table could not be repaired if repair was disabled (and thus not run)
- Fixed a error result from flush_key_cache() which caused a DBUG_ASSERT() when one was using concurrent reads on non transactional tables that was updated.

client/mysqldump.c:
  Add "" around error message to make it more readable
client/mysqltest.cc:
  Free environment variables
mysql-test/r/mysqldump.result:
  Updated results
mysql-test/r/openssl_1.result:
  Updated results
mysql-test/suite/maria/r/maria-recover.result:
  Updated results
mysql-test/suite/maria/r/maria3.result:
  Updated results
mysql-test/suite/maria/t/maria3.test:
  Added more test of temporary tables
storage/maria/ha_maria.cc:
  Changed default recovery mode from OFF to NORMAL to get automatic repair of not properly closed tables.
  Start transaction in ma_block_get_status() instead of in ha_maria::external_lock().
  - This fixes a rase condition when two threads calls external lock and thr_lock() in different order. When this happend the transaction that called external lock first and thr_lock() last did not see see the rows from the other transaction, even if if it had to wait in thr_lock() for other to complete.
  Store latest transaction id in controll file if recovery was done.
  - This allows one to run maria_chk on an automatcally recovered tables without warnings about too small transaction id
storage/maria/ha_maria.h:
  Don't give warning that crashed table could not be repaired if repair was disabled (and thus not run)
storage/maria/ma_blockrec.h:
  Added new function "_ma_block_get_status_no_versioning()"
storage/maria/ma_init.c:
  Added hook to create trn in ma_block_get_status() if we are using MariaDB
storage/maria/ma_open.c:
  Ensure we call _ma_block_get_status_no_versioning() for transactional tables without versioning (like tables with fulltext)
storage/maria/ma_pagecache.c:
  Allow one to flush blocks that are pinned for read.
  This fixed a error result from flush_key_cache() which caused a DBUG_ASSERT() when one was using concurrent reads on non transactional tables that was updated.
storage/maria/ma_recovery.c:
  Set maria_recovery_changed_data to 1 if recover changed something.
  Set max_trid_in_control_file to max found trn if we found a bigger trn.
  The allows will ensure that the control file is up to date after recovery which allows one to run maria_chk on the tables without warnings about too big trn
storage/maria/ma_state.c:
  Call maria_create_trn_hook() in _ma_setup_live_state() instead of ha_maria::external_lock()
  This ensures that 'state' and trn are in sync and thus fixes the race condition mentioned for ha_maria.cc
storage/maria/ma_static.c:
  Added maria_create_trn_hook() and maria_recovery_changed_data
storage/maria/maria_def.h:
  Added MARIA_HANDLER->external_ptr, which is used to hold MariaDB thd.
  Added some new external variables
  Removed reference to non existing function: maria_concurrent_inserts()
2010-06-14 01:13:32 +03:00
..
.cvsignore Import changeset 2000-07-31 21:29:14 +02:00
client_priv.h Merge MySQL 5.1.44 into MariaDB. 2010-03-04 09:03:07 +01:00
CMakeLists.txt Addition to Fix for BUG#46591 - .frm file isn't sync'd with sync_frm enabled 2009-09-04 11:19:44 +05:30
completion_hash.cc WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
completion_hash.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
echo.c echo.c: 2007-03-20 18:31:49 +01:00
get_password.c fixes for build failures due to my yesterday's changeset forbidding 2008-02-19 18:45:11 +01:00
Makefile.am Fix for BUG#46591 - .frm file isn't sync'd with sync_frm enabled for 2009-09-03 16:02:03 +05:30
my_readline.h Manual merge. 2009-03-18 11:27:49 +03:00
mysql.cc Merge MySQL 5.1.46 into MariaDB. 2010-04-28 14:52:24 +02:00
mysql_upgrade.c Merge MySQL 5.1.46 into MariaDB. 2010-04-28 14:52:24 +02:00
mysqladmin.cc Merge MySQL 5.1.46 into MariaDB. 2010-04-28 14:52:24 +02:00
mysqlbinlog.cc Merge MySQL 5.1.46 into MariaDB. 2010-04-28 14:52:24 +02:00
mysqlcheck.c Merge MySQL 5.1.46 into MariaDB. 2010-04-28 14:52:24 +02:00
mysqldump.c Fixed some bugs in the Maria storage engine 2010-06-14 01:13:32 +03:00
mysqlimport.c Recommit of Bug#49447. 2010-02-04 13:39:42 +01:00
mysqlshow.c Recommit of Bug#49447. 2010-02-04 13:39:42 +01:00
mysqlslap.c Merge MySQL 5.1.46 into MariaDB. 2010-04-28 14:52:24 +02:00
mysqltest.cc Fixed some bugs in the Maria storage engine 2010-06-14 01:13:32 +03:00
readline.cc Manual merge. 2009-03-18 11:27:49 +03:00
sql_string.cc auto-merge 2009-03-19 09:44:58 -04:00
sql_string.h Fixed compiler warnings 2007-02-23 13:13:55 +02:00