Commit 82e9e3e8 authored by unknown's avatar unknown

Added innobase handler files

Change that handler gets file names in native format


Docs/manual.texi:
  Small bug fix
sql/Makefile.am:
  Added innobase handler files
sql/mysqld.cc:
  Added startup options for innobase
sql/sql_table.cc:
  Change that handler gets file names in native format
parent a20e966a
...@@ -39223,7 +39223,7 @@ though, so Version 3.23 is not released as a stable version yet. ...@@ -39223,7 +39223,7 @@ though, so Version 3.23 is not released as a stable version yet.
@itemize @bullet @itemize @bullet
@item @item
Fixed bug when doing a @code{SELECT DISTINCT ... table1 LEFT JOIN Fixed bug when doing a @code{SELECT DISTINCT ... table1 LEFT JOIN
table2..] when table2 was empty. table2..} when table2 was empty.
@item @item
Added @code{--abort-slave-event-count} and Added @code{--abort-slave-event-count} and
@code{--disconnect-slave-event-count} options to @code{mysqld} for @code{--disconnect-slave-event-count} options to @code{mysqld} for
...@@ -43,8 +43,9 @@ noinst_HEADERS = item.h item_func.h item_sum.h item_cmpfunc.h \ ...@@ -43,8 +43,9 @@ noinst_HEADERS = item.h item_func.h item_sum.h item_cmpfunc.h \
item_create.h mysql_priv.h \ item_create.h mysql_priv.h \
procedure.h sql_class.h sql_lex.h sql_list.h \ procedure.h sql_class.h sql_lex.h sql_list.h \
sql_manager.h sql_map.h sql_string.h unireg.h \ sql_manager.h sql_map.h sql_string.h unireg.h \
field.h handler.h ha_isammrg.h ha_isam.h ha_myisammrg.h\ field.h handler.h \
ha_heap.h ha_myisam.h ha_berkeley.h\ ha_isammrg.h ha_isam.h ha_myisammrg.h\
ha_heap.h ha_myisam.h ha_berkeley.h ha_innobase.h \
opt_range.h opt_ft.h \ opt_range.h opt_ft.h \
sql_select.h structs.h table.h sql_udf.h hash_filo.h\ sql_select.h structs.h table.h sql_udf.h hash_filo.h\
lex.h lex_symbol.h sql_acl.h sql_crypt.h md5.h \ lex.h lex_symbol.h sql_acl.h sql_crypt.h md5.h \
...@@ -66,6 +67,7 @@ mysqld_SOURCES = sql_lex.cc \ ...@@ -66,6 +67,7 @@ mysqld_SOURCES = sql_lex.cc \
records.cc filesort.cc handler.cc \ records.cc filesort.cc handler.cc \
ha_isam.cc ha_isammrg.cc ha_heap.cc \ ha_isam.cc ha_isammrg.cc ha_heap.cc \
ha_myisam.cc ha_myisammrg.cc ha_berkeley.cc \ ha_myisam.cc ha_myisammrg.cc ha_berkeley.cc \
ha_innobase.cc \
sql_db.cc sql_table.cc sql_rename.cc sql_crypt.cc \ sql_db.cc sql_table.cc sql_rename.cc sql_crypt.cc \
sql_load.cc mf_iocache.cc field_conv.cc sql_show.cc \ sql_load.cc mf_iocache.cc field_conv.cc sql_show.cc \
sql_udf.cc sql_analyse.cc sql_analyse.h sql_cache.cc \ sql_udf.cc sql_analyse.cc sql_analyse.h sql_cache.cc \
......
...@@ -2217,7 +2217,11 @@ enum options { ...@@ -2217,7 +2217,11 @@ enum options {
OPT_SKIP_INNOBASE,OPT_SAFEMALLOC_MEM_LIMIT, OPT_SKIP_INNOBASE,OPT_SAFEMALLOC_MEM_LIMIT,
OPT_REPLICATE_DO_TABLE, OPT_REPLICATE_IGNORE_TABLE, OPT_REPLICATE_DO_TABLE, OPT_REPLICATE_IGNORE_TABLE,
OPT_REPLICATE_WILD_DO_TABLE, OPT_REPLICATE_WILD_IGNORE_TABLE, OPT_REPLICATE_WILD_DO_TABLE, OPT_REPLICATE_WILD_IGNORE_TABLE,
OPT_DISCONNECT_SLAVE_EVENT_COUNT, OPT_ABORT_SLAVE_EVENT_COUNT OPT_DISCONNECT_SLAVE_EVENT_COUNT, OPT_ABORT_SLAVE_EVENT_COUNT,
OPT_INNOBASE_DATA_HOME_DIR,OPT_INNOBASE_DATA_FILE_PATH,
OPT_INNOBASE_LOG_GROUP_HOME_DIR,
OPT_INNOBASE_LOG_ARCH_DIR, OPT_INNOBASE_LOG_ARCHIVE,
OPT_INNOBASE_FLUSH_LOG_AT_TRX_COMMIT
}; };
static struct option long_options[] = { static struct option long_options[] = {
...@@ -2253,6 +2257,20 @@ static struct option long_options[] = { ...@@ -2253,6 +2257,20 @@ static struct option long_options[] = {
{"enable-locking", no_argument, 0, (int) OPT_ENABLE_LOCK}, {"enable-locking", no_argument, 0, (int) OPT_ENABLE_LOCK},
{"exit-info", optional_argument, 0, 'T'}, {"exit-info", optional_argument, 0, 'T'},
{"flush", no_argument, 0, (int) OPT_FLUSH}, {"flush", no_argument, 0, (int) OPT_FLUSH},
#ifdef HAVE_INNOBASE_DB
{"innobase_data_home_dir", required_argument, 0,
OPT_INNOBASE_DATA_HOME_DIR},
{"innobase_data_file_path", required_argument, 0,
OPT_INNOBASE_DATA_FILE_PATH},
{"innobase_log_group_home_dir", required_argument, 0,
OPT_INNOBASE_LOG_GROUP_HOME_DIR},
{"innobase_log_arch_dir", required_argument, 0,
OPT_INNOBASE_LOG_ARCH_DIR},
{"innobase_log_archive", optional_argument, 0,
OPT_INNOBASE_LOG_ARCHIVE},
{"innobase_flush_log_at_trx_commit", optional_argument, 0,
OPT_INNOBASE_FLUSH_LOG_AT_TRX_COMMIT},
#endif
{"help", no_argument, 0, '?'}, {"help", no_argument, 0, '?'},
{"init-file", required_argument, 0, (int) OPT_INIT_FILE}, {"init-file", required_argument, 0, (int) OPT_INIT_FILE},
{"log", optional_argument, 0, 'l'}, {"log", optional_argument, 0, 'l'},
...@@ -2358,6 +2376,26 @@ CHANGEABLE_VAR changeable_vars[] = { ...@@ -2358,6 +2376,26 @@ CHANGEABLE_VAR changeable_vars[] = {
DELAYED_QUEUE_SIZE, 1, ~0L, 0, 1 }, DELAYED_QUEUE_SIZE, 1, ~0L, 0, 1 },
{ "flush_time", (long*) &flush_time, { "flush_time", (long*) &flush_time,
FLUSH_TIME, 0, ~0L, 0, 1 }, FLUSH_TIME, 0, ~0L, 0, 1 },
#ifdef HAVE_INNOBASE_DB
{"innobase_mirrored_log_groups",
(long*) &innobase_mirrored_log_groups, 1, 1, 10, 0, 1},
{"innobase_log_files_in_group",
(long*) &innobase_mirrored_log_groups, 2, 2, 100, 0, 1},
{"innobase_log_file_size",
(long*) &innobase_log_file_size, 5*1024*1024L, 1*1024*1024L,
~0L, 0, 1024*1024L},
{"innobase_log_buffer_size",
(long*) &innobase_log_buffer_size, 1024*1024L, 256*1024L,
~0L, 0, 1024},
{"innobase_buffer_pool_size",
(long*) &innobase_buffer_pool_size, 8*1024*1024L, 1024*1024L,
~0L, 0, 1024*1024L},
{"innobase_additional_mem_pool_size_mb",
(long*) &innobase_additional_mem_pool_size, 1*1024*1024L, 512*1024L,
~0L, 0, 1024},
{"innobase_file_io_threads",
(long*) &innobase_file_io_threads, 9, 4, 64, 0, 1},
#endif
{ "interactive_timeout", (long*) &net_interactive_timeout, { "interactive_timeout", (long*) &net_interactive_timeout,
NET_WAIT_TIMEOUT, 1, 31*24*60*60, 0, 1 }, NET_WAIT_TIMEOUT, 1, 31*24*60*60, 0, 1 },
{ "join_buffer_size", (long*) &join_buff_size, { "join_buffer_size", (long*) &join_buff_size,
...@@ -3194,6 +3232,24 @@ static void get_options(int argc,char **argv) ...@@ -3194,6 +3232,24 @@ static void get_options(int argc,char **argv)
case OPT_INNOBASE_SKIP: case OPT_INNOBASE_SKIP:
innobase_skip=1; innobase_skip=1;
break; break;
case OPT_INNOBASE_DATA_HOME_DIR:
innobase_data_home_dir=optarg;
break;
case OPT_INNOBASE_DATA_FILE_PATH:
innobase_data_file_path=optarg;
break;
case OPT_INNOBASE_LOG_GROUP_HOME_DIR:
innobase_log_group_home_dir=optarg;
break;
case OPT_INNOBASE_LOG_ARCH_DIR:
innobase_log_arch_dir=optarg;
break;
case OPT_INNOBASE_LOG_ARCHIVE:
innobase_log_archive= optarg ? test(atoi(optarg)) : 1;
break;
case OPT_INNOBASE_FLUSH_LOG_AT_TRX_COMMIT:
innobase_flush_log_at_trx_commit= optarg ? test(atoi(optarg)) : 1;
break;
#endif #endif
case OPT_MYISAM_RECOVER: case OPT_MYISAM_RECOVER:
{ {
......
...@@ -178,6 +178,7 @@ int quick_rm_table(enum db_type base,const char *db, ...@@ -178,6 +178,7 @@ int quick_rm_table(enum db_type base,const char *db,
if (my_delete(path,MYF(0))) if (my_delete(path,MYF(0)))
error=1; /* purecov: inspected */ error=1; /* purecov: inspected */
sprintf(path,"%s/%s/%s",mysql_data_home,db,table_name); sprintf(path,"%s/%s/%s",mysql_data_home,db,table_name);
unpack_filename(path,path);
return ha_delete_table(base,path) || error; return ha_delete_table(base,path) || error;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment