mirror of
https://github.com/MariaDB/server.git
synced 2025-01-20 22:12:30 +01:00
branches/zip: Merge revisions 532:536 from trunk.
This commit is contained in:
parent
cfc945a954
commit
99a262647b
2 changed files with 152 additions and 89 deletions
135
Makefile.am
135
Makefile.am
|
@ -26,65 +26,86 @@ SUBDIRS = os ut btr buf data dict dyn eval fil fsp fut \
|
|||
ha ibuf lock log mach mem mtr page \
|
||||
pars que read rem row srv sync thr trx usr
|
||||
|
||||
EXTRA_DIST = include/btr0btr.h include/btr0btr.ic include/btr0cur.h \
|
||||
include/btr0cur.ic include/btr0pcur.h include/btr0pcur.ic \
|
||||
include/btr0sea.h include/btr0sea.ic include/btr0types.h \
|
||||
include/buf0buf.h include/buf0buf.ic include/buf0flu.h \
|
||||
include/buf0flu.ic include/buf0lru.h include/buf0lru.ic \
|
||||
include/buf0rea.h include/buf0types.h include/data0data.h \
|
||||
include/data0data.ic include/data0type.h include/data0type.ic \
|
||||
include/data0types.h include/db0err.h include/dict0boot.h \
|
||||
include/dict0boot.ic include/dict0crea.h include/dict0crea.ic \
|
||||
include/dict0dict.h include/dict0dict.ic include/dict0load.h \
|
||||
include/dict0load.ic include/dict0mem.h include/dict0mem.ic \
|
||||
include/dict0types.h include/dyn0dyn.h include/dyn0dyn.ic \
|
||||
include/eval0eval.h include/eval0eval.ic include/eval0proc.h \
|
||||
include/eval0proc.ic include/fil0fil.h include/fsp0fsp.h \
|
||||
include/fsp0fsp.ic include/fut0fut.h include/fut0fut.ic \
|
||||
include/fut0lst.h include/fut0lst.ic include/ha0ha.h \
|
||||
include/ha0ha.ic include/hash0hash.h include/hash0hash.ic \
|
||||
EXTRA_DIST = include/btr0btr.h include/btr0btr.ic include/btr0cur.h include/btr0cur.ic \
|
||||
include/btr0pcur.h include/btr0pcur.ic include/btr0sea.h include/btr0sea.ic \
|
||||
include/btr0types.h \
|
||||
include/buf0buf.h include/buf0buf.ic include/buf0flu.h include/buf0flu.ic \
|
||||
include/buf0lru.h include/buf0lru.ic include/buf0rea.h include/buf0types.h \
|
||||
include/data0data.h include/data0data.ic include/data0type.h include/data0type.ic \
|
||||
include/data0types.h include/db0err.h \
|
||||
include/dict0boot.h include/dict0boot.ic include/dict0crea.h include/dict0crea.ic \
|
||||
include/dict0dict.h include/dict0dict.ic include/dict0load.h include/dict0load.ic \
|
||||
include/dict0mem.h include/dict0mem.ic include/dict0types.h \
|
||||
include/dyn0dyn.h include/dyn0dyn.ic \
|
||||
include/eval0eval.h include/eval0eval.ic include/eval0proc.h include/eval0proc.ic \
|
||||
include/fil0fil.h include/fsp0fsp.h include/fsp0fsp.ic \
|
||||
include/fut0fut.h include/fut0fut.ic include/fut0lst.h include/fut0lst.ic \
|
||||
include/ha0ha.h include/ha0ha.ic include/hash0hash.h include/hash0hash.ic \
|
||||
include/ibuf0ibuf.h include/ibuf0ibuf.ic include/ibuf0types.h \
|
||||
include/lock0lock.h include/lock0lock.ic include/lock0types.h \
|
||||
include/log0log.h include/log0log.ic include/log0recv.h \
|
||||
include/log0recv.ic include/mach0data.h include/mach0data.ic \
|
||||
include/mem0dbg.h include/mem0dbg.ic include/mem0mem.h \
|
||||
include/mem0mem.ic include/mem0pool.h include/mem0pool.ic \
|
||||
include/mtr0log.h include/mtr0log.ic include/mtr0mtr.h \
|
||||
include/mtr0mtr.ic include/mtr0types.h include/os0file.h \
|
||||
include/os0proc.h include/os0proc.ic include/os0sync.h \
|
||||
include/os0sync.ic include/os0thread.h include/os0thread.ic \
|
||||
include/page0cur.h include/page0cur.ic include/page0page.h \
|
||||
include/page0page.ic include/page0types.h include/pars0grm.h \
|
||||
include/pars0opt.h include/pars0opt.ic include/pars0pars.h \
|
||||
include/pars0pars.ic include/pars0sym.h include/pars0sym.ic \
|
||||
include/pars0types.h include/que0que.h include/que0que.ic \
|
||||
include/que0types.h include/read0read.h include/read0read.ic \
|
||||
include/read0types.h include/rem0cmp.h include/rem0cmp.ic \
|
||||
include/rem0rec.h include/rem0rec.ic include/rem0types.h \
|
||||
include/row0ins.h include/row0ins.ic include/row0mysql.h \
|
||||
include/row0mysql.ic include/row0purge.h include/row0purge.ic \
|
||||
include/row0row.h include/row0row.ic include/row0sel.h \
|
||||
include/row0sel.ic include/row0types.h include/row0uins.h \
|
||||
include/row0uins.ic include/row0umod.h include/row0umod.ic \
|
||||
include/row0undo.h include/row0undo.ic include/row0upd.h \
|
||||
include/row0upd.ic include/row0vers.h include/row0vers.ic \
|
||||
include/srv0que.h include/srv0srv.h include/srv0srv.ic \
|
||||
include/srv0start.h include/sync0arr.h include/sync0arr.ic \
|
||||
include/sync0rw.h include/sync0rw.ic include/sync0sync.h \
|
||||
include/sync0sync.ic include/sync0types.h include/thr0loc.h \
|
||||
include/thr0loc.ic include/trx0purge.h include/trx0purge.ic \
|
||||
include/trx0rec.h include/trx0rec.ic include/trx0roll.h \
|
||||
include/trx0roll.ic include/trx0rseg.h include/trx0rseg.ic \
|
||||
include/trx0sys.h include/trx0sys.ic include/trx0trx.h \
|
||||
include/trx0trx.ic include/trx0types.h include/trx0undo.h \
|
||||
include/trx0undo.ic include/trx0xa.h include/univ.i \
|
||||
include/usr0sess.h include/usr0sess.ic include/usr0types.h \
|
||||
include/ut0byte.h include/ut0byte.ic include/ut0dbg.h \
|
||||
include/ut0lst.h include/ut0mem.h include/ut0mem.ic \
|
||||
include/ut0rnd.h include/ut0rnd.ic include/ut0sort.h \
|
||||
include/ut0ut.h include/ut0ut.ic include/ut0vec.h \
|
||||
include/ut0vec.ic include/ut0list.h include/ut0list.ic \
|
||||
include/ut0wqueue.h cmakelists.txt
|
||||
include/log0log.h include/log0log.ic include/log0recv.h include/log0recv.ic \
|
||||
include/mach0data.h include/mach0data.ic include/mem0dbg.h include/mem0dbg.ic \
|
||||
include/mem0mem.h include/mem0mem.ic include/mem0pool.h include/mem0pool.ic \
|
||||
include/mtr0log.h include/mtr0log.ic include/mtr0mtr.h include/mtr0mtr.ic \
|
||||
include/mtr0types.h include/os0file.h \
|
||||
include/os0proc.h include/os0proc.ic include/os0sync.h include/os0sync.ic \
|
||||
include/os0thread.h include/os0thread.ic \
|
||||
include/page0cur.h include/page0cur.ic include/page0page.h include/page0page.ic \
|
||||
include/page0types.h \
|
||||
include/pars0grm.h include/pars0opt.h include/pars0opt.ic \
|
||||
include/pars0pars.h include/pars0pars.ic include/pars0sym.h include/pars0sym.ic \
|
||||
include/pars0types.h \
|
||||
include/que0que.h include/que0que.ic include/que0types.h \
|
||||
include/read0read.h include/read0read.ic include/read0types.h \
|
||||
include/rem0cmp.h include/rem0cmp.ic include/rem0rec.h include/rem0rec.ic \
|
||||
include/rem0types.h \
|
||||
include/row0ins.h include/row0ins.ic include/row0mysql.h include/row0mysql.ic \
|
||||
include/row0purge.h include/row0purge.ic include/row0row.h include/row0row.ic \
|
||||
include/row0sel.h include/row0sel.ic include/row0types.h \
|
||||
include/row0uins.h include/row0uins.ic include/row0umod.h include/row0umod.ic \
|
||||
include/row0undo.h include/row0undo.ic include/row0upd.h include/row0upd.ic \
|
||||
include/row0vers.h include/row0vers.ic \
|
||||
include/srv0que.h include/srv0srv.h include/srv0srv.ic include/srv0start.h \
|
||||
include/sync0arr.h include/sync0arr.ic include/sync0rw.h include/sync0rw.ic \
|
||||
include/sync0sync.h include/sync0sync.ic include/sync0types.h \
|
||||
include/thr0loc.h include/thr0loc.ic \
|
||||
include/trx0purge.h include/trx0purge.ic include/trx0rec.h include/trx0rec.ic \
|
||||
include/trx0roll.h include/trx0roll.ic include/trx0rseg.h include/trx0rseg.ic \
|
||||
include/trx0sys.h include/trx0sys.ic include/trx0trx.h include/trx0trx.ic \
|
||||
include/trx0types.h include/trx0undo.h include/trx0undo.ic include/trx0xa.h \
|
||||
include/univ.i include/usr0sess.h include/usr0sess.ic include/usr0types.h \
|
||||
include/ut0byte.h include/ut0byte.ic include/ut0dbg.h include/ut0lst.h \
|
||||
include/ut0mem.h include/ut0mem.ic include/ut0rnd.h include/ut0rnd.ic \
|
||||
include/ut0sort.h include/ut0ut.h include/ut0ut.ic include/ut0vec.h include/ut0vec.ic \
|
||||
cmakelists.txt
|
||||
|
||||
noinst_LIBRARIES = libinnobase.a
|
||||
libinnobase_a_LIBADD = usr/libusr.a srv/libsrv.a dict/libdict.a \
|
||||
que/libque.a srv/libsrv.a ibuf/libibuf.a \
|
||||
row/librow.a pars/libpars.a btr/libbtr.a \
|
||||
trx/libtrx.a read/libread.a usr/libusr.a \
|
||||
buf/libbuf.a ibuf/libibuf.a eval/libeval.a \
|
||||
log/liblog.a fsp/libfsp.a fut/libfut.a \
|
||||
fil/libfil.a lock/liblock.a mtr/libmtr.a \
|
||||
page/libpage.a rem/librem.a thr/libthr.a \
|
||||
sync/libsync.a data/libdata.a mach/libmach.a \
|
||||
ha/libha.a dyn/libdyn.a mem/libmem.a \
|
||||
ut/libut.a os/libos.a ut/libut.a
|
||||
libinnobase_a_SOURCES =
|
||||
|
||||
|
||||
libinnobase.a: $(libinnobase_a_LIBADD)
|
||||
-rm -f $@
|
||||
if test "$(host_os)" = "netware" ; \
|
||||
then \
|
||||
$(libinnobase_a_AR) $@ $(libinnobase_a_LIBADD) ; \
|
||||
else \
|
||||
for arc in $(libinnobase_a_LIBADD); do \
|
||||
arpath=`echo $$arc|sed 's|[^/]*$$||'`; \
|
||||
$(AR) t $$arc|sed "s|^|$$arpath|"; \
|
||||
done | sort -u | xargs $(AR) cq $@ ; \
|
||||
$(RANLIB) $@ ; \
|
||||
fi
|
||||
|
||||
# Don't update the files from bitkeeper
|
||||
%::SCCS/s.%
|
||||
|
|
|
@ -42,6 +42,7 @@ have disables the InnoDB inlining in this file. */
|
|||
|
||||
#define MAX_ULONG_BIT ((ulong) 1 << (sizeof(ulong)*8-1))
|
||||
|
||||
#ifdef WITH_INNOBASE_STORAGE_ENGINE
|
||||
#include "ha_innodb.h"
|
||||
|
||||
pthread_mutex_t innobase_share_mutex, /* to protect innobase_open_files */
|
||||
|
@ -204,11 +205,15 @@ static int innobase_savepoint(THD* thd, void *savepoint);
|
|||
static int innobase_release_savepoint(THD* thd, void *savepoint);
|
||||
static handler *innobase_create_handler(TABLE_SHARE *table);
|
||||
|
||||
static const char innobase_hton_name[]= "InnoDB";
|
||||
static const char innobase_hton_comment[]=
|
||||
"Supports transactions, row-level locking, and foreign keys";
|
||||
|
||||
handlerton innobase_hton = {
|
||||
MYSQL_HANDLERTON_INTERFACE_VERSION,
|
||||
"InnoDB",
|
||||
innobase_hton_name,
|
||||
SHOW_OPTION_YES,
|
||||
"Supports transactions, row-level locking, and foreign keys",
|
||||
innobase_hton_comment,
|
||||
DB_TYPE_INNODB,
|
||||
innobase_init,
|
||||
0, /* slot */
|
||||
|
@ -238,7 +243,7 @@ handlerton innobase_hton = {
|
|||
NULL, /* Fill FILES table */
|
||||
HTON_NO_FLAGS,
|
||||
NULL, /* binlog_func */
|
||||
NULL, /* binlog_log_query */
|
||||
NULL, /* binlog_log_query */
|
||||
innobase_release_temporary_latches
|
||||
};
|
||||
|
||||
|
@ -1840,7 +1845,6 @@ innobase_commit_complete(
|
|||
return(0);
|
||||
}
|
||||
|
||||
|
||||
/*********************************************************************
|
||||
Rolls back a transaction or the latest SQL statement. */
|
||||
|
||||
|
@ -5827,34 +5831,55 @@ ha_innobase::get_foreign_key_list(THD *thd, List<FOREIGN_KEY_INFO> *f_key_list)
|
|||
break;
|
||||
}
|
||||
|
||||
ulong length= 0;
|
||||
if (foreign->type == DICT_FOREIGN_ON_DELETE_CASCADE) {
|
||||
length=17;
|
||||
tmp_buff= "ON DELETE CASCADE";
|
||||
}
|
||||
else if (foreign->type == DICT_FOREIGN_ON_DELETE_SET_NULL) {
|
||||
length=18;
|
||||
tmp_buff= "ON DELETE SET NULL";
|
||||
}
|
||||
else if (foreign->type == DICT_FOREIGN_ON_DELETE_NO_ACTION) {
|
||||
length=19;
|
||||
tmp_buff= "ON DELETE NO ACTION";
|
||||
}
|
||||
else if (foreign->type == DICT_FOREIGN_ON_UPDATE_CASCADE) {
|
||||
length=17;
|
||||
tmp_buff= "ON UPDATE CASCADE";
|
||||
}
|
||||
else if (foreign->type == DICT_FOREIGN_ON_UPDATE_SET_NULL) {
|
||||
length=18;
|
||||
tmp_buff= "ON UPDATE SET NULL";
|
||||
}
|
||||
else if (foreign->type == DICT_FOREIGN_ON_UPDATE_NO_ACTION) {
|
||||
length=19;
|
||||
tmp_buff= "ON UPDATE NO ACTION";
|
||||
}
|
||||
f_key_info.constraint_method= make_lex_string(thd,
|
||||
f_key_info.constraint_method,
|
||||
tmp_buff, length, 1);
|
||||
ulong length;
|
||||
if (foreign->type & DICT_FOREIGN_ON_DELETE_CASCADE)
|
||||
{
|
||||
length=7;
|
||||
tmp_buff= "CASCADE";
|
||||
}
|
||||
else if (foreign->type & DICT_FOREIGN_ON_DELETE_SET_NULL)
|
||||
{
|
||||
length=8;
|
||||
tmp_buff= "SET NULL";
|
||||
}
|
||||
else if (foreign->type & DICT_FOREIGN_ON_DELETE_NO_ACTION)
|
||||
{
|
||||
length=9;
|
||||
tmp_buff= "NO ACTION";
|
||||
}
|
||||
else
|
||||
{
|
||||
length=8;
|
||||
tmp_buff= "RESTRICT";
|
||||
}
|
||||
f_key_info.delete_method= make_lex_string(thd, f_key_info.delete_method,
|
||||
tmp_buff, length, 1);
|
||||
|
||||
|
||||
if (foreign->type & DICT_FOREIGN_ON_UPDATE_CASCADE)
|
||||
{
|
||||
length=7;
|
||||
tmp_buff= "CASCADE";
|
||||
}
|
||||
else if (foreign->type & DICT_FOREIGN_ON_UPDATE_SET_NULL)
|
||||
{
|
||||
length=8;
|
||||
tmp_buff= "SET NULL";
|
||||
}
|
||||
else if (foreign->type & DICT_FOREIGN_ON_UPDATE_NO_ACTION)
|
||||
{
|
||||
length=9;
|
||||
tmp_buff= "NO ACTION";
|
||||
}
|
||||
else
|
||||
{
|
||||
length=8;
|
||||
tmp_buff= "RESTRICT";
|
||||
}
|
||||
f_key_info.update_method= make_lex_string(thd, f_key_info.update_method,
|
||||
tmp_buff, length, 1);
|
||||
|
||||
|
||||
|
||||
FOREIGN_KEY_INFO *pf_key_info= ((FOREIGN_KEY_INFO *)
|
||||
thd->memdup((gptr) &f_key_info,
|
||||
|
@ -7432,3 +7457,20 @@ bool ha_innobase::check_if_incompatible_data(
|
|||
|
||||
return COMPATIBLE_DATA_YES;
|
||||
}
|
||||
|
||||
|
||||
mysql_declare_plugin(innobase)
|
||||
{
|
||||
MYSQL_STORAGE_ENGINE_PLUGIN,
|
||||
&innobase_hton,
|
||||
innobase_hton_name,
|
||||
"Innobase OY",
|
||||
innobase_hton_comment,
|
||||
NULL, /* Plugin Init */
|
||||
NULL, /* Plugin Deinit */
|
||||
0x0100 /* 1.0 */,
|
||||
0
|
||||
}
|
||||
mysql_declare_plugin_end;
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue