Commit graph

1330 commits

Author SHA1 Message Date
osku@127.(none)
04056ffd3d InnoDB: Print more than 300 characters of queries in various error conditions,
most notably deadlocked ones in SHOW INNODB STATUS. Fixes bug #7819.
2005-08-12 11:39:19 +03:00
vtkachenko@quadxeon.mysql.com
fc22a36d78 set_var.cc, mysqld.cc, ha_innodb.h, ha_innodb.cc, srv0srv.c, srv0srv.h:
Added innodb_commit_concurrency variable
2005-08-11 18:03:01 +02:00
konstantin@mysql.com
8392a814af A fix and a test case for Bug#12243 "MySQL Server crashes with 2
cursors (+ commit)" and Bug#11832 "Server crash with InnoDB + Cursors"
See comments to the changed files.
2005-08-10 18:36:13 +04:00
heikki@hundin.mysql.fi
34e9cdd500 Merge hundin.mysql.fi:/home/heikki/mysql-4.1
into  hundin.mysql.fi:/home/heikki/mysql-5.0
2005-08-03 18:30:24 +03:00
heikki@hundin.mysql.fi
82b2a0a366 buf0buf.c:
Fix a bug: InnoDB could in a crash recovery print a big false corruption warning if the first page of an ibdata file was 'recreated' in the buffer pool; this could happen, for example, if a table was dropped, and the page used later
2005-08-03 18:21:38 +03:00
heikki@hundin.mysql.fi
74fd4504bb Many files:
Push the patch of Jan Lindstrom: better comments
ha_innodb.cc:
  Partial fix for Bug #12263 : we let InnoDB always to perform a rollback on the trx object if MySQL closes a connection; but we do print a warning to the .err log if an InnoDB transaction was active; we may remove that print later, since the situation really is not a bug; MySQL just is not aware that some cursor operation started an InnoDB transaction
2005-08-03 17:09:21 +03:00
marko@hundin.mysql.fi
f0f2738c4c row0sel.c:
row_sel_store_mysql_rec(): Make comment about space padding
  more accurate.
