Commit graph

45 commits

Author SHA1 Message Date
osku
8289f64a58 Move calling of thr_local_free() from trx_free_for_mysql() to
innobase_close_connection().
2006-03-31 04:58:02 +00:00
jan
fd93a09ed0 Port r388 from trunk: Remove assertion ut_error which crashes the mysqld
server if it prints a warning about the adaptive latch.
2006-03-29 11:23:10 +00:00
jan
dd35291070 Port r375 from branches/5.0: Fix bug #15650 additional error InnoDB:
Error: unlock row could not find a 0 mode lock on the record.
2006-03-28 06:34:12 +00:00
jan
1bd22ab327 Setting a isolation level of the transaction to read committed
weakens the locks for this session similarly like the option
innodb_locks_unsafe_for_binlog. This patch removes almost all
gap locking (used in next-key locking) and makes MySQL to release
the row locks on the rows which does not belong to result set.
Additionally, nonlocking selects on INSERT INTO SELECT,
UPDATE ... (SELECT ...), and CREATE ... SELECT ... use a
nonlocking consistent read. If a binlog is used, then binlog
format should be set to row based binloging to make the execution
of the complex SQL statements.
2006-03-27 05:33:30 +00:00
jan
df5ec8b2f3 Merge r357 from branches/5.0: Fix bug #18350 Use consistent read in
CREATE ... SELECT... if innodb_locks_unsafe_for_binlog is used. 
This patch is from Heikki.
2006-03-21 10:00:30 +00:00
marko
43a21f6ed4 Merge r328:340 from branches/5.0:
r340: Fix http://bugs.mysql.com/bug.php?id=18283 in ha_innodb.cc and
http://bugs.mysql.com/bug.php?id=18238 in InnoDB

