Commit graph

370 commits

Author SHA1 Message Date
monty@mysql.com
cd3dab49cc Merge with 4.0.20 2004-05-17 01:52:13 +03:00
marko@hundin.mysql.fi
a5cca9df64 InnoDB cleanup: eliminate IB__FILE__ 2004-05-14 16:06:21 +03:00
marko@hundin.mysql.fi
3c87eda7ee InnoDB: ut0mem: Remove ut_str_catenate(), add const qualifiers 2004-05-14 14:23:46 +03:00
marko@hundin.mysql.fi
b4ae2577f0 InnoDB: Remove unused function ut_str_catenate() 2004-05-14 12:26:12 +03:00
heikki@hundin.mysql.fi
d2649c110a ha_innodb.cc, trx0trx.h, lock0lock.c, trx0trx.c:
Reserve the MySQL LOCK_thread_count mutex when printing thd->query of
an arbitrary transaction; if we are printing thd->query of a transaction that
we know is currently executing inside InnoDB, then we know that MySQL cannot
meanwhile change thd->query, and no need to reserve the MySQL mutex; note
that this patch still leaves open the possibility of races in MySQL's
thd->query_len
2004-05-13 22:07:51 +03:00
marko@hundin.mysql.fi
05a716a75f InnoDB: Replace ut_strdup() with mem_strdup() 2004-05-11 12:51:42 +03:00
monty@mysql.com
28673669a4 Merge with 4.0 to get security patch for check_grant_colum 2004-05-06 13:42:26 +03:00
monty@mysql.com
d21d49a32a Merge with 4.0.19 2004-05-05 17:05:24 +03:00
marko@hundin.mysql.fi
d15b0b577d InnoDB portability fix: new function os_file_set_eof() 2004-05-05 15:54:28 +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
acb54a243e InnoDB: make UNIV_SYNC_DEBUG useable again 2004-04-28 17:03:26 +03:00
monty@mishka.local
e9cfe01db0 After merge fixes
Changed 'SHOW FIELD STATUS' to use 'Engine' instead of 'Type'
2004-04-27 15:33:40 +03:00
monty@mishka.local
21fd1d270e Merge with 4.0 2004-04-26 15:53:31 +03:00
heikki@hundin.mysql.fi
7d3e633edc ha_innodb.cc, sync0sync.h, sync0sync.c:
Use only noninlined InnoDB functions in ha_innodb.cc
2004-04-09 22:18:18 +03:00
marko@hundin.mysql.fi
253bf9861b InnoDB: Remove debug functions unless #ifdef UNIV_DEBUG 2004-04-07 14:19:26 +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
f7f8efc263 InnoDB: Backport fil_path_to_mysql_datadir from MySQL 4.1.x 2004-04-05 15:40:56 +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
cfae16667e InnoDB: Handle quotes properly in the InnoDB SQL parser 2004-04-02 11:58:54 +03:00
marko@hundin.mysql.fi
4da72c2eb1 Merge marko@build.mysql.com:/home/bk/mysql-4.0
into hundin.mysql.fi:/home/marko/j/mysql-4.0
2004-04-01 16:54:22 +03:00
marko@hundin.mysql.fi
e00bf40360 InnoDB cleanup: fixing buffer overflows and quoting of quotes 2004-04-01 16:51:34 +03:00
heikki@hundin.mysql.fi
a169bfa6ae fil0fil.c, os0file.c, srv0srv.h, srv0srv.c:
Add an accessor function to set srv_io_thread_op_info, change the type to const char*, also change the type of srv_io_thread_function to const char*
2004-04-01 09:18:32 +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
16ac732cb9 InnoDB: Remove unused hash table code and parameters 2004-03-31 10:58:50 +03:00
marko@hundin.mysql.fi
3476db87a0 InnoDB: Remove unnecessary code, mostly related to stored procedures 2004-03-31 10:30:14 +03:00
heikki@hundin.mysql.fi
fd15536808 trx0undo.h, trx0undo.c, trx0trx.c:
Update an obsolete comment about trx commit: we can no longer call trx_undo_update_cleanup_by_discard(), and actually, the idea to call it was erroneous, it cannot work
2004-03-18 14:57:22 +02:00
monty@mysql.com
53c810cda4 merge fixes (use old code) 2004-03-18 00:16:04 +02:00
heikki@hundin.mysql.fi
e8efe9c32a Many files:
Fix Bug #1942: do not retrieve all columns in a table if we only need the 'ref' of the row (usually, the PRIMARY KEY) to calculate an ORDER BY
2004-03-17 19:37:48 +02:00
monty@mysql.com
f9ad650490 merge with 4.0 2004-03-17 10:36:12 +02:00
monty@mysql.com
350b433569 merge with 4.0 2004-03-16 22:41:30 +02:00
heikki@hundin.mysql.fi
a472dea224 ut0mem.h, ut0mem.c:
Add ut_strdup
os0file.h, os0file.c:
  Add creation of directories
