Commit graph

660 commits

Author SHA1 Message Date
jan@hundin.mysql.fi
91640e9d60 Initial value for a auto_increment can now be set using ALTER TABLE
AUTO_INCREMENT = X; or CREATE TABLE .. AUTO_INCREMENT = X; This
change is backported from 5.0 (Bug #7061).
2005-05-04 12:24:56 +03:00
marko@hundin.mysql.fi
64bf449bf7 InnoDB: Disable throttling against thread thrashing by default. 2005-05-03 15:55:53 +03:00
heikki@hundin.mysql.fi
e8233c3afc ha_innodb.cc:
Return a value from innobase_repl_report_sent_binlog()
2005-05-03 08:40:35 +03:00
serg@serg.mylan
9c332d8d2a yassl changeset 2:
remove FIX_GCC_LINKING_PROBLEM and -DDEFINE_CXA_PURE_VIRTUAL
  replace echo in configure.in with AC_MSG_WARN/AC_MSG_ERROR
  don't set -DUSE_MYSYS_NEW for gcc 2.95
  set $USE_MYSYS_NEW even if CXX is g++
  yassl bugfixes
  instantiate all yassl templates explicitly
2005-04-30 19:48:45 +02:00
heikki@hundin.mysql.fi
1e6dba4d88 ha_innodb.cc:
Fix compilation error on Windows in innobase_report_binlog_offset_and_commit()
2005-04-29 12:11:04 +03:00
msvensson@neptunus.(none)
c76c23fcbc Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into neptunus.(none):/home/msvensson/mysql/mysql-5.0
2005-04-27 18:28:57 +02:00
heikki@hundin.mysql.fi
af00b989df ha_innodb.cc:
Correct an assertion
2005-04-27 13:43:02 +03:00
heikki@hundin.mysql.fi
ab0dbb1fc6 ha_innodb.cc, mysqld.cc:
Fix compilation error if HAVE_REPLICATION is not defined
2005-04-27 13:36:58 +03:00
msvensson@neptunus.(none)
2627475a86 Merge neptunus.(none):/home/msvensson/mysql/bug9714
into neptunus.(none):/home/msvensson/mysql/mysql-5.0
2005-04-27 12:30:11 +02:00
heikki@hundin.mysql.fi
e93f8ec420 ha_innodb.cc:
Fix linking and compilation errors
2005-04-27 13:19:40 +03:00
jan@hundin.mysql.fi
138a1a9b1d Fixed a bug using mysqldump to InnoDB tables causes error (Bug #10200). 2005-04-27 12:28:25 +03:00
msvensson@neptunus.(none)
c12ee8dc16 BUG#9714 libsupc++ problem
- Remove linking of libsupc++
 - Move all local static variables to filescope
2005-04-27 11:25:08 +02: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
c6e329d42c ha_innodb.cc:
trx_is_interrupted(): Remove debug output.
2005-04-21 15:16:16 +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
heikki@hundin.mysql.fi
8974ce0836 Many files:
Semi-synchronous replication for InnoDB type tables; before telling the client that a commit has been processed, wait that the replication thread has returned from my_net_send() where it sends the binlog to the slave; note that TCP/IP, even with the TCP_NODELAY option does not guarantee that the slave has RECEIVED the data - this is just heuristic at the moment; this is useful in failover: in almost all cases, every transaction that has returned from the commit has been sent and processed in the slave, which makes failover to the slave simpler if the master crashes; the code does not work yet as is, because MySQL should call innobase_report_binlog_offset_and_commit() in a commit; we will most probably return that call to 5.0.x, to make InnoDB Hot Backup and group commit to work again; XA code broke them temporarily in 5.0.3
2005-04-20 19:27:46 +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
jan@hundin.mysql.fi
1f994ec920 Style change. Use 1 and 0 instead of true and false. 2005-04-19 08:23:03 +03:00
heikki@hundin.mysql.fi
69d4d438d2 ha_innodb.cc:
Style fix
2005-04-18 14:59:25 +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
7731e5f4cf ha_innodb.cc:
Add a big fat warning for future programmers that MySQL may call ::store_lock() also with lock 'type' TL_IGNORE; my ignorance of this caused bug 9670
2005-04-14 11:12:12 +03:00
petr@mysql.com
da9a6aecad Merge mysql.com:/home/cps/mysql/trees/mysql-4.1
into mysql.com:/home/cps/mysql/trees/mysql-5.0
2005-04-14 01:57:52 +04:00
heikki@hundin.mysql.fi
b698b8620e ha_innodb.cc:
Fix part of bug #9670: if MySQL calls ::store_lock with TL_IGNORE, do not change prebuilt->select_lock_type; this fix may heal the assertion failures reported in UPDATE and multi-table UPDATE; it is not clear if this fixes the problems in OPTIMIZE TABLE
2005-04-13 20:21:28 +03:00
mskold@mysql.com
add3fd3cca Merge 2005-04-13 16:24:17 +02: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
ramil@mysql.com
3b1c3d8c68 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/usr/home/ram/work/5.0.bit_class
2005-04-12 12:30:09 +05:00
ramil@mysql.com
c4376b2bc6 Bit type support for non-MyISAM tables. 2005-04-12 12:27:43 +05:00
bar@mysql.com
71f530c4ea merge 2005-04-11 15:11:52 +05:00
marko@hundin.mysql.fi
b5328a7dbc InnoDB: Prevent ALTER TABLE ... ENGINE=...
if there are foreign key constraints on the table. (Bug #5574)
2005-04-07 12:16:41 +03:00
heikki@hundin.mysql.fi
a3e6b30a89 handler.cc, ha_innodb.cc:
Fix Bug #8650 : InnoDB does not rollback SQL statement at an error
2005-04-05 17:56:40 +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
heikki@hundin.mysql.fi
73a8d1bcad ha_innodb.cc:
Correct the fix of Bug #9526 : InnoDB must use its own internal type info for old tables, so that old ENUMs and SETs still are (incorrectly) seen as char strings; we do not dare to allow InnoDB sometimes to see the type as an integer type for those old tables
2005-04-04 19:41:52 +03:00
heikki@hundin.mysql.fi
63aa88638a ha_innodb.cc:
Fix bug #9526 in InnoDB: the internal type of an ENUM or SET is an unsigned integer type, not a character string
2005-04-04 19:27:28 +03:00
serg@serg.mylan
5c0b772838 Merge bk-internal:/home/bk/mysql-5.0
into serg.mylan:/usr/home/serg/Abk/mysql-5.0
2005-03-23 21:37:56 +01:00
heikki@hundin.mysql.fi
7c40ac32ba ha_innodb.cc:
Fix bug #9314 in InnoDB true VARCHAR: InnoDB stored the 'position' of a row wrong in a column prefix primary key index; this could cause MySQL to complain 'ERROR 1032: Can't find record in ...' in an update of the primary key, and also some ORDER BY or DISTINCT queries
2005-03-23 18:00:22 +02: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
gbichot@production.mysql.com
c766efdc5d Last part of WL#1062: better replication of timezones: no more use
of SET ONE_SHOT; storing tz info directly in event (if this info is needed),
it's now allowed to have different global tz on master and slave.
2005-03-22 00:26:12 +01:00
serg@serg.mylan
f3cf0837d2 log_event.cc:
#ifdef USING_TRANSACTIONS
ha_innodb.cc:
  comment
rpl_drop_temp.test, rpl_drop_temp.result:
  cleanup
2005-03-16 23:47:38 +01:00
serg@serg.mylan
19279b1b03 merged 2005-03-16 17:13:43 +01:00
heikki@hundin.mysql.fi
9975f53359 ha_innodb.cc:
Fix bug: InnoDB created all indexes on true VARCHARs as column prefix keys because field->pack_length() for a true VARCHAR is bigger than key_part->length; FOREIGN KEYs could not be created on true VARCHARs then
2005-03-16 15:18:14 +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
marko@hundin.mysql.fi
19a82124a2 ha_innodb.cc:
calc_row_difference(): Use non-inlined functions to avoid linking error.
2005-03-16 09:56:33 +02:00
heikki@hundin.mysql.fi
edf59e5480 Many files:
InnoDB true VARCHAR
2005-03-16 00:34:15 +02:00
serg@serg.mylan
dba1e0889a Merge bk-internal:/home/bk/mysql-5.0
into serg.mylan:/usr/home/serg/Abk/mysql-5.0
2005-03-14 14:47:51 +01:00
serg@serg.mylan
8986ffebde print xa recovery progress
add names to handlertons
trans_need_2pc() macro
2005-03-13 21:58:09 +01: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
bar@mysql.com
d50d213162 Merge 2005-03-05 18:20:35 +04:00
marko@hundin.mysql.fi
a8aced1e64 ha_innodb.cc:
write_row(): Detect SQLCOM_OPTIMIZE, so that also OPTIMIZE TABLE
  will commit at every 10,000 copied rows.
2005-03-04 15:53:05 +02:00
serg@serg.mylan
998c540fa9 Merge bk-internal:/home/bk/mysql-5.0
into serg.mylan:/usr/home/serg/Abk/mysql-5.0
2005-03-02 15:31:03 +01:00
serg@serg.mylan
60e1c869f5 workaround for a bug removed 2005-03-02 15:29:46 +01:00
ingo@mysql.com
306bd2fc69 Merge 2005-03-02 10:56:13 +01:00
serg@serg.mylan
7535886f1c Merge bk-internal:/home/bk/mysql-5.0
into serg.mylan:/usr/home/serg/Abk/mysql-5.0
2005-03-02 10:41:23 +01:00
serg@serg.mylan
02d88c398f bug#8151 - truncate leaves a transaction open
deadlock in MYSQL_LOG::new_file()
style fixes
2005-03-02 10:38:25 +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
heikki@hundin.mysql.fi
4953070187 ha_innodb.cc:
Correct indentation + some small style corrections
2005-03-02 01:25:17 +02:00
marko@hundin.mysql.fi
95243ec114 ha_innodb.cc:
delete_all_rows(): Revert previous change.
  The transaction has been marked started already
  in external_lock().
2005-03-01 20:56:39 +02:00
heikki@hundin.mysql.fi
28cbed10e0 Merge heikki@bk-internal.mysql.com:/home/bk/mysql-5.0
into hundin.mysql.fi:/home/heikki/mysql-5.0
2005-03-01 19:46:40 +02:00
heikki@hundin.mysql.fi
cd25fe2fc4 ha_innodb.cc:
In TRUNCATE TABLE, MySQL may call innobase_xa_prepare() even though there is no active transaction because it was committed in ha_innobase::delete_all_rows(); in innobase_xa_prepare() InnoDB starts then a new transaction; let us adjust the trx->active_trans flag accordingly
2005-03-01 19:44:53 +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
af2999b753 InnoDB: Commit inserts to the temporary tables created by
CREATE INDEX and DROP INDEX every 10,000 rows,
similar to ALTER TABLE.
2005-03-01 16:09:22 +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
0a6b7aedb2 Remove compiler warnings and remove not used variables
(Found during build process)
2005-02-25 16:53:22 +02:00
serg@serg.mylan
bfe628dc92 copy-paste fixed 2005-02-22 18:45:19 +01:00
serg@serg.mylan
0969942d27 64-bit safe address->string conversion 2005-02-22 18:08:33 +01:00
serg@serg.mylan
8cb554b3c7 merged 2005-02-22 15:31:38 +01:00
serg@serg.mylan
a4dbb3b061 compatibility fixes, crashing tests 2005-02-22 15:22:37 +01:00
monty@mysql.com
f55e200248 Fixed compiler warnings
Fixed failing myisam.test and rpl_rotate_logs.test on some configurations
2005-02-22 14:15:50 +02:00
heikki@hundin.mysql.fi
592ad32c74 ha_innodb.cc:
Fix crash reported by Pekka Nousiainen if skip-innodb: do not try to release InnoDB's temporary latches if InnoDB has not been inited
2005-02-21 18:54:06 +02:00
serg@serg.mylan
e29191e5c5 windows compilation fixes 2005-02-19 12:15:30 +01:00
serg@serg.mylan
530eecbd99 Merge serg.mylan:/usr/home/serg/Abk/mysql-5.0
into serg.mylan:/usr/home/serg/Abk/mysql-5.0-xa
2005-02-17 14:00:44 +01:00
acurtis@pcgem.rdg.cyberkinetica.com
25ff6a0938 Merge pcgem.rdg.cyberkinetica.com:/var/db/bk/work-acurtis/bug4445.1
into pcgem.rdg.cyberkinetica.com:/var/db/bk/work-acurtis/bug4445.2
2005-02-16 16:47:29 +00:00
serg@serg.mylan
5ddb6354a5 after merge fixes 2005-02-16 17:34:02 +01:00
acurtis@pcgem.rdg.cyberkinetica.com
b119963f13 Merge 2005-02-16 16:29:56 +00:00
marko@hundin.mysql.fi
df0aee432a Merge hundin.mysql.fi:/home/marko/k/mysql-4.0
into hundin.mysql.fi:/home/marko/mysql-4.1
2005-02-15 16:12:51 +02:00
marko@hundin.mysql.fi
a1a78bbc4a InnoDB: Create temporary files in the MySQL tmpdir instead of $TMPDIR.
(Bug #5822)
2005-02-15 11:16:17 +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
heikki@hundin.mysql.fi
01872c239d Merge heikki@bk-internal.mysql.com:/home/bk/mysql-5.0
into hundin.mysql.fi:/home/heikki/mysql-5.0
2005-02-14 17:23:11 +02:00
gluh@gluh.mysql.r18.ru
29510ce029 Fix for bug#8156:information_schema and lowercase_table3 fail on OSX
Can't repeat information_schema test failure
Fix for lowercase_table3 only
2005-02-14 18:23:10 +03:00
heikki@hundin.mysql.fi
67392525e8 ha_innodb.cc:
Fix a glitch reported by Guilhem: release the memory allocated for innodb_internal_... if innobase_init() fails; cleanups: in ha_innodb, you should use the InnoDB formatting style for the source code
2005-02-14 16:00:15 +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
marko@hundin.mysql.fi
9d785cd513 Merge marko@bk-internal.mysql.com:/home/bk/mysql-5.0
into hundin.mysql.fi:/home/marko/mysql-5.0
2005-02-11 20:59:19 +02:00
hf@deer.(none)
b94a482ee9 Precision Math implementation 2005-02-09 02:50:45 +04: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
7dbb93d9fc InnoDB: Make SHOW TABLE STATUS report Row_format=Compact and
Row_format=Redundant
2005-02-08 13:35:10 +02:00
jan@hundin.mysql.fi
fcfc1d8f29 Relaxed locking in INSERT...SELECT, single table UPDATE...SELECT and
single table DELETE...SELECT clauses when innobase_locks_unsafe_for_binlog
is used and isolation level of the transaction is not serializable. 
InnoDB uses consistent read in these cases for a selected table.
Backported from 5.0.x.
2005-02-08 09:36:36 +02:00
jan@hundin.mysql.fi
ac9a456a5e Merge jlindstrom@bk-internal.mysql.com:/home/bk/mysql-5.0
into hundin.mysql.fi:/home/jan/mysql-5.0
2005-02-07 11:23:19 +02:00
jan@hundin.mysql.fi
a5b193511c Relaxed locking in INSERT...SELECT, single table UPDATE...SELECT and
single table DELETE...SELECT clauses when innobase_locks_unsafe_for_binlog
is used and isolation level of the transaction is not serializable. 
InnoDB uses consistent read in these cases for a selected table.
2005-02-07 10:12:40 +02:00
msvensson@neptunus.homeip.net
c9d7cd043b Merge neptunus.homeip.net:/home/msvensson/mysql/mysql-5.0
into neptunus.homeip.net:/home/msvensson/mysql/mysql-5.0-cluster-extra
2005-02-04 15:13:45 +01: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
msvensson@neptunus.homeip.net
3181f5d2b6 Merged "query cache for ndb" to 5.0 2005-02-03 09:33:48 +01:00
marko@hundin.mysql.fi
459fa7f1f9 After merge fixes 2005-02-02 11:50:27 +02:00
acurtis@pcgem.rdg.cyberkinetica.com
a67924ecbc WL#1967
Support for COMMIT/ROLLBACK optional arguments
2005-02-01 19:48:05 +00:00
marko@hundin.mysql.fi
dabb56a7cb After merge fixes 2005-02-01 10:24:09 +02:00
marko@hundin.mysql.fi
2693b5ffa3 InnoDB: Cleanups of TRUNCATE TABLE code 2005-01-31 10:35:56 +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
serg@serg.mylan
a1690b46f2 Merge bk-internal:/home/bk/mysql-5.0-xa
into serg.mylan:/usr/home/serg/Abk/mysql-5.0-xa
2005-01-28 08:13:23 +01:00
serg@serg.mylan
3c5060981f query_id and my_xid -> ulonglong
fix for binlog+autocommit+tclog
comments, style fixes
2005-01-27 22:38:56 +01:00
marko@hundin.mysql.fi
4117949ace InnoDB: Tolerate negative return values from ftell(). 2005-01-27 14:05:44 +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
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
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
94cc8442b0 ha_innodb.cc:
"Add a comment why data modifying SQL statements MUST always use a locking read in tables that they read: otherwise the execution is not serializable, and in many cases is not well-defined; we also merged the associated bug fix from 4.1"
2005-01-13 21:58:47 +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
21666e4207 ha_innodb.cc:
Merge from 4.0:     Fix a theoretical hang over the adaptive hash latch in InnoDB if one runs INSERT ... SELECT ... (binlog not enabled), or a multi-table UPDATE or DELETE, and only the read tables are InnoDB type, the rest are MyISAM; this also fixes bug #7879 for InnoDB type tables
2005-01-13 20:08:28 +02:00
heikki@hundin.mysql.fi
76789a4c13 ha_innodb.cc:
Fix a theoretical hang over the adaptive hash latch in InnoDB if one runs INSERT ... SELECT ... (binlog not enabled), or a multi-table UPDATE or DELETE, and only the read tables are InnoDB type, the rest are MyISAM; this also fixes bug #7879 for InnoDB type tables
2005-01-13 19:20:49 +02:00
konstantin@mysql.com
9e10645cff Fix valgrind warning + post-merge fixes. 2005-01-13 19:03:21 +03: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
sergefp@mysql.com
fda91bee40 Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/dbdata/psergey/mysql-5.0-bug5401-2
2005-01-12 09:05:11 +03:00
marko@hundin.mysql.fi
1fdff1f344 InnoDB: Implement fast TRUNCATE TABLE (Bug #7150) 2005-01-11 16:28:07 +02:00
vtkachenko@intelp4d.mysql.com
faeac11865 Merge bk-internal:/home/bk/mysql-5.0
into intelp4d.mysql.com:/users/vtkachenko/bk/mysql-5.0
2005-01-08 15:06:20 +01:00
vtkachenko@intelp4d.mysql.com
ad7dad8d03 Many files:
- Create innodb_thread_concurrency as dynamic variable
  - Add innodb_thread_sleep_delay variable
  - Add innodb_free_tickets_to_enter variable
2005-01-08 15:01:37 +01:00
marko@hundin.mysql.fi
52ebc04fc5 Introduce ROW_TYPE=REDUNDANT and ROW_TYPE=COMPACT for InnoDB table formats 2005-01-07 16:43:27 +02:00
monty@mysql.com
d35140a851 First stage of table definition cache
Split TABLE to TABLE and TABLE_SHARE (TABLE_SHARE is still allocated as part of table, will be fixed soon)
Created Field::make_field() and made Field_num::make_field() to call this
Added 'TABLE_SHARE->db' that points to database name; Changed all usage of table_cache_key as database name to use this instead
Changed field->table_name to point to pointer to alias. This allows us to change alias for a table by just updating one pointer.
Renamed TABLE_SHARE->real_name to table_name
Renamed TABLE->table_name to alias
Renamed TABLE_LIST->real_name to table_name
2005-01-06 13:00:13 +02:00
tulin@build.mysql.com
cee870e9b5 Merge bk-internal:/home/bk/mysql-4.1
into build.mysql.com:/users/tulin/mysql-4.1-cluster-extra
2005-01-05 15:55:26 +01:00
serg@sergbook.mysql.com
a04fc26c54 manually merged 2004-12-31 15:26:24 +01:00
heikki@hundin.mysql.fi
cf4a055285 ha_innodb.cc:
Return a sensible error code from DISCARD TABLESPACE, if it fails because the table is referenced by a FOREIGN KEY
2004-12-27 04:40:10 +02:00
heikki@hundin.mysql.fi
10a246e453 ha_innodb.cc, row0ins.c, fil0fil.c:
Correct typo
2004-12-27 04:27:09 +02:00
heikki@hundin.mysql.fi
7ad5e20461 Many files:
Fix InnoDB critical bug #7496; we scan the InnoDB data dictionary also at a normal mysqld startup, and create the spaces, so that we know the mapping space id -> .ibd file name; fix an infinite loop if DISCARD TABLESPACE coincides with INSERT or some other table operation; fix a potential crash if DISCARD TABLESPACE coincides with a cascaded FOREIGN KEY operation in the same table; do not allow DISCARD TABLESPACE of a referenced table if FOREIGN_KEY_CHECKS=1
2004-12-27 04:10:25 +02:00
vtkachenko@intelp4d.mysql.com
f1dfafe721 Many files:
tabs replaced
ha_innodb.cc:
  Comments removed
2004-12-24 13:31:21 +01:00
vtkachenko@intelp4d.mysql.com
78846b2923 logging_ok:
Logging to logging@openlogging.org accepted
sql_yacc.yy, sql_parse.cc, sql_lex.h, lex.h:
  Implements the SHOW MUTEX STATUS command
set_var.cc, mysqld.cc, mysql_priv.h:
  Added new GLOBAL variable timed_mutexes
ha_innodb.h:
  New function innodb_mutex_show_status
ha_innodb.cc:
  Added new innodb variables in SHOW STATUS
  Implements the SHOW MUTEX STATUS command
innodb.test, innodb.result:
  Added new row_lock_waits status variables tests.
variables.test, variables.result:
  test new variable timed_mutexes
ut0ut.c:
  New function ut_usectime.
sync0sync.c:
  Mutex counting.
sync0rw.c:
  New mutex parameters initialization.
srv0srv.c:
  Counting row lock waits
row0sel.c, row0mysql.c:
  Setting row_lock or table_lock state to thd.
que0que.c:
  Added default no_lock_state to thd.
univ.i:
  Added UNIV_SRV_PRINT_LATCH_WAITS debug define
sync0sync.ic:
  Count mutex using.
sync0sync.h:
  Added new parameters to mutex structure for counting.
sync0rw.h:
  Added new parameters to rw_create_func.
srv0srv.h:
  Added new innodb varuables to SHOW STATUS.
que0que.h:
  Added thread lock states.
2004-12-24 12:13:32 +01:00
sergefp@mysql.com
5cf716aa4e Make index_merge code call handler::extra(HA_EXTRA_RETRIEVE_PRIMARY_KEY) if it
will call handler::position() during key scan. 
Undo the previous, less efficient fix (cset 2004-11-30 19:56:25+02:00, heikki@hundin.mysql.fi)
2004-12-23 15:23:39 +03:00
mysqldev@bk-internal.mysql.com
2d1aa1c892 Merge bk-internal.mysql.com:/data0/bk/mysql-4.1
into bk-internal.mysql.com:/data0/bk/mysql-4.1-cluster-extra
2004-12-23 10:46:37 +01:00
heikki@hundin.mysql.fi
64f36c94d1 ha_innodb.cc:
Add a comment that no InnoDB table lock is now acquired in LOCK TABLES if AUTOCOMMIT=1. This helps to avoid deadlocks when porting old MyISAM applications to InnoDB.
2004-12-22 11:11:16 +02:00
heikki@hundin.mysql.fi
73f61e9d15 Merge hundin.mysql.fi:/home/heikki/mysql-4.0
into hundin.mysql.fi:/home/heikki/mysql-4.1
2004-12-22 11:09:09 +02:00
heikki@hundin.mysql.fi
917e8b4da3 ha_innodb.cc:
If AUTOCOMMIT=1, do not acquire an InnoDB table lock in LOCK TABLES; this makes porting of old MyISAM applications to InnoDB easier, since in that mode InnoDB table locks caused deadlocks very easily
2004-12-22 11:01:25 +02:00
jan@hundin.mysql.fi
d3a979888d Review fixes. 2004-12-21 15:53:01 +02:00
jan@hundin.mysql.fi
198dc7a8ec Content merge. 2004-12-21 07:49:38 +02:00
marko@hundin.mysql.fi
e2f9201041 InnoDB: Fixed bugs in the padding and trimming of trailing spaces
that affected the UCS2 character set. (Bug #7350)
2004-12-17 18:35:11 +02:00
kaa@polly.local
4644e54f8f Merge akopytov@bk-internal.mysql.com:/home/bk/mysql-5.0
into polly.local:/home/kaa/src/mysql-5.0
2004-12-17 17:31:16 +03:00
mysqldev@mysql.com
e127fc34c3 Merge 2004-12-16 09:37:29 +01:00
jan@hundin.mysql.fi
2f38a79ae7 Added support for a CREATE TABLE...AUTO_INCREMENT = x in InnoDB. 2004-12-16 08:34:03 +02:00
kaa@polly.local
2ce0ad6d7e Forward port of HugeTLB, InnoDB doublewrite and checksums patches to 5.0 2004-12-14 22:26:31 +03:00
jan@hundin.mysql.fi
1fa75712b9 Fixed a bug no error message for ALTER with InnoDB and AUTO_INCREMENT (Bug #7061). 2004-12-13 15:44:45 +02:00
jan@hundin.mysql.fi
608104cc75 Fixed a bug no error message for ALTER with InnoDB and AUTO_INCREMENT (Bug #7061). 2004-12-13 10:57:26 +02:00
heikki@hundin.mysql.fi
ea6b5e117a dict0dict.h, dict0dict.c, ha_innodb.cc:
Fix for the 0xA0 character problem in the InnoDB FOREIGN KEY parser: if my_isspace() treats 0xA0 as space, then let InnoDB do the same; this might break some multi-byte charset id's, though for big5, ujis, sjis this seems not to change the current behavior (I checked the tables in /share/charsets); this fix must NOT be merged to 4.1 because in 4.1 everything is in UTF-8
2004-12-10 17:12:47 +02:00
jan@hundin.mysql.fi
49c0044a2f Content merge. 2004-12-09 11:20:50 +02:00
jan@hundin.mysql.fi
d6effde5d0 Added support for a LOCK TABLES...WHERE ENGINE = InnoDB query which sets
transactional table locks to tables mentioned in the query. These locks
are released at the end of the transaction automatically.
This is fix for bugs #5655, #5998 and issue #3762.
2004-12-09 11:10:45 +02:00
monty@mysql.com
563500994a Update results for new varchar handling
Fixed compiler warnings
String results in CREATE ... SELECT are now created as CHAR(0), VARCHAR(X) or TEXT() depending on item->max_length
2004-12-07 15:47:00 +02:00
monty@mysql.com
77207d19f2 Merge with new VARCHAR code 2004-12-06 19:18:35 +02:00
monty@mysql.com
67ce247965 Add support for up to VARCHAR (size up to 65535)
Renamed HA_VAR_LENGTH to HA_VAR_LENGTH_PART
Renamed in all files FIELD_TYPE_STRING and FIELD_TYPE_VAR_STRING to MYSQL_TYPE_STRING and MYSQL_TYPE_VAR_STRING to make it easy to catch all possible errors
Added support for VARCHAR KEYS to heap
Removed support for ISAM
Now only long VARCHAR columns are changed to TEXT on demand (not CHAR)
Internal temporary files can now use fixed length tables if the used VARCHAR columns are short
2004-12-06 02:00:37 +02:00
marko@hundin.mysql.fi
2db2cda3ed InnoDB: Fix ctype_utf8 test failure caused by the new record format. 2004-12-03 17:57:44 +02:00
marko@hundin.mysql.fi
dd48953956 Many files:
Implement more compact InnoDB record format.
  Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
2004-12-02 19:45:07 +02:00
jan@hundin.mysql.fi
5cf76a3667 Merge jlindstrom@bk-internal.mysql.com:/home/bk/mysql-5.0
into hundin.mysql.fi:/home/jan/mysql-5.0
2004-12-01 09:21:42 +02:00
jan@hundin.mysql.fi
4f3b3047a6 This is a code cleanup patch for X/Open XA. 2004-12-01 09:20:32 +02:00
brian@avenger.(none)
2204098b4a Merge baker@bk-internal.mysql.com:/home/bk/mysql-5.0
into avenger.(none):/export/brian/mysql/merge/5.0
2004-11-30 13:42:19 -08:00
brian@avenger.(none)
b85f4677d5 Merge for Matt for Innodb bug. 2004-11-30 10:10:40 -08:00
heikki@hundin.mysql.fi
ad8d9314e2 row0mysql.h, ha_innodb.cc:
Sergey Petrunia's ROR code fails to tell handlers that they should retrieve the primary key columns; let InnoDB ALWAYS retrieve them, to fix many bugs and potential bugs
2004-11-30 19:56:25 +02:00
marko@hundin.mysql.fi
a35a93aa3c InnoDB: Allow ALTER TABLE to do intermediate COMMIT also when the table
contains auto_increment columns.  (Bug #6633)
2004-11-30 17:34:37 +02:00
jan@hundin.mysql.fi
fb50b9e63c Auto merged. 2004-11-30 12:11:02 +02:00
jan@hundin.mysql.fi
97f59719b6 Added support for X/Open XA prepare, recover, commit and rollback. 2004-11-30 11:45:02 +02:00
marko@hundin.mysql.fi
2e7cb4d011 InnoDB: Make intermediate COMMITs in ALTER TABLE more robust (Bug #6633) 2004-11-27 00:45:01 +02:00
tomas@poseidon.ndb.mysql.com
97c8234b46 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-4.1
into poseidon.ndb.mysql.com:/home/tomas/mysql-5.0
2004-11-26 13:44:49 +00:00
heikki@hundin.mysql.fi
14b60dfce4 ha_innodb.cc:
Add conversion of the InnoDB error DB_LOCK_TABLE_FULL to the corresponding MySQL error
2004-11-26 00:26:35 +02:00
tomas@poseidon.ndb.mysql.com
ae471974ac sql/ha_innodb.cc
enabled query cache for ndb
    modified engine interface somewhat
sql/ha_innodb.h
    enabled query cache for ndb
    modified engine interface somewhat
sql/ha_ndbcluster.cc
    enabled query cache for ndb
    modified engine interface somewhat
    ndb will only allow caching and retrieval if running autocommit
      - return false, but do not invalidate
    commit count is used as engine data, i.e.
      - store commit count before store of cache
      - allow retrieval if commit count has not changed on a table
      - invalidate if commit count has changed
sql/ha_ndbcluster.h
    enabled query cache for ndb
    modified engine interface somewhat
sql/handler.cc
    enabled query cache for ndb
    modified engine interface somewhat
sql/handler.h
    enabled query cache for ndb
    modified engine interface somewhat
    new virtual handler method cached_table_registration called on each table before alowing store in query cache
      - return TRUE - ok to cache, FALSE - not allowed to cache, invalidate queries if engine_data below has changed
      - sets ulonglong (engine_data) that is stored in query cache for each table
      - sets callback to be called for each table before usage of cached query, callback = 0 -> no check later
sql/mysql_priv.h
    enabled query cache for ndb
    modified engine interface somewhat
    callcack prototype for callback to engine before query cache retrieval
sql/sql_cache.cc
    enabled query cache for ndb
    modified engine interface somewhat
    if callback is set on table in cache, do callback to check if allowed to use cache
    if not allowed to use cache, check if engine_data has changed, if so, invalidate all queries with that table
    + changes to store and pass callback and engine_data around
sql/sql_cache.h
    enabled query cache for ndb
    modified engine interface somewhat
    changes to store callback and engine_data
sql/table.h
    enabled query cache for ndb
    modified engine interface somewhat
    changes to store callback and engine_data
2004-11-24 11:56:51 +00:00
petr@mysql.com
30789e7aa2 Merge mysql.com:/home/cps/mysql/trees/mysql-5.0
into mysql.com:/home/cps/mysql/devel/innotask/mysql-5.0-inno-final
2004-11-18 14:53:21 +03:00
petr@mysql.com
890211a7c4 WL 2059 Engine-specific status variables framework and WL 1922
InnoDB status variables
2004-11-18 13:00:42 +03:00
serg@serg.mylan
e68bd85b77 merged 2004-11-17 18:04:36 +01:00
heikki@hundin.mysql.fi
b560503386 ha_innodb.cc:
Anthony's http://lists.mysql.com/internals/18505 patch for DROP DATABASE broke caused it to return errno if .ibd files were present (bas_ext() was obsolete in ha_innodb.cc); fix this
2004-11-16 22:49:28 +02:00
heikki@hundin.mysql.fi
ea59300d62 ha_innodb.cc:
Manually ported this bug fix from 4.0: 
 Fix InnoDB bug #6287: if one uses INSERT IGNORE to insert several rows at a time, and the first inserts are ignored because of a duplicate key collision, then InnoDB in a replication slave assigns AUTO_INCREMENT values 1 bigger than in the master
2004-11-16 20:45:52 +02:00
heikki@hundin.mysql.fi
dd64377dc2 ha_innodb.cc:
Fix InnoDB bug #6287: if one uses INSERT IGNORE to insert several rows at a time, and the first inserts are ignored because of a duplicate key collision, then InnoDB in a replication slave assigns AUTO_INCREMENT values 1 bigger than in the master
2004-11-16 20:37:42 +02:00
Sinisa@sinisa.nasamreza.org
b75114c7d6 Fixing a linking problem that occurs with some compilers, due to
unresolved symbols.
2004-11-16 17:42:36 +02:00
bell@sanja.is.com.ua
d76db8b999 marge 2004-11-13 19:45:36 +02:00
bell@sanja.is.com.ua
7210195f1e now my_printf_error is not better then my_error, but my_error call is shorter
used only one implementation of format parser of (printf)
fixed multistatement
2004-11-13 19:35:51 +02:00
gluh@gluh.mysql.r18.ru
321f803784 WL#1629: SHOW with WHERE(partially) &
WL#173:  Create Data Dictionary Tables for SHOW Commands
2004-11-13 13:56:39 +03:00
bell@sanja.is.com.ua
1555469b64 merge 2004-11-12 15:36:31 +02:00
bell@sanja.is.com.ua
31f7811183 post-review fixes 2004-11-12 14:34:00 +02:00
monty@mysql.com
87af3d9113 merge on pull 2004-11-09 04:06:44 +02:00
monty@mysql.com
1087186657 Merge with 4.1 to get new thd->mem_root handling 2004-11-08 17:53:32 +02:00
jan@hundin.mysql.fi
a3f4bd28ac Fixed a bug in UPDATE statement with no index column in where condition
locks all rows (BUG #3300). When using innobase_locks_unsafe_for_binlog
option InnoDB does not take locks for those rows which do not
belong to the result set or werent changed by the query. This fix removes
unnecessary locks also from SELECT and DELETE queries.
2004-11-08 14:52:15 +02:00
marko@hundin.mysql.fi
1e82a08734 ha_innodb.cc:
write_row(): document the ALTER TABLE tweak better,
  and commit every n*10000 rows, not n*10000-1 rows.
2004-11-04 15:57:54 +02:00
marko@hundin.mysql.fi
fd069e2bb3 InnoDB: commit after every 10000 rows in ALTER TABLE 2004-11-03 21:32:48 +02:00
heikki@hundin.mysql.fi
c68ea1665c ha_innodb.cc:
Correct English grammar
2004-11-02 13:34:11 +02:00
heikki@hundin.mysql.fi
22269d451a ha_innodb.cc:
Backport Jan's fix of the LOAD DATA INFILE REPLACE duplicate key error bug (Bug #5835) to 4.0
2004-11-02 13:21:11 +02:00
monty@mysql.com
afbe601302 merge with 4.1 2004-10-29 19:26:52 +03:00
bell@sanja.is.com.ua
b1617371d2 Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-5.0
into sanja.is.com.ua:/home/bell/mysql/bk/work-error-5.0
2004-10-22 09:51:20 +03:00
jan@hundin.mysql.fi
64061eea5a Show table status now shows creation time of the table for InnoDB. Note that
this timestamp might not be the correct time because e.g. ALTER TABLE
changes this timestamp.
2004-10-22 07:52:52 +03:00
heikki@hundin.mysql.fi
d2cc016f20 ha_innodb.cc:
Remove compiler warning 'skip_auto_inc_decr' : unreferenced local variable in Visual C++; of course, I still have to check Monty's auto-inc patch in whole
2004-10-21 18:01:13 +03:00
jan@hundin.mysql.fi
65a9dd2dca SHOW TABLE STATUS now prints create_time, update_time and check_time
for InnoDB tables. Note that these times may always be correct ones,
because for example ALTER TABLE creates a table again.
2004-10-21 14:57:43 +03:00
jan@hundin.mysql.fi
de0488ee4b Merge jlindstrom@bk-internal.mysql.com:/home/bk/mysql-4.1
into hundin.mysql.fi:/home/jan/talle/mysql-4.1
2004-10-21 08:49:57 +03:00
monty@mysql.com
e1218474b8 Merge with 4.0 2004-10-20 16:24:28 +03:00
monty@mysql.com
1f8b3d0f22 Code cleanups (done during review of new code)
Rename innodb_table_locks_old_behavior -> innodb_table_locks
Set innodb_table_locks to off by default to get same behaviour as in MySQL 4.0.20
(This means that Innodb ignore table locks by default, which makes it easier to combine MyISAM and InnoDB to simulate a transaction)
2004-10-20 11:24:08 +03:00
bell@sanja.is.com.ua
4714a6e744 errors without code removed
net_printf/send_error calls replaced by my_error family functions
-1/1 (sent/unsent) error reporting removed
(WL#2133)
2004-10-20 04:04:37 +03:00
monty@mishka.local
7af65592c7 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mishka.local:/home/my/mysql-4.1
2004-10-20 02:55:03 +03:00
monty@mishka.local
04c23808a8 Review of all code pushed since last review
Simple optimzations and cleanups
Removed compiler warnings and fixed portability issues
Added client functions 'mysql_embedded()' to allow client to check if we are using embedded server
Fixes for purify
2004-10-20 01:28:42 +03:00
jan@hundin.mysql.fi
98ecd7422a Fixed bug #5835 load data infile...replace error with InnoDB table. 2004-10-19 09:58:41 +03:00
marko@hundin.mysql.fi
fe83d97800 ha_innodb.cc:
Replace a tolower() loop with innobase_casedn_str()
2004-10-18 16:59:15 +03:00
marko@hundin.mysql.fi
57f1f4ea41 InnoDB: Treat UTF-8 strings properly in case insensitive operations 2004-10-18 16:00:57 +03:00
jan@hundin.mysql.fi
f45aacd9a3 Use already parsed SQL-query in the current thread when determining
was the query REPLACE or LOAD DATA INFILE REPLACE.
2004-10-15 11:28:19 +03:00