diff options
author | Sergei Golubchik <sergii@pisem.net> | 2010-11-25 18:17:28 +0100 |
---|---|---|
committer | Sergei Golubchik <sergii@pisem.net> | 2010-11-25 18:17:28 +0100 |
commit | 65ca700def99289cc31a7040537f5aa6e12bf485 (patch) | |
tree | 97b3a07299b626c519da0e80c122b5b79b933914 /sql/sql_priv.h | |
parent | 2ab57de38d13d927ddff2d51aed4af34e13998f5 (diff) | |
parent | 6e5bcca7935d3c62f84bb640e5357664a210ee12 (diff) | |
download | mariadb-git-65ca700def99289cc31a7040537f5aa6e12bf485.tar.gz |
merge.
checkpoint.
does not compile.
Diffstat (limited to 'sql/sql_priv.h')
-rw-r--r-- | sql/sql_priv.h | 46 |
1 files changed, 33 insertions, 13 deletions
diff --git a/sql/sql_priv.h b/sql/sql_priv.h index f0f6a1969f5..d36f62ebc5c 100644 --- a/sql/sql_priv.h +++ b/sql/sql_priv.h @@ -154,15 +154,37 @@ #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_LAST (1ULL << 5) - -/* The following must be kept in sync with optimizer_switch_str in mysqld.cc */ -#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) +#define OPTIMIZER_SWITCH_INDEX_COND_PUSHDOWN (1ULL << 5) +#define OPTIMIZER_SWITCH_FIRSTMATCH (1ULL << 6) +#define OPTIMIZER_SWITCH_LOOSE_SCAN (1ULL << 7) +#define OPTIMIZER_SWITCH_MATERIALIZATION (1ULL << 8) +#define OPTIMIZER_SWITCH_SEMIJOIN (1ULL << 9) +#define OPTIMIZER_SWITCH_PARTIAL_MATCH_ROWID_MERGE (1ULL <<10) +#define OPTIMIZER_SWITCH_PARTIAL_MATCH_TABLE_SCAN (1ULL <<11) +#define OPTIMIZER_SWITCH_SUBQUERY_CACHE (1ULL <<12) +#define OPTIMIZER_SWITCH_TABLE_ELIMINATION (1ULL <<13) +#define OPTIMIZER_SWITCH_LAST (1ULL <<14) + +#ifdef DBUG_OFF +#define DBUG_ONLY_TABLE_ELIMINATION 0 +#else +#define DBUG_ONLY_TABLE_ELIMINATION OPTIMIZER_SWITCH_TABLE_ELIMINATION +#endif +# 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_COND_PUSHDOWN | \ + OPTIMIZER_SWITCH_FIRSTMATCH | \ + OPTIMIZER_SWITCH_LOOSE_SCAN | \ + OPTIMIZER_SWITCH_MATERIALIZATION | \ + OPTIMIZER_SWITCH_SEMIJOIN | \ + OPTIMIZER_SWITCH_PARTIAL_MATCH_ROWID_MERGE|\ + OPTIMIZER_SWITCH_PARTIAL_MATCH_TABLE_SCAN|\ + OPTIMIZER_SWITCH_SUBQUERY_CACHE |\ + DBUG_ONLY_TABLE_ELIMINATION) /* Replication uses 8 bytes to store SQL_MODE in the binary log. The day you @@ -208,7 +230,9 @@ enum enum_parsing_place IN_HAVING, SELECT_LIST, IN_WHERE, - IN_ON + IN_ON, + IN_GROUP_BY, + PARSING_PLACE_SIZE /* always should be the last */ }; @@ -225,10 +249,6 @@ enum enum_yes_no_unknown }; #ifdef MYSQL_SERVER - -#endif /* MYSQL_SERVER */ - -#ifdef MYSQL_SERVER /* A set of constants used for checking non aggregated fields and sum functions mixture in the ONLY_FULL_GROUP_BY_MODE. |