Commit graph

194 commits

Author SHA1 Message Date
aivanov@mysql.com
c46b17a731 Applied innodb-5.0-ss609 snapshot.
Fixed BUG#19727 "InnoDB crashed server and crashed tables
 are not recoverable".
2006-06-06 23:37:42 +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
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
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
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
heikki@hundin.mysql.fi
4c68ccd949 row0mysql.c, ha_innodb.cc:
Fix bug #12308 : do not roll back the whhole transaction in a lock wait timeout error, just roll back the latest SQL statement; note that the locks set in the latest SQL statements remain, as InnoDB does not know what locks were set in which SQL statement
2005-09-05 01:13:44 +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
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
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
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
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
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
marko@hundin.mysql.fi
df780de614 InnoDB: Make CHECK TABLE killable. (Bug #9730) 2005-04-20 17:39:05 +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
heikki@hundin.mysql.fi
edf59e5480 Many files:
InnoDB true VARCHAR
2005-03-16 00:34:15 +02:00
heikki@hundin.mysql.fi
ad4057f14c row0mysql.c:
Correct web links
fil0fil.c:
  Correct (?) English grammar
2005-03-13 22:46:57 +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
serg@serg.mylan
956682de1a merged 2005-03-09 14:09:06 +01: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
marko@hundin.mysql.fi
612e06617c InnoDB: Make CREATE TABLE return error when the minimum row length
exceeds the maximum record size.  (Bug #5682)
2005-02-17 17:15:29 +02:00
heikki@hundin.mysql.fi
961d8b0ebf Merge hundin.mysql.fi:/home/heikki/mysql-4.0
into hundin.mysql.fi:/home/heikki/mysql-4.1
2005-02-13 21:05:18 +02:00
heikki@hundin.mysql.fi
548f7dbada row0mysql.c:
Backport the column prefix memory corruption fix from 5.0
2005-02-13 21:00:07 +02:00
heikki@hundin.mysql.fi
71174327df row0mysql.c:
Fix memory corruption bug reported by Georg Richter: if one created a table whose primary key contained at least 2 column prefixes, that could corrupt the memory heap of prebuilt_t
2005-02-13 20:48:02 +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
marko@hundin.mysql.fi
2693b5ffa3 InnoDB: Cleanups of TRUNCATE TABLE code 2005-01-31 10:35:56 +02:00
marko@hundin.mysql.fi
8342958665 InnoDB: Allow concurrent TRUNCATE and INSERT on a table. (Bug #8144) 2005-01-28 12:18:33 +02:00
marko@hundin.mysql.fi
045aea9d92 InnoDB: Remove redundant page_no field from dict_index_t.
This completes the patch for fast TRUNCATE TABLE.
2005-01-14 13:54:23 +02:00
marko@hundin.mysql.fi
c414f138c7 row0mysql.c:
row_truncate_table_for_mysql(): Reset the auto_increment counter.
2005-01-13 15:14:11 +02:00
marko@hundin.mysql.fi
1fdff1f344 InnoDB: Implement fast TRUNCATE TABLE (Bug #7150) 2005-01-11 16:28:07 +02:00
serg@sergbook.mysql.com
a04fc26c54 manually merged 2004-12-31 15:26:24 +01:00
heikki@hundin.mysql.fi
2f9c038ecf row0mysql.c:
Manually merge the latest FOREIGN KEY lock wait + DROP TABLE fix from 4.0
2004-12-27 21:22:06 +02:00
heikki@hundin.mysql.fi
72d446ace5 row0mysql.c:
Fix the previous bug fix: dropping a table with FOREIGN KEY checks running on it caused a cascade of failed drops while the foreign key check was waiting for a lock
2004-12-27 20:06:40 +02:00
heikki@hundin.mysql.fi
2ca0c44fe3 row0mysql.c:
Merge the two FOREIGN KEY bug fixes from 4.0, and add a TODO comment
2004-12-27 17:28:17 +02: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
0aa1815bd1 row0mysql.c:
Fix typo
2004-12-27 04:32:37 +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
vtkachenko@intelp4d.mysql.com
78846b2923 logging_ok:
Logging to logging@openlogging.org accepted
sql_yacc.yy, sql_parse.cc, sql_lex.h, lex.h:
  Implements the SHOW MUTEX STATUS command
set_var.cc, mysqld.cc, mysql_priv.h:
  Added new GLOBAL variable timed_mutexes
ha_innodb.h:
  New function innodb_mutex_show_status
ha_innodb.cc:
  Added new innodb variables in SHOW STATUS
  Implements the SHOW MUTEX STATUS command
innodb.test, innodb.result:
  Added new row_lock_waits status variables tests.
variables.test, variables.result:
  test new variable timed_mutexes
ut0ut.c:
  New function ut_usectime.
sync0sync.c:
  Mutex counting.
sync0rw.c:
  New mutex parameters initialization.
srv0srv.c:
  Counting row lock waits
row0sel.c, row0mysql.c:
  Setting row_lock or table_lock state to thd.
que0que.c:
  Added default no_lock_state to thd.
univ.i:
  Added UNIV_SRV_PRINT_LATCH_WAITS debug define
sync0sync.ic:
  Count mutex using.
sync0sync.h:
  Added new parameters to mutex structure for counting.
sync0rw.h:
  Added new parameters to rw_create_func.
srv0srv.h:
  Added new innodb varuables to SHOW STATUS.
que0que.h:
  Added thread lock states.
2004-12-24 12:13:32 +01:00
jan@hundin.mysql.fi
9f5b8f9b4a Merge jlindstrom@bk-internal.mysql.com:/home/bk/mysql-5.0
into hundin.mysql.fi:/home/jan/mysql-5.0
2004-12-10 08:49:31 +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
jan@hundin.mysql.fi
49c0044a2f Content merge. 2004-12-09 11:20:50 +02:00