My Project
|
Go to the source code of this file.
Defines | |
#define | WARN_DEPRECATED(Thd, Old, New) |
#define | WARN_DEPRECATED_NO_REPLACEMENT(Thd, Old) |
#define | SELECT_DISTINCT (1ULL << 0) |
#define | SELECT_STRAIGHT_JOIN (1ULL << 1) |
#define | SELECT_DESCRIBE (1ULL << 2) |
#define | SELECT_SMALL_RESULT (1ULL << 3) |
#define | SELECT_BIG_RESULT (1ULL << 4) |
#define | OPTION_FOUND_ROWS (1ULL << 5) |
#define | OPTION_TO_QUERY_CACHE (1ULL << 6) |
#define | SELECT_NO_JOIN_CACHE (1ULL << 7) |
#define | OPTION_AUTOCOMMIT (1ULL << 8) |
#define | OPTION_BIG_SELECTS (1ULL << 9) |
#define | OPTION_LOG_OFF (1ULL << 10) |
#define | OPTION_QUOTE_SHOW_CREATE (1ULL << 11) |
#define | TMP_TABLE_ALL_COLUMNS (1ULL << 12) |
#define | OPTION_WARNINGS (1ULL << 13) |
#define | OPTION_AUTO_IS_NULL (1ULL << 14) |
#define | OPTION_FOUND_COMMENT (1ULL << 15) |
#define | OPTION_SAFE_UPDATES (1ULL << 16) |
#define | OPTION_BUFFER_RESULT (1ULL << 17) |
#define | OPTION_BIN_LOG (1ULL << 18) |
#define | OPTION_NOT_AUTOCOMMIT (1ULL << 19) |
#define | OPTION_BEGIN (1ULL << 20) |
#define | OPTION_TABLE_LOCK (1ULL << 21) |
#define | OPTION_QUICK (1ULL << 22) |
#define | SELECT_ALL (1ULL << 24) |
#define | OPTION_NO_FOREIGN_KEY_CHECKS (1ULL << 26) |
#define | OPTION_RELAXED_UNIQUE_CHECKS (1ULL << 27) |
#define | SELECT_NO_UNLOCK (1ULL << 28) |
#define | OPTION_SCHEMA_TABLE (1ULL << 29) |
#define | OPTION_SETUP_TABLES_DONE (1ULL << 30) |
#define | OPTION_SQL_NOTES (1ULL << 31) |
#define | TMP_TABLE_FORCE_MYISAM (1ULL << 32) |
#define | OPTION_PROFILING (1ULL << 33) |
#define | SELECT_HIGH_PRIORITY (1ULL << 34) |
#define | OPTION_MASTER_SQL_ERROR (1ULL << 35) |
#define | OPTION_ALLOW_BATCH (ULL(1) << 36) |
#define | OPTIMIZER_SWITCH_INDEX_MERGE (1ULL << 0) |
#define | OPTIMIZER_SWITCH_INDEX_MERGE_UNION (1ULL << 1) |
#define | OPTIMIZER_SWITCH_INDEX_MERGE_SORT_UNION (1ULL << 2) |
#define | OPTIMIZER_SWITCH_INDEX_MERGE_INTERSECT (1ULL << 3) |
#define | OPTIMIZER_SWITCH_ENGINE_CONDITION_PUSHDOWN (1ULL << 4) |
#define | OPTIMIZER_SWITCH_INDEX_CONDITION_PUSHDOWN (1ULL << 5) |
#define | OPTIMIZER_SWITCH_MRR (1ULL << 6) |
#define | OPTIMIZER_SWITCH_MRR_COST_BASED (1ULL << 7) |
#define | OPTIMIZER_SWITCH_BNL (1ULL << 8) |
#define | OPTIMIZER_SWITCH_BKA (1ULL << 9) |
#define | OPTIMIZER_SWITCH_MATERIALIZATION (1ULL << 10) |
#define | OPTIMIZER_SWITCH_SEMIJOIN (1ULL << 11) |
#define | OPTIMIZER_SWITCH_LOOSE_SCAN (1ULL << 12) |
#define | OPTIMIZER_SWITCH_FIRSTMATCH (1ULL << 13) |
#define | OPTIMIZER_SWITCH_SUBQ_MAT_COST_BASED (1ULL << 14) |
#define | OPTIMIZER_SWITCH_USE_INDEX_EXTENSIONS (1ULL << 15) |
#define | OPTIMIZER_SWITCH_LAST (1ULL << 16) |
#define | OPTIMIZER_SWITCH_ALL 1 |
#define | OPTIMIZER_SWITCH_DEFAULT |
#define | CONTEXT_ANALYSIS_ONLY_PREPARE 1 |
#define | CONTEXT_ANALYSIS_ONLY_VIEW 2 |
#define | CONTEXT_ANALYSIS_ONLY_DERIVED 4 |
#define | UNCACHEABLE_DEPENDENT 1 |
#define | UNCACHEABLE_RAND 2 |
#define | UNCACHEABLE_SIDEEFFECT 4 |
#define | UNCACHEABLE_EXPLAIN 8 |
forcing to save JOIN for explain | |
#define | UNCACHEABLE_UNITED 16 |
#define | UNCACHEABLE_CHECKOPTION 32 |
#define | IS_EQUAL_NO 0 |
#define | IS_EQUAL_YES 1 |
#define | IS_EQUAL_PACK_LENGTH 2 |
Enumerations | |
enum | enum_parsing_place { NO_MATTER, IN_HAVING, SELECT_LIST, IN_WHERE, IN_ON } |
enum | enum_var_type { OPT_DEFAULT = 0, OPT_SESSION, OPT_GLOBAL } |
enum | enum_yes_no_unknown { TVL_YES, TVL_NO, TVL_UNKNOWN } |
Functions | |
template<class T > | |
T | available_buffer (const char *buf_start, const char *buf_current, T buf_len) |
template<class T > | |
bool | valid_buffer_range (T jump, const char *buf_start, const char *buf_current, T buf_len) |
Mostly this file is used in the server. But a little part of it is used in mysqlbinlog too (definition of SELECT_DISTINCT and others). The consequence is that 90% of the file is wrapped in #ifndef MYSQL_CLIENT, except the part which must be in the server and in the client.
#define OPTIMIZER_SWITCH_ALL 1 |
If OPTIMIZER_SWITCH_ALL is defined, optimizer_switch flags for newer optimizer features (semijoin) will be available.
#define OPTIMIZER_SWITCH_DEFAULT |
(OPTIMIZER_SWITCH_INDEX_MERGE | \ OPTIMIZER_SWITCH_INDEX_MERGE_UNION | \ OPTIMIZER_SWITCH_INDEX_MERGE_SORT_UNION | \ OPTIMIZER_SWITCH_INDEX_MERGE_INTERSECT | \ OPTIMIZER_SWITCH_ENGINE_CONDITION_PUSHDOWN |\ OPTIMIZER_SWITCH_INDEX_CONDITION_PUSHDOWN | \ OPTIMIZER_SWITCH_MRR | \ OPTIMIZER_SWITCH_MRR_COST_BASED | \ OPTIMIZER_SWITCH_BNL | \ OPTIMIZER_SWITCH_MATERIALIZATION | \ OPTIMIZER_SWITCH_SEMIJOIN | \ OPTIMIZER_SWITCH_LOOSE_SCAN | \ OPTIMIZER_SWITCH_FIRSTMATCH | \ OPTIMIZER_SWITCH_SUBQ_MAT_COST_BASED | \ OPTIMIZER_SWITCH_USE_INDEX_EXTENSIONS)
#define OPTIMIZER_SWITCH_MRR (1ULL << 6) |
If this is off, MRR is never used.
#define OPTIMIZER_SWITCH_MRR_COST_BASED (1ULL << 7) |
If OPTIMIZER_SWITCH_MRR is on and this is on, MRR is used depending on a cost-based choice ("automatic"). If OPTIMIZER_SWITCH_MRR is on and this is off, MRR is "forced" (i.e. used as long as the storage engine is capable of doing it).
#define OPTION_AUTOCOMMIT (1ULL << 8) |
always the opposite of OPTION_NOT_AUTOCOMMIT except when in fix_autocommit()
#define OPTION_MASTER_SQL_ERROR (1ULL << 35) |
Is set in slave SQL thread when there was an error on master, which, when is not reproducible on slave (i.e. the query succeeds on slave), is not terminal to the state of repliation, and should be ignored. The slave SQL thread, however, needs to rollback the effects of the succeeded statement to keep replication consistent.
#define OPTION_NO_FOREIGN_KEY_CHECKS (1ULL << 26) |
The following can be set when importing tables in a 'wrong order' to suppress foreign key checks
#define OPTION_RELAXED_UNIQUE_CHECKS (1ULL << 27) |
The following speeds up inserts to InnoDB tables by suppressing unique key checks in some cases
#define OPTION_SETUP_TABLES_DONE (1ULL << 30) |
Flag set if setup_tables already done
#define OPTION_SQL_NOTES (1ULL << 31) |
If not set then the thread will ignore all warnings with level notes.
#define SELECT_HIGH_PRIORITY (1ULL << 34) |
Indicates that this is a HIGH_PRIORITY SELECT. Currently used only for printing of such selects. Type of locks to be acquired is specified directly.
#define TMP_TABLE_FORCE_MYISAM (1ULL << 32) |
Force the used temporary table to be a MyISAM table (because we will use fulltext functions when reading from it.
#define WARN_DEPRECATED | ( | Thd, | |
Old, | |||
New | |||
) |
do { \ if (((THD *) Thd) != NULL) \ push_warning_printf(((THD *) Thd), Sql_condition::WARN_LEVEL_WARN, \ ER_WARN_DEPRECATED_SYNTAX, \ ER(ER_WARN_DEPRECATED_SYNTAX), \ (Old), (New)); \ else \ sql_print_warning("The syntax '%s' is deprecated and will be removed " \ "in a future release. Please use %s instead.", \ (Old), (New)); \ } while(0)
#define WARN_DEPRECATED_NO_REPLACEMENT | ( | Thd, | |
Old | |||
) |
do { \ if (((THD *) Thd) != NULL) \ push_warning_printf(((THD *) Thd), Sql_condition::WARN_LEVEL_WARN, \ ER_WARN_DEPRECATED_SYNTAX_NO_REPLACEMENT, \ ER(ER_WARN_DEPRECATED_SYNTAX_NO_REPLACEMENT), \ (Old)); \ else \ sql_print_warning("'%s' is deprecated and will be removed " \ "in a future release.", (Old)); \ } while(0)