r339: Remove disk space leak on update of BLOB columns (Bug #18252).

btr_cur_pessimistic_update(): Invoke rec_get_offsets() after
rec_set_field_extern_bits().

btr_store_big_rec_extern_fields(): Note that offsets will no longer be
valid after calling this function.

r338: Fix bug 18238 : check in pessimistic insert and update if the buffer
pool is exhausted by locks
2006-03-17 08:20:14 +00:00
jan
675d29fe96 Forward port r315 from branches/5.0:
Fix a bug #18077 InnoDB uses full explicit table locks in
stored FUNCTION.
2006-03-13 09:51:38 +00:00
marko
8f6fdc86a8 Do not use inlined functions in ha_innodb.cc.
Add dict_table_is_comp_noninline().  Replace calls to dict_table_is_comp()
in ha_innodb.cc with dict_table_is_comp_noninline().
2006-03-13 09:27:34 +00:00
marko
5317b07a9b Merge changes from MySQL that were identified when merging r269 to MySQL. 2006-03-10 14:26:08 +00:00
osku
52d2051e95 Change ut_print_buf() and mem_analyze_corruption() to take a void*, not a
byte*. Remove redundant casts from callers.
2006-03-06 09:45:04 +00:00
osku
1a8f28e6dd Remove "ibool comp" from dict_table_t and replace it with "ulint flags"
which can contain the new flag DICT_TF_COMPACT. Change dict_mem_table_create
to take a flags argument. Add dict_table_is_comp(). Adapt all users.

Change some places to explicitly assume that system tables do not use the
compact page format.
2006-02-27 09:11:57 +00:00
osku
ab8517f396 Fix invalid brace positioning and spaces before tabs. 2006-02-24 09:53:01 +00:00
osku
591e526f93 Remove tabs from within printed strings and two instances of trailing
whitespace.
2006-02-24 09:41:20 +00:00
osku
b5ebf0b4be Port r225 from branches/5.0:
Fix memory allocation bug (by changing MY_WME to MY_FAE) in
ha_innodb.cc:get_share.
2006-02-22 12:48:49 +00:00
osku
ac69f8c21b Style cleanups: Convert spaces to tabs, remove trailing whitespace, other
misc cleanups.
2006-02-21 12:37:54 +00:00
osku
460042ef0d Remove the concept of "field order", as we will not support descending order
indexes.
2006-02-20 12:38:10 +00:00
osku
44a14a1791 Fix all function declarations to have the correct number of '=' characters. 2006-02-20 12:12:22 +00:00
marko
fb345eefe5 Revert r148 until MySQL AB has finally merged the code to the 5.1 tree:
Port r146 from branches/5.0:

Make innodb_flush_log_at_trx_commit a settable global variable.
2006-02-13 11:57:38 +00:00
osku
08af835d23 Apply InnoDB-specific parts of the fix for bug #9680, wrong error from
cascading update.
2006-02-10 09:16:35 +00:00
marko
9b1c2825ff Import mysql-5.1-new changeset 1.1945.48.1 (Anthony Curtis):
Finalize storage engine plugins

ha_innodb.cc: remove unwanted handlerton entries; changes for show status
2006-01-27 10:17:02 +00:00
marko
82381c6bef Import mysql-5.1-new changeset 1.2012.1.8 (Sergei Golubchik):
WL#2935 - SHOW STATUS support in plugins

ha_innodb.cc, ha_innodb.h: s/struct show_var_st/SHOW_VAR/
2006-01-27 09:57:01 +00:00
marko
a99f33bb33 Import mysql-5.1-new changeset 1.2012.1.6 (Sergei Golubchik):
Remove the declaration of innodb_export_status(), as it will
from now on be invoked via a function pointer in innobase_hton.
2006-01-27 09:45:57 +00:00
marko
a4f11935e1 Import mysql-5.1-new changeset 1.2011.1.1 (Alexander Barkov):
WL#1324 table name to file name encoding

ha_innobase::create(): do not remove .frm extension

row_is_mysql_tmp_table_name(): replace '#' with '@0023'
2006-01-27 09:41:19 +00:00
marko
bf58448f97 Import those changes from mysql-5.1-new ChangeSet 1.1979 (Lars Thalmann)
that were not part of r154.  (Bug #3300)

innodb.test, innodb.result: Remove binlog related tests, because they
are not InnoDB specific; they merely require a transactional table.

ha_innobase::ha_innobase(): Add HA_PRIMARY_KEY_ALLOW_RANDOM_ACCESS
to table_flags.

ha_innobase::rnd_init(): Disable semi-consistent read for random access.
2006-01-27 09:34:55 +00:00
marko
e62060724f Implement semi-consistent read to reduce lock conflicts at the cost
of breaking serializability.  (Bug #3300)

ha_innobase::unlock_row(): reset the "did semi consistent read" flag

ha_innobase::was_semi_consistent_read(),
ha_innobase::try_semi_consistent_read(): new methods

row_prebuilt_t, row_create_prebuilt(): add field row_read_type for
keeping track of semi-consistent reads

row_vers_build_for_semi_consistent_read(),
row_sel_build_committed_vers_for_mysql(): new functions

row_search_for_mysql(): implement semi-consistent reads
2006-01-26 10:45:27 +00:00
marko
6234dd648e Port r146 from branches/5.0:
Make innodb_flush_log_at_trx_commit a settable global variable.
2006-01-19 13:31:02 +00:00
marko
34f1d3e6d6 Port r145 from branches/5.0:
Make innodb_thread_concurrency 0 by default, and extend the useable
range from 0 to 1000 (0 disables the thread throttling).

Remove SRV_CONCURRENCY_THRESHOLD (20).  The magic value to
disable the thread throttling is 0 from now on.
2006-01-19 13:30:20 +00:00
osku
8c66ed2c3b Port r139 from branches/5.0:
From MySQL:

Fix bug #15108 (mysqld crashes when innodb_log_file_size is set > 4GB).
2006-01-18 10:52:53 +00:00
jan
04e8d675c5 Forward port r133 from branches/5.0:
Remember to use noninlined versions of the functions
on ha_innodb.cc !
2006-01-17 13:08:48 +00:00
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
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
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
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
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
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
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
osku
1a77f1c52c Check index column sizes in a better way (bug #13315). 2005-11-04 10:57:22 +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