Commit graph

339 commits

Author SHA1 Message Date
serg@serg.mylan
6a5349028c a compiler must see '#pragma implementation' *before*
'#pragma interface' (that comes with the #include'd header file)
2005-06-05 19:38:52 +02:00
monty@mysql.com
29fd1f2fd9 Move USE_PRAGMA_IMPLEMENTATION to proper place
Ensure that 'null_value' is not accessed before val() is called in FIELD() functions
Fixed initialization of key maps. This fixes some problems with keys when you have more than 64 keys
Fixed that ROLLUP don't always create a temporary table. This fix ensures that func_gconcat.test results are now predictable
2005-06-03 23:46:03 +03:00
kent@mysql.com
bd48eed988 tztime.cc:
Set #pragma implementation" earlier
Many files:
  Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
2005-06-02 02:43:32 +02:00
serg@serg.mylan
324c20d41c Merge serg@bk-internal.mysql.com:/home/bk/mysql-4.1/
into serg.mylan:/usr/home/serg/Abk/mysql-4.1
2005-05-27 12:48:36 +02:00
serg@serg.mylan
d21b8d1077 don't downgrade the lock for CREATE ... SELECT (bug#6678) 2005-05-27 12:38:29 +02:00
msvensson@neptunus.(none)
83d430353e Add ifdefs to control when "#pragma implementation" should be used
Added some more ifdefs for "#pragma interface"
2005-05-26 12:09:14 +02: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
jan@hundin.mysql.fi
71f620890c Fig compiler error. 2005-05-05 08:08:39 +03:00
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
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
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
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
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
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
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
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
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
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
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
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
marko@hundin.mysql.fi
dabb56a7cb After merge fixes 2005-02-01 10:24:09 +02:00
marko@hundin.mysql.fi
4117949ace InnoDB: Tolerate negative return values from ftell(). 2005-01-27 14:05:44 +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
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
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
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
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
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
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
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
marko@hundin.mysql.fi
2e7cb4d011 InnoDB: Make intermediate COMMITs in ALTER TABLE more robust (Bug #6633) 2004-11-27 00:45:01 +02: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
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
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
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
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