Commit graph

575 commits

Author SHA1 Message Date
konstantin@mysql.com
8392a814af A fix and a test case for Bug#12243 "MySQL Server crashes with 2
cursors (+ commit)" and Bug#11832 "Server crash with InnoDB + Cursors"
See comments to the changed files.
2005-08-10 18:36:13 +04:00
heikki@hundin.mysql.fi
74fd4504bb Many files:
Push the patch of Jan Lindstrom: better comments
ha_innodb.cc:
  Partial fix for Bug #12263 : we let InnoDB always to perform a rollback on the trx object if MySQL closes a connection; but we do print a warning to the .err log if an InnoDB transaction was active; we may remove that print later, since the situation really is not a bug; MySQL just is not aware that some cursor operation started an InnoDB transaction
2005-08-03 17:09:21 +03:00
marko@hundin.mysql.fi
5dd8eeef3a Merge hundin.mysql.fi:/home/marko/mysql-4.1
into  hundin.mysql.fi:/home/marko/mysql-5.0
2005-07-26 14:43:48 +03:00
marko@hundin.mysql.fi
a89939c8e7 InnoDB: Do not flush after each write, not even when creating the
data files.  Previously, writes were flushed until the doublewrite
buffer was created.  That would be too slow on systems where
os_file_flush() [or fsync(2)] is slow.  (Bug #12125)
2005-07-26 14:03:34 +03:00
jan@hundin.mysql.fi
7d5e724c40 Implement MySQL framework to support consistent read views in
cursors for InnoDB. The idea of the patch is that if MySQL requests
a consistent read view, we open one when open a cursor, set is as the
active view to a transaction when fetch from the cursor, and close
together with cursor close. This patch is associated to bugs #11813, 
#11832, and #11833. Contains after review fixes.
2005-07-22 14:10:03 +03:00
kent@mysql.com
b598c67eba sync0sync.c, sync0sync.h:
Declare 'mutex_list' and 'mutex_list_mutex' extern,
  to avoid link error on OS X and gcc flag "-fno-common"
2005-07-21 18:05:10 +02:00
marko@hundin.mysql.fi
006bb7bbc9 InnoDB: Make the srv_thread_concurrency checks more consistent. 2005-07-06 09:38:31 +03:00
marko@hundin.mysql.fi
774916a902 Merge marko@bk-internal.mysql.com:/home/bk/mysql-5.0
into hundin.mysql.fi:/home/marko/mysql-5.0-current
2005-07-04 16:12:08 +03:00
heikki@hundin.mysql.fi
44c0f57d53 trx0trx.h, trx0trx.ic, row0mysql.c:
Fix another bug in the fix of Bug #3300
2005-07-01 22:53:08 +03:00
heikki@hundin.mysql.fi
50eab8cf01 trx0trx.ic, trx0trx.h:
Fix bug in the Bug #3300 bug fix
2005-07-01 21:06:23 +03:00
heikki@hundin.mysql.fi
4fe03b705a Many files:
Fix Bug #3300 : if innodb_locks_unsafe_for_binlog is set, release locks on rows that we do not UPDATE or DELETE
2005-07-01 20:44:35 +03:00
marko@hundin.mysql.fi
efba4c3e9e InnoDB: Optimize page_cur_search_with_match(). 2005-06-30 11:15:06 +03:00
marko@hundin.mysql.fi
d4901de808 Merge hundin.mysql.fi:/home/marko/mysql-4.1
into hundin.mysql.fi:/home/marko/mysql-5.0-current
2005-06-28 10:51:01 +03:00
marko@hundin.mysql.fi
8064ee217f InnoDB: Optimize the extension of files. This will greatly speed
up CREATE TABLE in innodb_file_per_table=1 mode.
2005-06-27 17:04:57 +03:00
marko@hundin.mysql.fi
94b1429459 InnoDB: Correct a function comment. 2005-06-22 12:02:31 +03:00
marko@hundin.mysql.fi
e992adcb3f Merge hundin.mysql.fi:/home/marko/mysql-5.0
into hundin.mysql.fi:/home/marko/mysql-5.0-current
2005-06-21 07:36:18 +03:00
marko@hundin.mysql.fi
f70798884c InnoDB: Remove warnings detected by GCC 4.0.0 2005-06-20 11:06:20 +03:00
marko@hundin.mysql.fi
85515b579e InnoDB: remove flag lock_print_waits from non-debug builds. 2005-06-17 15:29:03 +03:00
marko@hundin.mysql.fi
a5025b8ebe InnoDB: After review fixes 2005-06-16 16:59:49 +03:00
marko@hundin.mysql.fi
f11bbee74f InnoDB: Fix ut0dbg compilation errors on NetWare 2005-06-16 15:00:25 +03:00
marko@hundin.mysql.fi
4ef632ba3b InnoDB: Remove unreachable debug code from non-debug builds. 2005-06-15 12:50:27 +03:00
marko@hundin.mysql.fi
40516ad80c InnoDB: Remove unreferenced debug functions from non-debug builds. 2005-06-13 11:39:31 +03:00
marko@hundin.mysql.fi
3cbaf365e6 InnoDB: Remove compiler warning 2005-06-10 15:55:00 +03:00
marko@hundin.mysql.fi
92d5b7c0fd InnoDB: minor clean-up in os0file 2005-06-10 14:00:53 +03:00
marko@hundin.mysql.fi
55c3936a5f innobase/include/univ.i: Added some comments. 2005-06-10 12:29:35 +03:00
marko@hundin.mysql.fi
9916f14bb6 InnoDB: Improved the handling of assertions. 2005-06-10 12:22:23 +03:00
marko@hundin.mysql.fi
c3da5b0b7b InnoDB: Do not distinguish explicitly requested table locks.
Since UNLOCK TABLES will commit the transaction (and thus release
all InnoDB locks held by it), it is unnecessary to release the
user-requested table locks separately.
2005-06-08 15:45:56 +03:00
marko@hundin.mysql.fi
ec0052cda4 After merge fix 2005-05-06 12:43:10 +03:00
marko@hundin.mysql.fi
2f0424cd62 Merge 2005-05-06 11:45:59 +03:00
marko@hundin.mysql.fi
f9e7e2ee90 Merge marko@bk-internal.mysql.com:/home/bk/mysql-4.1
into hundin.mysql.fi:/home/marko/mysql-4.1
2005-05-06 10:15:58 +03:00
marko@hundin.mysql.fi
3009f4bf21 Remove unused function rec_offs_nth_null().
rec_offs_nth_extern(): Return zero/nonzero instead of FALSE/TRUE.
2005-04-27 13:35:57 +03:00
marko@hundin.mysql.fi
194593b8a9 Fix bugs found in previous optimizations.
Make rec_get_deleted_flag() return zero/nonzero instead of FALSE/TRUE.
2005-04-27 12:28:44 +03:00
heikki@hundin.mysql.fi
9eadf2366c Merge hundin.mysql.fi:/home/heikki/mysql-4.1
into hundin.mysql.fi:/home/heikki/mysql-5.0
2005-04-27 03:02:25 +03:00
heikki@hundin.mysql.fi
bea92e1646 dict0dict.c, dict0dict.h, fil0fil.c:
Fix a problem in crash recovery of .ibd files on Windows if the user used lower_case_table_names=0 or 2; the directory scan in crash recovery forgot to put all paths to lower case, so that the tablespace name would be consistent with the internal data dictionary of InnoDB; remember that InnoDB puts internally all database names and table names to lower case on Windows, regardless of the value of lower_case_table_names
2005-04-27 02:57:19 +03:00
marko@hundin.mysql.fi
b3d6f51705 InnoDB: Performance optimizations based on OProfile analysis 2005-04-25 10:14:35 +03:00
marko@hundin.mysql.fi
a5e9c8ad03 InnoDB: Optimize rec_get_offsets(), rec_copy_prefix_to_buf() and
other rec_ functions based on OProfile measurements on GNU/Linux x86.
2005-04-22 15:27:11 +03:00
marko@hundin.mysql.fi
14cf8a55c8 InnoDB: Some low-level optimizations made based on OProfile results. 2005-04-22 14:04:18 +03:00
marko@hundin.mysql.fi
7284c72dea InnoDB: Make branch prediction assume that assertions do not fail. 2005-04-21 15:27:18 +03:00
marko@hundin.mysql.fi
ab713b4b22 InnoDB: Speed up comparison functions by making
DATA_MYSQL_LATIN1_SWEDISH_CHARSET_COLL a constant.
2005-04-21 15:09:10 +03:00
marko@hundin.mysql.fi
ffeee9cee3 InnoDB: Reduce memcpy() load in row_sel_pop_cached_row_for_mysql()
by copying only a prefix of the row that covers the requested
columns.
2005-04-21 15:02:54 +03:00
marko@hundin.mysql.fi
c470116981 InnoDB: Define some macros around GCC's __builtin_expect()
and __builtin_prefetch().
Add UNIV_LIKELY_NULL to if (heap) mem_free_heap(heap) tests.
2005-04-21 14:23:26 +03:00
marko@hundin.mysql.fi
df780de614 InnoDB: Make CHECK TABLE killable. (Bug #9730) 2005-04-20 17:39:05 +03:00
marko@hundin.mysql.fi
f9d145ef04 InnoDB: Truncate SHOW INNODB STATUS output at the start of the list
of active transactions, if necessary and possible.  (Bug #5436)
2005-04-19 14:35:47 +03:00
marko@hundin.mysql.fi
e360eaed5e InnoDB: Replace the redo log entry type
MLOG_COMP_REC_SEC_DELETE_MARK with MLOG_REC_SEC_DELETE_MARK
in order to reduce the space occupied by the redo log.
2005-04-18 15:12:30 +03:00
gbichot@quadita2.mysql.com
bc48cda57d Adding --innodb_fast_shutdown=2 which shuts down InnoDB faster than the default "1":
most InnoDB threads are not terminated properly and the buffer pool is not flushed
to disk. Still no committed transaction is lost as we flush the logs to disk.
InnoDB does crash recovery at startup after this shutdown.
Using this shutdown in testsuite (mysql-test-run --mysqld=--innodb_fast_shutdown=2) saved 3 minutes (13% of total time).
2005-04-15 18:00:38 +02:00
mskold@mysql.com
add3fd3cca Merge 2005-04-13 16:24:17 +02:00
marko@hundin.mysql.fi
d5646eb6c5 InnoDB: Ignore character set mismatch in ALTER TABLE and RENAME TABLE
if foreign_key_checks=0. (Bug #9802)
2005-04-12 16:12:34 +03:00
serg@serg.mylan
e1e5b97dea manually merged
Gluh's SESSION/GLOBAL for @variables fix in sql_yacc.yy and
Bar's well_formed_len() changes in ndb code
did not make it and should be re-applied manually
2005-04-06 21:19:20 +02:00
marko@hundin.mysql.fi
f32fe9c154 InnoDB: Avoid test suite failures caused by a locking conflict
between two server instances at server shutdown/startup.
This conflict on advisory locks appears to be the result of a bug
in the operating system; these locks should be released when the
files are closed, but somehow that does not always happen
immediately in Linux.  (Bug #9381)
2005-04-06 15:09:15 +03:00
heikki@hundin.mysql.fi
0c2caeb4d8 row0sel.c, btr0pcur.c, btr0pcur.ic, btr0pcur.h:
Add diagnostic code to track assertion failure in ut_a(cursor->old_stored == BTR_PCUR_OLD_STORED); the failure happened in OPTIMIZE TABLE, and in 4.0.24 in some other context
2005-04-06 10:27:40 +03:00