Commit graph

101 commits

Author SHA1 Message Date
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
708f9b3ceb Changes from the innodb-5.0-ss115 snapshot.
Fixed bugs:
 BUG#15991: "innodb-file-per-table + symlink database + rename = crash"
 BUG#15650: "DELETE with LEFT JOIN crashes server"
 BUG#15308: "Problem of Order with Enum Column in Primary Key"
 BUG#14189: "VARBINARY and BINARY variables: trailing space ignored"
2006-01-16 14:32:43 +03:00
aivanov@mysql.com
2e499986aa Fix BUG#12071: "Windows hang:'Opening tables' or 'Waiting for
table' lockup".
 Changes from the innodb-5.0-ss92 snapshot.
 Do not call os_file_create_tmpfile() at runtime. Instead, create
 all tempfiles at startup and guard access to them with mutexes.
2005-12-13 21:35:24 +03:00
osku@127.(none)
0305ddf2ea InnoDB: Handle temporary file creation failure more gracefully. 2005-09-26 13:24:01 +03:00
heikki@hundin.mysql.fi
7dc5e67b59 row0ins.c:
Fix a compilation error: Visual C++ does not seem to allow variable declaration in the middle of a program block
2005-09-23 21:36:07 +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)
04056ffd3d InnoDB: Print more than 300 characters of queries in various error conditions,
most notably deadlocked ones in SHOW INNODB STATUS. Fixes bug #7819.
2005-08-12 11:39:19 +03:00
marko@hundin.mysql.fi
5f2ddcf580 InnoDB: Remove compilation warnings and errors on SGI IRIX. 2005-06-22 12:51:00 +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
b3d6f51705 InnoDB: Performance optimizations based on OProfile analysis 2005-04-25 10:14:35 +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
heikki@hundin.mysql.fi
edf59e5480 Many files:
InnoDB true VARCHAR
2005-03-16 00:34:15 +02:00
marko@hundin.mysql.fi
c4ace2a471 InnoDB: Introduce the symbols REC_OFFS_NORMAL_SIZE and
REC_OFFS_SMALL_SIZE for the initial allocation sizes of
arrays passed to rec_get_offsets().
2005-03-10 15:16:16 +02:00
marko@hundin.mysql.fi
6920a6d546 InnoDB: Improve performance by about 10% by removing implicit
memcpy() calls, by not initializing the offsets_[] arrays.
InnoDB: Remove a Microsoft compiler warning in page0page.c.
2005-03-09 22:04:55 +02:00
marko@hundin.mysql.fi
6c43fb504b InnoDB: Exclude code from InnoDB Hot Backup builds
by adding #ifndef UNIV_HOTBACKUP and adjusting some function
declarations.
2005-02-04 16:25:13 +02:00
jan@hundin.mysql.fi
8fc13ecc97 Fixed a bug: deadlock without any locking, simple select and update (Bug #7975). 2005-02-03 10:54:38 +02:00
marko@hundin.mysql.fi
72de651ab5 One more after merge fix of Jan Lindström's changeset in 4.1 2005-01-25 14:49:30 +02:00
marko@hundin.mysql.fi
7eaec7eff7 After merge fixes 2005-01-25 14:44:34 +02:00
heikki@hundin.mysql.fi
bdc9823cb6 ha_innodb.cc:
Add comments about why the InnoDB latching order is obeyed also for the MySQL query cache mutex; add an error printf if that is not the case
sync0sync.h:
  Assign sync0sync.h ranks also for the MySQL query cache mutex and the MySQL binlog mutex; the latching order must be obeyed also for these
row0ins.c:
  Add a comment why the query cache invalidate operation cannot deadlock in a cascaded FOREIGN KEY operation
2005-01-12 18:25:39 +02:00
jan@hundin.mysql.fi
3ba52c1eb8 Take a shared record lock (LOCK_REC_NOT_GAP) for a matching record in the foreign
key check because we can allow inserts into gaps (Support Issue #4317).
2005-01-12 10:36:50 +02:00
serg@sergbook.mysql.com
a04fc26c54 manually merged 2004-12-31 15:26:24 +01:00
heikki@hundin.mysql.fi
3595bcd72e Merge hundin.mysql.fi:/home/heikki/mysql-4.0
into hundin.mysql.fi:/home/heikki/mysql-4.1
2004-12-27 17:19:27 +02:00
heikki@hundin.mysql.fi
b8d576d087 row0ins.c:
Fix bug: if we dropped a table where an INSERT was waiting for a lock to check a FOREIGN KEY constraint, then an assertion would fail in lock_reset_all_on_table(), since that operation assumes no waiting locks on the table or its records
row0mysql.c:
  Fix bug: InnoDB failed to drop a table in the background drop queue if the table was referenced by a foreign key constraint
2004-12-27 17:15:38 +02:00
heikki@hundin.mysql.fi
10a246e453 ha_innodb.cc, row0ins.c, fil0fil.c:
Correct typo
2004-12-27 04:27:09 +02:00
heikki@hundin.mysql.fi
7ad5e20461 Many files:
Fix InnoDB critical bug #7496; we scan the InnoDB data dictionary also at a normal mysqld startup, and create the spaces, so that we know the mapping space id -> .ibd file name; fix an infinite loop if DISCARD TABLESPACE coincides with INSERT or some other table operation; fix a potential crash if DISCARD TABLESPACE coincides with a cascaded FOREIGN KEY operation in the same table; do not allow DISCARD TABLESPACE of a referenced table if FOREIGN_KEY_CHECKS=1
2004-12-27 04:10:25 +02:00
marko@hundin.mysql.fi
9dc1f5146a InnoDB: Reduce the stack space consumption of ON UPDATE CASCADE
operations.
2004-12-10 12:55:56 +02:00
marko@hundin.mysql.fi
7506ca1be1 InnoDB: Changed interface to rec_get_offsets(), to reduce the use of
memory heaps.  This changeset plugs also a few memory leaks that
were introduced with the compact InnoDB table format.
2004-12-09 15:29:55 +02:00
marko@hundin.mysql.fi
3f806c3b66 InnoDB: Make btr_search_drop_page_hash_index() work with the compact
record format without requiring the doubly linked list added by
Heikki in ChangeSet@1.1627.16.2
2004-12-08 15:20:58 +02:00
marko@hundin.mysql.fi
2db2cda3ed InnoDB: Fix ctype_utf8 test failure caused by the new record format. 2004-12-03 17:57:44 +02:00
marko@hundin.mysql.fi
dd48953956 Many files:
Implement more compact InnoDB record format.
  Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
2004-12-02 19:45:07 +02:00
marko@hundin.mysql.fi
766adf172b row0ins.c:
row_ins_scan_sec_index_for_duplicate(),
  row_ins_duplicate_error_in_clust():
  remove unused variables "ptr"
2004-11-18 17:01:33 +02:00
monty@mysql.com
97b4a3415d Merge mysql.com:/home/my/mysql-4.0 into mysql.com:/home/my/mysql-4.1 2004-10-22 14:59:59 +03:00
heikki@hundin.mysql.fi
215cd1e4a3 row0mysql.c, row0ins.c:
Fix bug #5961: release the dictionary latch during a long cascaded FOREIGN KEY operation, so that we do not starve other users
2004-10-22 00:25:57 +03:00
jan@hundin.mysql.fi
f45aacd9a3 Use already parsed SQL-query in the current thread when determining
was the query REPLACE or LOAD DATA INFILE REPLACE.
2004-10-15 11:28:19 +03:00
jan@hundin.mysql.fi
d07ade5579 This patch removes unnecessary lock from the supremum record, takes
X-locks on duplicates also on LOAD DATA...REPLACE clause and
fixes a bug #6086 adding --disable_warnings and --enable_warnings around
the create table clauses in ctype_utf8 tests for InnoDB.
2004-10-14 15:36:36 +03:00
heikki@hundin.mysql.fi
1390ce0f75 Many files:
Fix bug introduced by the prefix key + multibyte charsets patch today
2004-10-01 20:01:25 +03:00
marko@hundin.mysql.fi
76cda983a9 Merge marko@build.mysql.com:/home/bk/mysql-4.1
into hundin.mysql.fi:/home/marko/j/mysql-4.1
2004-10-01 14:17:05 +03:00
marko@hundin.mysql.fi
d7ea8e7c6c InnoDB: quote identifiers according to MySQL settings (Bug #5292) 2004-10-01 11:51:59 +03:00
jan@hundin.mysql.fi
c794ace161 Fixed copy-paste bug introduced on patch (jan:1.1960). 2004-09-03 16:50:13 +03:00
jan@hundin.mysql.fi
a48db602dd Fixed unique prefix key bug for multibyte character sets (BUG #4521) for
InnoDB. This fixes also a second part of the same problem with prefix keys
on a multibyte string column for InnoDB.
2004-09-03 15:26:29 +03:00
jan@hundin.mysql.fi
656a376285 Relaxed lock wait rules so that record lock does not need to wait for a
gap type lock.
2004-08-17 09:45:54 +03:00
jan@hundin.mysql.fi
38255a2cad This change includes optimization for a lock wait rules and a new behaviour for
a REPLACE command.
2004-08-12 13:38:10 +03:00
jan@hundin.mysql.fi
664cce3f3c Take X-lock for duplicate keys in REPLACE command. 2004-08-11 13:01:30 +03:00
serg@serg.mylan
1f0cd873c5 manual merged (blame me!) 2004-07-20 00:53:24 +02:00
marko@hundin.mysql.fi
20b60510e9 InnoDB: limit the recursion depth for ON (UPDATE|DELETE) CASCADE
(Bug #4446)
2004-07-15 15:46:22 +03:00
monty@mysql.com
d69a36d118 merge 2004-06-21 10:24:40 +03:00
monty@mysql.com
b11d258835 Merge with 4.0.21 2004-06-18 04:38:58 +03:00
heikki@hundin.mysql.fi
15dccebb0f Cset exclude: marko@hundin.mysql.fi|ChangeSet|20040311211202|05613 2004-06-17 13:25:06 +03:00
heikki@hundin.mysql.fi
6d197336ed row0ins.c:
Return the code of row_ins_foreign_check_on_constraint() as close to 4.0 as possible, except that we use mem_strdup() to allocate the memory for the modified table name
2004-06-16 04:08:07 +03:00
marko@hundin.mysql.fi
dfc36c886c InnoDB: fix bug in call to innobase_invalidate_query_cache(),
introduced in ChangeSet@1.1843.1.25
InnoDB: fix bug in the error exit of
  fil_create_new_single_table_tablespace(), introduced in
  ChangeSet@1.1843.1.11
2004-06-16 01:55:24 +03:00