7788
7788
NULL, NULL, 1, 0, 2, 0);
7790
static MYSQL_SYSVAR_BOOL(file_per_table, innobase_file_per_table,
7790
static DRIZZLE_SYSVAR_BOOL(file_per_table, innobase_file_per_table,
7791
7791
PLUGIN_VAR_NOCMDARG | PLUGIN_VAR_READONLY,
7792
7792
"Stores each InnoDB table to an .ibd file in the database dir.",
7793
7793
NULL, NULL, FALSE);
7795
static MYSQL_SYSVAR_ULONG(flush_log_at_trx_commit, srv_flush_log_at_trx_commit,
7795
static DRIZZLE_SYSVAR_ULONG(flush_log_at_trx_commit, srv_flush_log_at_trx_commit,
7796
7796
PLUGIN_VAR_OPCMDARG,
7797
7797
"Set to 0 (write and flush once per second),"
7798
7798
" 1 (write and flush at each commit)"
7799
7799
" or 2 (write at commit, flush once per second).",
7800
7800
NULL, NULL, 1, 0, 2, 0);
7802
static MYSQL_SYSVAR_STR(flush_method, innobase_unix_file_flush_method,
7802
static DRIZZLE_SYSVAR_STR(flush_method, innobase_unix_file_flush_method,
7803
7803
PLUGIN_VAR_RQCMDARG | PLUGIN_VAR_READONLY,
7804
7804
"With which method to flush data.", NULL, NULL, NULL);
7806
static MYSQL_SYSVAR_BOOL(locks_unsafe_for_binlog, innobase_locks_unsafe_for_binlog,
7806
static DRIZZLE_SYSVAR_BOOL(locks_unsafe_for_binlog, innobase_locks_unsafe_for_binlog,
7807
7807
PLUGIN_VAR_NOCMDARG | PLUGIN_VAR_READONLY,
7808
7808
"Force InnoDB to not use next-key locking, to use only row-level locking.",
7809
7809
NULL, NULL, FALSE);
7811
7811
#ifdef UNIV_LOG_ARCHIVE
7812
static MYSQL_SYSVAR_STR(log_arch_dir, innobase_log_arch_dir,
7812
static DRIZZLE_SYSVAR_STR(log_arch_dir, innobase_log_arch_dir,
7813
7813
PLUGIN_VAR_RQCMDARG | PLUGIN_VAR_READONLY,
7814
7814
"Where full logs should be archived.", NULL, NULL, NULL);
7816
static MYSQL_SYSVAR_BOOL(log_archive, innobase_log_archive,
7816
static DRIZZLE_SYSVAR_BOOL(log_archive, innobase_log_archive,
7817
7817
PLUGIN_VAR_OPCMDARG | PLUGIN_VAR_READONLY,
7818
7818
"Set to 1 if you want to have logs archived.", NULL, NULL, FALSE);
7819
7819
#endif /* UNIV_LOG_ARCHIVE */
7821
static MYSQL_SYSVAR_STR(log_group_home_dir, innobase_log_group_home_dir,
7821
static DRIZZLE_SYSVAR_STR(log_group_home_dir, innobase_log_group_home_dir,
7822
7822
PLUGIN_VAR_RQCMDARG | PLUGIN_VAR_READONLY,
7823
7823
"Path to InnoDB log files.", NULL, NULL, NULL);
7825
static MYSQL_SYSVAR_ULONG(max_dirty_pages_pct, srv_max_buf_pool_modified_pct,
7825
static DRIZZLE_SYSVAR_ULONG(max_dirty_pages_pct, srv_max_buf_pool_modified_pct,
7826
7826
PLUGIN_VAR_RQCMDARG,
7827
7827
"Percentage of dirty pages allowed in bufferpool.",
7828
7828
NULL, NULL, 90, 0, 100, 0);
7830
static MYSQL_SYSVAR_ULONG(max_purge_lag, srv_max_purge_lag,
7830
static DRIZZLE_SYSVAR_ULONG(max_purge_lag, srv_max_purge_lag,
7831
7831
PLUGIN_VAR_RQCMDARG,
7832
7832
"Desired maximum length of the purge queue (0 = no limit)",
7833
7833
NULL, NULL, 0, 0, ~0L, 0);
7835
static MYSQL_SYSVAR_BOOL(rollback_on_timeout, innobase_rollback_on_timeout,
7835
static DRIZZLE_SYSVAR_BOOL(rollback_on_timeout, innobase_rollback_on_timeout,
7836
7836
PLUGIN_VAR_OPCMDARG | PLUGIN_VAR_READONLY,
7837
7837
"Roll back the complete transaction on lock wait timeout, for 4.x compatibility (disabled by default)",
7838
7838
NULL, NULL, FALSE);
7840
static MYSQL_SYSVAR_BOOL(status_file, innobase_create_status_file,
7840
static DRIZZLE_SYSVAR_BOOL(status_file, innobase_create_status_file,
7841
7841
PLUGIN_VAR_OPCMDARG | PLUGIN_VAR_NOSYSVAR,
7842
7842
"Enable SHOW INNODB STATUS output in the innodb_status.<pid> file",
7843
7843
NULL, NULL, FALSE);
7845
static MYSQL_SYSVAR_BOOL(stats_on_metadata, innobase_stats_on_metadata,
7845
static DRIZZLE_SYSVAR_BOOL(stats_on_metadata, innobase_stats_on_metadata,
7846
7846
PLUGIN_VAR_OPCMDARG | PLUGIN_VAR_NOSYSVAR,
7847
7847
"Enable statistics gathering for metadata commands such as SHOW TABLE STATUS (on by default)",
7848
7848
NULL, NULL, TRUE);
7850
static MYSQL_SYSVAR_BOOL(use_adaptive_hash_indexes, innobase_use_adaptive_hash_indexes,
7850
static DRIZZLE_SYSVAR_BOOL(use_adaptive_hash_indexes, innobase_use_adaptive_hash_indexes,
7851
7851
PLUGIN_VAR_OPCMDARG | PLUGIN_VAR_READONLY,
7852
7852
"Enable the InnoDB adaptive hash indexes (enabled by default)",
7853
7853
NULL, NULL, TRUE);
7855
static MYSQL_SYSVAR_LONG(additional_mem_pool_size, innobase_additional_mem_pool_size,
7855
static DRIZZLE_SYSVAR_LONG(additional_mem_pool_size, innobase_additional_mem_pool_size,
7856
7856
PLUGIN_VAR_RQCMDARG | PLUGIN_VAR_READONLY,
7857
7857
"Size of a memory pool InnoDB uses to store data dictionary information and other internal data structures.",
7858
7858
NULL, NULL, 1*1024*1024L, 512*1024L, ~0L, 1024);
7860
static MYSQL_SYSVAR_ULONG(autoextend_increment, srv_auto_extend_increment,
7860
static DRIZZLE_SYSVAR_ULONG(autoextend_increment, srv_auto_extend_increment,
7861
7861
PLUGIN_VAR_RQCMDARG,
7862
7862
"Data file autoextend increment in megabytes",
7863
7863
NULL, NULL, 8L, 1L, 1000L, 0);
7865
static MYSQL_SYSVAR_LONGLONG(buffer_pool_size, innobase_buffer_pool_size,
7865
static DRIZZLE_SYSVAR_LONGLONG(buffer_pool_size, innobase_buffer_pool_size,
7866
7866
PLUGIN_VAR_RQCMDARG | PLUGIN_VAR_READONLY,
7867
7867
"The size of the memory buffer InnoDB uses to cache data and indexes of its tables.",
7868
7868
NULL, NULL, 8*1024*1024L, 1024*1024L, INT64_MAX, 1024*1024L);
7870
static MYSQL_SYSVAR_ULONG(commit_concurrency, srv_commit_concurrency,
7870
static DRIZZLE_SYSVAR_ULONG(commit_concurrency, srv_commit_concurrency,
7871
7871
PLUGIN_VAR_RQCMDARG,
7872
7872
"Helps in performance tuning in heavily concurrent environments.",
7873
7873
NULL, NULL, 0, 0, 1000, 0);
7875
static MYSQL_SYSVAR_ULONG(concurrency_tickets, srv_n_free_tickets_to_enter,
7875
static DRIZZLE_SYSVAR_ULONG(concurrency_tickets, srv_n_free_tickets_to_enter,
7876
7876
PLUGIN_VAR_RQCMDARG,
7877
7877
"Number of times a thread is allowed to enter InnoDB within the same SQL query after it has once got the ticket",
7878
7878
NULL, NULL, 500L, 1L, ~0L, 0);
7880
static MYSQL_SYSVAR_LONG(file_io_threads, innobase_file_io_threads,
7880
static DRIZZLE_SYSVAR_LONG(file_io_threads, innobase_file_io_threads,
7881
7881
PLUGIN_VAR_RQCMDARG | PLUGIN_VAR_READONLY,
7882
7882
"Number of file I/O threads in InnoDB.",
7883
7883
NULL, NULL, 4, 4, 64, 0);
7885
static MYSQL_SYSVAR_LONG(force_recovery, innobase_force_recovery,
7885
static DRIZZLE_SYSVAR_LONG(force_recovery, innobase_force_recovery,
7886
7886
PLUGIN_VAR_RQCMDARG | PLUGIN_VAR_READONLY,
7887
7887
"Helps to save your data in case the disk image of the database becomes corrupt.",
7888
7888
NULL, NULL, 0, 0, 6, 0);
7890
static MYSQL_SYSVAR_LONG(lock_wait_timeout, innobase_lock_wait_timeout,
7890
static DRIZZLE_SYSVAR_LONG(lock_wait_timeout, innobase_lock_wait_timeout,
7891
7891
PLUGIN_VAR_RQCMDARG | PLUGIN_VAR_READONLY,
7892
7892
"Timeout in seconds an InnoDB transaction may wait for a lock before being rolled back.",
7893
7893
NULL, NULL, 50, 1, 1024 * 1024 * 1024, 0);
7895
static MYSQL_SYSVAR_LONG(log_buffer_size, innobase_log_buffer_size,
7895
static DRIZZLE_SYSVAR_LONG(log_buffer_size, innobase_log_buffer_size,
7896
7896
PLUGIN_VAR_RQCMDARG | PLUGIN_VAR_READONLY,
7897
7897
"The size of the buffer which InnoDB uses to write log to the log files on disk.",
7898
7898
NULL, NULL, 1024*1024L, 256*1024L, ~0L, 1024);
7900
static MYSQL_SYSVAR_LONGLONG(log_file_size, innobase_log_file_size,
7900
static DRIZZLE_SYSVAR_LONGLONG(log_file_size, innobase_log_file_size,
7901
7901
PLUGIN_VAR_RQCMDARG | PLUGIN_VAR_READONLY,
7902
7902
"Size of each log file in a log group.",
7903
7903
NULL, NULL, 5*1024*1024L, 1*1024*1024L, INT64_MAX, 1024*1024L);
7905
static MYSQL_SYSVAR_LONG(log_files_in_group, innobase_log_files_in_group,
7905
static DRIZZLE_SYSVAR_LONG(log_files_in_group, innobase_log_files_in_group,
7906
7906
PLUGIN_VAR_RQCMDARG | PLUGIN_VAR_READONLY,
7907
7907
"Number of log files in the log group. InnoDB writes to the files in a circular fashion. Value 3 is recommended here.",
7908
7908
NULL, NULL, 2, 2, 100, 0);
7910
static MYSQL_SYSVAR_LONG(mirrored_log_groups, innobase_mirrored_log_groups,
7910
static DRIZZLE_SYSVAR_LONG(mirrored_log_groups, innobase_mirrored_log_groups,
7911
7911
PLUGIN_VAR_RQCMDARG | PLUGIN_VAR_READONLY,
7912
7912
"Number of identical copies of log groups we keep for the database. Currently this should be set to 1.",
7913
7913
NULL, NULL, 1, 1, 10, 0);
7915
static MYSQL_SYSVAR_LONG(open_files, innobase_open_files,
7915
static DRIZZLE_SYSVAR_LONG(open_files, innobase_open_files,
7916
7916
PLUGIN_VAR_RQCMDARG | PLUGIN_VAR_READONLY,
7917
7917
"How many files at the maximum InnoDB keeps open at the same time.",
7918
7918
NULL, NULL, 300L, 10L, ~0L, 0);
7920
static MYSQL_SYSVAR_ULONG(sync_spin_loops, srv_n_spin_wait_rounds,
7920
static DRIZZLE_SYSVAR_ULONG(sync_spin_loops, srv_n_spin_wait_rounds,
7921
7921
PLUGIN_VAR_RQCMDARG,
7922
7922
"Count of spin-loop rounds in InnoDB mutexes",
7923
7923
NULL, NULL, 20L, 0L, ~0L, 0);
7925
static MYSQL_SYSVAR_ULONG(thread_concurrency, srv_thread_concurrency,
7925
static DRIZZLE_SYSVAR_ULONG(thread_concurrency, srv_thread_concurrency,
7926
7926
PLUGIN_VAR_RQCMDARG,
7927
7927
"Helps in performance tuning in heavily concurrent environments. Sets the maximum number of threads allowed inside InnoDB. Value 0 will disable the thread throttling.",
7928
7928
NULL, NULL, 8, 0, 1000, 0);
7930
static MYSQL_SYSVAR_ULONG(thread_sleep_delay, srv_thread_sleep_delay,
7930
static DRIZZLE_SYSVAR_ULONG(thread_sleep_delay, srv_thread_sleep_delay,
7931
7931
PLUGIN_VAR_RQCMDARG,
7932
7932
"Time of innodb thread sleeping before joining InnoDB queue (usec). Value 0 disable a sleep",
7933
7933
NULL, NULL, 10000L, 0L, ~0L, 0);
7935
static MYSQL_SYSVAR_STR(data_file_path, innobase_data_file_path,
7935
static DRIZZLE_SYSVAR_STR(data_file_path, innobase_data_file_path,
7936
7936
PLUGIN_VAR_RQCMDARG | PLUGIN_VAR_READONLY,
7937
7937
"Path to individual files and their sizes.",
7938
7938
NULL, NULL, NULL);
7940
static MYSQL_SYSVAR_LONG(autoinc_lock_mode, innobase_autoinc_lock_mode,
7940
static DRIZZLE_SYSVAR_LONG(autoinc_lock_mode, innobase_autoinc_lock_mode,
7941
7941
PLUGIN_VAR_RQCMDARG | PLUGIN_VAR_READONLY,
7942
7942
"The AUTOINC lock modes supported by InnoDB:\n"
7943
7943
" 0 => Old style AUTOINC locking (for backward compatibility)\n"
7949
7949
AUTOINC_NO_LOCKING, 0); /* Maximum value */
7951
7951
static struct st_mysql_sys_var* innobase_system_variables[]= {
7952
MYSQL_SYSVAR(additional_mem_pool_size),
7953
MYSQL_SYSVAR(autoextend_increment),
7954
MYSQL_SYSVAR(buffer_pool_size),
7955
MYSQL_SYSVAR(checksums),
7956
MYSQL_SYSVAR(commit_concurrency),
7957
MYSQL_SYSVAR(concurrency_tickets),
7958
MYSQL_SYSVAR(data_file_path),
7959
MYSQL_SYSVAR(data_home_dir),
7960
MYSQL_SYSVAR(doublewrite),
7961
MYSQL_SYSVAR(fast_shutdown),
7962
MYSQL_SYSVAR(file_io_threads),
7963
MYSQL_SYSVAR(file_per_table),
7964
MYSQL_SYSVAR(flush_log_at_trx_commit),
7965
MYSQL_SYSVAR(flush_method),
7966
MYSQL_SYSVAR(force_recovery),
7967
MYSQL_SYSVAR(locks_unsafe_for_binlog),
7968
MYSQL_SYSVAR(lock_wait_timeout),
7952
DRIZZLE_SYSVAR(additional_mem_pool_size),
7953
DRIZZLE_SYSVAR(autoextend_increment),
7954
DRIZZLE_SYSVAR(buffer_pool_size),
7955
DRIZZLE_SYSVAR(checksums),
7956
DRIZZLE_SYSVAR(commit_concurrency),
7957
DRIZZLE_SYSVAR(concurrency_tickets),
7958
DRIZZLE_SYSVAR(data_file_path),
7959
DRIZZLE_SYSVAR(data_home_dir),
7960
DRIZZLE_SYSVAR(doublewrite),
7961
DRIZZLE_SYSVAR(fast_shutdown),
7962
DRIZZLE_SYSVAR(file_io_threads),
7963
DRIZZLE_SYSVAR(file_per_table),
7964
DRIZZLE_SYSVAR(flush_log_at_trx_commit),
7965
DRIZZLE_SYSVAR(flush_method),
7966
DRIZZLE_SYSVAR(force_recovery),
7967
DRIZZLE_SYSVAR(locks_unsafe_for_binlog),
7968
DRIZZLE_SYSVAR(lock_wait_timeout),
7969
7969
#ifdef UNIV_LOG_ARCHIVE
7970
MYSQL_SYSVAR(log_arch_dir),
7971
MYSQL_SYSVAR(log_archive),
7970
DRIZZLE_SYSVAR(log_arch_dir),
7971
DRIZZLE_SYSVAR(log_archive),
7972
7972
#endif /* UNIV_LOG_ARCHIVE */
7973
MYSQL_SYSVAR(log_buffer_size),
7974
MYSQL_SYSVAR(log_file_size),
7975
MYSQL_SYSVAR(log_files_in_group),
7976
MYSQL_SYSVAR(log_group_home_dir),
7977
MYSQL_SYSVAR(max_dirty_pages_pct),
7978
MYSQL_SYSVAR(max_purge_lag),
7979
MYSQL_SYSVAR(mirrored_log_groups),
7980
MYSQL_SYSVAR(open_files),
7981
MYSQL_SYSVAR(rollback_on_timeout),
7982
MYSQL_SYSVAR(stats_on_metadata),
7983
MYSQL_SYSVAR(use_adaptive_hash_indexes),
7984
MYSQL_SYSVAR(status_file),
7985
MYSQL_SYSVAR(support_xa),
7986
MYSQL_SYSVAR(sync_spin_loops),
7987
MYSQL_SYSVAR(table_locks),
7988
MYSQL_SYSVAR(thread_concurrency),
7989
MYSQL_SYSVAR(thread_sleep_delay),
7990
MYSQL_SYSVAR(autoinc_lock_mode),
7973
DRIZZLE_SYSVAR(log_buffer_size),
7974
DRIZZLE_SYSVAR(log_file_size),
7975
DRIZZLE_SYSVAR(log_files_in_group),
7976
DRIZZLE_SYSVAR(log_group_home_dir),
7977
DRIZZLE_SYSVAR(max_dirty_pages_pct),
7978
DRIZZLE_SYSVAR(max_purge_lag),
7979
DRIZZLE_SYSVAR(mirrored_log_groups),
7980
DRIZZLE_SYSVAR(open_files),
7981
DRIZZLE_SYSVAR(rollback_on_timeout),
7982
DRIZZLE_SYSVAR(stats_on_metadata),
7983
DRIZZLE_SYSVAR(use_adaptive_hash_indexes),
7984
DRIZZLE_SYSVAR(status_file),
7985
DRIZZLE_SYSVAR(support_xa),
7986
DRIZZLE_SYSVAR(sync_spin_loops),
7987
DRIZZLE_SYSVAR(table_locks),
7988
DRIZZLE_SYSVAR(thread_concurrency),
7989
DRIZZLE_SYSVAR(thread_sleep_delay),
7990
DRIZZLE_SYSVAR(autoinc_lock_mode),
7994
7994
mysql_declare_plugin(innobase)
7996
MYSQL_STORAGE_ENGINE_PLUGIN,
7996
DRIZZLE_STORAGE_ENGINE_PLUGIN,
7997
7997
innobase_hton_name,