Commit graph

834 commits

Author SHA1 Message Date
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
marko@hundin.mysql.fi
1bd65d7715 InnoDB: implement innodb_max_purge_lag 2004-09-30 15:54:19 +03:00
rburnett@build.mysql.com
6ba5a57009 os0file.c:
Added #ifdef around is_set in os_aio_print
2004-09-23 17:53:46 +02:00
jan@hundin.mysql.fi
762c24f29a Merge jlindstrom@build.mysql.com:/home/bk/mysql-4.1
into hundin.mysql.fi:/home/jan/mysql-4.1
2004-09-16 21:32:05 +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
heikki@hundin.mysql.fi
fd7dde7caf sync0arr.c:
Correct the comment on the 'waiting' field in sync_cell_struct
2004-09-13 20:08:09 +03:00
heikki@hundin.mysql.fi
d6b4c4f90e row0mysql.h:
Improve the comment on stored_select_lock_type
ha_innodb.cc:
  Let InnoDB remember select_lock_type inside LOCK TABLES, also over plain consistent read SELECTs; fix Bug #5538 : assertion failure when using mysqldump with the -l option; in MERGING this patch to 4.1, there may be PROBLEMS; that is because previous patch was never merged to 4.1; Heikki Tuuri has to polish the code in 4.1 after this patch has been merged.
2004-09-13 19:05:39 +03:00
heikki@hundin.mysql.fi
4c7c2343c7 os0file.c:
Add more precise diagnostics about the state of the I/O threads of InnoDB; print in SHOW INNODB STATUS if the event wait semaphore of each I/O thread is set
2004-09-11 09:37:16 +03:00
marko@hundin.mysql.fi
fd17beb0d9 dict0dict.c:
Fixed typo
2004-09-10 13:44:06 +03:00
marko@hundin.mysql.fi
7a845e43ad InnoDB: Update links to the user manual 2004-09-08 14:24:13 +03:00
marko@hundin.mysql.fi
934a5c0b99 InnoDB: Add configuration option innodb_autoextend_increment 2004-09-07 16:26:38 +03:00
heikki@hundin.mysql.fi
b3325a06d1 srv0start.c:
Fix bug #5414 in 4.1: srv_max_n_threads was always set to only 1000, regardless of the buffer pool size; undelr very high concurrent loads this could cause an assertion failure in sync0arr.c line 384 when we ran out of wait slots for threads; also innodb_thread_concurrency did not work, because the wait queue also there overflowed at 1000 concurrent threads; also remove redundant code
trx0undo.c:
  Add a missing newline to fprints
2004-09-06 13:01:29 +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
9253e5ccfd Merge jlindstrom@build.mysql.com:/home/bk/mysql-4.1
into hundin.mysql.fi:/home/jan/mysql-4.1
2004-09-03 08:23:16 +03:00
heikki@hundin.mysql.fi
290443298a srv0start.c:
Change a reference to ibman.php to a reference in the MySQL manual; someone should change the 20 other places in the source code where we still refer to ibman.php
2004-09-02 20:06:25 +03:00
marko@hundin.mysql.fi
09f3166267 row0mysql.c:
row_drop_table_for_mysql(): Removed duplicated block of code.
2004-09-01 14:04:17 +03:00
jan@hundin.mysql.fi
35849854df 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-08-31 10:37:03 +03:00
jan@hundin.mysql.fi
4b6c341bb0 Merge jlindstrom@build.mysql.com:/home/bk/mysql-4.1
into hundin.mysql.fi:/home/jan/mysql-4.1
2004-08-30 08:30:21 +03:00
serg@serg.mylan
b4bb38e896 merged 2004-08-26 15:19:46 +02:00
heikki@hundin.mysql.fi
852181a21e buf0rea.c:
Fix bug: if there was little file I/O in InnoDB, but the insert buffer was used, it could happen that 'Pending normal aio reads' was bigger than 0, but the I/O handler thread did not get waken up in 600 seconds. This resulted in a hang, and crashing of InnoDB.
2004-08-24 20:17:23 +03:00
jan@hundin.mysql.fi
9cae7b0885 Merge jlindstrom@build.mysql.com:/home/bk/mysql-4.1
into hundin.mysql.fi:/home/jan/mysql-4.1
2004-08-19 11:37:46 +03:00
serg@serg.mylan
e1237cbc53 manually merged 2004-08-18 19:57:55 +02:00
heikki@hundin.mysql.fi
6feb6ea545 srv0start.c, ut0mem.c, ut0dbg.c, ut0dbg.h, srv0start.h:
Changes for NetWare to exit the InnoDB gracefully instead of crashing the server (patch by PRam@novell.com, polished a little by Heikki Tuuri)
mysqld.cc, ha_innodb.cc:
  Changes for NetWare to exit the InnoDB gracefully instead of crashing the server (patch by PRam@novell.com, polished a little by Heikki Tuuri)