2005-07-28 13:15:36 +03:00
marko@hundin.mysql.fi
4b0d6a3877 row_sel_store_mysql_rec(): Convert NULL true VARCHAR columns
correctly.
2005-07-28 12:30:52 +03:00
marko@hundin.mysql.fi
5dd8eeef3a Merge hundin.mysql.fi:/home/marko/mysql-4.1
into  hundin.mysql.fi:/home/marko/mysql-5.0
2005-07-26 14:43:48 +03:00
marko@hundin.mysql.fi
a89939c8e7 InnoDB: Do not flush after each write, not even when creating the
data files.  Previously, writes were flushed until the doublewrite
buffer was created.  That would be too slow on systems where
os_file_flush() [or fsync(2)] is slow.  (Bug #12125)
2005-07-26 14:03:34 +03:00
jan@hundin.mysql.fi
7d5e724c40 Implement MySQL framework to support consistent read views in
cursors for InnoDB. The idea of the patch is that if MySQL requests
a consistent read view, we open one when open a cursor, set is as the
active view to a transaction when fetch from the cursor, and close
together with cursor close. This patch is associated to bugs #11813, 
#11832, and #11833. Contains after review fixes.
2005-07-22 14:10:03 +03:00
kent@mysql.com
b598c67eba sync0sync.c, sync0sync.h:
Declare 'mutex_list' and 'mutex_list_mutex' extern,
  to avoid link error on OS X and gcc flag "-fno-common"
2005-07-21 18:05:10 +02:00
marko@hundin.mysql.fi
006bb7bbc9 InnoDB: Make the srv_thread_concurrency checks more consistent. 2005-07-06 09:38:31 +03:00
marko@hundin.mysql.fi
3760b8acfe InnoDB: Fix compile-pentium-debug-max compilation problem. 2005-07-05 12:10:20 +03:00
marko@hundin.mysql.fi
774916a902 Merge marko@bk-internal.mysql.com:/home/bk/mysql-5.0
into hundin.mysql.fi:/home/marko/mysql-5.0-current
2005-07-04 16:12:08 +03:00
heikki@hundin.mysql.fi
8bc2fbb0f8 row0sel.c:
Optimize speed: no need to keep track of set new rec locks in a consistent read
2005-07-02 00:39:47 +03:00
heikki@hundin.mysql.fi
44c0f57d53 trx0trx.h, trx0trx.ic, row0mysql.c:
Fix another bug in the fix of Bug #3300
2005-07-01 22:53:08 +03:00
heikki@hundin.mysql.fi
50eab8cf01 trx0trx.ic, trx0trx.h:
Fix bug in the Bug #3300 bug fix
2005-07-01 21:06:23 +03:00
heikki@hundin.mysql.fi
4fe03b705a Many files:
Fix Bug #3300 : if innodb_locks_unsafe_for_binlog is set, release locks on rows that we do not UPDATE or DELETE
2005-07-01 20:44:35 +03:00
marko@hundin.mysql.fi
d115c0d629 InnoDB: Fix a bug in BLOB handling; optimize null flag handling. 2005-06-30 13:20:38 +03:00
marko@hundin.mysql.fi
efba4c3e9e InnoDB: Optimize page_cur_search_with_match(). 2005-06-30 11:15:06 +03:00
marko@hundin.mysql.fi
d4901de808 Merge hundin.mysql.fi:/home/marko/mysql-4.1
into hundin.mysql.fi:/home/marko/mysql-5.0-current
2005-06-28 10:51:01 +03:00
heikki@hundin.mysql.fi
b3f1c60ed9 Many files:
Remove compiler warnings on Windows - Bug #11580
2005-06-27 18:58:32 +03:00
marko@hundin.mysql.fi
99efe90098 InnoDB: After review fixes 2005-06-27 17:25:37 +03:00
marko@hundin.mysql.fi
8064ee217f InnoDB: Optimize the extension of files. This will greatly speed
up CREATE TABLE in innodb_file_per_table=1 mode.
2005-06-27 17:04:57 +03:00
heikki@hundin.mysql.fi
8414902ab6 Merge heikki@bk-internal.mysql.com:/home/bk/mysql-5.0
into hundin.mysql.fi:/home/heikki/mysql-5.0
2005-06-27 11:01:03 +03:00
svoj@mysql.com
367017d630 WL#2286 - Compile MySQL w/YASSL support
Fix for compilation failure with Forte Developer C++.
2005-06-23 21:29:44 +05:00
heikki@hundin.mysql.fi
2358cb0895 Merge heikki@bk-internal.mysql.com:/home/bk/mysql-5.0
into hundin.mysql.fi:/home/heikki/mysql-5.0
2005-06-22 20:07:31 +03:00
marko@hundin.mysql.fi
5f2ddcf580 InnoDB: Remove compilation warnings and errors on SGI IRIX. 2005-06-22 12:51:00 +03:00
marko@hundin.mysql.fi
eb42421e4a InnoDB: Replace for loops with memset() where possible. 2005-06-22 12:36:24 +03:00
marko@hundin.mysql.fi
94b1429459 InnoDB: Correct a function comment. 2005-06-22 12:02:31 +03:00
heikki@hundin.mysql.fi
1148e3ce44 Merge heikki@bk-internal.mysql.com:/home/bk/mysql-5.0
into hundin.mysql.fi:/home/heikki/mysql-5.0
2005-06-21 20:15:22 +03:00
marko@hundin.mysql.fi
8cff472a83 log0log.c:
log_checkpoint_margin(): Correct a typo that was introduced
  when fixing gcc 4.0 warnings.
2005-06-21 14:55:20 +03:00
marko@hundin.mysql.fi
a5cbbb7031 InnoDB: Remove some warnings reported by GCC 4.0.0. 2005-06-21 11:49:55 +03:00
marko@hundin.mysql.fi
e992adcb3f Merge hundin.mysql.fi:/home/marko/mysql-5.0
into hundin.mysql.fi:/home/marko/mysql-5.0-current
2005-06-21 07:36:18 +03:00
marko@hundin.mysql.fi
f70798884c InnoDB: Remove warnings detected by GCC 4.0.0 2005-06-20 11:06:20 +03:00
marko@hundin.mysql.fi
85515b579e InnoDB: remove flag lock_print_waits from non-debug builds. 2005-06-17 15:29:03 +03:00
heikki@hundin.mysql.fi
f3493ee6f7 trx0undo.c:
Apply manually Jan's patch to remove 64-Windows compiler warnings that were reported by Georg Richter
2005-06-17 15:08:57 +03:00
marko@hundin.mysql.fi
d3d5d6b075 pars0lex.l:
Add one more step to the patching instructions.
lexyy.c:
  Fix a Win64 type conversion warning
2005-06-17 12:00:05 +03:00
marko@hundin.mysql.fi
a5025b8ebe InnoDB: After review fixes 2005-06-16 16:59:49 +03:00
marko@hundin.mysql.fi
f11bbee74f InnoDB: Fix ut0dbg compilation errors on NetWare 2005-06-16 15:00:25 +03:00
marko@hundin.mysql.fi
4ef632ba3b InnoDB: Remove unreachable debug code from non-debug builds. 2005-06-15 12:50:27 +03:00
marko@hundin.mysql.fi
9084d3dd68 InnoDB: Cleanup and after review fixes. 2005-06-14 12:21:40 +03:00
marko@hundin.mysql.fi
40516ad80c InnoDB: Remove unreferenced debug functions from non-debug builds. 2005-06-13 11:39:31 +03:00
marko@hundin.mysql.fi
3cbaf365e6 InnoDB: Remove compiler warning 2005-06-10 15:55:00 +03:00
heikki@hundin.mysql.fi
6c38471e87 os0sync.c, os0file.c:
Apply Georg Richter's fixes to remove compilation errors on 64-bit Windows
2005-06-10 14:18:36 +03:00
marko@hundin.mysql.fi
92d5b7c0fd InnoDB: minor clean-up in os0file 2005-06-10 14:00:53 +03:00
marko@hundin.mysql.fi
55c3936a5f innobase/include/univ.i: Added some comments. 2005-06-10 12:29:35 +03:00
marko@hundin.mysql.fi
9916f14bb6 InnoDB: Improved the handling of assertions. 2005-06-10 12:22:23 +03:00
marko@hundin.mysql.fi
1f86577576 btr0cur.c:
Move the flag btr_cur_print_record_ops behind #ifdef UNIV_DEBUG.
  Remove unused variable btr_cur_rnd.
2005-06-10 11:40:20 +03:00
marko@hundin.mysql.fi
c3da5b0b7b InnoDB: Do not distinguish explicitly requested table locks.
Since UNLOCK TABLES will commit the transaction (and thus release
all InnoDB locks held by it), it is unnecessary to release the
user-requested table locks separately.
2005-06-08 15:45:56 +03:00
serg@serg.mylan
29d6af8d9a merged 2005-05-28 01:28:18 +02:00
marko@hundin.mysql.fi
5d0bc0b482 Merge hundin.mysql.fi:/home/marko/k/mysql-4.0
into hundin.mysql.fi:/home/marko/mysql-4.1
2005-05-26 15:57:24 +03:00
marko@hundin.mysql.fi
2d5b96798f InnoDB: Check all referencing tables in DROP DATABASE (Bug #10335). 2005-05-26 15:42:24 +03:00
marko@hundin.mysql.fi
5a8cfc1541 srv0start.c:
innobase_shutdown_for_mysql(): Do very fast shutdown
  only if srv_fast_shutdown==2, not if srv_fast_shutdown!=0
  (Bug #9673)
2005-05-25 12:41:57 +03:00
jan@hundin.mysql.fi
16c96b88d5 Print information about XA recovery only if there are prepared XA transactions
after recovery.
2005-05-24 14:06:44 +03:00
konstantin@mysql.com
89bd09fed2 Manual merge (again) 2005-05-14 12:38:12 +04:00
heikki@hundin.mysql.fi
d4bbdad2f6 row0mysql.c:
InnoDB wrongly complained in the .err log that MySQL is trying to drop a non-existent table, if tablespace ran out (Bug #10607)
2005-05-13 18:37:22 +03:00
marko@hundin.mysql.fi
24afa4e0fe InnoDB ON UPDATE CASCADE fixes:
Enforce maximum char_length of UTF-8 data (Bug #10409).
Pad UTF-8 variable-length CHAR columns with 0x20.
Pad UCS2 CHAR columns with 0x0020 (Bug #10511).
2005-05-13 12:55:59 +03:00
marko@hundin.mysql.fi
ec0052cda4 After merge fix 2005-05-06 12:43:10 +03:00
marko@hundin.mysql.fi
2f0424cd62 Merge 2005-05-06 11:45:59 +03:00
marko@hundin.mysql.fi
f9e7e2ee90 Merge marko@bk-internal.mysql.com:/home/bk/mysql-4.1
into hundin.mysql.fi:/home/marko/mysql-4.1
2005-05-06 10:15:58 +03:00
marko@hundin.mysql.fi
3009f4bf21 Remove unused function rec_offs_nth_null().
rec_offs_nth_extern(): Return zero/nonzero instead of FALSE/TRUE.
2005-04-27 13:35:57 +03:00
marko@hundin.mysql.fi
194593b8a9 Fix bugs found in previous optimizations.
Make rec_get_deleted_flag() return zero/nonzero instead of FALSE/TRUE.
2005-04-27 12:28:44 +03:00
heikki@hundin.mysql.fi
9eadf2366c Merge hundin.mysql.fi:/home/heikki/mysql-4.1
into hundin.mysql.fi:/home/heikki/mysql-5.0
2005-04-27 03:02:25 +03:00
heikki@hundin.mysql.fi
bea92e1646 dict0dict.c, dict0dict.h, fil0fil.c:
Fix a problem in crash recovery of .ibd files on Windows if the user used lower_case_table_names=0 or 2; the directory scan in crash recovery forgot to put all paths to lower case, so that the tablespace name would be consistent with the internal data dictionary of InnoDB; remember that InnoDB puts internally all database names and table names to lower case on Windows, regardless of the value of lower_case_table_names
2005-04-27 02:57:19 +03:00
marko@hundin.mysql.fi
b3d6f51705 InnoDB: Performance optimizations based on OProfile analysis 2005-04-25 10:14:35 +03:00
marko@hundin.mysql.fi
ee7ed76393 rem0cmp.c:
Add UNIV_LIKELY and UNIV_UNLIKELY hints.
  cmp_dtuple_rec_with_match(): Move condition outside loop.
  Reduce the number of comparisons per iteration.
mtr0mtr.c:
  mtr_memo_slot_release(): Add a UNIV_LIKELY hint.
  Simplify the preprocessor magic.
buf0buf.c:
  buf_page_optimistic_get_func(): Add UNIV_UNLIKELY hints.
  Introduce an exit_func label to remove duplicated error exits.
2005-04-22 15:47:46 +03:00
marko@hundin.mysql.fi
a5e9c8ad03 InnoDB: Optimize rec_get_offsets(), rec_copy_prefix_to_buf() and
other rec_ functions based on OProfile measurements on GNU/Linux x86.
2005-04-22 15:27:11 +03:00
marko@hundin.mysql.fi
ba4f386765 row0upd.c:
Add UNIV_UNLIKELY hint.
lock0lock.c:
  Correct the prototypes of lock_deadlock_recursive() and
  lock_deadlock_occurs().
data0data.c:
  dtuple_convert_big_rec(): Add UNIV_UNLIKELY hint.
ha_innodb.cc:
  ha_innobase::write_row(): Correct the type of 'mode'.
2005-04-22 15:15:18 +03:00
marko@hundin.mysql.fi
14cf8a55c8 InnoDB: Some low-level optimizations made based on OProfile results. 2005-04-22 14:04:18 +03:00
marko@hundin.mysql.fi
d7f9dffd95 dict0dict.c:
Add some UNIV_LIKELY and UNIV_UNLIKELY hints.
  dict_tree_copy_rec_order_prefix(): Add a UNIV_PREFETCH_R hint on rec.
2005-04-22 13:43:49 +03:00
marko@hundin.mysql.fi
7284c72dea InnoDB: Make branch prediction assume that assertions do not fail. 2005-04-21 15:27:18 +03:00
marko@hundin.mysql.fi
ab713b4b22 InnoDB: Speed up comparison functions by making
DATA_MYSQL_LATIN1_SWEDISH_CHARSET_COLL a constant.
2005-04-21 15:09:10 +03:00
marko@hundin.mysql.fi
ffeee9cee3 InnoDB: Reduce memcpy() load in row_sel_pop_cached_row_for_mysql()
by copying only a prefix of the row that covers the requested
columns.
2005-04-21 15:02:54 +03:00
marko@hundin.mysql.fi
c470116981 InnoDB: Define some macros around GCC's __builtin_expect()
and __builtin_prefetch().
Add UNIV_LIKELY_NULL to if (heap) mem_free_heap(heap) tests.
2005-04-21 14:23:26 +03:00
marko@hundin.mysql.fi
df780de614 InnoDB: Make CHECK TABLE killable. (Bug #9730) 2005-04-20 17:39:05 +03:00
marko@hundin.mysql.fi
f9d145ef04 InnoDB: Truncate SHOW INNODB STATUS output at the start of the list
of active transactions, if necessary and possible.  (Bug #5436)
2005-04-19 14:35:47 +03:00
marko@hundin.mysql.fi
e360eaed5e InnoDB: Replace the redo log entry type
MLOG_COMP_REC_SEC_DELETE_MARK with MLOG_REC_SEC_DELETE_MARK
in order to reduce the space occupied by the redo log.
2005-04-18 15:12:30 +03:00
jan@hundin.mysql.fi
384efc4493 Fixed a bug: deadlock without any locking, simple select and update (Bug #7975).
Backported from 5.0.3.
2005-04-18 12:17:32 +03:00
gbichot@quadita2.mysql.com
bc48cda57d Adding --innodb_fast_shutdown=2 which shuts down InnoDB faster than the default "1":
most InnoDB threads are not terminated properly and the buffer pool is not flushed
to disk. Still no committed transaction is lost as we flush the logs to disk.
InnoDB does crash recovery at startup after this shutdown.
Using this shutdown in testsuite (mysql-test-run --mysqld=--innodb_fast_shutdown=2) saved 3 minutes (13% of total time).
2005-04-15 18:00:38 +02:00
heikki@hundin.mysql.fi
31a49c3f73 Merge hundin.mysql.fi:/home/heikki/mysql-4.1
into hundin.mysql.fi:/home/heikki/mysql-5.0
2005-04-14 22:33:17 +03:00
heikki@hundin.mysql.fi
a1f7f57be9 fil0fil.c:
Add fault tolerance in the scan of .ibd files at a crash recovery; formerly a single failure of readdir_get_next caused the rest of the directory to be skipped
2005-04-14 22:27:15 +03:00
jimw@mysql.com
62b78d4182 Merge from 4.1 2005-04-13 10:38:11 -07:00
mskold@mysql.com
ba1cde5c64 Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/usr/local/home/marty/MySQL/mysql-5.0
2005-04-13 18:00:14 +02:00
mskold@mysql.com
add3fd3cca Merge 2005-04-13 16:24:17 +02:00
heikki@hundin.mysql.fi
7cdb04b18b fil0fil.c:
At the shutdown, write the latest lsn only to the first pages of the ibdata files of the system tablespace, NOT to the .ibd files; writing to tens of thousands .ibd files can take minutes
2005-04-13 17:22:04 +03:00
heikki@hundin.mysql.fi
9cfa9b91f8 row0sel.c:
Fix the patch of Jan to optimize next-key locking in searches of type 'primary key >= some value'
2005-04-13 16:49:28 +03:00
heikki@hundin.mysql.fi
aefe018b67 row0sel.c:
Do not test the value of err if the lock operation was skipped because innodb_logs_unsafe_for_binlog was TRUE; though this did not cause any bugs visible to the user, because err is inited to DB_SUCCESS at the start of the function row_search_for_mysql()
2005-04-13 15:49:28 +03:00
jan@hundin.mysql.fi
76a15f8435 Fixed a bug where next-key locking doesn't allow the insert which does
not produce phantom (bug #9354).
2005-04-13 12:07:16 +03:00
marko@hundin.mysql.fi
d5646eb6c5 InnoDB: Ignore character set mismatch in ALTER TABLE and RENAME TABLE
if foreign_key_checks=0. (Bug #9802)
2005-04-12 16:12:34 +03:00
serg@serg.mylan
e1e5b97dea manually merged
Gluh's SESSION/GLOBAL for @variables fix in sql_yacc.yy and
Bar's well_formed_len() changes in ndb code
did not make it and should be re-applied manually
2005-04-06 21:19:20 +02:00
joerg@mysql.com
c47ac8590b Merge mysql.com:/M41/upward-4.1 into mysql.com:/M50/merge-5.0 2005-04-06 14:15:45 +02:00
marko@hundin.mysql.fi
f32fe9c154 InnoDB: Avoid test suite failures caused by a locking conflict
between two server instances at server shutdown/startup.
This conflict on advisory locks appears to be the result of a bug
in the operating system; these locks should be released when the
files are closed, but somehow that does not always happen
immediately in Linux.  (Bug #9381)
2005-04-06 15:09:15 +03:00
heikki@hundin.mysql.fi
0c2caeb4d8 row0sel.c, btr0pcur.c, btr0pcur.ic, btr0pcur.h:
Add diagnostic code to track assertion failure in ut_a(cursor->old_stored == BTR_PCUR_OLD_STORED); the failure happened in OPTIMIZE TABLE, and in 4.0.24 in some other context
2005-04-06 10:27:40 +03:00
marko@hundin.mysql.fi
8d6427659f InnoDB: Disable an assertion that fails on old data due to Bug #9526 2005-04-05 15:13:14 +03:00
heikki@hundin.mysql.fi
9db3965924 dict0dict.c:
Add a note that ENUM in new tables cannot reference ENUM in old tables, in FOREIGN KEY constraints
2005-04-05 11:35:03 +03:00
heikki@hundin.mysql.fi
a226b4aff2 ha_innodb.cc, row0sel.c:
Fix Bug #9526 in 5.0: MySQL ENUM and SET columns are internally actually unsigned integer types; we must take care that old tables still treat ENUM and SET (incorrectly) as a character string, while new created tables treat it correctly as an unsigned integer
2005-04-04 20:31:04 +03:00
serg@serg.mylan
e029e3eb61 Merge bk-internal:/home/bk/mysql-5.0
into serg.mylan:/usr/home/serg/Abk/mysql-5.0
2005-03-22 16:11:43 +01:00
heikki@hundin.mysql.fi
2aa44dd98d Merge hundin.mysql.fi:/home/heikki/mysql-4.1
into hundin.mysql.fi:/home/heikki/mysql-5.0
2005-03-21 22:29:02 +02:00
heikki@hundin.mysql.fi
8a906d79aa trx0trx.c:
If MySQL wrote to its binlog, but for some reason trx->update_undo and trx->insert_undo were NULL in InnoDB, then trx->commit_lsn was garbage, and InnoDB could assert in the log flush of trx_commit_complete_for_mysql() (Bug #9277)
2005-03-21 22:21:55 +02:00
heikki@hundin.mysql.fi
177e7b7f47 Merge 2005-03-21 22:14:00 +02:00
heikki@hundin.mysql.fi
3f378c5232 trx0trx.c, trx0trx.h:
If MySQL wrote to its binlog, but for some reason trx->update_undo and trx->insert_undo were NULL in InnoDB, then trx->commit_lsn was garbage, and InnoDB could assert in the log flush of trx_commit_complete_for_mysql() (Bug #9277)
2005-03-21 22:10:42 +02:00
serg@serg.mylan
da27256e12 Merge bk-internal:/home/bk/mysql-5.0
into serg.mylan:/usr/home/serg/Abk/mysql-5.0
2005-03-18 20:12:31 +01:00
heikki@hundin.mysql.fi
544fb39894 data0type.h:
The missing DATA_BINARY_TYPE in BLOBs created with < 4.0.14 does not cause any harm, because there were no indexes on such BLOBs
2005-03-18 19:16:11 +02:00
heikki@hundin.mysql.fi
c163b6831e data0type.ic:
Change the sorting order of TEXT columns in InnoDB: pad with spaces at the end in comparisons; we MUST UPDATE the MySQL MANUAL to warn about the need to rebuild tables (also MyISAM) in certain cases in an upgrade to 5.0.3; TODO: study what complications the missing DATA_BINARY_TYPE flag in InnoDB < 4.0.14 causes: we would compare then also BLOBs with space padding, not just TEXT
2005-03-18 19:09:22 +02:00
heikki@hundin.mysql.fi
6c9334ed1d data0type.ic:
Revert the change to the space padding of BLOB and TEXT in comparisons; we cannot change the sorting order, because that would make old tables to appear corrupt; better to change LIKE 'a%' processing in MySQL, so that the lower end of the search interval would be 'a', not 'a       '
2005-03-17 18:17:38 +02:00
heikki@hundin.mysql.fi
00325b9b7c data0type.ic:
Fix that 'a' LIKE 'a%' was not true for an InnoDB BLOB or TEXT type column prefix index search: InnoDB assumed that the BLOB and TEXT should not be padded with space in comparisons; this bug is also in 4.1; it may have worked in 4.1 because MySQL may have asked there for strings >= 'a', while in 5.0 it asks for strings >= 'a        '
2005-03-17 17:44:27 +02:00
serg@serg.mylan
aab19698ab Automerge 2005-03-17 10:06:49 +01:00
serg@serg.mylan
19279b1b03 merged 2005-03-16 17:13:43 +01:00
heikki@hundin.mysql.fi
4bf1d9e445 data0data.c:
Allow also long VARCHARs to be stored externally, not just BLOBs; fixes a bug reported by Trudy Pelzer; needs more testing
2005-03-16 18:05:08 +02:00
heikki@hundin.mysql.fi
cb88409e07 data0type.h, row0sel.c:
Fix a crash in a simple search with a key: the dtype->len of a true VARCHAR is the payload maximum len in bytes: it does not include the 2 bytes MySQL uses to store the string length
ha_innodb.cc:
  Fix a crash in true VARCHARs in test-innodb: we passed a wrong pointer to the column conversion in an UPDATE
rowid_order_innodb.result, ps_3innodb.result, innodb.result, endspace.result:
  Edit InnoDB test results to reflect the arrival of true VARCHARs
2005-03-16 14:28:54 +02:00
serg@serg.mylan
99e581ecc1 sql/ha_innodb.cc
protect prepare-...-commit with a mutex to ensure that commits in binlog and in the innodb have the same order
    store binlog position with the commit
2005-03-16 12:45:08 +01:00
jan@hundin.mysql.fi
1f9976cb10 DATA_MYSQL_TRUE_VARCHAR can be DATA_VARCHAR, DATA_BINARY, or
DATA_VARMYSQL so remove unnecessary condition.
2005-03-16 11:26:35 +02:00
jan@hundin.mysql.fi
9a52ffbfa4 Fixed a core dump bug after VARCHAR push in InnoDB. 2005-03-16 10:35:18 +02:00
heikki@hundin.mysql.fi
edf59e5480 Many files:
InnoDB true VARCHAR
2005-03-16 00:34:15 +02:00
marko@hundin.mysql.fi
2729e866df dict0load.c:
dict_load_table(): Remove unused label that was accidentally introduced
  in a 4.0->4.1->5.0 merge.
2005-03-15 11:50:44 +02:00
marko@hundin.mysql.fi
6dba591d0b After merge fixes 2005-03-15 11:22:20 +02:00
marko@hundin.mysql.fi
dd20809e32 Merge hundin.mysql.fi:/home/marko/k/mysql-4.0
into hundin.mysql.fi:/home/marko/mysql-4.1
2005-03-15 11:14:57 +02:00
heikki@hundin.mysql.fi
9967ee9d28 buf0flu.c:
Add diagnostics to track why ut_a(block->state == BUF_BLOCK_FILE_PAGE) failed in buf_flush_ready_for_replace() for a user
2005-03-15 08:33:47 +02:00
marko@hundin.mysql.fi
d5c1475db6 dict0load.c:
dict_load_table(): Refuse to open ROW_FORMAT=COMPACT tables
  of MySQL 5.0.3 and later.
2005-03-14 12:43:22 +02:00
heikki@hundin.mysql.fi
ad4057f14c row0mysql.c:
Correct web links
fil0fil.c:
  Correct (?) English grammar
2005-03-13 22:46:57 +02:00
heikki@hundin.mysql.fi
a95f09e228 set_var.cc, mysqld.cc, ha_innodb.cc, sql_class.h:
Add a settable session variable innodb_support_xa; setting it to 0 can save up to 10 % of CPU time and 150 bytes of space in each undo log
trx0trx.h, trx0undo.c, trx0trx.c, trx0roll.c:
  Enable XA if innodb_support_xa is not set to 0; make prepare to do log fsync's according to innodb_flush_log_at_trx_commit
2005-03-13 12:49:39 +02:00
marko@hundin.mysql.fi
7486a5be1d row0sel.c:
row_sel_store_mysql_rec(): Remove unused variable "index".
2005-03-11 17:24:43 +02:00
marko@hundin.mysql.fi
946e24713c InnoDB: Keep the "compact format" flag in SYS_TABLES.N_COLS
instead of SYS_TABLES.MIX_LEN, because the latter was not
initialized to zero in old MySQL 3.23 releases. This will break
existing MySQL/InnoDB 5.0.3-bk databases for which
SHOW TABLE STATUS displays Row_format=Compact.
2005-03-10 16:42:43 +02:00
marko@hundin.mysql.fi
4d8233e561 Merge marko@bk-internal.mysql.com:/home/bk/mysql-5.0
into hundin.mysql.fi:/home/marko/mysql-5.0
2005-03-10 15:50:30 +02:00
marko@hundin.mysql.fi
8c28e4bc44 rem0rec.h:
Restore sensible values to REC_OFFS_NORMAL_SIZE and REC_OFFS_SMALL_SIZE.
2005-03-10 15:38:09 +02:00
marko@hundin.mysql.fi
c4ace2a471 InnoDB: Introduce the symbols REC_OFFS_NORMAL_SIZE and
REC_OFFS_SMALL_SIZE for the initial allocation sizes of
arrays passed to rec_get_offsets().
2005-03-10 15:16:16 +02:00
heikki@hundin.mysql.fi
bfb5d79eb3 Merge hundin.mysql.fi:/home/heikki/mysql-4.1
into hundin.mysql.fi:/home/heikki/mysql-5.0
2005-03-10 09:07:42 +02:00
marko@hundin.mysql.fi
6920a6d546 InnoDB: Improve performance by about 10% by removing implicit
memcpy() calls, by not initializing the offsets_[] arrays.
InnoDB: Remove a Microsoft compiler warning in page0page.c.
2005-03-09 22:04:55 +02:00
heikki@hundin.mysql.fi
2ec7c5f447 log0recv.c:
Better ibbackup message
  Add a message explaining why we do a 'crash recovery' after an ibbackup restore; suggested by Tim Smith
2005-03-09 20:32:01 +02:00
serg@serg.mylan
956682de1a merged 2005-03-09 14:09:06 +01:00
gbichot@quadita2.mysql.com
8b625529c9 This code change has 0 effects as it's about the case where innobase_very_fast_shutdown!=0,
which is always false. In a very fast InnoDB shutdown, we just ensure that
no more transactions are running, flush InnoDB log, signal InnoDB threads to die,
and then return from InnoDB (from innobase_end()) without waiting for those threads
to actually die. I have tested on a 4CPU machine that even with --innodb_flush_log_at_trx_commit=0,
this optimized InnoDB very fast shutdown loses no committed transactions. Patch pre-approved by Heikki.
2005-03-09 00:32:58 +01:00
marko@hundin.mysql.fi
2bfe884320 dict0load.c:
dict_load_table(): Do not complain about mix_len != 0,
  because MySQL 3.23.4x left garbage in that column.
2005-03-08 20:06:09 +02:00
marko@hundin.mysql.fi
48cd94d9ae After merge fixes 2005-03-08 17:18:27 +02:00
marko@hundin.mysql.fi
63d01ae103 dict0load.c:
dict_load_table(): Remove the check for row_format=compact for now,
  because the flag bit we used (high-order bit of mix_len)
  has not been zero for at least two customers.
2005-03-08 17:08:17 +02:00
marko@hundin.mysql.fi
c098c27af5 InnoDB: Win64 portability fixes 2005-03-08 16:25:31 +02:00
marko@hundin.mysql.fi
4fe94704a7 Merge hundin.mysql.fi:/home/marko/k/mysql-4.0
into hundin.mysql.fi:/home/marko/mysql-4.1
2005-03-08 16:02:13 +02:00
marko@hundin.mysql.fi
beea918092 InnoDB: Win64 portability fix: add missing declaration and
correct the definition of srv_max_buf_pool_modified_pct.
2005-03-08 11:12:18 +02:00
marko@hundin.mysql.fi
42ea96f9fd row0sel.c:
row_search_for_mysql(): Add a clarifying comment.
2005-03-07 16:32:24 +02:00
marko@hundin.mysql.fi
a6f17f4cc4 Merge marko@bk-internal.mysql.com:/home/bk/mysql-4.1
into hundin.mysql.fi:/home/marko/mysql-4.1
2005-03-07 15:28:11 +02:00
heikki@hundin.mysql.fi
69fe070acb trx0trx.c:
Print a hex dump of the trx_t object if trx->n_mysql_tables_in_use != 0 at trx_free()
2005-03-07 15:28:10 +02:00
marko@hundin.mysql.fi
3c55fef5a8 InnoDB: optimize SELECT performance 2005-03-07 15:23:06 +02:00
marko@hundin.mysql.fi
38adb1ba79 InnoDB: Portability fixes for warnings reported on IA-64 Windows 2005-03-07 12:03:33 +02:00
marko@hundin.mysql.fi
ea4f6ded74 ut0mem.c:
ut_malloc_low(): fix the fprintf() format string
  (an extraneous comma split the format into two arguments)
2005-03-07 09:43:19 +02:00
bar@mysql.com
d50d213162 Merge 2005-03-05 18:20:35 +04:00
heikki@hundin.mysql.fi
d565920ba2 ut0mem.c:
If InnoDB cannot allocate memory, keep retrying for 60 seconds before we crash mysqld; maybe the memory shortage is just temporary
2005-03-04 18:17:29 +02:00
heikki@hundin.mysql.fi
474a910499 trx0trx.c:
Do not assert, but print diagnostics if MySQL tries to free a trx where n_mysql_tables_in_use > 0
2005-03-04 17:58:06 +02:00
marko@hundin.mysql.fi
92d8692495 Merge marko@bk-internal.mysql.com:/home/bk/mysql-4.1
into hundin.mysql.fi:/home/marko/mysql-4.1
2005-03-04 15:27:07 +02:00
jimw@mysql.com
f7c01cfb76 Merged from 4.1 2005-03-03 15:01:46 -08:00