Commit graph

158 commits

Author SHA1 Message Date
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
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
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
d22a24d871 row0mysql.c, pars0pars.c, eval0eval.c, dict0load.c, dict0dict.c, dict0crea.c:
Fix bug #3478: InnoDB's FOREIGN KEY tables treated table and database names as case-insensitive; RENAME TABLE t to T would hang in an endless loop if t had a foreign key constraint defined on it
dict0dict.c:
  Fix bug #3478: InnoDB's FOREIGN KEY tables treated table and database names as case-insensitive; RENAME TABLE t to T would hang in an endless loop if t had a foreign key constraint defined on it; fix also a hang that would occur if one tried in ALTER TABLE or RENAME TABLE to create a foreign key constraint name that collided with another existing name
2004-10-31 15:43:29 +02:00
marko@hundin.mysql.fi
b5f49a3abd Backport innodb_max_purge_lag from 4.1 2004-10-27 13:33:11 +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
marko@hundin.mysql.fi
d5728b91bb InnoDB: make ALTER TABLE to work on table names containing '#' (Bug #5856) 2004-10-04 16:24:37 +03:00
heikki@hundin.mysql.fi
6083e00d73 dict0dict.h, dict0dict.c, row0row.c, pars0opt.c:
Fix bug #5180: having a column prefix index in the primary key, and the same column fully in a secondary key could cause an assertion failure in row_build_row_ref()
2004-09-16 20:50:24 +03:00
marko@hundin.mysql.fi
7a845e43ad InnoDB: Update links to the user manual 2004-09-08 14:24:13 +03:00
heikki@hundin.mysql.fi
5273b4e5f5 row0mysql.c:
Fix bug: if we RENAME a table, InnoDB forgot to load the foreign key constraints that reference the new table name, and forgot to check that they are compatible with the table
2004-08-13 17:27:58 +03:00
heikki@hundin.mysql.fi
fe784f4962 row0sel.c, page0page.ic:
Add still more diagnostic code to track buffer pool corruption in one AMD64/Linux computer
2004-07-30 17:02:26 +03:00
heikki@hundin.mysql.fi
1b7334c4c0 row0sel.c, page0page.ic:
Add diagnostic code to print hex dumps and track corruption of next record offsets in an index page
2004-07-27 09:00:17 +03: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
marko@hundin.mysql.fi
a323342728 InnoDB: LOCK TABLE clean-up 2004-07-12 16:47:22 +03:00
marko@hundin.mysql.fi
bea2f4305e InnoDB: Increment the lock wait watchdog timeout during CHECK TABLE
(Bug #2694)
2004-07-12 15:13:18 +03:00
heikki@hundin.mysql.fi
15dccebb0f Cset exclude: marko@hundin.mysql.fi|ChangeSet|20040311211202|05613 2004-06-17 13:25:06 +03:00
marko@hundin.mysql.fi
3af839f45a InnoDB bug fix (row0mysql.c): make reserved table names innodb_* special again 2004-06-15 22:09:09 +03:00
heikki@hundin.mysql.fi
aac5c88bcd row0mysql.c, row0mysql.h, ha_innodb.cc:
Inside LOCK TABLES, use either LOCK_S or LOCK_X in locking reads; an improvent over the previous patch
2004-06-01 19:19:48 +03:00
marko@hundin.mysql.fi
981f6ef979 InnoDB: Changed bug reporting address to http://bugs.mysql.com 2004-05-11 11:05:02 +03:00
marko@hundin.mysql.fi
d48d5681c8 InnoDB: Fix assertion failure for orphaned tables in DROP DATABASE 2004-05-10 17:15:29 +03:00
marko@hundin.mysql.fi
c066b3022e Fix auto_inc locking bug introduced in ChangeSet@1.1794.1.1 2004-05-07 12:13:45 +03:00
marko@hundin.mysql.fi
a490b95b04 InnoDB: implement LOCK TABLE (Bug #3299) 2004-04-29 16:42:33 +03:00
marko@hundin.mysql.fi
6af38c65be InnoDB: send diagnostic output to stderr or files
instead of stdout or fixed-size memory buffers
2004-04-06 16:14:43 +03:00
marko@hundin.mysql.fi
23a5fc5558 InnoDB: ignore intra-database foreign key references between tables
when dropping database (Bug #3058)
2004-04-02 16:25:48 +03:00
marko@hundin.mysql.fi
e00bf40360 InnoDB cleanup: fixing buffer overflows and quoting of quotes 2004-04-01 16:51:34 +03:00
marko@hundin.mysql.fi
7f2a007496 InnoDB: Remove ut_str_contains() and replace it with strchr() 2004-03-31 11:26:56 +03:00
marko@hundin.mysql.fi
9ed26f721d InnoDB: Replace ut_a(0) with ut_error 2004-03-13 22:48:00 +02:00
marko@hundin.mysql.fi
4573eb566c Allow UNIV_SYNC_DEBUG to be disabled while UNIV_DEBUG is enabled 2004-03-12 17:14:51 +02:00
marko@hundin.mysql.fi
5b5d749294 More consistent handling of magic numbers 2004-03-11 23:12:02 +02:00
marko@hundin.mysql.fi
a68a1ed0ca Remove unneeded module "com" 2004-03-11 12:55:28 +02:00
heikki@hundin.mysql.fi
86932a0b79 row0upd.c:
Fix bug: in a FOREIGN KEY, ON UPDATE CASCADE was not triggered if the update changed a string to another value identical in alphabetical ordering, e.g., abc -> aBc
2004-02-27 16:54:16 +02:00
marko@hundin.mysql.fi
234e9abf6a Many files:
Removed unused code
.del-os0trash.c~8cae5c1695501117:
  Delete: innobase/os/os0trash.c
dict0crea.c:
  Protect all sprintf(%s) with assertions
2004-02-20 16:34:09 +02:00
marko@hundin.mysql.fi
42b18e6fab Remove unnecessary files
.del-univoldmysql.i~9253a6f92058c565:
  Delete: innobase/include/univoldmysql.i
.del-univold.i~4b5ed652407f63f1:
  Delete: innobase/include/univold.i
.del-tsut.c~4a154913fc9cd5c0:
  Delete: innobase/ut/ts/tsut.c
.del-makefile~9b8356bbdb8bd94e:
  Delete: innobase/ut/ts/makefile
.del-tsttrxold.c~eb6fd6091405d54e:
  Delete: innobase/trx/ts/tsttrxold.c
.del-tstrx.c~5425c98548ec1e0d:
  Delete: innobase/trx/ts/tstrx.c
.del-makefile~16d63c17c8edf62a:
  Delete: innobase/trx/ts/makefile
.del-tsthr.c~b095667070d626a9:
  Delete: innobase/thr/ts/tsthr.c
.del-makefile~d5e4661188c1939d:
  Delete: innobase/thr/ts/makefile
.del-tssync.c~fed4676cd4eb8457:
  Delete: innobase/sync/ts/tssync.c
.del-makefile~f23368879649c806:
  Delete: innobase/sync/ts/makefile
.del-tssrv.c~b8a6f5ad9ae639c8:
  Delete: innobase/srv/ts/tssrv.c
.del-tsdbc.c~d36206bdccf338f:
  Delete: innobase/srv/ts/tsdbc.c
.del-makefile~da6e87ef29c12dca:
  Delete: innobase/srv/ts/makefile
.del-tstcur.c~a9d5cf73b020ec41:
  Delete: innobase/row/ts/tstcur.c
.del-makefile~2cdfe39689004e6:
  Delete: innobase/row/ts/makefile
.del-tsrem.c~bb4e1e2e8c2ee179:
  Delete: innobase/rem/ts/tsrem.c
.del-makefile~3e48a33b4970faef:
  Delete: innobase/rem/ts/makefile
.del-tspage.c~f5baf63f9924e43b:
  Delete: innobase/page/ts/tspage.c
.del-makefile~66de73bc499566f9:
  Delete: innobase/page/ts/makefile
.del-tsosaux.c~9ec97a83392a984c:
  Delete: innobase/os/ts/tsosaux.c
.del-tsos.c~f6057d3c171f5915:
  Delete: innobase/os/ts/tsos.c
.del-makefile~9a1d210afa6d666e:
  Delete: innobase/os/ts/makefile
.del-tsmtr.c~293250c7ebfe0d3:
  Delete: innobase/mtr/ts/tsmtr.c
.del-tsbuf.c~e8d15ee095194d2c:
  Delete: innobase/mtr/ts/tsbuf.c
.del-makefile~fdf4c2a4ddb23230:
  Delete: innobase/mtr/ts/makefile
.del-tsmem.c~cc483e2ab96e625c:
  Delete: innobase/mem/ts/tsmem.c
.del-makefile~6d58ab1de0ac572:
  Delete: innobase/mem/ts/makefile
.del-tsmach.c~af65166bb53ddfe9:
  Delete: innobase/mach/ts/tsmach.c
.del-makefile~b8cbd25992ee51b:
  Delete: innobase/mach/ts/makefile
.del-tsha.c~13dd5ea03fda370c:
  Delete: innobase/ha/ts/tsha.c
.del-makefile~1bf12ce7b2dadfd5:
  Delete: innobase/ha/ts/makefile
.del-tsfsp.c~890ead1636f0eaba:
  Delete: innobase/fsp/ts/tsfsp.c
.del-makefile~a466e9eb27493a80:
  Delete: innobase/fsp/ts/makefile
.del-del.c~35c6283be580200:
  Delete: innobase/fsp/ts/del.c
.del-tsfil.c~e554b6f3c189c081:
  Delete: innobase/fil/ts/tsfil.c
.del-makefile~1df6f952a960fef4:
  Delete: innobase/fil/ts/makefile
.del-tsdyn.c~6f976764b53f3191:
  Delete: innobase/dyn/ts/tsdyn.c
.del-makefile~f64427335fafdc65:
  Delete: innobase/dyn/ts/makefile
.del-tsdict.c~5e82f7b8ac2b2e15:
  Delete: innobase/dict/ts/tsdict.c
.del-makefile~6356c424e9747647:
  Delete: innobase/dict/ts/makefile
.del-tscom.c~26aae2c5c4ca1dce:
  Delete: innobase/com/ts/tscom.c
.del-tscli.c~2f3e4b281141eac2:
  Delete: innobase/com/ts/tscli.c
.del-makefile~608fd39568db7238:
  Delete: innobase/com/ts/makefile
.del-tsos.c~1dadfc1ef69f2ba3:
  Delete: innobase/buf/ts/tsos.c
.del-tsbuf.c~b4c3feee158ef154:
  Delete: innobase/buf/ts/tsbuf.c
.del-makefile~598acb06bf1e466:
  Delete: innobase/buf/ts/makefile
.del-tscli.c~8d35740cc1f6f864:
  Delete: innobase/btr/ts/trash/tscli.c
.del-tssrv.c~ee30b746c485aec:
  Delete: innobase/btr/ts/tssrv.c
.del-tss.c~21ae628550141a68:
  Delete: innobase/btr/ts/tss.c
.del-tsrecv97.c~dbeb3bc494b241c1:
  Delete: innobase/btr/ts/tsrecv97.c
.del-tsrecv.c~3415f8a936a8d9fd:
  Delete: innobase/btr/ts/tsrecv.c
.del-tscli.c~77fc1962db99aa2e:
  Delete: innobase/btr/ts/tscli.c
.del-tsbtrold5.c~72a60e768c944904:
  Delete: innobase/btr/ts/trash/tsbtrold5.c
.del-tsbtrins.c~3e3bb3f95f058b46:
  Delete: innobase/btr/ts/tsbtrins.c
.del-TSIT.C~f53cce6fab8d325:
  Delete: innobase/btr/ts/trash/TSIT.C
.del-tsbtrfull.c~fbcbe41b64cc71b6:
  Delete: innobase/btr/ts/tsbtrfull.c
.del-tsbtr97.c~84dbb84ea9fa267c:
  Delete: innobase/btr/ts/tsbtr97.c
.del-makefile~491918b4162b927c:
  Delete: innobase/btr/ts/makefile
.del-isql.c~bc0b8cc213905175:
  Delete: innobase/btr/ts/isql.c
2004-02-19 11:32:07 +02:00
heikki@hundin.mysql.fi
d9790a406c row0mysql.c:
Allow always DROPping of a table which is only referenced by FOREIGN KEY constraints from the same table
Many files:
  Do not let REPLACE to perform internally an UPDATE if the table is referenced by a FOREIGN KEY: the manual says that REPLACE must resolve a duplicate key error semantically with DELETE(s) + INSERT, and not by an UPDATE; the internal update caused foreign key checks and cascaded operations to behave in a semantically wrong way
2004-02-09 23:57:29 +02:00
heikki@hundin.mysql.fi
d2d1e6f726 row0mysql.c:
Fix crash in InnoDB RENAME TABLE if 'databasename/tablename' is shorter than 5 characters (Bug #2689); reported by Sergey Petrunia
2004-02-09 18:56:39 +02:00
heikki@hundin.mysql.fi
836e0b057a Many files:
Fix bug #2167: generate foreign key id's locally for each table, in the form databasename/tablename_ibfk_number; if the user gives the constraint name explicitly remember it; these changes should ensure that foreign key id's in a slave are the same as in the master, and DROP FOREIGN KEY does not break replication
sync0sync.c:
  UNIV_SYNC_DEBUG caused assertion in the creation of the doublewrite buffer, if we do not allow thousands of latches per thread
2004-02-09 01:32:00 +02:00
heikki@hundin.mysql.fi
7533b0cfff dict0dict.c:
Remove redundant code; parse both the database name and the table name in a FOREIGN KEY constraint with quotes in mind
row0mysql.c, ha_innodb.cc, sql_table.cc:
  Return error message Cannot delete or update a parent row... if we try to drop a table which is referenced by a FOREIGN KEY constraint, and the user has not set foreign_key_checks=0
2004-02-02 00:10:45 +02:00
heikki@hundin.mysql.fi
9b04e7b9bb data0data.ic, data0data.h, row0sel.c:
Fix bug #2483 with InnoDB, UNIQUE secondary index, and NULL values in that unique index; with the IS NULL predicate, InnoDB returned only the first matching row, though there can be many
2004-01-27 20:10:04 +02:00
heikki@hundin.mysql.fi
15e64c3591 row0ins.c:
Fix bug: FOREIGN KEY ... ON UPDATE/DELETE NO ACTION must check the foreign key constraint, not ignore it. Peter Gulutzan said that NO ACTION should check the constraint as deferred, at the end of the SQL statement, while RESTRICT should check it immediately. Since we do not have defered constraints in InnoDB, this bug fix makes InnoDB to check NO ACTION constraints immediately, like it checks RESTRICT constraints.
2004-01-14 16:21:54 +02:00
heikki@hundin.mysql.fi
6d9aca5069 btr0cur.c, row0umod.c:
Fix bug: if one updated a secondary index column so that its alphabetical value did not change (e.g., abc -> aBc) and rolled back the update, InnoDB failed to return the value in the secondary index to its original value
row0upd.h:
  Correct typing error
sync0sync.ic:
  Remove inadvertently pushed sync debug code
2003-12-13 01:31:59 +02:00
heikki@hundin.mysql.fi
75a662fb3c row0upd.h, row0upd.c:
Remove wrong debug assertion and comment
2003-12-12 08:09:25 +02:00
heikki@hundin.mysql.fi
d3d9b727eb Many files:
Fix assertion failure on line 713 of row0upd.c if there is a column prefix index and the last characters in the prefix are spaces: do not assume that the length of alphabetically equal strings is the same; fix a buglet which could cause InnoDB to think that a secondary index record was not locked though it had been updated in a way which did not alpahabetically change its value, e.g., abc -> aBc
2003-12-12 07:51:21 +02:00
heikki@hundin.mysql.fi
de6cc5f018 row0sel.c:
If innodb_force_recovery >= 5, do not try to fetch an old version of a clustered index record: this reduces crashes when dumping tables from a corrupt database
2003-10-28 15:55:18 +02:00
heikki@hundin.mysql.fi
216c0a90cd row0mysql.c:
Remove unintentional changes in previous push
2003-10-06 10:50:12 +03:00
heikki@hundin.mysql.fi
da57c25159 row0mysql.c:
Fix bug: if one used the rename trick of ibman section 15.1 to recover a temp table, InnoDB asserted because it tried to lock the data dictionary twice
2003-10-06 10:46:22 +03:00
heikki@hundin.mysql.fi
3b7140aed0 row0sel.c:
Fix buglets in previous push
2003-09-12 01:35:32 +03:00
heikki@hundin.mysql.fi
be05042bae row0sel.c:
Fix bug: if a primary key contains more than one column, then MySQL seems to do fetch next even for a unique search condition: this in turn caused unnecessary locking which did not agree what the InnoDB manual promised
2003-09-12 00:31:43 +03:00
heikki@hundin.mysql.fi
7be1beb2d3 row0mysql.c:
Fix performance bug: if there were thousands of tables, DROP TABLE could take as much as a second CPU time
2003-07-06 18:01:51 +03:00
heikki@hundin.mysql.fi
2a1f87ff72 Many files:
Remove potential starvation of a full log buffer flush: only flush up to the lsn which was the largest at the time when we requested the full log buffer flush
os0sync.h, os0sync.c:
  Fix a bug in os_event on Unix: even though we signaled the event, some threads could continue waiting if the event became nonsignaled quickly again; this made group commit less efficient than it should be
2003-07-03 21:25:55 +03:00
heikki@hundin.mysql.fi
b8cc47797a row0vers.c:
Add forgotten mutex_enter()
2003-06-18 03:53:18 +03:00