2004-03-16 20:55:49 +02:00
marko@hundin.mysql.fi
e39030c027 InnoDB: Remove some debug variables unless UNIV_SEARCH_PERF_STAT is defined 2004-03-16 18:55:44 +02:00
marko@hundin.mysql.fi
20b6863c9a InnoDB: Make btr_cur_unmark_extern_fields() a static function 2004-03-16 15:26:33 +02:00
marko@hundin.mysql.fi
625c310b5a InnoDB: remove debug code from non-debug version 2004-03-16 12:18:02 +02:00
marko@hundin.mysql.fi
2c0cabd984 InnoDB: Remove log debug code when UNIV_LOG_DEBUG is not defined 2004-03-16 11:48:20 +02: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
27243b2b08 InnoDB: disable unreachable debug functions unless #ifdef UNIV_MEM_DEBUG 2004-03-12 23:26:13 +02:00
marko@hundin.mysql.fi
6e57e23b9c InnoDB: remove redundant functions mach_write() and mach_read() 2004-03-12 22:55:46 +02:00
marko@hundin.mysql.fi
9287264b6b Remove constant parameter MLOG_8BYTES from mtr_read_dulint() and mlog_write_dulint() 2004-03-12 17:44:25 +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
c8d6a195dc Replace ut_anp with ut_a 2004-03-12 13:46:26 +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
5aeab393af Remove remaining references to the built-in ODBC driver of InnoDB 2004-03-11 16:36:19 +02:00
marko@hundin.mysql.fi
a68a1ed0ca Remove unneeded module "com" 2004-03-11 12:55:28 +02:00
heikki@hundin.mysql.fi
0a0e981220 sync0arr.c, os0file.h:
Print always the count of pending pread() and pwrite() calls if there is a long semaphore wait
2004-03-11 10:38:37 +02:00
heikki@hundin.mysql.fi
624dd4db7b ut0dbg.h:
If there is an assertion failur refer the user to section 6.1 of the InnoDB online manual about forcing recovery
2004-02-24 17:17:02 +02:00
monty@mashka.mysql.fi
1ae05760ac Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mashka.mysql.fi:/home/my/mysql-4.1
2004-02-22 11:01:28 +02:00
monty@mashka.mysql.fi
3b83cce5eb merge with 4.0 2004-02-22 09:50:59 +02:00
heikki@hundin.mysql.fi
e17e1901f2 ha_innodb.cc, data0type.c, data0type.ic, data0type.h:
Change some inline functions to normal functions, so that they can be called in ha_innodb.cc; this removes the the remaining linking problems reported by Paul DuBois
2004-02-21 10:21:29 +02:00
heikki@hundin.mysql.fi
58932546e9 data0type.ic, data0type.h:
Fix linking errors reported by Paul DuBois: UNIV_INLINE was forgotten from some inline functions
2004-02-21 09:47:58 +02:00
monty@mashka.mysql.fi
494e43c1f5 merge with 4.0 to get security fixes and latest bug fixes 2004-02-20 17:43:02 +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
heikki@hundin.mysql.fi
af0d9a709c rem0cmp.c, data0type.c, data0type.ic, data0type.h, ha_innodb.cc:
Remove the now redundant flag DATA_NONLATIN1; better comments
2004-02-20 11:21:12 +02:00
heikki@hundin.mysql.fi
6417abbe94 data0type.ic, data0type.h:
Fix a typo in a comment
2004-02-20 09:50:33 +02:00
heikki@hundin.mysql.fi
4bed5784dd Many files:
Multiple charset support for InnoDB; note that if you create tables and the default charset-collation is not latin1_swedish_ci, then you cannot use those tables if you downgrade to 4.0 again
2004-02-19 20:07:02 +02:00
marko@hundin.mysql.fi
7acccd81dc srv_add_path_separator_if_needed: be static; use memcpy, not sprintf 2004-02-19 14:56:19 +02:00
marko@hundin.mysql.fi
ec06c78239 Remove unnecessary files and functions 2004-02-19 14:37:39 +02:00
marko@hundin.mysql.fi
38b46781ed Many files:
Remove leading whitespace from lines containing preprocessor directives
Makefile.am:
  Remove univold.i and univoldmysql.i
