Commit graph

198 commits

Author SHA1 Message Date
tsmith@siva.hindu.god
83694ca440 Apply innodb-5.0-ss1372 snapshot
Bug #27381: InnoDB exits when attempting to rename table to non-existant database
  Fix Bug#27381 by calling os_file_handle_error_no_exit() instead of
  os_file_handle_error().
2007-03-28 22:41:21 -06:00
tsmith@siva.hindu.god
8abc953662 NULL MERGE this to 5.1
Apply the following InnoDB snapshots:
innodb-5.0-ss1319
innodb-5.0-ss1331
innodb-5.0-ss1333
innodb-5.0-ss1341

Fixes:
- Bug #21409: Incorrect result returned when in READ-COMMITTED with query_cache ON
  At low transaction isolation levels we let each consistent read set
  its own snapshot.
- Bug #23666: strange Innodb_row_lock_time_% values in show status; also millisecs wrong
  On Windows ut_usectime returns secs and usecs relative to the UNIX
  epoch (which is Jan, 1 1970).

- Bug #25494: LATEST DEADLOCK INFORMATION is not always cleared
  lock_deadlock_recursive(): When the search depth or length is exceeded,
  rewind lock_latest_err_file and display the two transactions at the
  point of aborting the search.

- Bug #25927: Foreign key with ON DELETE SET NULL on NOT NULL can crash server
  Prevent ALTER TABLE ... MODIFY ... NOT NULL on columns for which
  there is a foreign key constraint ON ... SET NULL.

- Bug #26835: Repeatable corruption of utf8-enabled tables inside InnoDB
  The bug could be reproduced as follows:

  Define a table so that the first column of the clustered index is
  a VARCHAR or a UTF-8 CHAR in a collation where sequences of bytes
  of differing length are considered equivalent.

  Insert and delete a record.  Before the delete-marked record is
  purged, insert another record whose first column is of different
  length but equivalent to the first record.  Under certain conditions,
  the insertion can be incorrectly performed as update-in-place.

  Likewise, an operation that could be done as update-in-place can
  unnecessarily be performed as delete and insert, but that would not
  cause corruption but merely degraded performance.