2004-08-18 01:48:01 +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
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
jan@hundin.mysql.fi
7e7a22d049 Merge jlindstrom@build.mysql.com:/home/bk/mysql-4.1
into hundin.mysql.fi:/home/jan/mysql-4.1
2004-08-13 08:32:57 +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
marko@hundin.mysql.fi
d9ead8a11e InnoDB: Make UNIV_LOG_DEBUG work 2004-08-11 16:04:37 +03:00
jan@hundin.mysql.fi
664cce3f3c Take X-lock for duplicate keys in REPLACE command. 2004-08-11 13:01:30 +03:00
marko@hundin.mysql.fi
61c509fbd7 os0file.c:
os_file_create_tmpfile(): display errno in case of failure
2004-08-10 16:11:34 +03:00
marko@hundin.mysql.fi
cd6292d219 InnoDB: Use create_temp_file() when available 2004-08-10 14:17:32 +03:00
marko@hundin.mysql.fi
b9a8ce1b20 row0mysql.c:
row_drop_table_for_mysql(): Removed a ut_ad() assertion that failed
  when a DROP TABLE is executed in the background.
2004-08-09 15:38:40 +03:00
marko@hundin.mysql.fi
3cb09c9817 InnoDB: Add option for disabling innodb_status.<pid> files.
InnoDB: Implement tmpfile() differently on Windows (Bug #3998)
2004-08-06 15:55:50 +03:00
marko@hundin.mysql.fi
2f3e628649 dyn0dyn.h:
dyn_array_open(): mention the size limit
mtr0log.ic, mtr0log.h:
  mlog_open(): mention the size limit
2004-08-02 13:02:34 +03:00
marko@hundin.mysql.fi
f283baade6 Merge marko@build.mysql.com:/home/bk/mysql-4.0
into hundin.mysql.fi:/home/marko/k/mysql-4.0
2004-07-30 17:37:43 +03:00
marko@hundin.mysql.fi
b435b8d47e fil0fil.c:
Restore accidentally deleted comment of fil_create_directory_for_tablename()
2004-07-30 17:04:56 +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
marko@hundin.mysql.fi
c4ee1bcc10 dict0crea.c:
Restore accidentally deleted comment to dict_create_sys_tables_tuple()
2004-07-30 16:58:25 +03:00
heikki@hundin.mysql.fi
fb0b02415c buf0flu.c, os0file.c:
Add more diagnostic code to determine when an lsn field gets corrupt; tracks a crash reported from one Itanium computer
2004-07-27 19:14:50 +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
jan@hundin.mysql.fi
3ca686c5fb Merge jlindstrom@build.mysql.com:/home/bk/mysql-4.1
into hundin.mysql.fi:/home/jan/mysql-4.1
2004-07-21 08:52:12 +03:00
jan@hundin.mysql.fi
0449396a67 Added innodb_locks_unsafe_for_binlog option. This option turns off Innodb
next-key locking. Using this option the locks InnoDB sets on index 
  records do not affect the ``gap'' before that index record. Thus, this option
  allows phantom problem.
2004-07-20 14:15:38 +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
heikki@hundin.mysql.fi
0614f8c718 btr0cur.c:
Do not add + 1 to the InnoDB index cardinality estimate if the B-tree just contains one page; the fix made in March 2004 caused InnoDB systematically to overestimate the cardinality of empty or small tables by 1
2004-07-15 09:08:51 +03:00
marko@hundin.mysql.fi
b92d70b231 lock0lock.c:
Decrement n_lock_table_exp in lock_table_remove_low()
  instead of lock_table_dequeue().
  Do not empty lock_heap in lock_release_tables_off_kernel().
2004-07-13 12:30:34 +03:00
marko@hundin.mysql.fi
88369368f5 InnoDB: LOCK TABLES clean-up, part 2 2004-07-12 17:14:13 +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
marko@hundin.mysql.fi
74f3da33bf srv0start.c:
innobase_start_or_create_for_mysql(): Rename innodb.status.<pid>
  to innodb_status.<pid> to avoid problems on VMS
2004-07-12 14:12:53 +03:00
monty@mysql.com
b1d08ba2b4 Merge with 4.0 to get the latest bug patches to 4.1 2004-06-25 20:13:05 +03:00
guilhem@mysql.com
bccf57fbb2 Merge gbichot@213.136.52.20:/home/bk/mysql-4.1
into mysql.com:/home/mysql_src/mysql-4.1-1717
2004-06-23 23:52:49 +02:00
marko@hundin.mysql.fi
5abd76355e lexyy.c, pars0lex.l:
Document the handling of quoted strings
2004-06-22 16:15:58 +03:00
marko@hundin.mysql.fi
4fc8a45126 Merge marko@build.mysql.com:/home/bk/mysql-4.0
into hundin.mysql.fi:/home/marko/k/mysql-4.0
2004-06-21 11:06:45 +03:00
monty@mysql.com
d69a36d118 merge 2004-06-21 10:24:40 +03:00
monty@mysql.com
1388c164bc After merge fixes
Return NULL if a time argument is given to date_add(). (Warning will be shown after Dimitri's timezone patch is pushed)
2004-06-21 10:21:20 +03:00
guilhem@mysql.com
f5d6424487 Robustness feature.
Won't be pushed as is - separate email sent for internal review.
WL#1717 "binlog-innodb consistency".
Now when mysqld starts, if InnoDB does a crash recovery, we use the binlog name
and position retrieved from InnoDB (corresponding to the last transaction
successfully committed by InnoDB) to cut any rolled back transaction from
the binary log. This is triggered by the --innodb-safe-binlog option.
Provided you configure mysqld to fsync() InnoDB at every commit (using
flush_log_at_trx_commit) and to fsync() the binlog at every write
(using --sync-binlog=1), this behaviour guarantees that a master always has
consistency between binlog and InnoDB, whenever the crash happens.
6 tests to verify that it works.
2004-06-20 19:11:02 +02:00
heikki@hundin.mysql.fi
3cd6299b22 mem0dbg.c:
InnoDB with UNIV_MEM_DEBUG did not compile because a global variable was forgotten when we put back mem_print_info() functions 2 days ago; add that variable
2004-06-19 12:12:00 +03:00
marko@hundin.mysql.fi
45bc431267 mach0data.ic, mach0data.h:
Improve documentation of mach_*write_*compressed()
mtr0log.ic, mtr0log.h:
  Improve documentation of mlog_write_initial_log_record_fast()
2004-06-18 15:54:19 +03:00
monty@mysql.com
b11d258835 Merge with 4.0.21 2004-06-18 04:38:58 +03:00
monty@mysql.com
fd0153304d Fixed some byte order bugs with prepared statements on machines with high-byte-first. (Bug #4173)
Fixed problem with NULL and derived tables (Bug #4097)
Cleanup of new pushed code
2004-06-18 03:02:29 +03:00
heikki@hundin.mysql.fi
c98bfe12c6 mem0dbg.h, mem0dbg.c:
Put back mem_print_info() functions that are used to analyze memory leaks; Marko removed them by accident in his Feb 20th, 2004 patch; these functions are very important for debugging, and should always be kept in the source code base
2004-06-17 17:30:33 +03:00
heikki@hundin.mysql.fi
3c4597e14b que0que.c, srv0que.c:
Put asserts that make sure srv_que_task_enqueue() is never called under MySQL
2004-06-17 16:05:19 +03:00
heikki@hundin.mysql.fi
0e3c22ea17 log0recv.c:
Revert the patch that put log debug code behind UNIV_LOG_DEBUG
2004-06-17 15:13:27 +03:00
heikki@hundin.mysql.fi
a460d438d8 log0log.h:
Revert the patch that put log debug code behind UNIV_LOG_DEBUG
log0log.ic, log0recv.c, log0log.c, log0log.h:
  Revert 1.1730.18.1 about UNIV_LOG_DEBUG: debug code is often needed in debugging the production version
2004-06-17 15:11:37 +03:00
heikki@hundin.mysql.fi
af35718074 Cset exclude: marko@hundin.mysql.fi|ChangeSet|20040316101802|63386 2004-06-17 14:01:56 +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
3b96c95fdf srv0que.c:
Revert Marko's untested changeset 1.1844.1.6 to the stable 4.0 version; stable 4.0 must NOT BE modified except in case of bugs
srv0que.c, srv0que.h:
  new file
2004-06-17 12:35:04 +03:00
heikki@hundin.mysql.fi
bfb0e28499 Cset exclude: marko@hundin.mysql.fi|ChangeSet|20040525171209|56870 2004-06-17 11:57:45 +03:00
heikki@hundin.mysql.fi
79fd0c68d3 fil0fil.c:
Remove the use of mem_realloc in fil0fil.c; mem_realloc() was broken and the patch to remove its definition will propagate from the 4.0 tree; crash recovery with innodb_file_per_table has to be tested after this patch, not tested yet
2004-06-17 00:21:41 +03:00
heikki@hundin.mysql.fi
8ff57ee469 ut0mem.c:
Remove printf's that were accidentally pushed in the last push
2004-06-16 23:46:47 +03:00
heikki@hundin.mysql.fi
0aa9e45e64 ut0mem.h, ut0mem.c:
Implement ut_realloc
lexyy.c, pars0lex.l:
  Start using ut_malloc, ut_free, ut_realloc in pars0lex.l and lexyy.c; mem_realloc was broken; eliminate possible memcpy(NULL, ..., 0) from string_append()
2004-06-16 23:42:58 +03:00
heikki@hundin.mysql.fi
4a7b9fda98 mem0mem.ic, mem0mem.h:
Remove broken mem_realloc(); a patch to remove its uses in pars0lex.l and fil0fil.c will soon follow
2004-06-16 20:24:35 +03:00
marko@hundin.mysql.fi
30606486e7 InnoDB bug fix: mem_realloc() didn't preserve the block contents 2004-06-16 17:22:35 +03:00
marko@hundin.mysql.fi
d2724e66db InnoDB: Revert most of ChangeSet@1.1772, as the debug functions may
be needed when testing production releases
2004-06-16 13:41:14 +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
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
monty@mysql.com
8b2a735563 Portability fixes (and a typo after last merge) 2004-06-04 11:02:35 +03:00
heikki@hundin.mysql.fi
347a21e118 fil0fil.c:
Make allocation for file path more uniform: always use mem_alloc(), not ut_malloc()
2004-06-03 17:31:46 +03:00
heikki@hundin.mysql.fi
0dced9ea3b os0file.c, fil0fil.c:
Align file i/o buffers for DIRECT_IO; fix mem_alloc()/mem_free() crash bugs that came from Marko's latest cleanup
2004-06-03 17:02:37 +03:00
heikki@hundin.mysql.fi
8dae598aa2 fil0fil.c:
Fix typo spotted by Paul DuBois: 'no continue' -> 'not continue'
2004-06-02 18:19:28 +03:00
monty@mysql.com
4cb62eb001 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1
2004-06-02 12:14:36 +03:00
monty@mysql.com
e6c5715126 after merge fixes 2004-06-02 12:13:49 +03:00
marko@hundin.mysql.fi
82475cfb76 InnoDB cleanup: Remove debug function
cmp_debug_dtuple_rec_with_match()
unless #ifdef UNIV_DEBUG
2004-06-02 11:12:04 +03:00
heikki@hundin.mysql.fi
a106806324 fil0fil.c:
Stop InnoDB crash recovery if an .ibd file for a table exists in a database directory, but we cannot access it.
2004-06-02 08:44:08 +03:00
monty@mysql.com
70c2256d2f Merge with 4.0 to get fixes for netware 2004-06-02 00:09:14 +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
a5d8f243a9 InnoDB: os0file.c:
Do not lock raw devices or files opened for read only
2004-06-01 17:30:46 +03:00
heikki@hundin.mysql.fi
59e44ff8d8 fil0fil.c:
Add missing newlines in fprintfs
2004-06-01 16:41:13 +03:00
marko@hundin.mysql.fi
2b2e7e4580 InnoDB cleanup: Fix potential buffer overflows,
allow deletion of tablespaces whose names contain "'"
2004-06-01 15:19:09 +03:00
marko@hundin.mysql.fi
fb9257dc45 InnoDB: Add diagnostics when tmpfile() fails at start (Bug #3919) 2004-05-28 11:15:59 +03:00
monty@mysql.com
be7f1a3570 merge with 4.0 to get fix for hpux 2004-05-28 02:04:07 +03:00
monty@mysql.com
33dcccb5bf Portability fix for HPUX 2004-05-28 02:00:34 +03:00
marko@hundin.mysql.fi
fc85c80b88 InnoDB cleanup:
Disable log archiving code unless #ifdef UNIV_LOG_ARCHIVE
Remove (char*) casts of string constants; add const qualifiers
Remove some Hot Backup code unless #ifdef UNIV_HOTBACKUP
2004-05-27 15:27:43 +03:00
monty@mysql.com
3ad2158b42 Portability fixes 2004-05-27 12:03:16 +03:00
monty@mysql.com
61a6557307 merge with 4.0 to get windows fixes 2004-05-27 00:30:28 +03:00