Commit graph

1330 commits

Author SHA1 Message Date
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
serg@serg.mylan
29d6af8d9a merged 2005-05-28 01:28:18 +02:00
marko@hundin.mysql.fi
5d0bc0b482 Merge hundin.mysql.fi:/home/marko/k/mysql-4.0
into hundin.mysql.fi:/home/marko/mysql-4.1
2005-05-26 15:57:24 +03:00
marko@hundin.mysql.fi
2d5b96798f InnoDB: Check all referencing tables in DROP DATABASE (Bug #10335). 2005-05-26 15:42:24 +03:00
marko@hundin.mysql.fi
5a8cfc1541 srv0start.c:
innobase_shutdown_for_mysql(): Do very fast shutdown
  only if srv_fast_shutdown==2, not if srv_fast_shutdown!=0
  (Bug #9673)
2005-05-25 12:41:57 +03:00
jan@hundin.mysql.fi
16c96b88d5 Print information about XA recovery only if there are prepared XA transactions
after recovery.
2005-05-24 14:06:44 +03:00
konstantin@mysql.com
89bd09fed2 Manual merge (again) 2005-05-14 12:38:12 +04:00
heikki@hundin.mysql.fi
d4bbdad2f6 row0mysql.c:
InnoDB wrongly complained in the .err log that MySQL is trying to drop a non-existent table, if tablespace ran out (Bug #10607)
2005-05-13 18:37:22 +03:00
marko@hundin.mysql.fi
24afa4e0fe InnoDB ON UPDATE CASCADE fixes:
Enforce maximum char_length of UTF-8 data (Bug #10409).
Pad UTF-8 variable-length CHAR columns with 0x20.
Pad UCS2 CHAR columns with 0x0020 (Bug #10511).
2005-05-13 12:55:59 +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
ee7ed76393 rem0cmp.c:
Add UNIV_LIKELY and UNIV_UNLIKELY hints.
  cmp_dtuple_rec_with_match(): Move condition outside loop.
  Reduce the number of comparisons per iteration.
mtr0mtr.c:
  mtr_memo_slot_release(): Add a UNIV_LIKELY hint.
  Simplify the preprocessor magic.
buf0buf.c:
  buf_page_optimistic_get_func(): Add UNIV_UNLIKELY hints.
  Introduce an exit_func label to remove duplicated error exits.
2005-04-22 15:47:46 +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
ba4f386765 row0upd.c:
Add UNIV_UNLIKELY hint.
lock0lock.c:
  Correct the prototypes of lock_deadlock_recursive() and
  lock_deadlock_occurs().
data0data.c:
  dtuple_convert_big_rec(): Add UNIV_UNLIKELY hint.
ha_innodb.cc:
  ha_innobase::write_row(): Correct the type of 'mode'.
2005-04-22 15:15:18 +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
d7f9dffd95 dict0dict.c:
Add some UNIV_LIKELY and UNIV_UNLIKELY hints.
  dict_tree_copy_rec_order_prefix(): Add a UNIV_PREFETCH_R hint on rec.
2005-04-22 13:43:49 +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
jan@hundin.mysql.fi
384efc4493 Fixed a bug: deadlock without any locking, simple select and update (Bug #7975).
Backported from 5.0.3.
2005-04-18 12:17:32 +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
heikki@hundin.mysql.fi
31a49c3f73 Merge hundin.mysql.fi:/home/heikki/mysql-4.1
into hundin.mysql.fi:/home/heikki/mysql-5.0
2005-04-14 22:33:17 +03:00
heikki@hundin.mysql.fi
a1f7f57be9 fil0fil.c:
Add fault tolerance in the scan of .ibd files at a crash recovery; formerly a single failure of readdir_get_next caused the rest of the directory to be skipped
2005-04-14 22:27:15 +03:00
jimw@mysql.com
62b78d4182 Merge from 4.1 2005-04-13 10:38:11 -07:00
mskold@mysql.com
ba1cde5c64 Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/usr/local/home/marty/MySQL/mysql-5.0
2005-04-13 18:00:14 +02:00
mskold@mysql.com
add3fd3cca Merge 2005-04-13 16:24:17 +02:00
heikki@hundin.mysql.fi
7cdb04b18b fil0fil.c:
At the shutdown, write the latest lsn only to the first pages of the ibdata files of the system tablespace, NOT to the .ibd files; writing to tens of thousands .ibd files can take minutes
2005-04-13 17:22:04 +03:00
heikki@hundin.mysql.fi
9cfa9b91f8 row0sel.c:
Fix the patch of Jan to optimize next-key locking in searches of type 'primary key >= some value'
2005-04-13 16:49:28 +03:00
heikki@hundin.mysql.fi
aefe018b67 row0sel.c:
Do not test the value of err if the lock operation was skipped because innodb_logs_unsafe_for_binlog was TRUE; though this did not cause any bugs visible to the user, because err is inited to DB_SUCCESS at the start of the function row_search_for_mysql()
2005-04-13 15:49:28 +03:00
jan@hundin.mysql.fi
76a15f8435 Fixed a bug where next-key locking doesn't allow the insert which does
not produce phantom (bug #9354).
2005-04-13 12:07:16 +03: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
joerg@mysql.com
c47ac8590b Merge mysql.com:/M41/upward-4.1 into mysql.com:/M50/merge-5.0 2005-04-06 14:15:45 +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
marko@hundin.mysql.fi
8d6427659f InnoDB: Disable an assertion that fails on old data due to Bug #9526 2005-04-05 15:13:14 +03:00
heikki@hundin.mysql.fi
9db3965924 dict0dict.c:
Add a note that ENUM in new tables cannot reference ENUM in old tables, in FOREIGN KEY constraints
2005-04-05 11:35:03 +03:00
heikki@hundin.mysql.fi
a226b4aff2 ha_innodb.cc, row0sel.c:
Fix Bug #9526 in 5.0: MySQL ENUM and SET columns are internally actually unsigned integer types; we must take care that old tables still treat ENUM and SET (incorrectly) as a character string, while new created tables treat it correctly as an unsigned integer
2005-04-04 20:31:04 +03:00
serg@serg.mylan
e029e3eb61 Merge bk-internal:/home/bk/mysql-5.0
into serg.mylan:/usr/home/serg/Abk/mysql-5.0
2005-03-22 16:11:43 +01:00
heikki@hundin.mysql.fi
2aa44dd98d Merge hundin.mysql.fi:/home/heikki/mysql-4.1
into hundin.mysql.fi:/home/heikki/mysql-5.0
2005-03-21 22:29:02 +02:00