2007-03-22 14:40:52 -06:00
tsmith@siva.hindu.god
7ce6170cf9 Applied innodb-5.0-ss1230 snapshot
Fixes:
- Bug #25596:
2007-01-21 17:58:02 -07:00
kent@mysql.com/kent-amd64.(none)
e9f9b03263 Merge mysql.com:/home/kent/bk/tmp2/mysql-4.1-build
into  mysql.com:/home/kent/bk/tmp2/mysql-5.0-build
2007-01-11 12:43:30 +01:00
kent@mysql.com/kent-amd64.(none)
bd2ec8051d Many files:
Reverted change for bug#13859, applied smaller patch from Marko
2007-01-11 12:31:52 +01:00
kent@mysql.com/kent-amd64.(none)
769e177090 Merge mysql.com:/home/kent/bk/tmp/mysql-4.1-build
into  mysql.com:/home/kent/bk/tmp/mysql-5.0-build
2007-01-01 10:51:44 +01:00
kent@mysql.com/kent-amd64.(none)
0bc6df6a24 Many files:
Renamed hash_create() not to clash with imap using embedded server (bug#13859)
2007-01-01 10:50:39 +01:00
kent@mysql.com/kent-amd64.(none)
6523aca729 my_strtoll10-x86.s:
Corrected spelling in copyright text
Makefile.am:
  Don't update the files from BitKeeper
Many files:
  Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header
  Adjusted year(s) in copyright header 
Many files:
  Added GPL copyright text
Removed files:
  Docs/Support/colspec-fix.pl
  Docs/Support/docbook-fixup.pl
  Docs/Support/docbook-prefix.pl
  Docs/Support/docbook-split
  Docs/Support/make-docbook
  Docs/Support/make-makefile
  Docs/Support/test-make-manual
  Docs/Support/test-make-manual-de
  Docs/Support/xwf
2006-12-31 01:02:27 +01:00
kent@mysql.com/kent-amd64.(none)
226a5c833f Many files:
Changed header to GPL version 2 only
2006-12-23 20:17:15 +01:00
tsmith/tim@siva.hindu.god
d60550a4d6 This ChangeSet must be null-merged to 5.1.
Applied innodb-5.0-ss1040 and innodb-5.0-ss1099 snapshots.

Bugs fixed:
- Bug #21468: InnoDB crash during recovery with corrupted data pages: XA bug?
- Bug #24299: Identifiers in foreign keys cannot contain U+0160, U+0360, ..., U+FF60
- Bug #24386: Performance degradation caused by instrumentation in mutex_struct
- Bug #24712: SHOW TABLE STATUS for file-per-table showing incorrect time fields
2006-12-18 18:41:38 -07:00
tsmith@quadxeon.mysql.com
f1e0cf9d28 This ChangeSet must be null-merged to 5.1. Applied innodb-5.0-ss982, -ss998, -ss1003
Fixes:
- Bug #15815: Very poor performance with multiple queries running concurrently
- Bug #22868: 'Thread thrashing' with > 50 concurrent conns under an upd-intensive workloadw
- Bug #23769: Debug assertion failure with innodb_locks_unsafe_for_binlog
- Bug #24089: Race condition in fil_flush_file_spaces()
2006-11-09 05:02:37 +01:00
tnurnberg@salvation.intern.azundris.com
c8d1c498fb innodb r702
innodb r719
2006-08-18 14:16:11 +02:00
aivanov@mysql.com
422071a83e Applied innodb-5.0-ss492 snapshot.
Fixed BUG#19217 "dict_load_indexes() may read the delete-mark incorrectly".
2006-04-26 07:50:29 +04:00
aivanov@mysql.com
25d9a75d12 Applied innodb-5.0-ss476 snapshot.
Fix BUG#18934: "InnoDB crashes when table uses column like DB_ROW_ID".
 Also, fix memory leaks in row_create_table_for_mysql() in rare
 corner cases.
2006-04-21 01:07:37 +04:00
aivanov@mysql.com
b758353735 Applied innodb-4.1-ss22 snapshot.
Fix BUG#16814: "SHOW INNODB STATUS format error in LATEST FOREIGN KEY ERROR section"
     Add a missing newline to the LAST FOREIGN KEY ERROR section in SHOW INNODB STATUS
     output.
 Fix BUG#18934: "InnoDB crashes when table uses column names like DB_ROW_ID".
     Refuse tables that use reserved column names.
2006-04-20 23:09:49 +04:00
aivanov@mysql.com
99d178033a Applied innodb-5.0-ss368 snapshot
Fixed bugs:
  #16814: SHOW INNODB STATUS format error in LATEST FOREIGN KEY ERROR section
    dict_foreign_key_error_report(): Always print a newline after invoking
    dict_print_info_on_foreign_key_in_create_format().
  #16827: Better InnoDB error message if ibdata files omitted from my.cnf.
  #17126: CHECK TABLE on InnoDB causes a short hang during check of adaptive hash.
    CHECK TABLE blocking other queries, by releasing the btr_search_latch
    periodically during the adaptive hash table validation.
  #17405: Valgrind: conditional jump or move depends on uninitialised valuesw.
    buf_block_init(): Reset magic_n, buf_fix_count, and io_fix to avoid testing
    uninitialised variables.
  #18077: InnoDB uses full explicit table locks in stored FUNCTION.
  #18238: When locks exhaust the buffer pool, InnoDB does not roll back the trx.
    Check in pessimistic insert and update if the buffer pool is exhausted by locks.
  #18252: Disk space leaks in updates of InnoDB BLOB rows.
    btr_cur_pessimistic_update(): Invoke rec_get_offset() after rec_set_field_extern_bits().
    btr_store_big_rec_extern_fields(): Note that offsets will no longer be valid
    after calling this function.
  #18283: When InnoDB returns error 'lock table full', MySQL can write to binlog too much.
  #18384: InnoDB memory leak on duplicate key errors if row has many columns.
    row_ins_duplicate_error_in_clust(): Call mem_heap_free(heap) at func_exit if needed.
  #18350: Use consistent read in CREATE ... SELECT .. if innodb_locks_unsafe_for_binlog is used.
2006-03-29 23:04:32 +04:00
aivanov@mysql.com
9296fb241d Fixed: BUG#15653, BUG#16157, BUG#16229, BUG#16298, BUG#16387, BUG#16582.
Applied innodb-5.0-ss149/162 snapshots.
2006-01-31 21:41:48 +03:00
aivanov@mysql.com
fe518520be Fixed BUG#16387.
Applied innodb-4.1-ss17 snapshot.
  Do not mistake TABLENAME_ibfk_0 for auto-generated id.
2006-01-30 15:17:33 +03:00
aivanov@mysql.com
7ae2d46903 Fix BUG#12071: "Windows hang: 'Opening tables' or 'Waiting for
table' lockup".
 Changes from the innodb-4.1-ss11 snapshot.
 Do not call os_file-create_tmpfile() at runtime. Instead, create
 a tempfile at startup and guard access to it with a mutex.
 Also, fix bugs:
 10511: "Wrong padding of UCS2 CHAR columns in ON UPDATE CASCADE";
 13778: "If FOREIGN_KEY_CHECKS=0, one can create inconsistent FOREIGN
 KEYs". When FOREIGN_KEY_CHECKS=0 we still need to check that
 datatypes between foreign key references are compatible.
 Also, added test cases (also for bug 9802).
2005-12-12 21:06:59 +03:00
aivanov@mysql.com
9eee25472e Fix BUG#14747: "Race condition can cause btr_search_drop_page_hash_index()
to crash".
 Changes from snapshot innodb-5.0-ss52.
 Note that buf_block_t::index should be protected by btr_search_latch
 or an s-latch or x-latch on the index page.
 btr_search_drop_page_hash_index(): Read block->index while holding
 btr_search_latch and use the cached value in the loop. Remove some
 redundant assertions.
 Also fix 13778. When FOREIGN_KEY_CHECKS=0 we still need to check that
 datatypes between foreign key references are compatible.
 Also added test cases to 9802.
2005-12-06 22:02:40 +03:00
jani@ua141d10.elisa.omakaista.fi
cbe21a8eb6 Merge ua141d10.elisa.omakaista.fi:/home/my/bk/mysql-4.1
into  ua141d10.elisa.omakaista.fi:/home/my/bk/mysql-5.0-tmp
2005-10-27 23:43:20 +03:00
aivanov@mysql.com
a9a127e0bc Removed innobase/my_cnf, innobase/include/makefilewin.i,
and innobase/*/makefilewin (which are unused now).
2005-10-26 20:06:08 +04:00
osku@127.(none)
d563a01afe Merge 127.(none):/home/osku/mysql/5.0/clean
into  127.(none):/home/osku/mysql/5.0/3443
2005-09-23 16:44:25 +03:00
osku@127.(none)
d61708d1c9 Fix bug #3443, better foreign key error messsages. 2005-09-23 16:22:27 +03:00
osku@127.(none)
e6b3261556 InnoDB: Fix bug #13315, index columns having a maximum length of 767. 2005-09-23 11:20:34 +03:00
osku@127.(none)
084e37b88c InnoDB: Reject foreign keys in temporary tables. Closes bug #12084. 2005-09-06 14:38:21 +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
f11bbee74f InnoDB: Fix ut0dbg compilation errors on NetWare 2005-06-16 15:00:25 +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
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
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
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
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
marko@hundin.mysql.fi
2729e866df dict0load.c:
dict_load_table(): Remove unused label that was accidentally introduced
  in a 4.0->4.1->5.0 merge.
2005-03-15 11:50:44 +02:00
marko@hundin.mysql.fi
6dba591d0b After merge fixes 2005-03-15 11:22:20 +02:00
marko@hundin.mysql.fi
dd20809e32 Merge hundin.mysql.fi:/home/marko/k/mysql-4.0
into hundin.mysql.fi:/home/marko/mysql-4.1
2005-03-15 11:14:57 +02:00
marko@hundin.mysql.fi
d5c1475db6 dict0load.c:
dict_load_table(): Refuse to open ROW_FORMAT=COMPACT tables
  of MySQL 5.0.3 and later.
2005-03-14 12:43:22 +02:00
marko@hundin.mysql.fi
946e24713c InnoDB: Keep the "compact format" flag in SYS_TABLES.N_COLS
instead of SYS_TABLES.MIX_LEN, because the latter was not
initialized to zero in old MySQL 3.23 releases. This will break
existing MySQL/InnoDB 5.0.3-bk databases for which
SHOW TABLE STATUS displays Row_format=Compact.
2005-03-10 16:42:43 +02:00
serg@serg.mylan
956682de1a merged 2005-03-09 14:09:06 +01:00
marko@hundin.mysql.fi
2bfe884320 dict0load.c:
dict_load_table(): Do not complain about mix_len != 0,
  because MySQL 3.23.4x left garbage in that column.
2005-03-08 20:06:09 +02:00
marko@hundin.mysql.fi
48cd94d9ae After merge fixes 2005-03-08 17:18:27 +02:00
marko@hundin.mysql.fi
63d01ae103 dict0load.c:
dict_load_table(): Remove the check for row_format=compact for now,
  because the flag bit we used (high-order bit of mix_len)
  has not been zero for at least two customers.
2005-03-08 17:08:17 +02:00
marko@hundin.mysql.fi
38adb1ba79 InnoDB: Portability fixes for warnings reported on IA-64 Windows 2005-03-07 12:03:33 +02:00
marko@hundin.mysql.fi
7252e44bf5 After review fixes. Fix bugs in TRUNCATE. 2005-03-01 19:42:59 +02:00
monty@mysql.com
3839e443a4 merge with 4.1 2005-02-28 12:18:39 +02:00
monty@mysql.com
253bfcf783 Fixed wrong memory references found by purify
(No really critical errors found, but a few possible wrong results)
2005-02-28 11:59:46 +02:00