summaryrefslogtreecommitdiffstats
path: root/storage/tokudb/tokudb_sysvars.h
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-04 18:07:14 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-04 18:07:14 +0000
commita175314c3e5827eb193872241446f2f8f5c9d33c (patch)
treecd3d60ca99ae00829c52a6ca79150a5b6e62528b /storage/tokudb/tokudb_sysvars.h
parentInitial commit. (diff)
downloadmariadb-10.5-a175314c3e5827eb193872241446f2f8f5c9d33c.tar.xz
mariadb-10.5-a175314c3e5827eb193872241446f2f8f5c9d33c.zip
Adding upstream version 1:10.5.12.upstream/1%10.5.12upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'storage/tokudb/tokudb_sysvars.h')
-rw-r--r--storage/tokudb/tokudb_sysvars.h176
1 files changed, 176 insertions, 0 deletions
diff --git a/storage/tokudb/tokudb_sysvars.h b/storage/tokudb/tokudb_sysvars.h
new file mode 100644
index 00000000..23199baa
--- /dev/null
+++ b/storage/tokudb/tokudb_sysvars.h
@@ -0,0 +1,176 @@
+/* -*- mode: C++; c-basic-offset: 4; indent-tabs-mode: nil -*- */
+// vim: ft=cpp:expandtab:ts=8:sw=4:softtabstop=4:
+#ident "$Id$"
+/*======
+This file is part of TokuDB
+
+
+Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved.
+
+ TokuDBis is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License, version 2,
+ as published by the Free Software Foundation.
+
+ TokuDB is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with TokuDB. If not, see <http://www.gnu.org/licenses/>.
+
+======= */
+
+#ident "Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved."
+
+#ifndef _TOKUDB_SYSVARS_H
+#define _TOKUDB_SYSVARS_H
+
+#if defined(TOKU_INCLUDE_OPTION_STRUCTS) && TOKU_INCLUDE_OPTION_STRUCTS
+struct ha_table_option_struct {
+ uint row_format;
+};
+
+struct ha_index_option_struct {
+ bool clustering;
+};
+
+static inline bool key_is_clustering(const KEY *key) {
+ return (key->flags & HA_CLUSTERING) || (key->option_struct && key->option_struct->clustering);
+}
+
+#else
+
+static inline bool key_is_clustering(const KEY *key) {
+ return key->flags & HA_CLUSTERING;
+}
+#endif // defined(TOKU_INCLUDE_OPTION_STRUCTS) && TOKU_INCLUDE_OPTION_STRUCTS
+
+namespace tokudb {
+namespace sysvars {
+
+enum analyze_mode_t {
+ TOKUDB_ANALYZE_STANDARD = 0,
+ TOKUDB_ANALYZE_RECOUNT_ROWS = 1,
+ TOKUDB_ANALYZE_CANCEL = 2
+};
+
+enum empty_scan_mode_t {
+ TOKUDB_EMPTY_SCAN_DISABLED = 0,
+ TOKUDB_EMPTY_SCAN_LR = 1,
+ TOKUDB_EMPTY_SCAN_RL = 2,
+};
+
+enum row_format_t {
+ SRV_ROW_FORMAT_UNCOMPRESSED = 0,
+ SRV_ROW_FORMAT_ZLIB = 1,
+ SRV_ROW_FORMAT_SNAPPY = 2,
+ SRV_ROW_FORMAT_QUICKLZ = 3,
+ SRV_ROW_FORMAT_LZMA = 4,
+ SRV_ROW_FORMAT_FAST = 5,
+ SRV_ROW_FORMAT_SMALL = 6,
+ SRV_ROW_FORMAT_DEFAULT = 7
+};
+
+#define DEFAULT_TOKUDB_CLEANER_ITERATIONS 5
+#define DEFAULT_TOKUDB_CLEANER_PERIOD 1
+#define DEFAULT_TOKUDB_KILLED_TIME 4000 // milliseconds
+#define DEFAULT_TOKUDB_LOCK_TIMEOUT 4000 // milliseconds
+
+
+// globals
+extern ulonglong cache_size;
+extern uint cachetable_pool_threads;
+extern int cardinality_scale_percent;
+extern my_bool checkpoint_on_flush_logs;
+extern uint checkpoint_pool_threads;
+extern uint checkpointing_period;
+extern ulong cleaner_iterations;
+extern ulong cleaner_period;
+extern uint client_pool_threads;
+extern my_bool compress_buffers_before_eviction;
+extern char* data_dir;
+extern ulong debug;
+extern my_bool directio;
+extern my_bool enable_partial_eviction;
+extern int fs_reserve_percent;
+extern uint fsync_log_period;
+extern char* log_dir;
+extern ulonglong max_lock_memory;
+extern uint read_status_frequency;
+extern my_bool strip_frm_data;
+extern char* tmp_dir;
+extern uint write_status_frequency;
+extern my_bool dir_per_db;
+extern char* version;
+
+#if defined(TOKU_INCLUDE_HANDLERTON_HANDLE_FATAL_SIGNAL) && \
+ TOKU_INCLUDE_HANDLERTON_HANDLE_FATAL_SIGNAL
+extern char* gdb_path;
+extern my_bool gdb_on_fatal;
+#endif // defined(TOKU_INCLUDE_HANDLERTON_HANDLE_FATAL_SIGNAL) &&
+ // TOKU_INCLUDE_HANDLERTON_HANDLE_FATAL_SIGNAL
+
+extern my_bool check_jemalloc;
+
+#if defined(TOKUDB_DEBUG)
+// used to control background job manager
+extern my_bool debug_pause_background_job_manager;
+#endif // defined(TOKUDB_DEBUG)
+
+// session/thread
+my_bool alter_print_error(THD* thd);
+double analyze_delete_fraction(THD* thd);
+my_bool analyze_in_background(THD* thd);
+analyze_mode_t analyze_mode(THD* thd);
+ulonglong analyze_throttle(THD* thd);
+ulonglong analyze_time(THD* thd);
+ulonglong auto_analyze(THD* thd);
+uint block_size(THD* thd);
+my_bool bulk_fetch(THD* thd);
+my_bool commit_sync(THD* thd);
+my_bool create_index_online(THD* thd);
+my_bool disable_hot_alter(THD* thd);
+my_bool disable_prefetching(THD* thd);
+my_bool disable_slow_alter(THD* thd);
+my_bool enable_fast_update(THD* thd);
+my_bool enable_fast_upsert(THD* thd);
+empty_scan_mode_t empty_scan(THD* thd);
+uint fanout(THD* thd);
+my_bool hide_default_row_format(THD* thd);
+ulonglong killed_time(THD* thd);
+my_bool load_save_space(THD* thd);
+char* last_lock_timeout(THD* thd);
+void set_last_lock_timeout(THD* thd, char* last);
+ulonglong loader_memory_size(THD* thd);
+ulonglong lock_timeout(THD* thd);
+uint lock_timeout_debug(THD* thd);
+double optimize_index_fraction(THD* thd);
+const char* optimize_index_name(THD* thd);
+ulonglong optimize_throttle(THD* thd);
+uint pk_insert_mode(THD* thd);
+void set_pk_insert_mode(THD* thd, uint mode);
+my_bool prelock_empty(THD* thd);
+uint read_block_size(THD* thd);
+uint read_buf_size(THD* thd);
+row_format_t row_format(THD *thd);
+#if defined(TOKU_INCLUDE_RFR) && TOKU_INCLUDE_RFR
+my_bool rpl_check_readonly(THD* thd);
+my_bool rpl_lookup_rows(THD* thd);
+ulonglong rpl_lookup_rows_delay(THD* thd);
+my_bool rpl_unique_checks(THD* thd);
+ulonglong rpl_unique_checks_delay(THD* thd);
+#endif // defined(TOKU_INCLUDE_RFR) && TOKU_INCLUDE_RFR
+my_bool support_xa(THD* thd);
+
+extern st_mysql_sys_var* system_variables[];
+
+#if TOKU_INCLUDE_OPTION_STRUCTS
+extern ha_create_table_option tokudb_table_options[];
+extern ha_create_table_option tokudb_index_options[];
+#endif
+
+} // namespace sysvars
+} // namespace tokudb
+
+#endif // _TOKUDB_SYSVARS_H