Commit graph

46 commits

Author SHA1 Message Date
osku
b0bbf41d4c From MySQL:
After merge fixes.
2006-04-24 11:33:00 +00:00
osku
1542ec0aa7 Remove remnants of the obsolete concept of memoryfixing tables and indexes.
Remove unused dict_table_LRU_trim().

Remove unused 'trx' parameter from the functions dict_table_get_on_id_low,
dict_table_get and dict_table_get_and_increment_handle_count.
2006-04-24 09:39:13 +00:00
osku
6c3a3d2dc4 Move calling of thr_local_free() from trx_free_for_mysql() to
innobase_close_connection().
2006-03-31 04:58:02 +00:00
jan
68f8607c06 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
563d9a0618 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
cf06d8d965 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
62dcf3fba2 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
caf6ee67eb 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
8e7ffddcff 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
7c145068d1 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
d62f8b7dc4 Merge changes from MySQL that were identified when merging r269 to MySQL. 2006-03-10 14:26:08 +00:00
osku
a7355764e9 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
78971825b2 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
8505ff17c8 Fix invalid brace positioning and spaces before tabs. 2006-02-24 09:53:01 +00:00
osku
f6796c0129 Remove tabs from within printed strings and two instances of trailing
whitespace.
2006-02-24 09:41:20 +00:00
osku
91a43f7ed1 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
6be49d6766 Style cleanups: Convert spaces to tabs, remove trailing whitespace, other
misc cleanups.
2006-02-21 12:37:54 +00:00
osku
73d3dd79dd Remove the concept of "field order", as we will not support descending order
indexes.
2006-02-20 12:38:10 +00:00
osku
bbdb0f41b2 Fix all function declarations to have the correct number of '=' characters. 2006-02-20 12:12:22 +00:00
marko
f6485936c0 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
48eb9e46a1 Apply InnoDB-specific parts of the fix for bug #9680, wrong error from
cascading update.
2006-02-10 09:16:35 +00:00
marko
546078cc07 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
0a1ae92ce3 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
c932f9a9fe 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
c97b724d7a 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
5674905ffb 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
c91e3017c0 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
dc8fdd92f3 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
c2083023c4 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
6c70351358 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
7b1119ef52 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
e88869eeee 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
ebe34127fa 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
6915755dc5 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
c088f6d38c 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
0809de5d74 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
2d78585bf3 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
f937f1516a 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
861a7b1cb0 Reintroduce geometry support that was temporarily removed in r4. 2005-12-01 14:20:36 +00:00
osku
659215dca1 From MySQL:
We new use TABLE_SHARE instead of TABLE when creating engine handlers.
2005-11-30 12:31:55 +00:00
osku
2c784ee39f 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
ffe7dc3463 From MySQL:
Fixed compiler error for Win32 build.
2005-11-30 12:29:46 +00:00
osku
bf7d7ba0d8 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
9d2799dad9 Check index column sizes in a better way (bug #13315). 2005-11-04 10:57:22 +00:00
osku
994aaaac93 Add 5.0 -> 5.1 changes. 2005-10-27 07:51:34 +00:00
osku
c307820962 Import 5.0 code. 2005-10-27 07:29:40 +00:00