Commit graph

40 commits

Author SHA1 Message Date
jan
1cae280896 Forward port r127 from branches/5.0:
Fixed a bug #16229 MySQL/InnoDB uses full explicit table locks 
in trigger processing. Take a InnoDB table lock only if user has explicitly
requested a table lock. Added some additional comments to store_lock() and 
external_lock(). Added test cases for a bug. Fixed some code style errors.
2006-01-12 09:16:11 +00:00
jan
191ae582a2 Forward port r108 from from branches/5.0:
Fixed bug #15308: Problem of Order with Enum Column in 
Primary Key. Added a new test case for bug #14056.
2006-01-12 08:58:56 +00:00
jan
f94253678c Forward port r120 from branches/5.0:
Added diagnostic code trx_print() to 
innobase_query_caching_of_table_permitted() to find reason
why we are holding adaptive search latch.
2006-01-12 08:42:46 +00:00
marko
2ba82679b3 Port r125 from branches/5.0:
dict_load_columns(): Set the charset-collation code
DATA_MYSQL_BINARY_CHARSET_COLL for those binary string columns
that lack a charset-collation code, i.e., the tables were created
with an older version of MySQL/InnoDB than 4.1.2.  (Bug #16298)
2006-01-11 13:19:16 +00:00
osku
9fad661fea Forward port r121 from branches/5.0:
Optimize sync array behavior by not having the woken threads reserve the
sync array mutex.
2006-01-10 11:38:47 +00:00
marko
dd42a65a69 Port r118 from branches/5.0:
Remove some declarations of unused global variables and member variables
of class ha_innobase.
2006-01-05 07:54:34 +00:00
osku
df9fc54d97 Forward port r115 from branches/5.0:
Fix bug #16157, a crash when innodb_log_group_home_dir is set to an empty
string. This patch is from Heikki.
2006-01-04 12:52:45 +00:00
marko
33bc8a79a4 Port r114 from branches/5.0:
lock_rec_unlock(): Initialize local variable release_lock, in order to avoid
dereferencing an uninitialized pointer when no lock exists on rec.

This bug was introduced in r103 of branches/5.0, ported as r104 to trunk.
2006-01-03 13:54:05 +00:00
marko
7515828b3e Merge r112 from branches/5.0:
os_file_handle_error(): Map the error codes EXDEV, ENOTDIR, and EISDIR
to the new code OS_FILE_PATH_ERROR.  Treat this code as OS_FILE_PATH_ERROR.
This fixes the crash on RENAME TABLE when the .ibd file is a symbolic link
to a different file system.  (Bug #15991)
2006-01-03 13:36:55 +00:00
marko
6162aa3915 Port r110 from branches/5.0:
Do not log empty binlog file name at transaction commit.

trx_commit_off_kernel(): Do not write empty trx->mysql_log_file_name.
2005-12-30 12:39:17 +00:00
marko
8f7f6b3c2a Port r106 from branches/5.0:
Protect the increment and decrement operations on the statistic variables
os_n_pending_writes and os_n_pending_reads with os_file_count_mutex.
2005-12-20 15:22:49 +00:00
osku
2a59184a40 From MySQL:
Restore "make dist" for the header files in "innobase/include".
2005-12-20 09:41:30 +00:00
jan
78e381b659 Port r103 from braches/5.0 to trunk.
Fixed a bug on unlock_row. In a unlock_row we may unlock
only the latest lock granted to this transaction to the row.
2005-12-16 07:21:33 +00:00
osku
5b2758ca7b From MySQL:
Fix for BUG#11704: "Found locks from different thread" warnings:
 The source of warnings was this scenario in OPTIMIZE:

     thr1: lock table with TL_WRITE_ONLY (InnoDB converts lock to
     TL_WRITE_ALLOW_WRITE)

     thr2: (UPDATE command) obtains a TL_WRITE_ALLOW_WRITE lock

     thr1: call mysql_lock_abort(). This function sets type of thr'1 lock
     to TL_WRITE_ONLY

     thr2: try to release thr2's lock. See two locks: TL_WRITE_ONLY,
     TL_WRITE_ALLOW_WRITE and produce a warning.
   
The fix: Make InnoDB not to convert TL_WRITE_ONLY locks to
TL_WRITE_ALLOW_WRITE in OPTIMIZE TABLE.
2005-12-15 10:53:54 +00:00
jan
14876884bf Port r100 from branches/5.0 to trunk. 2005-12-15 07:00:12 +00:00
marko
eacc1b5d75 Port r98 from branches/5.0: INCOMPATIBLE CHANGE:
Do not pad VARBINARY or BINARY columns. (Bug #14189)

innodb.test, innodb.result: Add test cases for foreign key constraints
between VARBINARY and BINARY columns, and between VARCHAR BINARY and
CHAR BINARY columns.

innobase_init(): Assert that
DATA_MYSQL_BINARY_CHARSET_COLL == my_charset_bin.number.

dtype_get_pad_char(): Do not pad VARBINARY or BINARY columns.

row_ins_cascade_calc_update_vec(): Refuse ON UPDATE CASCADE
when trying to change the length of a VARBINARY column
that refers to or is referenced by a BINARY column.  BINARY
columns are no longer padded on comparison, and thus they
cannot be padded on storage either.
2005-12-14 14:05:34 +00:00
osku
f6eb9bc784 Port r95 and r96 from branches/5.0 to trunk:
Add tests for >1K keys on 32-bit platforms.

Clean up innodb_gis.test.
2005-12-12 12:42:41 +00:00
jan
d58a6c7c6a trunk: Port a fix for bug #15308 Problem of Order with Enum Column in Primary
Key from branches/5.0.
2005-12-12 11:18:31 +00:00
marko
d95245ce04 row_ins_foreign_report_add_err(): When printing the parent record, use the
index in the parent table rather than the index in the child table.
(Bug #15550)

innodb.test, innodb.result: Add test cases for foreign key errors.
2005-12-09 12:57:48 +00:00
marko
5d0b073d46 trunk: Remove error introduced in r87 of branches/5.0, ported in r88:
In row_ins_set_detailed(), truncate the tmpfile by os_file_set_eof(), because
trx_set_detailed_error_from_file() does not call ftell() to determine
the actual length of the file.  This bug resulted in trash being appended
to foreign key error messages.
2005-12-09 07:46:45 +00:00
osku
389c33b746 Port r87 from branches/5.0:
Work around Bug #12071: Do not call os_file_create_tmpfile() at runtime.
Instead, create all tempfiles at startup and guard access to them with
mutexes.
2005-12-08 14:27:09 +00:00
osku
213381805c innodb.result: Fix things to match with latest MySQL changes. 2005-12-02 08:22:49 +00:00
osku
f170421e74 Reintroduce geometry support that was temporarily removed in r4. 2005-12-01 14:20:36 +00:00
osku
94cdd5c068 From MySQL:
We new use TABLE_SHARE instead of TABLE when creating engine handlers.
2005-11-30 12:31:55 +00:00
osku
1ed017dd69 From MySQL:
innobase_savepoint():
  Replaced check which always failed due to similar check in caller
  with assertion.
2005-11-30 12:30:36 +00:00
osku
8f9c53cee4 From MySQL:
Fixed compiler error for Win32 build.
2005-11-30 12:29:46 +00:00
osku
241e97fba0 Support >4GB buffer pool and log files on 64-bit Windows. Fixes bug
#12701.

Synced from MySQL.
2005-11-29 11:10:15 +00:00
marko
05392a9d8a Port r53 from branches/5.0:
Make comments about buf_block_t::index more accurate.
2005-11-17 09:00:25 +00:00
marko
96cccd1538 Merge patch to MySQL/InnoDB 5.0: Fix Bug #14747.
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.
2005-11-16 15:10:37 +00:00
osku
7163d59f4a Forward-port r46 from branches/5.0:
Mostly fix bug #13778, when FOREIGN_KEY_CHECKS=0 we still need to check
that datatypes between foreign key references are compatible.

Add test cases (also for bug #9802).
2005-11-16 07:26:20 +00:00
osku
dfa8edb51a export.sh: Store log messages in export directory and refactor operations
to avoid warnings.
2005-11-07 13:52:11 +00:00
osku
81f79a5090 Fix comments for memory allocation functions and add some extra checks.
Adapt callers.
2005-11-04 14:20:11 +00:00
osku
1a77f1c52c Check index column sizes in a better way (bug #13315). 2005-11-04 10:57:22 +00:00
osku
8a2d0ab0c8 Add compile-innodb-debug and modify setup.sh to copy it to ../BUILD. 2005-11-04 07:53:04 +00:00
osku
3b64b88146 Delete db/db0err.h and db directory. 2005-11-04 07:44:33 +00:00
marko
db3fb81d49 Remove include/Makefile.am and the references to it. 2005-11-03 11:23:49 +00:00
osku
000bff7df4 include/Makefile.am: Remove reference to removed makefilewin.i. 2005-10-27 09:37:17 +00:00
osku
e653f84f3f Add 5.0 -> 5.1 changes. 2005-10-27 07:51:34 +00:00
osku
2903c72469 Import 5.0 code. 2005-10-27 07:29:40 +00:00
osku
3de9a53e2f Create directory structure. 2005-10-27 07:02:45 +00:00