Commit graph

521 commits

Author SHA1 Message Date
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
marko@hundin.mysql.fi
edb93ca441 Added startup option and settable session variable
innodb_table_locks_old_behavior: do not acquire an
InnoDB table lock for LOCK TABLES, as in mysql-4.0.18
and earlier.
2004-10-13 22:54:21 +03:00
heikki@hundin.mysql.fi
5fa601111e srv0srv.c, log0log.c, srv0srv.h, ha_innodb.cc, ha_innodb.h:
Implement innobase_very_fast_shutdown and innobase_start_trx_and_assign_read_view(); these were requested by Guilhem
2004-10-13 20:04:52 +03:00
heikki@hundin.mysql.fi
41ab008a36 ha_innodb.cc:
Change error code to HA_ERR_ROW_IS_REFERENCED if we cannot DROP a parent table referenced by a FOREIGN KEY constraint; this error number is less misleading than the previous value HA_ERR_CANNOT_ADD_FOREIGN, but misleading still; we should introduce to 5.0 a proper MySQL error code
2004-10-12 18:12:00 +03:00
heikki@hundin.mysql.fi
89ecfd7fa6 Many files:
Fix bug #5137: if innodb_file_per_table was specified, CREATE TEMPORARY TABLE ... TYPE=InnoDB said that cannot find path specified, and made mysqld to exit(1)
2004-10-07 20:53:20 +03:00
heikki@hundin.mysql.fi
784445a4ef ha_innodb.cc:
Merge manually the InnoDB mysqldump -l crash patch (crash with LOCK TABLES ... LOCAL) from 4.0 to 4.1; some code cleanup
2004-10-07 16:08:15 +03:00
monty@mysql.com
62f3cd6a31 Merge with 4.0 for 4.1 release
Noteworthy:
- New HANDLER code
- New multi-update-grant-check code
- Table lock code in ha_innodb.cc was not applied
2004-10-06 19:14:33 +03:00
heikki@hundin.mysql.fi
3985d58ad2 ha_innodb.cc:
Raise maximum column prefix len to 767 bytes, so that MySQL can create a column prefix index of 255 UTF-8 characters (each takes 3 bytes at the maximum); add comments about why innobase_get_at_most_n_mbchars() works ok
dict0mem.h:
  Raise maximum column prefix len to 767 bytes, so that MySQL can create a column prefix index of 255 UTF-8 characters (each takes 3 bytes at the maximum)
row0mysql.c:
  If MySQL tries to create a column prefix index longer that 255 UTF-8 characters, give an error, and drop the table from the InnoDB internal data dictionary. MySQL did not drop the table there in its own error handling.
2004-10-05 17:08:22 +03:00
heikki@hundin.mysql.fi
c4c398bce3 ha_innodb.cc:
A partial bugfix to a multibyte charset / column prefix index bug: my_charpos() does not handle right some cases, we try to mask the bug for ASCII chars < 128 in the UTF-8 charset
2004-10-01 21:43:19 +03:00
heikki@hundin.mysql.fi
d7a6614d63 Merge heikki@build.mysql.com:/home/bk/mysql-4.1
into hundin.mysql.fi:/home/heikki/mysql-4.1
2004-10-01 20:02:34 +03:00
heikki@hundin.mysql.fi
1390ce0f75 Many files:
Fix bug introduced by the prefix key + multibyte charsets patch today
2004-10-01 20:01:25 +03:00
dlenev@mysql.com
53209cc4fc Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/dlenev/src/mysql-4.1-ryan
2004-10-01 18:55:17 +04:00
dlenev@brandersnatch.localdomain
2511990c97 Support for TIMESTAMP columns holding NULL values. Unlike all other
column types TIMESTAMP is NOT NULL by default, so in order to have 
TIMESTAMP column holding NULL valaues you have to specify NULL as
one of its attributes (this needed for backward compatibility).