2004-02-19 11:40:36 +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
monty@mysql.com
ce14578909 Merge with 4.0.18 2004-02-11 00:06:46 +01: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
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
monty@mysql.com
7df839e757 Added testing of pthread_key_delete (to fix compile problem on SCO) (Bug #2461)
DROP DATABASE now assumes RAID directories are in hex. (Bug #2627)
Don't increment 'select_full_range' and similar statistics for EXPLAIN queries. (Bug #2506)
Test in configure if pthread_key_delete() exists (to fix compile problem on SCO) (Bug #2461)
2004-02-05 09:12:23 +01: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
4fa54c1dca trx0sys.c, srv0start.c, ibuf0ibuf.c, trx0sys.h, srv0srv.h:
DO NOT MERGE TO 4.1: add code for automatic downgrade 4.1.1 -> 4.0 if the user has not created multiple tablespaces yet
2004-01-06 13:40:14 +02:00
heikki@hundin.mysql.fi
7bb74b6592 log0recv.h, log0recv.c:
Merge a log replay change required by ibbackup
2004-01-02 16:21:58 +02:00
heikki@hundin.mysql.fi
947057e771 univ.i, srv0srv.c:
Define macro ULINTPF which can be used in printf statements as the print format of ulint both on Win64 and other platforms
2003-12-20 13:48:35 +02:00
heikki@hundin.mysql.fi
734870d0ce srv0start.c, univ.i, configure.in:
Check at compilation time on Unix that InnoDB ulint is the same size as void*, and also check it at runtime
2003-12-20 13:13:55 +02:00
monty@mysql.com
0448a3f4c0 Add cast of integer/longlong to (ulong) to make printf/sprintf 64 bit safe
A after merge fix for last merge
2003-12-20 03:41:04 +02:00
heikki@hundin.mysql.fi
df73dc7828 univ.i, ut0ut.h, ut0ut.c:
On 64-bit Windows use InnoDB's own printf function where %lu is converted to %I64u; this eliminates Intel compiler warnings on IA64
2003-12-19 20:39:19 +02:00
monty@mysql.com
e0cc6799ec Merge with 4.0.17 2003-12-17 17:35:34 +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
dc95a025d6 fil0fil.h, fil0fil.c:
ibbackup --apply-log must be able to rename a table based only on the space id
2003-11-25 21:52:22 +02:00
heikki@hundin.mysql.fi
e82a7e2fd2 os0file.h, os0file.c:
Changes needed for ibbackup directory scanning fault tolerance
2003-11-25 20:39:06 +02:00
monty@mysql.com
7c725b2486 Fixed compiler warnings from Intel compiler in Win64
Added option --max-record-length=# to myisamchk
Don't try repair twice if doing myisamchk --repair --force
Shared memory handler didn't clean up things on errors or shutdown
2003-11-23 14:36:41 +02:00
heikki@hundin.mysql.fi
721692f33f ut0dbg.h, ut0dbg.c:
Marko's patch to ut_a() fputs
2003-11-04 16:59:50 +02:00
heikki@hundin.mysql.fi
1796d50df3 Many files:
Merge with ibbackup; bug fix: .ibd files were extended 2 x the required amount; InnoDB does not create the small file inno_arch_log... any more at database creation
2003-11-03 19:11:09 +02:00
heikki@hundin.mysql.fi
91f5c5e337 thr0loc.c, srv0start.c, srv0srv.c, srv0srv.h, os0thread.h, ha_innodb.cc:
Backport from 4.1: reduce InnoDB memory consumption if buf pool < 8 MB
2003-10-17 23:44:34 +03:00
heikki@hundin.mysql.fi
3fffea42b9 thr0loc.c, srv0start.c, srv0srv.c, srv0srv.h, os0thread.h:
Reduce InnoDB memory allocation if buffer pool < 8 MB
2003-10-17 20:31:17 +03:00
heikki@hundin.mysql.fi
d3827c1b22 row0purge.c, row0mysql.c, os0file.c, os0file.h, fil0fil.h, fil0fil.c:
IMPORT TABLESPACE must reset lsns if they are too high
ha_innodb.cc:
  DISCARD/IMPORT TABLESPACE must have a TL_WRITE lock on the table
2003-10-14 14:53:16 +03:00
heikki@hundin.mysql.fi
5ec87f2449 Many files:
ALTER TABLE ... DISCARD/IMPORT TABLESPACE
  Track crash in buf_LRU_block_remove_hashed_page + 1807 reported in MySQL-3.23.5x
2003-10-13 11:20:19 +03:00
heikki@hundin.mysql.fi
677a0dbebb os0file.h:
Fix the Windows compilation error reported by Miguel 1.5 hours ago
2003-10-09 08:54:15 +03:00
heikki@hundin.mysql.fi
6112853cda Many files:
Multiple tablespaces for InnoDB
sql_table.cc:
  Tell explicitly that InnoDB should retrieve all columns in CHECKSUM TABLE
sql_update.cc, sql_select.cc, my_base.h:
  More descriptive flag name HA_EXTRA_RETRIEVE_ALL_COLS
2003-10-07 17:28:59 +03:00
monty@mashka.mysql.fi
2263e3e51f Merge with 4.0.14 2003-08-11 22:44:43 +03:00
heikki@hundin.mysql.fi
c1b62170a7 srv0srv.c, os0file.c, log0recv.h, log0log.h, fil0fil.h, fsp0fsp.c, fil0fil.c:
Merge
trx0trx.c:
  Print more info about a trx in SHOW INNODB status; try to find the bug reported by Plaxo
buf0buf.c:
  Check that page log sequence numbers are not in the future
log0recv.c, log0log.c:
  Fixed a bug: if you used big BLOBs, and your log files were relatively small, InnoDB could in a big BLOB operation temporarily write over the log produced AFTER the latest checkpoint. If InnoDB would crash at that moment, then the crash recovery would fail, because InnoDB would not be able to scan the log even up to the latest checkpoint. Starting from this version, InnoDB tries to ensure the latest checkpoint is young enough. If that is not possible, InnoDB prints a warning to the .err log
2003-07-25 22:26:39 +03:00
heikki@hundin.mysql.fi
2340cff77a srv0start.c, srv0srv.h, os0file.h, os0file.c:
Allow also O_DIRECT as innodb_flush_method; it only affects writing to data files
2003-07-13 00:17:02 +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
e2efb08c50 dict0dict.h, dict0dict.c, ha_innodb.cc:
In ORDER BY MySQL seems to set the key read flag also in the case where the primary key contains only a prefix of a column - not the whole column; to prevent potential bugs retrieve the whole column if the index contains a prefix of it
2003-06-22 16:20:06 +03:00
heikki@hundin.mysql.fi
29796e6240 row0mysql.c, dict0dict.ic:
Cleanup
ha_innodb.cc, data0type.h:
  Make sure non-latin1 users can downgrade from 4.0.14 to an earlier version if they have not created DATA_BLOB column prefix indexes
2003-06-16 00:39:46 +03:00
heikki@hundin.mysql.fi
4da7f485b7 Many files:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
2003-06-15 01:04:28 +03:00
monty@narttu.mysql.fi
7a54334443 Merge with 4.0.13 2003-06-05 17:33:38 +03:00
monty@narttu.mysql.fi
8ad4a240d2 Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into narttu.mysql.fi:/my/mysql-4.0
2003-06-04 23:17:45 +03:00
monty@narttu.mysql.fi
40109c574a Merge with 4.0.13 2003-06-04 19:21:51 +03:00
monty@narttu.mysql.fi
100a66e6cb Added [mysqld-base-version] as a default group for the mysqld server
Portability fix for Windows 64
2003-06-04 16:05:27 +03:00
heikki@hundin.mysql.fi
e8e98d05f9 os0thread.h, os0sync.ic, os0sync.h, os0thread.c, os0sync.c, os0file.c:
Release all event semaphores at shutdown also in Windows
srv0start.c, srv0srv.c:
  make test sometimes failed because lock timeout thread exited without decrementing the InnoDB thread counter
2003-06-02 13:11:20 +03:00
heikki@hundin.mysql.fi
dcdc6ffadc os0thread.c, os0thread.h, os0sync.h:
Cleanup
os0sync.c:
  Free all OS sync primitives and allocated memory in InnoDB shutdown
2003-05-31 03:23:42 +03:00
heikki@hundin.mysql.fi
42671d18ae Many files:
Free all OS sync primitives and allocated memory in InnoDB shutdown
2003-05-31 03:12:03 +03:00
heikki@hundin.mysql.fi
d1759530d3 Many files:
Exit all threads created by innoDB at shutdown
2003-05-30 22:44:37 +03:00
monty@narttu.mysql.fi
dd2b7918cd Merge with 4.0.13 2003-05-19 16:35:49 +03:00
heikki@hundin.mysql.fi
5359d04608 buf0lru.c, buf0flu.c, buf0buf.c, buf0lru.h:
Search first only 10 % of the LRU list for a replaceable block before doing an LRU flush; enable again flushing of close pages also in a flush list (checkpointing) flush
trx0trx.c:
  Add forgotten return value (it was not used anywhere, fortunately)
ha_innodb.h, mysql_priv.h:
  Move declaration of srv_buf_pool_max_modified_pct to ha_innodb.h and enclose it to denote it is a C variable, not C++
2003-05-16 16:27:50 +03:00
heikki@hundin.mysql.fi
aa92b8ecd1 row0ins.c, dict0dict.c, dict0dict.h, srv0srv.c:
Let SHOW INNODB STATUS print detailed info of the latest unique key violation, note that REPLACE and INSERT IGNORE mask the error from the user
2003-05-04 23:24:23 +03:00
heikki@hundin.mysql.fi
971f770946 buf0buf.c, srv0srv.h, buf0buf.h, srv0srv.c:
Clean up the working of the main thread; add a tunable parameter srv_max_buf_pool_modified_pct which can be used to make the flush phase in shutdown quicker
2003-05-03 19:44:46 +03:00
heikki@hundin.mysql.fi
35fd869e51 Many files:
Eliminate the LOCK_log bottleneck in group commit in binlogging: flush InnoDB log files only after it has been released
2003-05-03 02:29:40 +03:00
heikki@hundin.mysql.fi
a1861ddb22 trx0trx.h, trx0trx.c, ha_innodb.cc:
Remove code never actually used in IGNORE; InnoDB just rolls back the latest row insert or update on a duplicate key error and leaves it for MySQL to decide whether to ignore the error
2003-04-27 17:25:39 +03:00
heikki@hundin.mysql.fi
4393bab73c ut0dbg.h:
Print the failing assertion if it fails; helps to analyze bug reports
2003-04-25 21:12:44 +03:00
heikki@hundin.mysql.fi
4f77f6a4d8 univ.i:
If HAVE_purify is defined, define UNIV_SET_MEM_TO_ZERO to eliminate Purify warnings
2003-04-20 19:36:09 +03:00
heikki@hundin.mysql.fi
3a77f47a04 ha_innodb.cc, row0sel.c, row0mysql.c, row0mysql.h:
Allow HANDLER PREV and NEXT also after positioning the cursor with a unique search on the primary key
2003-04-17 02:28:40 +03:00
heikki@hundin.mysql.fi
f841b4ae23 Many files:
Merge InnoDB-4.0.13; DROP FOREIGN KEY now works
2003-04-16 16:45:01 +03:00
lenz@mysql.com
dbe145f015 - Fixed bug in "make DESTDIR=<dir> install" - the InnoDB static
libraries always ended up in "dir..", even though they were not supposed
   to be installed anyway (they are only required at link time). Fixed it by
   replacing libs_LIBRARIES with noinst_LIBRARIES for all InnoDB Makefile.am 
   files and by removing "libsdir = " from innobase/include/Makefile.i .
2003-04-10 20:03:52 +02:00
monty@narttu.mysql.fi
a434bca704 Merge with 4.0 2003-03-16 19:17:54 +02:00
heikki@hundin.mysql.fi
a70dcd404c trx0sys.c, trx0roll.c, srv0start.h:
Print trx rollback progress info in crash recovery
2003-03-02 22:34:09 +02:00
monty@mashka.mysql.fi
023d6dd39b Merge with 4.0.11 2003-02-04 21:52:14 +02:00
heikki@hundin.mysql.fi
0da4275063 config-win.h, os0proc.h, os0proc.c, srv0start.c:
Make AWE compilation depend on __WIN2000__
2003-01-30 18:52:45 +02:00
monty@mashka.mysql.fi
689578a099 Fixes for Netware
Call pthread_mutex_destroy() on not used mutex.
Changed comments in .h and .c files from // -> /* */
Added detection of mutex on which one didn't call pthread_mutex_destroy()
Fixed bug in create_tmp_field() which causes a memory overrun in queries that uses "ORDER BY constant_expression"
Added optimisation for ORDER BY NULL
2003-01-28 08:38:28 +02:00
monty@mashka.mysql.fi
25c393a12e Portability fixes (for windows)
Some changes to the prepared statement protocol to make it easier to use and faster.
2003-01-21 21:07:59 +02:00
monty@mashka.mysql.fi
12ab0651c6 merge with 4.0 to get bug fix for SHOW PROCESSLIST + connected slave 2003-01-19 02:28:07 +02:00
heikki@hundin.mysql.fi
8fc51bb427 btr0sea.h, btr0sea.c:
Fix a crash in page_dir_find_owner_slot if an adaptive hash index search coincides with purge or an insert
2003-01-18 15:01:56 +02:00
monty@mashka.mysql.fi
76f146a175 Merge with 4.0.9 2003-01-18 03:13:37 +02:00
heikki@hundin.mysql.fi
7424bf2ea9 btr0cur.h, btr0btr.h, btr0btr.c, btr0cur.c, row0purge.c:
Fix a hang associated with an index tree of height 1 and purging of BLOB fields from it
2003-01-13 15:52:39 +02:00
heikki@hundin.mysql.fi
8e6a4c6201 ut0mem.c, row0sel.c, row0mysql.c, ut0mem.h, row0sel.h, row0mysql.h:
Test allocation of memory beforehand if we are trying to return a > 2 MB BLOB; normally InnoDB asserts if memory allocation fails
ha_innodb.cc:
  Do not fetch all columns if change_active_index() is called during a query; a sum(a), max(a) query seemed to do that, doing unnecessary copying (the change actually made in the previous bk ci)
  Free BLOB heap of handle when MySQL calls some ::extra()'s
2003-01-12 23:58:56 +02:00
heikki@hundin.mysql.fi
be03863425 srv0srv.c, mem0pool.c, mem0pool.h, buf0buf.h, buf0buf.c:
Make smaller buffer headers and the lock table; fix AWE high_end bug
2003-01-09 00:10:36 +02:00
heikki@hundin.mysql.fi
b1b47e93b1 buf0buf.c, buf0buf.ic, buf0buf.h:
Reduce memory usage of the buffer headers
Many files:
  Merge InnoDB-4.1 with AWE support
2003-01-06 22:07:25 +02:00
monty@mashka.mysql.fi
9ecf9645eb A lot of portability fixes.
Added rename table for BDB. This fixes a bug in ALTER TABLE with BDB tables.
2003-01-05 20:18:49 +02:00
heikki@hundin.mysql.fi
843e1d8e9c Many files:
Merge InnoDB-4.0.7. Support for ON UPDATE CASCADE
sql_select.cc:
  Remove superfluous prints to .err log when a locking SELECT fails to a deadlock or a lock wait timeout
2002-12-22 01:54:29 +02:00
monty@mashka.mysql.fi
62dfd57475 Removed compiler warnings
Fixed wrong variable name for Windows
2002-12-12 21:01:32 +02:00
monty@mashka.mysql.fi
5022e56cba Ensure that BEGIN / COMMIT is handled properly if slave dies
Added syntax support for
CREATE TABLE foo (a char CHARACTER SET latin1) CHARSET=latin1;
2002-12-11 15:46:39 +02:00
heikki@hundin.mysql.fi
4b73222d5a row0mysql.c, row0mysql.h, ha_innodb.cc, sql_table.cc, handler.h:
Fix crash when InnoDB temp table is truncated + fix bug: do not X-lock rows under LOCK TABLES except if the table is temp
2002-11-19 16:27:26 +02:00
heikki@hundin.mysql.fi
60499d54dd Many files:
Try to skip over corrupt records in SELECT if innodb_force_recovery > 0; print more page hex dumps in CHECK TABLE
2002-11-09 18:23:09 +02:00
heikki@hundin.mysql.fi
b31f909d7b Many files:
Fix hang introduced by selective deadlock resolution
srv0srv.c, row0mysql.c:
  Fix hang introduced by selective deadlock resolution + corruption caused by lock timeout or sel deadl res in ON DELETE CASCADE
2002-11-07 14:47:25 +02:00
monty@butch.
890b39bb68 merge 2002-11-07 12:49:01 +02:00
monty@butch.
a2bdf9265f Portability fixes for Fortre C++ 5.0 (on Sun) in 32 and 64 bit modes. 2002-11-07 03:54:00 +02:00
heikki@hundin.mysql.fi
db1693101b Many files:
Merge InnoDB-4.0.5b: minor improvements to foreign keys, more logical data dictionary lock
2002-11-06 00:41:27 +02:00
heikki@hundin.mysql.fi
23657e8c33 srv0start.h, srv0start.c, ha_innodb.cc:
Add check that sizeof(trx_t) is the same in ha_inndob.cc and InnoDB compilation modules
2002-10-31 12:03:34 +02:00
heikki@hundin.mysql.fi
9153d88c6b Many files:
Merge InnoDB-4.0.5: new isolation levels READ COMMITTED and READ UNCOMMITTED now supported, selective deadlock resolution
mysqld.cc:
  Change MySQL default isolation level to REPEATABLE READ; note that InnoDB has always had that default, and BDB and MyISAM always run at SERIALIZABLE level anyway
2002-10-29 23:16:46 +02:00
monty@hundin.mysql.fi
67d3cd643b Merge with 3.23.54 2002-10-16 13:11:25 +03:00
heikki@hundin.mysql.fi
cc1db6142f btr0cur.c:
Do not let range estimator to return over 1 / 2 of total rows in table; use longlong in range estimation
btr0cur.h, ha_innobase.cc:
  Use longlong in range estimation, in case there are > 4 billion rows
2002-10-05 22:23:51 +03:00
heikki@hundin.mysql.fi
4753ea60b0 os0thread.h:
Fix the probable reason why InnoDB versions after July 2, 2002 did not start properly in some Win 95/98/ME computers
2002-10-03 18:10:34 +03:00
heikki@hundin.mysql.fi
f8d44429c5 srv0srv.h, srv0srv.c, row0mysql.c:
Put back a change unintentionally removed in the last 2 pushes
2002-09-20 05:44:41 +03:00
heikki@hundin.mysql.fi
55807d9553 trx0trx.ic, trx0trx.h, srv0srv.h, row0sel.h, dict0mem.h:
Modifications for query cache + trxs, fix of q.c.+ foreign keys
2002-09-20 05:18:55 +03:00
monty@mashka.mysql.fi
3bb2660d10 Merge with 3.23.53 2002-09-17 05:17:32 +03:00
heikki@hundin.mysql.fi
db8f4fd3d2 srv0srv.c, srv0srv.h:
Change srv_flush_log_at_trx_commit to ulint, note that ibool is defined as ulint, so this is purely formal change
os0file.c:
  Start using unbuffered i/o again in Windows because sequential read using normal i/o was 4 times slower in XP
2002-09-11 16:07:52 +03:00
heikki@work.mysql.com
002d1c690a dict0dict.h Put back code inadvertently removed in previous bk commit
dict0dict.c	Put back code inadvertently removed in previous bk commit
2002-09-04 19:01:39 +02:00
heikki@work.mysql.com
a16f3360aa btr0btr.c Add more documentation about B-tree latching
ha_innodb.cc	Remove gaps in auto-inc in multi-row inserts, more space for foreign key listings in SHOW TABLE STATUS, move resetting of active_trx to amore logical place
dict0dict.h	Remove gaps from auto-inc sequence if errors in multi-row insert
dict0dict.c	Remove gaps from auto-inc sequence if errors in multi-row insert
2002-09-04 18:53:48 +02:00
monty@hundin.mysql.fi
a9c1508d7e merge with 3.23 tree 2002-08-23 15:18:46 +03:00
heikki@hundin.mysql.fi
4bdaf9c2c9 pars0grm.h, pars0grm.c, lexyy.c:
The lexer of InnoDB to 8-bit, it was 7-bit which made it crash on table names containing char codes > 127
pars0lex.l, pars0grm.y:
  Add InnoDB internal SQL interpreter grammar and lexer sources
2002-08-22 13:33:45 +03:00
heikki@hundin.mysql.fi
8b61e475f6 lock0lock.h, lock0lock.c:
Remove a spurious deadlock when >= 2 insert transactions have to wait because there is a next-key lock set
2002-08-22 13:22:04 +03:00
monty@hundin.mysql.fi
c531b43272 merge with 3.23.52 2002-08-13 02:33:25 +03:00
heikki@hundin.mysql.fi
a101405b03 os0thread.h, os0thread.c:
Fix a critical portability bug introduced in the Windows version
2002-08-13 01:22:27 +03:00