Commit graph

1296 commits

Author SHA1 Message Date
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