mariadb/innobase/include
unknown 20c82f5c01 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.


innobase/include/row0mysql.h:
  Added prototype for row_unlock_for_mysql() function which does an unlock of 
  a row for MySQL.
innobase/include/trx0trx.h:
  Added a field trx_create_lock to a transaction structure. This field is
  TRUE if we have created a new lock for a record accessed.
innobase/lock/lock0lock.c:
  Set lock create flag if lock is created and reset this flag before 
  transaction requests a lock.
innobase/row/row0mysql.c:
  Add support for unlocking a row in InnoDB. If we are using 
  innobase_locks_unsafe_for_binlog option then all those record 
  locks obtained by SQL-query which do not belong to result set 
  or were not modified are unlocked i.e. we remove the lock from 
  those records.
sql/ha_innodb.cc:
  Added support for a unlock_row interface in InnoDB.
sql/ha_innodb.h:
  Added prototype for a function unlock_row().
2004-11-08 14:52:15 +02:00
..
btr0btr.h InnoDB: Revert most of ChangeSet@1.1772, as the debug functions may 2004-06-16 13:41:14 +03:00
btr0btr.ic merge with 4.0 2004-03-16 22:41:30 +02:00
btr0cur.h InnoDB: Make btr_cur_unmark_extern_fields() a static function 2004-03-16 15:26:33 +02:00
btr0cur.ic Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
btr0pcur.h buf0buf.c, buf0buf.ic, buf0buf.h: 2003-01-06 22:07:25 +02:00
btr0pcur.ic Many files: 2003-10-07 17:28:59 +03:00
btr0sea.h InnoDB: Remove some debug variables unless UNIV_SEARCH_PERF_STAT is defined 2004-03-16 18:55:44 +02:00
btr0sea.ic Allow UNIV_SYNC_DEBUG to be disabled while UNIV_DEBUG is enabled 2004-03-12 17:14:51 +02:00
btr0types.h Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
buf0buf.h btr0sea.c, buf0lru.c, buf0buf.c, ha0ha.c, hash0hash.h, ha0ha.h, buf0buf.h: 2004-10-27 15:45:10 +03:00
buf0buf.ic Merge with 4.0.21 2004-06-18 04:38:58 +03:00
buf0flu.h InnoDB: Revert most of ChangeSet@1.1772, as the debug functions may 2004-06-16 13:41:14 +03:00
buf0flu.ic Allow UNIV_SYNC_DEBUG to be disabled while UNIV_DEBUG is enabled 2004-03-12 17:14:51 +02:00
buf0lru.h Merge with 4.0.21 2004-06-18 04:38:58 +03:00
buf0lru.ic Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
buf0rea.h Many files: 2003-10-07 17:28:59 +03:00
buf0types.h Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
data0data.h Merge with 4.0.21 2004-06-18 04:38:58 +03:00
data0data.ic After merge fixes 2004-05-24 14:42:34 +03:00
data0type.h Many files: 2004-10-01 20:01:25 +03:00
data0type.ic merge with 4.0 2004-03-16 22:41:30 +02:00
data0types.h Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
db0err.h Many files: 2003-10-07 17:28:59 +03:00
dict0boot.h Many files: 2003-10-07 17:28:59 +03:00
dict0boot.ic Merge 2001-10-30 17:38:44 +02:00
dict0crea.h Many files: 2004-02-20 16:34:09 +02:00
dict0crea.ic Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
dict0dict.h This patch removes unnecessary lock from the supremum record, takes 2004-10-14 15:36:36 +03:00
dict0dict.ic InnoDB cleanup: Add const qualifiers to many char* arguments 2004-05-17 14:40:31 +03:00
dict0load.h InnoDB cleanup: Add const qualifiers to many char* arguments 2004-05-17 14:40:31 +03:00
dict0load.ic Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
dict0mem.h Many files: 2004-10-07 20:53:20 +03:00
dict0mem.ic Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
dict0types.h InnoDB: Remove unnecessary code, mostly related to stored procedures 2004-03-31 10:30:14 +03:00
dyn0dyn.h dyn0dyn.h: 2004-08-02 13:02:34 +03:00
dyn0dyn.ic Many files: 2003-10-07 17:28:59 +03:00
eval0eval.h Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
eval0eval.ic Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
eval0proc.h Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
eval0proc.ic Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
fil0fil.h Many files: 2004-10-07 20:53:20 +03:00
fsp0fsp.h fsp0fsp.h: 2004-10-01 20:05:30 +03:00
fsp0fsp.ic Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
fut0fut.h Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
fut0fut.ic Allow UNIV_SYNC_DEBUG to be disabled while UNIV_DEBUG is enabled 2004-03-12 17:14:51 +02:00
fut0lst.h InnoDB: Revert most of ChangeSet@1.1772, as the debug functions may 2004-06-16 13:41:14 +03:00
fut0lst.ic Many files: 2003-10-07 17:28:59 +03:00
ha0ha.h btr0sea.c, buf0lru.c, buf0buf.c, ha0ha.c, hash0hash.h, ha0ha.h, buf0buf.h: 2004-10-27 15:45:10 +03:00
ha0ha.ic Merge with 4.0 2004-04-26 15:53:31 +03:00
hash0hash.h btr0sea.c, buf0lru.c, buf0buf.c, ha0ha.c, hash0hash.h, ha0ha.h, buf0buf.h: 2004-10-27 15:45:10 +03:00
hash0hash.ic Cset exclude: marko@hundin.mysql.fi|ChangeSet|20040311211202|05613 2004-06-17 13:25:06 +03:00
ibuf0ibuf.h Merge with 4.0 2004-04-26 15:53:31 +03:00
ibuf0ibuf.ic Many files: 2003-10-13 11:20:19 +03:00
ibuf0types.h Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
lock0lock.h InnoDB: LOCK TABLE clean-up 2004-07-12 16:47:22 +03:00
lock0lock.ic Allow UNIV_SYNC_DEBUG to be disabled while UNIV_DEBUG is enabled 2004-03-12 17:14:51 +02:00
lock0types.h Added max_user_connections 2001-02-20 22:34:47 +02:00
log0log.h Merge with 4.0.21 2004-06-18 04:38:58 +03:00
log0log.ic Merge with 4.0.21 2004-06-18 04:38:58 +03:00
log0recv.h InnoDB cleanup: 2004-05-27 15:27:43 +03:00
log0recv.ic Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
mach0data.h mach0data.ic, mach0data.h: 2004-06-18 15:54:19 +03:00
mach0data.ic Merge with 4.0 to get the latest bug patches to 4.1 2004-06-25 20:13:05 +03:00
Makefile.am Cset exclude: marko@hundin.mysql.fi|ChangeSet|20040525171209|56870 2004-06-17 11:57:45 +03:00
Makefile.i - Fixed bug in "make DESTDIR=<dir> install" - the InnoDB static 2003-04-10 20:03:52 +02:00
makefilewin.i Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
mem0dbg.h mem0dbg.h, mem0dbg.c: 2004-06-17 17:30:33 +03:00
mem0dbg.ic Merge with 4.0.21 2004-06-18 04:38:58 +03:00
mem0mem.h Fix compiler warnings (detected by Intel's C++ compiler) 2004-10-22 18:44:51 +03:00
mem0mem.ic Many files: 2004-10-07 20:53:20 +03:00
mem0pool.h InnoDB: Revert most of ChangeSet@1.1772, as the debug functions may 2004-06-16 13:41:14 +03:00
mem0pool.ic Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
mtr0log.h manually merged 2004-08-18 19:57:55 +02:00
mtr0log.ic manually merged 2004-08-18 19:57:55 +02:00
mtr0mtr.h Merge with 4.0.21 2004-06-18 04:38:58 +03:00
mtr0mtr.ic InnoDB cleanup: eliminate IB__FILE__ 2004-05-14 16:06:21 +03:00
mtr0types.h Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
os0file.h SHOW TABLE STATUS now prints create_time, update_time and check_time 2004-10-21 14:57:43 +03:00
os0proc.h merge with 4.0 2004-02-22 09:50:59 +02:00
os0proc.ic Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
os0sync.h InnoDB cleanup: Add const qualifiers to many char* arguments 2004-05-17 14:40:31 +03:00
os0sync.ic os0thread.h, os0sync.ic, os0sync.h, os0thread.c, os0sync.c, os0file.c: 2003-06-02 13:11:20 +03:00
os0thread.h Changed prototype of killed_ptr() to make it more portable 2004-05-26 19:12:49 +03:00
os0thread.ic Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
page0cur.h InnoDB: Remove some debug variables unless UNIV_SEARCH_PERF_STAT is defined 2004-03-16 18:55:44 +02:00
page0cur.ic page0cur.ic Fix a bug in insert buffer and multiversioning 2001-06-07 17:32:02 +03:00
page0page.h Many files: 2003-10-07 17:28:59 +03:00
page0page.ic row0sel.c, page0page.ic: 2004-07-30 17:02:26 +03:00
page0types.h page0types.h Eliminate a name collision on page_t on HP-UX 2001-03-14 21:13:15 +02:00
pars0grm.h pars0grm.h, pars0grm.c, lexyy.c: 2002-08-22 13:33:45 +03:00
pars0opt.h InnoDB: Revert most of ChangeSet@1.1772, as the debug functions may 2004-06-16 13:41:14 +03:00
pars0opt.ic Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
pars0pars.h InnoDB cleanup: Add const qualifiers to many char* arguments 2004-05-17 14:40:31 +03:00
pars0pars.ic Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
pars0sym.h InnoDB cleanup: Add const qualifiers to many char* arguments 2004-05-17 14:40:31 +03:00
pars0sym.ic Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
pars0types.h InnoDB: Remove unnecessary code, mostly related to stored procedures 2004-03-31 10:30:14 +03:00
que0que.h Cset exclude: marko@hundin.mysql.fi|ChangeSet|20040316101802|63386 2004-06-17 14:01:56 +03:00
que0que.ic Cset exclude: marko@hundin.mysql.fi|ChangeSet|20040316101802|63386 2004-06-17 14:01:56 +03:00
que0types.h Many files: 2003-10-07 17:28:59 +03:00
read0read.h Many files: 2002-10-29 23:16:46 +02:00
read0read.ic Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
read0types.h Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
rem0cmp.h Many files: 2003-06-15 01:04:28 +03:00
rem0cmp.ic Many files: 2004-02-20 16:34:09 +02:00
rem0rec.h Merge with 4.0 2004-04-26 15:53:31 +03:00
rem0rec.ic Merge with 4.0 2004-04-26 15:53:31 +03:00
rem0types.h Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
row0ins.h Cset exclude: marko@hundin.mysql.fi|ChangeSet|20040311211202|05613 2004-06-17 13:25:06 +03:00
row0ins.ic Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
row0mysql.h Fixed a bug in UPDATE statement with no index column in where condition 2004-11-08 14:52:15 +02:00
row0mysql.ic Many files: 2003-06-15 01:04:28 +03:00
row0purge.h Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
row0purge.ic Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
row0row.h InnoDB: quote identifiers according to MySQL settings (Bug #5292) 2004-10-01 11:51:59 +03:00
row0row.ic Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
row0sel.h InnoDB: quote identifiers according to MySQL settings (Bug #5292) 2004-10-01 11:51:59 +03:00
row0sel.ic Merge with 4.0 2004-04-26 15:53:31 +03:00
row0types.h Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
row0uins.h InnoDB cleanup: fixing buffer overflows and quoting of quotes 2004-04-01 16:51:34 +03:00
row0uins.ic Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
row0umod.h Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
row0umod.ic Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
row0undo.h InnoDB cleanup: fixing buffer overflows and quoting of quotes 2004-04-01 16:51:34 +03:00
row0undo.ic Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
row0upd.h InnoDB: quote identifiers according to MySQL settings (Bug #5292) 2004-10-01 11:51:59 +03:00
row0upd.ic InnoDB: quote identifiers according to MySQL settings (Bug #5292) 2004-10-01 11:51:59 +03:00
row0vers.h Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
row0vers.ic Added xml patch to mysqldump. 2001-11-05 23:48:03 +02:00
srv0que.h srv0que.c: 2004-06-17 12:35:04 +03:00
srv0srv.h Merge with 4.0 2004-10-27 19:52:41 +03:00
srv0srv.ic Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
srv0start.h manually merged 2004-08-18 19:57:55 +02:00
sync0arr.h Merge 2004-10-08 15:43:27 +03:00
sync0arr.ic Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
sync0rw.h Merge with 4.0.21 2004-06-18 04:38:58 +03:00
sync0rw.ic InnoDB cleanup: 2004-05-27 15:27:43 +03:00
sync0sync.h Merge with 4.0.21 2004-06-18 04:38:58 +03:00
sync0sync.ic InnoDB cleanup: 2004-05-27 15:27:43 +03:00
sync0types.h Added max_user_connections 2001-02-20 22:34:47 +02:00
thr0loc.h Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
thr0loc.ic Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
trx0purge.h Many files: 2002-10-29 23:16:46 +02:00
trx0purge.ic Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
trx0rec.h InnoDB: quote identifiers according to MySQL settings (Bug #5292) 2004-10-01 11:51:59 +03:00
trx0rec.ic srv0srv.h Support raw disk partitions as data files 2001-08-04 19:36:14 +03:00
trx0roll.h Merge with 4.0.21 2004-06-18 04:38:58 +03:00
trx0roll.ic Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
trx0rseg.h Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
trx0rseg.ic merge with 4.0 2004-03-16 22:41:30 +02:00
trx0sys.h Backport innodb_max_purge_lag from 4.1 2004-10-27 13:33:11 +03:00
trx0sys.ic Allow UNIV_SYNC_DEBUG to be disabled while UNIV_DEBUG is enabled 2004-03-12 17:14:51 +02:00
trx0trx.h Fixed a bug in UPDATE statement with no index column in where condition 2004-11-08 14:52:15 +02:00
trx0trx.ic trx0trx.ic, trx0trx.h, srv0srv.h, row0sel.h, dict0mem.h: 2002-09-20 05:18:55 +03:00
trx0types.h Many files: 2003-06-15 01:04:28 +03:00
trx0undo.h trx0undo.h, trx0undo.c, trx0trx.c: 2004-03-18 14:57:22 +02:00
trx0undo.ic Allow UNIV_SYNC_DEBUG to be disabled while UNIV_DEBUG is enabled 2004-03-12 17:14:51 +02:00
univ.i InnoDB cleanup: eliminate IB__FILE__ 2004-05-14 16:06:21 +03:00
usr0sess.h Cset exclude: marko@hundin.mysql.fi|ChangeSet|20040525171209|56870 2004-06-17 11:57:45 +03:00
usr0sess.ic Remove unneeded module "com" 2004-03-11 12:55:28 +02:00
usr0types.h Remove unneeded module "com" 2004-03-11 12:55:28 +02:00
ut0byte.h InnoDB: Treat UTF-8 strings properly in case insensitive operations 2004-10-18 16:00:57 +03:00
ut0byte.ic Many files: 2003-10-07 17:28:59 +03:00
ut0dbg.h manually merged 2004-08-18 19:57:55 +02:00
ut0lst.h Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
ut0mem.h InnoDB: Fix ALTER TABLE t DISCARD TABLESPACE (Bug #5851) 2004-10-04 20:38:23 +03:00
ut0mem.ic InnoDB: Fix ALTER TABLE t DISCARD TABLESPACE (Bug #5851) 2004-10-04 20:38:23 +03:00
ut0rnd.h InnoDB cleanup: Add const qualifiers to many char* arguments 2004-05-17 14:40:31 +03:00
ut0rnd.ic InnoDB cleanup: Add const qualifiers to many char* arguments 2004-05-17 14:40:31 +03:00
ut0sort.h Added Innobase to source distribution 2001-02-17 14:19:19 +02:00
ut0ut.h InnoDB: quote identifiers according to MySQL settings (Bug #5292) 2004-10-01 11:51:59 +03:00
ut0ut.ic Many files: 2003-10-07 17:28:59 +03:00