Main changes:
Replaced TABLE::timestamp_default_now/on_update_now members with
TABLE::timestamp_auto_set_type flag which is used everywhere
for determining if we should auto-set value of TIMESTAMP field 
during this operation or not. We are also use Field_timestamp::set_time()
instead of handler::update_timestamp() in handlers.
2004-10-01 18:54:06 +04:00
marko@hundin.mysql.fi
76cda983a9 Merge marko@build.mysql.com:/home/bk/mysql-4.1
into hundin.mysql.fi:/home/marko/j/mysql-4.1
2004-10-01 14:17:05 +03:00
jan@hundin.mysql.fi
bd5dc4513b Added more comments on the code and made some code polishing. 2004-10-01 13:32:44 +03:00
marko@hundin.mysql.fi
d7ea8e7c6c InnoDB: quote identifiers according to MySQL settings (Bug #5292) 2004-10-01 11:51:59 +03:00
marko@hundin.mysql.fi
9f92688b64 Made innodb_autoextend_increment accessible as a global variable. 2004-09-30 12:31:41 +03:00
marko@hundin.mysql.fi
c03049dfd9 InnoDB: Corrected typos in DBUG_ statements 2004-09-17 17:16:02 +03:00
jan@hundin.mysql.fi
762c24f29a Merge jlindstrom@build.mysql.com:/home/bk/mysql-4.1
into hundin.mysql.fi:/home/jan/mysql-4.1
2004-09-16 21:32:05 +03:00
marko@hundin.mysql.fi
a660499cd9 Merge marko@build.mysql.com:/home/bk/mysql-4.1
into hundin.mysql.fi:/home/marko/j/mysql-4.1
2004-09-16 19:09:38 +03:00
monty@mishka.local
37864e2727 Merge 2004-09-15 22:36:57 +03:00
monty@mishka.local
91ff64e107 Added options --auto-increment-increment and --auto-increment-offset.
This allows one to setup a master <-> master replication with non conflicting auto-increment series.
Cleaned up binary log code to make it easyer to add new state variables.
Added simpler 'upper level' logic for artificial events (events that should not cause cleanups on slave).
Simplified binary log handling.
Changed how auto_increment works together with to SET INSERT_ID=# to make it more predictable: Now the inserted rows in a multi-row statement are set independent of the existing rows in the table. (Before only InnoDB did this correctly)
2004-09-15 22:10:31 +03:00
heikki@hundin.mysql.fi
d6b4c4f90e row0mysql.h:
Improve the comment on stored_select_lock_type
ha_innodb.cc:
  Let InnoDB remember select_lock_type inside LOCK TABLES, also over plain consistent read SELECTs; fix Bug #5538 : assertion failure when using mysqldump with the -l option; in MERGING this patch to 4.1, there may be PROBLEMS; that is because previous patch was never merged to 4.1; Heikki Tuuri has to polish the code in 4.1 after this patch has been merged.
2004-09-13 19:05:39 +03:00
jani@rhols221.adsl.netsonic.fi
0b3d778691 Merge. 2004-09-13 18:12:44 +03:00
jani@rhols221.adsl.netsonic.fi
fe23df1a2b Added per thread status variables, after review, patch v1.1. 2004-09-13 16:48:01 +03:00
sergefp@mysql.com
13fdbc99cf Fix for BUG#5117:
* Renamed handler::estimate_number_of_rows to handler::estimate_rows_upper_bound function, which can also return "unknown"
 * made filesort to use full sort buffer if number of rows to sort is not known.
2004-09-13 06:14:25 +04:00
marko@hundin.mysql.fi
934a5c0b99 InnoDB: Add configuration option innodb_autoextend_increment 2004-09-07 16:26:38 +03:00
monty@mysql.com
31122efde7 Merge with 4.1
(Includes merge of arena code in 4.1 and 5.0)
2004-09-06 15:14:10 +03:00
monty@mysql.com
9d8555c0f0 Merge with 4.0 to get latest bug fixes 2004-09-04 15:59:49 +03:00
jan@hundin.mysql.fi
a48db602dd Fixed unique prefix key bug for multibyte character sets (BUG #4521) for
InnoDB. This fixes also a second part of the same problem with prefix keys
on a multibyte string column for InnoDB.
2004-09-03 15:26:29 +03:00
heikki@hundin.mysql.fi
40c0fde904 ha_innodb.cc:
If ALTER TABLE ... DROP FOREIGN KEY ... fails because of a wrong constraint name, return a table handler error number 150 instead of 152; the value 152 was misleading, as it referred to '152 = Cannot delete a parent row', whereas '150 = Foreign key constraint is incorrectly formed' is less misleading
2004-09-01 16:41:09 +03:00
serg@serg.mylan
62722e7b05 merged 2004-08-20 00:52:43 +02:00
marko@hundin.mysql.fi
1773e759e4 ha_innodb.cc:
innobase_mysql_tmpfile(): call dup() and my_close() on the file
  returned by create_temp_file()
  in order to avoid memory leak caused by my_open() being paired with close()
2004-08-19 23:22:16 +03:00
serg@serg.mylan
e1237cbc53 manually merged 2004-08-18 19:57:55 +02:00
heikki@hundin.mysql.fi
6feb6ea545 srv0start.c, ut0mem.c, ut0dbg.c, ut0dbg.h, srv0start.h:
Changes for NetWare to exit the InnoDB gracefully instead of crashing the server (patch by PRam@novell.com, polished a little by Heikki Tuuri)
mysqld.cc, ha_innodb.cc:
  Changes for NetWare to exit the InnoDB gracefully instead of crashing the server (patch by PRam@novell.com, polished a little by Heikki Tuuri)
2004-08-18 01:48:01 +03:00
marko@hundin.mysql.fi
cd6292d219 InnoDB: Use create_temp_file() when available 2004-08-10 14:17:32 +03:00
marko@hundin.mysql.fi
3cb09c9817 InnoDB: Add option for disabling innodb_status.<pid> files.
InnoDB: Implement tmpfile() differently on Windows (Bug #3998)
2004-08-06 15:55:50 +03:00
konstantin@mysql.com
d3e520ce7e Port of cursors to be pushed into 5.0 tree:
- client side part is simple and may be considered stable
- server side part now just joggles with THD state to save execution
  state and has no additional locking wisdom.
  Lot's of it are to be rewritten.
2004-08-03 03:32:21 -07:00
marko@hundin.mysql.fi
9edc3d8b9d ha_innodb.cc:
ha_innobase::create(): pass the query string as UTF-8
  to row_table_add_foreign_constraints()  (Bug #4649)
2004-07-30 16:08:19 +03:00
jan@hundin.mysql.fi
3ca686c5fb Merge jlindstrom@build.mysql.com:/home/bk/mysql-4.1
into hundin.mysql.fi:/home/jan/mysql-4.1
2004-07-21 08:52:12 +03:00