Commit graph

1324 commits

Author SHA1 Message Date
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
heikki@hundin.mysql.fi
07a0fdeb24 srv0start.c:
Work around the AIX 5.1 security patch ML7 problem in errno when it should be EEXIST
2005-03-03 18:00:34 +02:00
heikki@hundin.mysql.fi
c93fcd19a5 Merge 2005-03-03 17:50:04 +02:00
heikki@hundin.mysql.fi
df6d26e4bd srv0start.c:
Work around the AIX 5.1 ML7 patch problem in errno at a higher level, in srv0start.c
os0file.c:
  Revert the AIX patch here
2005-03-03 17:46:56 +02:00
heikki@hundin.mysql.fi
80fca0a075 Merge hundin.mysql.fi:/home/heikki/mysql-4.0
into hundin.mysql.fi:/home/heikki/mysql-4.1
2005-03-03 17:26:12 +02:00
heikki@hundin.mysql.fi
47440f4b5a os0file.c:
AIX 5.1 after security patch ML7 seems to contain a bug that instead of EEXIST it sets errno to 0 if a file creation fails because the file already exists. Work around that bug by interpreting errno 0 in AIX as EEXIST.
2005-03-03 17:20:05 +02:00
marko@hundin.mysql.fi
74194d23de InnoDB: Merge fix of Bug #8771 from the 4.1 tree 2005-03-02 12:49:51 +02:00
ingo@mysql.com
306bd2fc69 Merge 2005-03-02 10:56:13 +01:00
jan@hundin.mysql.fi
b9ae89a1e6 Merge jlindstrom@bk-internal.mysql.com:/home/bk/mysql-5.0
into hundin.mysql.fi:/home/jan/mysql-5.0
2005-03-02 07:48:00 +02:00
marko@hundin.mysql.fi
c75036ed70 row0sel.c:
row_sel_store_mysql_rec(): Do not try to space-pad BLOB fields. (Bug #8771)
2005-03-01 20:46:23 +02:00
marko@hundin.mysql.fi
7252e44bf5 After review fixes. Fix bugs in TRUNCATE. 2005-03-01 19:42:59 +02:00
marko@hundin.mysql.fi
5faaf74818 InnoDB: Zero fill newly created pages and deleted records to
remove old junk and to improve compression ratio.
InnoDB: Make implicit type conversions explicit. (Bug #8826)
2005-03-01 13:54:48 +02:00
jan@hundin.mysql.fi
d49f382410 Merge jlindstrom@bk-internal.mysql.com:/home/bk/mysql-5.0
into hundin.mysql.fi:/home/jan/mysql-5.0
2005-03-01 12:39:23 +02:00
marko@hundin.mysql.fi
2b10afd911 After merge fixes 2005-03-01 09:51:32 +02:00
marko@hundin.mysql.fi
ce553fc2fe InnoDB: Fix compilation errors on IA-64 Windows 2005-03-01 09:27:09 +02:00
jan@hundin.mysql.fi
40d89eea68 Fixed XA recovery for InnoDB. Note that XA recovery is still disabled
until it has been comprehensive tested.
2005-03-01 08:17:03 +02:00
monty@mysql.com
3839e443a4 merge with 4.1 2005-02-28 12:18:39 +02:00
monty@mysql.com
ab11370de6 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1
2005-02-28 12:00:18 +02:00
monty@mysql.com
253bfcf783 Fixed wrong memory references found by purify
(No really critical errors found, but a few possible wrong results)
2005-02-28 11:59:46 +02:00
monty@mysql.com
265a3585e7 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/my/mysql-5.0
2005-02-26 12:19:56 +02:00
heikki@hundin.mysql.fi
6d848111f2 trx0trx.c, trx0trx.h:
Fix wrong spelling
2005-02-25 22:54:33 +02:00
heikki@hundin.mysql.fi
ec248f78cf trx0undo.h, trx0undo.c, trx0trx.c, trx0roll.c:
Make InnoDB-5.0.3 to process log records of 4.1 undo log header create and reuse just like in 4.1; storing XID to the start of the undo log is a separately logged operation; this conforms to Rule 3 of InnoDB redo logging
2005-02-25 22:35:33 +02:00
heikki@hundin.mysql.fi
41e45ab16a fil0fil.c:
Check if node == NULL, which means we are outside tablespace bounds, and print a big fatal error message
2005-02-25 22:16:14 +02:00
monty@mysql.com
0a6b7aedb2 Remove compiler warnings and remove not used variables
(Found during build process)
2005-02-25 16:53:22 +02:00
heikki@hundin.mysql.fi
5f427ec35d row0sel.c:
Fix bug #8677: if one used LOCK TABLES, created an InnoDB temp table, and did a multi-table update where a MyISAM table was the update table and the temp table was a read table, then InnoDB aserted in row0sel.c because n_mysql_tables_in_use was 0. Also, we remove the assertion altogether and just print an error to the .err log if this important consistency check fails. Then it is up to the user to read the .err log and notice the problem if there still are errors in MySQL's table locking.
2005-02-22 21:05:17 +02:00
heikki@hundin.mysql.fi
e70e62ad2d Merge heikki@bk-internal.mysql.com:/home/bk/mysql-5.0
into hundin.mysql.fi:/home/heikki/mysql-5.0
2005-02-22 16:20:47 +02:00
heikki@hundin.mysql.fi
819af98845 trx0trx.c:
Disable the XA code in InnoDB crash recovery; when Jan and Sergei want to test XA, they should revert this patch
2005-02-22 16:18:34 +02:00
jan@hundin.mysql.fi
57e474758d Fixed a bug on InnoDB X/Open XA prepare. 2005-02-22 15:40:13 +02:00
jan@hundin.mysql.fi
886b406e13 Clean up prints in innodb_xa_prepare. 2005-02-22 15:03:17 +02:00
jan@hundin.mysql.fi
14a7a642b0 Copy X/Open XA XID from trx structure to a list in recovery. 2005-02-22 14:39:15 +02:00
serg@serg.mylan
c0dda01f76 Merge serg.mylan:/usr/home/serg/Abk/mysql-5.0
into serg.mylan:/usr/home/serg/Abk/mysql-5.0-xa
2005-02-18 12:02:46 +01:00
marko@hundin.mysql.fi
baffd9ad2d After review fixes (Bug #5682) 2005-02-17 18:40:45 +02:00
marko@hundin.mysql.fi
612e06617c InnoDB: Make CREATE TABLE return error when the minimum row length
exceeds the maximum record size.  (Bug #5682)
2005-02-17 17:15:29 +02:00
serg@serg.mylan
fd828e5b4d manually merged 2005-02-14 21:50:09 +01:00
marko@hundin.mysql.fi
e0e87d0c92 Merge marko@bk-internal.mysql.com:/home/bk/mysql-5.0
into hundin.mysql.fi:/home/marko/k/mysql-5.0
2005-02-14 17:23:12 +02:00
marko@hundin.mysql.fi
e868711319 InnoDB: Small improvements to earlier patch (fix Bug #7350 better),
suggested in review by Heikki.
2005-02-14 15:54:08 +02:00
heikki@hundin.mysql.fi
961d8b0ebf Merge hundin.mysql.fi:/home/heikki/mysql-4.0
into hundin.mysql.fi:/home/heikki/mysql-4.1
2005-02-13 21:05:18 +02:00
heikki@hundin.mysql.fi
548f7dbada row0mysql.c:
Backport the column prefix memory corruption fix from 5.0
2005-02-13 21:00:07 +02:00
heikki@hundin.mysql.fi
71174327df row0mysql.c:
Fix memory corruption bug reported by Georg Richter: if one created a table whose primary key contained at least 2 column prefixes, that could corrupt the memory heap of prebuilt_t
2005-02-13 20:48:02 +02:00
marko@hundin.mysql.fi
e7c10dd2d8 InnoDB: Fix Bug #7350 without hard-coding charset-collation numbers. 2005-02-08 16:41:34 +02:00
marko@hundin.mysql.fi
6c43fb504b InnoDB: Exclude code from InnoDB Hot Backup builds
by adding #ifndef UNIV_HOTBACKUP and adjusting some function
declarations.
2005-02-04 16:25:13 +02:00
marko@hundin.mysql.fi
96bbd613c9 Merge marko@bk-internal.mysql.com:/home/bk/mysql-5.0
into hundin.mysql.fi:/home/marko/mysql-5.0
2005-02-04 16:13:46 +02:00
marko@hundin.mysql.fi
bf5cacf85f InnoDB: A small cleanup: remove two duplicate rec_get_offsets() calls 2005-02-04 15:44:09 +02:00
monty@mysql.com
43eb7cf303 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/my/mysql-5.0
2005-02-03 16:50:06 +02:00
monty@mysql.com
422c2eb868 4.1 -> 5.0 merge 2005-02-03 13:18:30 +02:00
jan@hundin.mysql.fi
8fc13ecc97 Fixed a bug: deadlock without any locking, simple select and update (Bug #7975). 2005-02-03 10:54:38 +02:00
monty@mysql.com
b131520f9d Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1
2005-02-02 16:50:35 +02:00
heikki@hundin.mysql.fi
b75bfa828d eval0eval.ic:
Remove wrong assertion that fails on 64 bits
2005-02-02 01:43:25 +02:00
heikki@hundin.mysql.fi
e5479c3f90 rem0rec.ic:
Fix a debug assertion in rem0rec.ic on AMD64; 4.1 was already fixed
2005-02-02 00:31:06 +02:00
marko@hundin.mysql.fi
679f4fe66b Merge marko@bk-internal.mysql.com:/home/bk/mysql-5.0
into hundin.mysql.fi:/home/marko/mysql-5.0
2005-02-01 23:57:05 +02:00
marko@hundin.mysql.fi
1075c406f4 InnoDB: Fix debug compile error on Tru64 (Bug #8244) 2005-02-01 23:55:41 +02:00
acurtis@pcgem.rdg.cyberkinetica.com
a67924ecbc WL#1967
Support for COMMIT/ROLLBACK optional arguments
2005-02-01 19:48:05 +00:00
monty@mysql.com
b87e0c52a7 Proper fix for comparision with ' '
(Bug #7788 "Table is full" occurs during a multitable update")
2005-02-01 16:27:08 +02:00
heikki@hundin.mysql.fi
a623cc8d67 mem0pool.c:
Fix an assertion failure in 64-bit computers if UNIV_MEM_DEBUG is defined
2005-01-31 22:28:55 +02:00
marko@hundin.mysql.fi
2693b5ffa3 InnoDB: Cleanups of TRUNCATE TABLE code 2005-01-31 10:35:56 +02:00
heikki@hundin.mysql.fi
994fc27330 ut0ut.c:
Use a 32-bit right-shift implementation through a 64-bit integer that should work ok for both gcc and Visual C++; the code depended on defining SIZEOF_LONG, and that is not set when compiling ibbackup
2005-01-28 21:49:21 +02:00
heikki@hundin.mysql.fi
1d78506d7a os0file.c:
Fix Windows porting bugs that broke ibbackup: 1) wrong error check in for CreateDirectory(), 2) wrong error check if the file did not exist in DeleteFile(), 3) too strict sharing restrictions in os_file_create_simple(): when ibbackup called that function, it would not allow mysqld to write to the file
2005-01-28 20:58:16 +02:00
marko@hundin.mysql.fi
8342958665 InnoDB: Allow concurrent TRUNCATE and INSERT on a table. (Bug #8144) 2005-01-28 12:18:33 +02:00
heikki@hundin.mysql.fi
6979789732 fil0fil.c:
We accidentally checked if the DIRECTORY is of type OS_FILE_TYPE_UNKNOWN; our intention was to check if the FILE is that; best to remove the check altogether, as in crash recovery it is safest to try to open also files whose type is unknown
os0file.c:
  Fix a bug: in Windows, os_file_readdir_next_file() returned OS_FILE_TYPE_UNKNOWN as the type of a regular file; this did not break mysqld, but did break ibbackup on Windows
2005-01-27 22:00:36 +02:00
heikki@hundin.mysql.fi
61a0e57cd0 Merge heikki@bk-internal.mysql.com:/home/bk/mysql-4.1
into hundin.mysql.fi:/home/heikki/mysql-4.1
2005-01-27 21:33:15 +02:00
heikki@hundin.mysql.fi
5014402000 os0file.c:
Add includes for the _stat() call to compile on Windows in Hot Backup build
2005-01-27 18:54:00 +02:00
heikki@hundin.mysql.fi
a4908dbcd1 ut0mem.c:
Add a note to the error message that is printed when memory allocation fails: 32-bit computers usually have at most 2 GB or 4 GB process memory space
2005-01-27 18:53:59 +02:00
ingo@mysql.com
bbcd542917 Merge from 4.1
Archive fix by Ingo.
Innodb compile fix by Monty.
2005-01-26 15:51:46 +01:00
georg@beethoven.site
3b2bf2f512 Fixes for windows compilation bugs
(After review of cs georg:1.1800 by Monty)
2005-01-26 15:19:20 +01:00
monty@mysql.com
f16b456ddc Only enable Innodb extra debugging when using the --debug=full configure option 2005-01-26 16:07:53 +02:00
serg@serg.mylan
160f254d34 merged 2005-01-26 09:54:12 +01:00
serg@serg.mylan
d8f35cec21 Merge serg.mylan:/usr/home/serg/Abk/mysql-4.1
into serg.mylan:/usr/home/serg/Abk/mysql-5.0
2005-01-26 09:05:58 +01:00
serg@serg.mylan
7084b494c4 innobase/include/univ.i
remove a change that broke the test
2005-01-26 08:57:43 +01:00
heikki@hundin.mysql.fi
a4d445aae7 buf0rea.c:
Add more diagnostics about why page reads in recovery may hang: print the number of pending pread calls
2005-01-25 22:42:50 +02:00
marko@hundin.mysql.fi
81ce1c8d75 rem0rec.h:
Corrected formatting of comments.
rem0rec.ic:
  rec_set_info_and_status_bits(): pass arguments to rec_set_info_bits()
  in the correct order.
  Corrected formatting of comments.
2005-01-25 22:40:20 +02:00
serg@serg.mylan
76f3d6f002 merged 2005-01-25 21:11:04 +01:00
monty@mysql.com
37168015cd Cleanups during review 2005-01-25 21:27:51 +02:00
marko@hundin.mysql.fi
638e2bd733 InnoDB: Backport innodb_autoextend_increment from 4.1 2005-01-25 16:27:13 +02:00
marko@hundin.mysql.fi
72de651ab5 One more after merge fix of Jan Lindström's changeset in 4.1 2005-01-25 14:49:30 +02:00
marko@hundin.mysql.fi
7eaec7eff7 After merge fixes 2005-01-25 14:44:34 +02:00
marko@hundin.mysql.fi
ee22415528 Merge hundin.mysql.fi:/home/marko/k/mysql-4.0
into hundin.mysql.fi:/home/marko/k/mysql-4.1
2005-01-25 14:17:51 +02:00
marko@hundin.mysql.fi
ea1bd1d5e5 InnoDB: Enable ut_ad() assertions in MySQL debug builds. 2005-01-25 14:16:41 +02:00
marko@hundin.mysql.fi
fbb7d9a9df InnoDB: Write status bits to MLOG_COMP_REC_INSERT entries.
It is not safe to infer the status bits from the B-tree page
level, because after MLOG_COMP_LIST_END_COPY_CREATED, the
level will not be initialized before the records have been inserted.
(Bug #7973)
2005-01-25 12:10:24 +02:00
jan@hundin.mysql.fi
a37a3cd69c Merge jlindstrom@bk-internal.mysql.com:/home/bk/mysql-4.1
into hundin.mysql.fi:/home/jan/mysql-4.1
2005-01-24 09:55:41 +02:00
heikki@hundin.mysql.fi
944c29ce4a Merge hundin.mysql.fi:/home/heikki/mysql-4.1
into hundin.mysql.fi:/home/heikki/mysql-5.0
2005-01-22 04:49:35 +02:00
heikki@hundin.mysql.fi
e30b5f86e5 fil0fil.c:
Fix a race condition that could cause the assertion space->n_pending_flushes == 0 to fail in fil0fil.c, in fil_space_free(), in DROP TABLE or in ALTER TABLE
2005-01-22 04:45:22 +02:00
heikki@hundin.mysql.fi
a0263e8661 log0recv.c:
Remove superfluous fprintf about log record application in InnoDB startup
2005-01-21 23:47:44 +02:00
heikki@hundin.mysql.fi
3df04944e4 fil0fil.c:
Add a missing newline to an error print
2005-01-21 23:36:00 +02:00
heikki@hundin.mysql.fi
324e5688b4 dict0load.c:
Fix a compilation error reported by Paul Dubois; I forgot to compile 5.0 after the merge
os0thread.c:
  test
2005-01-21 22:03:08 +02:00
heikki@hundin.mysql.fi
d1d68b1413 Merge hundin.mysql.fi:/home/heikki/mysql-4.1
into hundin.mysql.fi:/home/heikki/mysql-5.0
2005-01-21 18:16:02 +02:00
heikki@hundin.mysql.fi
d6706798d2 fil0fil.c:
Fix bug #8021 :Windows error number 87 with multiple tablespaces after mysqld restart; still has to be tested on Windows that this now works
2005-01-21 17:59:23 +02:00
heikki@hundin.mysql.fi
9a03676b69 dict0dict.c:
Fix bug #7831: ALTER TABLE ... ADD CONSTRAINT PRIMARY KEY ... complained about bad foreign key definition
2005-01-21 17:54:50 +02:00
jan@hundin.mysql.fi
c0c93929a8 Merge jlindstrom@bk-internal.mysql.com:/home/bk/mysql-4.1
into hundin.mysql.fi:/home/jan/mysql-4.1
2005-01-17 09:17:48 +02:00
jan@hundin.mysql.fi
c894ebd66c Required changes to support recovery of X/Open XA in InnoDB. 2005-01-17 09:09:59 +02:00
serg@serg.mylan
1034677f94 XA (not completely polished out yet) 2005-01-16 13:16:23 +01:00
monty@mysql.com
3b0f8cabaf Merge with global tree 2005-01-15 14:39:16 +02:00
monty@mysql.com
0a1076a25f Merge with 4.1 2005-01-15 14:09:45 +02:00
heikki@hundin.mysql.fi
f1dc2017c1 dict0load.c:
Correct typo in comment
2005-01-15 01:10:40 +02:00
heikki@hundin.mysql.fi
71ec20ec1f dict0load.c, dict0crea.c:
Add diagnostic code to track corruption in mix_len; it was reported on the mailing list Jan 14, 2005
2005-01-15 01:06:15 +02:00
marko@hundin.mysql.fi
080869f995 Merge marko@bk-internal.mysql.com:/home/bk/mysql-4.1
into hundin.mysql.fi:/home/marko/k/mysql-4.1
2005-01-14 15:23:34 +02:00
marko@hundin.mysql.fi
045aea9d92 InnoDB: Remove redundant page_no field from dict_index_t.
This completes the patch for fast TRUNCATE TABLE.
2005-01-14 13:54:23 +02:00
marko@hundin.mysql.fi
7ef8a20950 Merge marko@bk-internal.mysql.com:/home/bk/mysql-5.0
into hundin.mysql.fi:/home/marko/j/mysql-5.0
2005-01-14 13:06:46 +02:00
heikki@hundin.mysql.fi
bdf26a4f9d Merge hundin.mysql.fi:/home/heikki/mysql-4.1
into hundin.mysql.fi:/home/heikki/mysql-5.0
2005-01-13 21:42:37 +02:00
heikki@hundin.mysql.fi
fca5ee0c63 Merge 2005-01-13 19:27:44 +02:00
marko@hundin.mysql.fi
284191d19a InnoDB: Detect the availability of the Mac OS X fsync() work-around
at run-time, so that an executable compiled on Mac OS X 10.2 can
be run on Mac OS X 10.2 (without the work-around) and Mac OS X 10.3
and later with the work-aroud enabled.
2005-01-13 16:15:14 +02:00
marko@hundin.mysql.fi
c414f138c7 row0mysql.c:
row_truncate_table_for_mysql(): Reset the auto_increment counter.
2005-01-13 15:14:11 +02:00
sergefp@mysql.com
106509992e Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/dbdata/psergey/mysql-5.0-bug5401-2
2005-01-12 23:22:12 +03:00
vtkachenko@mail.mysql.com
306df48731 Merge 2005-01-12 21:03:06 +01:00
heikki@hundin.mysql.fi
bdc9823cb6 ha_innodb.cc:
Add comments about why the InnoDB latching order is obeyed also for the MySQL query cache mutex; add an error printf if that is not the case
sync0sync.h:
  Assign sync0sync.h ranks also for the MySQL query cache mutex and the MySQL binlog mutex; the latching order must be obeyed also for these
row0ins.c:
  Add a comment why the query cache invalidate operation cannot deadlock in a cascaded FOREIGN KEY operation
2005-01-12 18:25:39 +02:00
marko@hundin.mysql.fi
69afdf53c7 InnoDB: Use system-supplied tmpfile() on Netware, as there is no
open interface for setting the "delete-on-close" flag.
2005-01-12 15:24:49 +02:00
marko@hundin.mysql.fi
6289469e97 Merge marko@bk-internal.mysql.com:/home/bk/mysql-4.1
into hundin.mysql.fi:/home/marko/k/mysql-4.1
2005-01-12 14:08:25 +02:00
jan@hundin.mysql.fi
3ba52c1eb8 Take a shared record lock (LOCK_REC_NOT_GAP) for a matching record in the foreign
key check because we can allow inserts into gaps (Support Issue #4317).
2005-01-12 10:36:50 +02:00