Details
-
Task
-
Status: Closed (View Workflow)
-
Minor
-
Resolution: Fixed
Description
Remove unnecessary #ifdefs and dead code, in Spider, which is protected by #ifdef.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC. Now, the Spider is part of the source tree, and thus we can remove dead code in #ifdef.
Use unifdef as far as possible.
Attachments
Issue Links
- relates to
-
MDEV-26858 Spider: Remove dead code related to HandlerSocket
-
- Closed
-
-
MDEV-26912 Spider: Remove dead code related to Oracle OCI
-
- Closed
-
-
MDEV-27474 Spider: remove #WITH_PARTITION_STORAGE_ENGINE
-
- Closed
-
Activity
Field | Original Value | New Value |
---|---|---|
Description |
Remove unnecessary #ifdef in the Spider codebase.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove these #ifdefs. |
Remove unnecessary #ifdef in the Spider codebase.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove these #ifdefs. * ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC * ... |
Description |
Remove unnecessary #ifdef in the Spider codebase.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove these #ifdefs. * ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC * ... |
Remove unnecessary #ifdef in the Spider codebase.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove these #ifdefs. * ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC * HANDLER_HAS_DIRECT_AGGREGATE * ... |
Description |
Remove unnecessary #ifdef in the Spider codebase.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove these #ifdefs. * ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC * HANDLER_HAS_DIRECT_AGGREGATE * ... |
Remove unnecessary #ifdef in the Spider codebase.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove these #ifdefs. Some of them might not be able to be removed: * HA_CAN_BULK_ACCESS * HA_CAN_DIRECT_UPDATE_AND_DELETE * HA_CAN_FORCE_BULK_DELETE * HA_CAN_FORCE_BULK_UPDATE * HA_EXTRA_HAS_HA_EXTRA_USE_CMP_REF * HA_EXTRA_HAS_STARTING_ORDERED_INDEX_SCAN * HA_HAS_CHECKSUM_EXTENDED * HA_MRR_USE_DEFAULT_IMPL * HANDLER_HAS_CAN_USE_FOR_AUTO_INC_INIT * HANDLER_HAS_DIRECT_AGGREGATE * HANDLER_HAS_DIRECT_UPDATE_ROWS * HANDLER_HAS_DIRECT_UPDATE_ROWS_WITH_HS * HANDLER_HAS_NEED_INFO_FOR_AUTO_INC * HA_PT_CALL_AT_ONCE_COND_PUSH * HA_PT_CALL_AT_ONCE_EXTERNAL_LOCK * HA_PT_CALL_AT_ONCE_EXTRA * HA_PT_CALL_AT_ONCE_INFO_PUSH * HA_PT_CALL_AT_ONCE_START_STMT * HA_PT_CALL_AT_ONCE_STORE_LOCK * HA_PT_CALL_AT_ONCE_TOP_TABLE * HASH_UPDATE_WITH_HASH_VALUE * HA_SLOW_CMP_REF * HAVE_ORACLE_OCI * HAVE_PSI_INTERFACE * HS_HAS_SQLCOM * HTON_CAN_READ_CONNECT_STRING_IN_PARTITION * INFO_KIND_FORCE_LIMIT_BEGIN * INFO_KIND_UPDATE_FIELDS * INFO_KIND_UPDATE_VALUES * ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC * ITEM_FUNC_TIMESTAMPDIFF_ARE_PUBLIC * MARIADB_BASE_VERSION * MODE_ANSI * MODE_ANSI_QUOTES * MODE_DB2 * MODE_EMPTY_STRING_IS_NULL * MODE_ERROR_FOR_DIVISION_BY_ZERO * MODE_HIGH_NOT_PRECEDENCE * MODE_IGNORE_BAD_TABLE_OPTIONS * MODE_IGNORE_SPACE * MODE_INVALID_DATES * MODE_MAXDB * MODE_MSSQL * MODE_MYSQL323 * MODE_MYSQL40 * MODE_NO_AUTO_CREATE_USER * MODE_NO_AUTO_VALUE_ON_ZERO * MODE_NO_BACKSLASH_ESCAPES * MODE_NO_DIR_IN_CREATE * MODE_NO_ENGINE_SUBSTITUTION * MODE_NO_FIELD_OPTIONS * MODE_NO_KEY_OPTIONS * MODE_NO_TABLE_OPTIONS * MODE_NO_UNSIGNED_SUBTRACTION * MODE_NO_ZERO_DATE * MODE_NO_ZERO_IN_DATE * MODE_ONLY_FULL_GROUP_BY * MODE_ORACLE * MODE_PAD_CHAR_TO_FULL_LENGTH * MODE_PIPES_AS_CONCAT * MODE_POSTGRESQL * MODE_REAL_AS_FLOAT * MODE_SIMULTANEOUS_ASSIGNMENT * MODE_STRICT_ALL_TABLES * MODE_STRICT_TRANS_TABLES * MODE_TIME_ROUND_FRACTIONAL * MODE_TRADITIONAL * PLUGIN_VAR_CAN_MEMALLOC * pthread_cond_broadcast * pthread_cond_destroy * pthread_cond_signal * pthread_cond_t * pthread_cond_timedwait * pthread_cond_wait * pthread_mutex_destroy * pthread_mutex_lock * pthread_mutex_t * pthread_mutex_trylock * pthread_mutex_unlock * SPIDER_ENGINE_CONDITION_PUSHDOWN_IS_ALWAYS_ON * SPIDER_FIELD_FIELDPTR_REQUIRES_THDPTR * SPIDER_HANDLER_AUTO_REPAIR_HAS_ERROR * SPIDER_HANDLER_START_BULK_INSERT_HAS_FLAGS * SPIDER_HANDLER_SUPPORT_MULTIPLE_KEY_PARTS * SPIDER_HAS_APPEND_FOR_SINGLE_QUOTE * SPIDER_HAS_DECIMAL_OPERATION_RESULTS_VALUE_TYPE * SPIDER_HAS_DISCOVER_TABLE_STRUCTURE * SPIDER_HAS_EXPLAIN_QUERY * SPIDER_HAS_EXPR_CACHE_ITEM * SPIDER_HAS_GROUP_BY_HANDLER * SPIDER_HAS_HASH_VALUE_TYPE * SPIDER_has_Item_has_subquery * SPIDER_HAS_JT_HASH_INDEX_MERGE * SPIDER_HAS_MY_CHARLEN * SPIDER_HAS_NEXT_THREAD_ID * SPIDER_HAS_SHOW_SIMPLE_FUNC * SPIDER_HAS_TIME_STATUS * SPIDER_I_S_USE_SHOW_FOR_COLUMN * SPIDER_Item_args_arg_count_IS_PROTECTED * SPIDER_ITEM_HAS_CMP_TYPE * SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY * SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY_AND_THDPTR * SPIDER_LIKE_FUNC_HAS_GET_NEGATED * SPIDER_MDEV_16246 * SPIDER_NEED_CHECK_CONDITION_AT_CHECKING_DIRECT_ORDER_LIMIT * SPIDER_NEED_INIT_ONE_TABLE_FOR_FIND_TEMPORARY_TABLE * SPIDER_NET_HAS_THD * SPIDER_open_temporary_table * SPIDER_ORDER_HAS_ENUM_ORDER * SPIDER_REQUIRE_DEFINE_FOR_SECONDARY_OPEN_TABLES_BACKUP * SPIDER_SQL_CACHE_IS_IN_LEX * SPIDER_SQL_MODE_ANSI * SPIDER_SQL_MODE_ANSI_QUOTES * SPIDER_SQL_MODE_DB2 * SPIDER_SQL_MODE_EMPTY_STRING_IS_NULL * SPIDER_SQL_MODE_ERROR_FOR_DIVISION_BY_ZERO * SPIDER_SQL_MODE_HIGH_NOT_PRECEDENCE * SPIDER_SQL_MODE_IGNORE_BAD_TABLE_OPTIONS * SPIDER_SQL_MODE_IGNORE_SPACE * SPIDER_SQL_MODE_INVALID_DATES * SPIDER_SQL_MODE_MAXDB * SPIDER_SQL_MODE_MSSQL * SPIDER_SQL_MODE_MYSQL323 * SPIDER_SQL_MODE_MYSQL40 * SPIDER_SQL_MODE_NO_AUTO_CREATE_USER * SPIDER_SQL_MODE_NO_AUTO_VALUE_ON_ZERO * SPIDER_SQL_MODE_NO_BACKSLASH_ESCAPES * SPIDER_SQL_MODE_NO_DIR_IN_CREATE * SPIDER_SQL_MODE_NO_ENGINE_SUBSTITUTION * SPIDER_SQL_MODE_NO_FIELD_OPTIONS * SPIDER_SQL_MODE_NO_KEY_OPTIONS * SPIDER_SQL_MODE_NO_TABLE_OPTIONS * SPIDER_SQL_MODE_NO_UNSIGNED_SUBTRACTION * SPIDER_SQL_MODE_NO_ZERO_DATE * SPIDER_SQL_MODE_NO_ZERO_IN_DATE * SPIDER_SQL_MODE_ONLY_FULL_GROUP_BY * SPIDER_SQL_MODE_ORACLE * SPIDER_SQL_MODE_PAD_CHAR_TO_FULL_LENGTH * SPIDER_SQL_MODE_PIPES_AS_CONCAT * SPIDER_SQL_MODE_POSTGRESQL * SPIDER_SQL_MODE_REAL_AS_FLOAT * SPIDER_SQL_MODE_SIMULTANEOUS_ASSIGNMENT * SPIDER_SQL_MODE_STRICT_ALL_TABLES * SPIDER_SQL_MODE_STRICT_TRANS_TABLES * SPIDER_SQL_MODE_TIME_ROUND_FRACTIONAL * SPIDER_SQL_MODE_TRADITIONAL * SPIDER_SUPPORT_CREATE_OR_REPLACE_TABLE * SPIDER_UPDATE_ROW_HAS_CONST_NEW_DATA * SPIDER_USE_CONST_ITEM_FOR_STRING_INT_REAL_DECIMAL_DATE_ITEM * SPIDER_use_LEX_CSTRING_for_database_tablename_alias * SPIDER_use_LEX_CSTRING_for_Field_blob_constructor * SPIDER_use_LEX_CSTRING_for_KEY_Field_name * SPIDER_XID_STATE_HAS_in_thd * SPIDER_XID_USES_xid_cache_iterate * USE_PRAGMA_IMPLEMENTATION * USE_PRAGMA_INTERFACE * WITH_PARTITION_STORAGE_ENGINE * XID_CACHE_IS_SPLITTED |
Description |
Remove unnecessary #ifdef in the Spider codebase.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove these #ifdefs. Some of them might not be able to be removed: * HA_CAN_BULK_ACCESS * HA_CAN_DIRECT_UPDATE_AND_DELETE * HA_CAN_FORCE_BULK_DELETE * HA_CAN_FORCE_BULK_UPDATE * HA_EXTRA_HAS_HA_EXTRA_USE_CMP_REF * HA_EXTRA_HAS_STARTING_ORDERED_INDEX_SCAN * HA_HAS_CHECKSUM_EXTENDED * HA_MRR_USE_DEFAULT_IMPL * HANDLER_HAS_CAN_USE_FOR_AUTO_INC_INIT * HANDLER_HAS_DIRECT_AGGREGATE * HANDLER_HAS_DIRECT_UPDATE_ROWS * HANDLER_HAS_DIRECT_UPDATE_ROWS_WITH_HS * HANDLER_HAS_NEED_INFO_FOR_AUTO_INC * HA_PT_CALL_AT_ONCE_COND_PUSH * HA_PT_CALL_AT_ONCE_EXTERNAL_LOCK * HA_PT_CALL_AT_ONCE_EXTRA * HA_PT_CALL_AT_ONCE_INFO_PUSH * HA_PT_CALL_AT_ONCE_START_STMT * HA_PT_CALL_AT_ONCE_STORE_LOCK * HA_PT_CALL_AT_ONCE_TOP_TABLE * HASH_UPDATE_WITH_HASH_VALUE * HA_SLOW_CMP_REF * HAVE_ORACLE_OCI * HAVE_PSI_INTERFACE * HS_HAS_SQLCOM * HTON_CAN_READ_CONNECT_STRING_IN_PARTITION * INFO_KIND_FORCE_LIMIT_BEGIN * INFO_KIND_UPDATE_FIELDS * INFO_KIND_UPDATE_VALUES * ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC * ITEM_FUNC_TIMESTAMPDIFF_ARE_PUBLIC * MARIADB_BASE_VERSION * MODE_ANSI * MODE_ANSI_QUOTES * MODE_DB2 * MODE_EMPTY_STRING_IS_NULL * MODE_ERROR_FOR_DIVISION_BY_ZERO * MODE_HIGH_NOT_PRECEDENCE * MODE_IGNORE_BAD_TABLE_OPTIONS * MODE_IGNORE_SPACE * MODE_INVALID_DATES * MODE_MAXDB * MODE_MSSQL * MODE_MYSQL323 * MODE_MYSQL40 * MODE_NO_AUTO_CREATE_USER * MODE_NO_AUTO_VALUE_ON_ZERO * MODE_NO_BACKSLASH_ESCAPES * MODE_NO_DIR_IN_CREATE * MODE_NO_ENGINE_SUBSTITUTION * MODE_NO_FIELD_OPTIONS * MODE_NO_KEY_OPTIONS * MODE_NO_TABLE_OPTIONS * MODE_NO_UNSIGNED_SUBTRACTION * MODE_NO_ZERO_DATE * MODE_NO_ZERO_IN_DATE * MODE_ONLY_FULL_GROUP_BY * MODE_ORACLE * MODE_PAD_CHAR_TO_FULL_LENGTH * MODE_PIPES_AS_CONCAT * MODE_POSTGRESQL * MODE_REAL_AS_FLOAT * MODE_SIMULTANEOUS_ASSIGNMENT * MODE_STRICT_ALL_TABLES * MODE_STRICT_TRANS_TABLES * MODE_TIME_ROUND_FRACTIONAL * MODE_TRADITIONAL * PLUGIN_VAR_CAN_MEMALLOC * pthread_cond_broadcast * pthread_cond_destroy * pthread_cond_signal * pthread_cond_t * pthread_cond_timedwait * pthread_cond_wait * pthread_mutex_destroy * pthread_mutex_lock * pthread_mutex_t * pthread_mutex_trylock * pthread_mutex_unlock * SPIDER_ENGINE_CONDITION_PUSHDOWN_IS_ALWAYS_ON * SPIDER_FIELD_FIELDPTR_REQUIRES_THDPTR * SPIDER_HANDLER_AUTO_REPAIR_HAS_ERROR * SPIDER_HANDLER_START_BULK_INSERT_HAS_FLAGS * SPIDER_HANDLER_SUPPORT_MULTIPLE_KEY_PARTS * SPIDER_HAS_APPEND_FOR_SINGLE_QUOTE * SPIDER_HAS_DECIMAL_OPERATION_RESULTS_VALUE_TYPE * SPIDER_HAS_DISCOVER_TABLE_STRUCTURE * SPIDER_HAS_EXPLAIN_QUERY * SPIDER_HAS_EXPR_CACHE_ITEM * SPIDER_HAS_GROUP_BY_HANDLER * SPIDER_HAS_HASH_VALUE_TYPE * SPIDER_has_Item_has_subquery * SPIDER_HAS_JT_HASH_INDEX_MERGE * SPIDER_HAS_MY_CHARLEN * SPIDER_HAS_NEXT_THREAD_ID * SPIDER_HAS_SHOW_SIMPLE_FUNC * SPIDER_HAS_TIME_STATUS * SPIDER_I_S_USE_SHOW_FOR_COLUMN * SPIDER_Item_args_arg_count_IS_PROTECTED * SPIDER_ITEM_HAS_CMP_TYPE * SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY * SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY_AND_THDPTR * SPIDER_LIKE_FUNC_HAS_GET_NEGATED * SPIDER_MDEV_16246 * SPIDER_NEED_CHECK_CONDITION_AT_CHECKING_DIRECT_ORDER_LIMIT * SPIDER_NEED_INIT_ONE_TABLE_FOR_FIND_TEMPORARY_TABLE * SPIDER_NET_HAS_THD * SPIDER_open_temporary_table * SPIDER_ORDER_HAS_ENUM_ORDER * SPIDER_REQUIRE_DEFINE_FOR_SECONDARY_OPEN_TABLES_BACKUP * SPIDER_SQL_CACHE_IS_IN_LEX * SPIDER_SQL_MODE_ANSI * SPIDER_SQL_MODE_ANSI_QUOTES * SPIDER_SQL_MODE_DB2 * SPIDER_SQL_MODE_EMPTY_STRING_IS_NULL * SPIDER_SQL_MODE_ERROR_FOR_DIVISION_BY_ZERO * SPIDER_SQL_MODE_HIGH_NOT_PRECEDENCE * SPIDER_SQL_MODE_IGNORE_BAD_TABLE_OPTIONS * SPIDER_SQL_MODE_IGNORE_SPACE * SPIDER_SQL_MODE_INVALID_DATES * SPIDER_SQL_MODE_MAXDB * SPIDER_SQL_MODE_MSSQL * SPIDER_SQL_MODE_MYSQL323 * SPIDER_SQL_MODE_MYSQL40 * SPIDER_SQL_MODE_NO_AUTO_CREATE_USER * SPIDER_SQL_MODE_NO_AUTO_VALUE_ON_ZERO * SPIDER_SQL_MODE_NO_BACKSLASH_ESCAPES * SPIDER_SQL_MODE_NO_DIR_IN_CREATE * SPIDER_SQL_MODE_NO_ENGINE_SUBSTITUTION * SPIDER_SQL_MODE_NO_FIELD_OPTIONS * SPIDER_SQL_MODE_NO_KEY_OPTIONS * SPIDER_SQL_MODE_NO_TABLE_OPTIONS * SPIDER_SQL_MODE_NO_UNSIGNED_SUBTRACTION * SPIDER_SQL_MODE_NO_ZERO_DATE * SPIDER_SQL_MODE_NO_ZERO_IN_DATE * SPIDER_SQL_MODE_ONLY_FULL_GROUP_BY * SPIDER_SQL_MODE_ORACLE * SPIDER_SQL_MODE_PAD_CHAR_TO_FULL_LENGTH * SPIDER_SQL_MODE_PIPES_AS_CONCAT * SPIDER_SQL_MODE_POSTGRESQL * SPIDER_SQL_MODE_REAL_AS_FLOAT * SPIDER_SQL_MODE_SIMULTANEOUS_ASSIGNMENT * SPIDER_SQL_MODE_STRICT_ALL_TABLES * SPIDER_SQL_MODE_STRICT_TRANS_TABLES * SPIDER_SQL_MODE_TIME_ROUND_FRACTIONAL * SPIDER_SQL_MODE_TRADITIONAL * SPIDER_SUPPORT_CREATE_OR_REPLACE_TABLE * SPIDER_UPDATE_ROW_HAS_CONST_NEW_DATA * SPIDER_USE_CONST_ITEM_FOR_STRING_INT_REAL_DECIMAL_DATE_ITEM * SPIDER_use_LEX_CSTRING_for_database_tablename_alias * SPIDER_use_LEX_CSTRING_for_Field_blob_constructor * SPIDER_use_LEX_CSTRING_for_KEY_Field_name * SPIDER_XID_STATE_HAS_in_thd * SPIDER_XID_USES_xid_cache_iterate * USE_PRAGMA_IMPLEMENTATION * USE_PRAGMA_INTERFACE * WITH_PARTITION_STORAGE_ENGINE * XID_CACHE_IS_SPLITTED |
Remove unnecessary #ifdef, which complicate the code, from the Spider codebase.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove these #ifdefs. Some of them might not be able to be removed: * HA_CAN_BULK_ACCESS * HA_CAN_DIRECT_UPDATE_AND_DELETE * HA_CAN_FORCE_BULK_DELETE * HA_CAN_FORCE_BULK_UPDATE * HA_EXTRA_HAS_HA_EXTRA_USE_CMP_REF * HA_EXTRA_HAS_STARTING_ORDERED_INDEX_SCAN * HA_HAS_CHECKSUM_EXTENDED * HA_MRR_USE_DEFAULT_IMPL * HANDLER_HAS_CAN_USE_FOR_AUTO_INC_INIT * HANDLER_HAS_DIRECT_AGGREGATE * HANDLER_HAS_DIRECT_UPDATE_ROWS * HANDLER_HAS_DIRECT_UPDATE_ROWS_WITH_HS * HANDLER_HAS_NEED_INFO_FOR_AUTO_INC * HA_PT_CALL_AT_ONCE_COND_PUSH * HA_PT_CALL_AT_ONCE_EXTERNAL_LOCK * HA_PT_CALL_AT_ONCE_EXTRA * HA_PT_CALL_AT_ONCE_INFO_PUSH * HA_PT_CALL_AT_ONCE_START_STMT * HA_PT_CALL_AT_ONCE_STORE_LOCK * HA_PT_CALL_AT_ONCE_TOP_TABLE * HASH_UPDATE_WITH_HASH_VALUE * HA_SLOW_CMP_REF * HAVE_ORACLE_OCI * HAVE_PSI_INTERFACE * HS_HAS_SQLCOM * HTON_CAN_READ_CONNECT_STRING_IN_PARTITION * INFO_KIND_FORCE_LIMIT_BEGIN * INFO_KIND_UPDATE_FIELDS * INFO_KIND_UPDATE_VALUES * ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC * ITEM_FUNC_TIMESTAMPDIFF_ARE_PUBLIC * MARIADB_BASE_VERSION * MODE_ANSI * MODE_ANSI_QUOTES * MODE_DB2 * MODE_EMPTY_STRING_IS_NULL * MODE_ERROR_FOR_DIVISION_BY_ZERO * MODE_HIGH_NOT_PRECEDENCE * MODE_IGNORE_BAD_TABLE_OPTIONS * MODE_IGNORE_SPACE * MODE_INVALID_DATES * MODE_MAXDB * MODE_MSSQL * MODE_MYSQL323 * MODE_MYSQL40 * MODE_NO_AUTO_CREATE_USER * MODE_NO_AUTO_VALUE_ON_ZERO * MODE_NO_BACKSLASH_ESCAPES * MODE_NO_DIR_IN_CREATE * MODE_NO_ENGINE_SUBSTITUTION * MODE_NO_FIELD_OPTIONS * MODE_NO_KEY_OPTIONS * MODE_NO_TABLE_OPTIONS * MODE_NO_UNSIGNED_SUBTRACTION * MODE_NO_ZERO_DATE * MODE_NO_ZERO_IN_DATE * MODE_ONLY_FULL_GROUP_BY * MODE_ORACLE * MODE_PAD_CHAR_TO_FULL_LENGTH * MODE_PIPES_AS_CONCAT * MODE_POSTGRESQL * MODE_REAL_AS_FLOAT * MODE_SIMULTANEOUS_ASSIGNMENT * MODE_STRICT_ALL_TABLES * MODE_STRICT_TRANS_TABLES * MODE_TIME_ROUND_FRACTIONAL * MODE_TRADITIONAL * PLUGIN_VAR_CAN_MEMALLOC * pthread_cond_broadcast * pthread_cond_destroy * pthread_cond_signal * pthread_cond_t * pthread_cond_timedwait * pthread_cond_wait * pthread_mutex_destroy * pthread_mutex_lock * pthread_mutex_t * pthread_mutex_trylock * pthread_mutex_unlock * SPIDER_ENGINE_CONDITION_PUSHDOWN_IS_ALWAYS_ON * SPIDER_FIELD_FIELDPTR_REQUIRES_THDPTR * SPIDER_HANDLER_AUTO_REPAIR_HAS_ERROR * SPIDER_HANDLER_START_BULK_INSERT_HAS_FLAGS * SPIDER_HANDLER_SUPPORT_MULTIPLE_KEY_PARTS * SPIDER_HAS_APPEND_FOR_SINGLE_QUOTE * SPIDER_HAS_DECIMAL_OPERATION_RESULTS_VALUE_TYPE * SPIDER_HAS_DISCOVER_TABLE_STRUCTURE * SPIDER_HAS_EXPLAIN_QUERY * SPIDER_HAS_EXPR_CACHE_ITEM * SPIDER_HAS_GROUP_BY_HANDLER * SPIDER_HAS_HASH_VALUE_TYPE * SPIDER_has_Item_has_subquery * SPIDER_HAS_JT_HASH_INDEX_MERGE * SPIDER_HAS_MY_CHARLEN * SPIDER_HAS_NEXT_THREAD_ID * SPIDER_HAS_SHOW_SIMPLE_FUNC * SPIDER_HAS_TIME_STATUS * SPIDER_I_S_USE_SHOW_FOR_COLUMN * SPIDER_Item_args_arg_count_IS_PROTECTED * SPIDER_ITEM_HAS_CMP_TYPE * SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY * SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY_AND_THDPTR * SPIDER_LIKE_FUNC_HAS_GET_NEGATED * SPIDER_MDEV_16246 * SPIDER_NEED_CHECK_CONDITION_AT_CHECKING_DIRECT_ORDER_LIMIT * SPIDER_NEED_INIT_ONE_TABLE_FOR_FIND_TEMPORARY_TABLE * SPIDER_NET_HAS_THD * SPIDER_open_temporary_table * SPIDER_ORDER_HAS_ENUM_ORDER * SPIDER_REQUIRE_DEFINE_FOR_SECONDARY_OPEN_TABLES_BACKUP * SPIDER_SQL_CACHE_IS_IN_LEX * SPIDER_SQL_MODE_ANSI * SPIDER_SQL_MODE_ANSI_QUOTES * SPIDER_SQL_MODE_DB2 * SPIDER_SQL_MODE_EMPTY_STRING_IS_NULL * SPIDER_SQL_MODE_ERROR_FOR_DIVISION_BY_ZERO * SPIDER_SQL_MODE_HIGH_NOT_PRECEDENCE * SPIDER_SQL_MODE_IGNORE_BAD_TABLE_OPTIONS * SPIDER_SQL_MODE_IGNORE_SPACE * SPIDER_SQL_MODE_INVALID_DATES * SPIDER_SQL_MODE_MAXDB * SPIDER_SQL_MODE_MSSQL * SPIDER_SQL_MODE_MYSQL323 * SPIDER_SQL_MODE_MYSQL40 * SPIDER_SQL_MODE_NO_AUTO_CREATE_USER * SPIDER_SQL_MODE_NO_AUTO_VALUE_ON_ZERO * SPIDER_SQL_MODE_NO_BACKSLASH_ESCAPES * SPIDER_SQL_MODE_NO_DIR_IN_CREATE * SPIDER_SQL_MODE_NO_ENGINE_SUBSTITUTION * SPIDER_SQL_MODE_NO_FIELD_OPTIONS * SPIDER_SQL_MODE_NO_KEY_OPTIONS * SPIDER_SQL_MODE_NO_TABLE_OPTIONS * SPIDER_SQL_MODE_NO_UNSIGNED_SUBTRACTION * SPIDER_SQL_MODE_NO_ZERO_DATE * SPIDER_SQL_MODE_NO_ZERO_IN_DATE * SPIDER_SQL_MODE_ONLY_FULL_GROUP_BY * SPIDER_SQL_MODE_ORACLE * SPIDER_SQL_MODE_PAD_CHAR_TO_FULL_LENGTH * SPIDER_SQL_MODE_PIPES_AS_CONCAT * SPIDER_SQL_MODE_POSTGRESQL * SPIDER_SQL_MODE_REAL_AS_FLOAT * SPIDER_SQL_MODE_SIMULTANEOUS_ASSIGNMENT * SPIDER_SQL_MODE_STRICT_ALL_TABLES * SPIDER_SQL_MODE_STRICT_TRANS_TABLES * SPIDER_SQL_MODE_TIME_ROUND_FRACTIONAL * SPIDER_SQL_MODE_TRADITIONAL * SPIDER_SUPPORT_CREATE_OR_REPLACE_TABLE * SPIDER_UPDATE_ROW_HAS_CONST_NEW_DATA * SPIDER_USE_CONST_ITEM_FOR_STRING_INT_REAL_DECIMAL_DATE_ITEM * SPIDER_use_LEX_CSTRING_for_database_tablename_alias * SPIDER_use_LEX_CSTRING_for_Field_blob_constructor * SPIDER_use_LEX_CSTRING_for_KEY_Field_name * SPIDER_XID_STATE_HAS_in_thd * SPIDER_XID_USES_xid_cache_iterate * USE_PRAGMA_IMPLEMENTATION * USE_PRAGMA_INTERFACE * WITH_PARTITION_STORAGE_ENGINE * XID_CACHE_IS_SPLITTED |
Fix Version/s | 10.7 [ 24805 ] |
Epic Link | MDEV-26286 [ 101691 ] |
Fix Version/s | 10.7 [ 24805 ] |
Summary | Remove unnecessary #ifdef in Spider | List unnecessary #ifdef in Spider |
Description |
Remove unnecessary #ifdef, which complicate the code, from the Spider codebase.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove these #ifdefs. Some of them might not be able to be removed: * HA_CAN_BULK_ACCESS * HA_CAN_DIRECT_UPDATE_AND_DELETE * HA_CAN_FORCE_BULK_DELETE * HA_CAN_FORCE_BULK_UPDATE * HA_EXTRA_HAS_HA_EXTRA_USE_CMP_REF * HA_EXTRA_HAS_STARTING_ORDERED_INDEX_SCAN * HA_HAS_CHECKSUM_EXTENDED * HA_MRR_USE_DEFAULT_IMPL * HANDLER_HAS_CAN_USE_FOR_AUTO_INC_INIT * HANDLER_HAS_DIRECT_AGGREGATE * HANDLER_HAS_DIRECT_UPDATE_ROWS * HANDLER_HAS_DIRECT_UPDATE_ROWS_WITH_HS * HANDLER_HAS_NEED_INFO_FOR_AUTO_INC * HA_PT_CALL_AT_ONCE_COND_PUSH * HA_PT_CALL_AT_ONCE_EXTERNAL_LOCK * HA_PT_CALL_AT_ONCE_EXTRA * HA_PT_CALL_AT_ONCE_INFO_PUSH * HA_PT_CALL_AT_ONCE_START_STMT * HA_PT_CALL_AT_ONCE_STORE_LOCK * HA_PT_CALL_AT_ONCE_TOP_TABLE * HASH_UPDATE_WITH_HASH_VALUE * HA_SLOW_CMP_REF * HAVE_ORACLE_OCI * HAVE_PSI_INTERFACE * HS_HAS_SQLCOM * HTON_CAN_READ_CONNECT_STRING_IN_PARTITION * INFO_KIND_FORCE_LIMIT_BEGIN * INFO_KIND_UPDATE_FIELDS * INFO_KIND_UPDATE_VALUES * ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC * ITEM_FUNC_TIMESTAMPDIFF_ARE_PUBLIC * MARIADB_BASE_VERSION * MODE_ANSI * MODE_ANSI_QUOTES * MODE_DB2 * MODE_EMPTY_STRING_IS_NULL * MODE_ERROR_FOR_DIVISION_BY_ZERO * MODE_HIGH_NOT_PRECEDENCE * MODE_IGNORE_BAD_TABLE_OPTIONS * MODE_IGNORE_SPACE * MODE_INVALID_DATES * MODE_MAXDB * MODE_MSSQL * MODE_MYSQL323 * MODE_MYSQL40 * MODE_NO_AUTO_CREATE_USER * MODE_NO_AUTO_VALUE_ON_ZERO * MODE_NO_BACKSLASH_ESCAPES * MODE_NO_DIR_IN_CREATE * MODE_NO_ENGINE_SUBSTITUTION * MODE_NO_FIELD_OPTIONS * MODE_NO_KEY_OPTIONS * MODE_NO_TABLE_OPTIONS * MODE_NO_UNSIGNED_SUBTRACTION * MODE_NO_ZERO_DATE * MODE_NO_ZERO_IN_DATE * MODE_ONLY_FULL_GROUP_BY * MODE_ORACLE * MODE_PAD_CHAR_TO_FULL_LENGTH * MODE_PIPES_AS_CONCAT * MODE_POSTGRESQL * MODE_REAL_AS_FLOAT * MODE_SIMULTANEOUS_ASSIGNMENT * MODE_STRICT_ALL_TABLES * MODE_STRICT_TRANS_TABLES * MODE_TIME_ROUND_FRACTIONAL * MODE_TRADITIONAL * PLUGIN_VAR_CAN_MEMALLOC * pthread_cond_broadcast * pthread_cond_destroy * pthread_cond_signal * pthread_cond_t * pthread_cond_timedwait * pthread_cond_wait * pthread_mutex_destroy * pthread_mutex_lock * pthread_mutex_t * pthread_mutex_trylock * pthread_mutex_unlock * SPIDER_ENGINE_CONDITION_PUSHDOWN_IS_ALWAYS_ON * SPIDER_FIELD_FIELDPTR_REQUIRES_THDPTR * SPIDER_HANDLER_AUTO_REPAIR_HAS_ERROR * SPIDER_HANDLER_START_BULK_INSERT_HAS_FLAGS * SPIDER_HANDLER_SUPPORT_MULTIPLE_KEY_PARTS * SPIDER_HAS_APPEND_FOR_SINGLE_QUOTE * SPIDER_HAS_DECIMAL_OPERATION_RESULTS_VALUE_TYPE * SPIDER_HAS_DISCOVER_TABLE_STRUCTURE * SPIDER_HAS_EXPLAIN_QUERY * SPIDER_HAS_EXPR_CACHE_ITEM * SPIDER_HAS_GROUP_BY_HANDLER * SPIDER_HAS_HASH_VALUE_TYPE * SPIDER_has_Item_has_subquery * SPIDER_HAS_JT_HASH_INDEX_MERGE * SPIDER_HAS_MY_CHARLEN * SPIDER_HAS_NEXT_THREAD_ID * SPIDER_HAS_SHOW_SIMPLE_FUNC * SPIDER_HAS_TIME_STATUS * SPIDER_I_S_USE_SHOW_FOR_COLUMN * SPIDER_Item_args_arg_count_IS_PROTECTED * SPIDER_ITEM_HAS_CMP_TYPE * SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY * SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY_AND_THDPTR * SPIDER_LIKE_FUNC_HAS_GET_NEGATED * SPIDER_MDEV_16246 * SPIDER_NEED_CHECK_CONDITION_AT_CHECKING_DIRECT_ORDER_LIMIT * SPIDER_NEED_INIT_ONE_TABLE_FOR_FIND_TEMPORARY_TABLE * SPIDER_NET_HAS_THD * SPIDER_open_temporary_table * SPIDER_ORDER_HAS_ENUM_ORDER * SPIDER_REQUIRE_DEFINE_FOR_SECONDARY_OPEN_TABLES_BACKUP * SPIDER_SQL_CACHE_IS_IN_LEX * SPIDER_SQL_MODE_ANSI * SPIDER_SQL_MODE_ANSI_QUOTES * SPIDER_SQL_MODE_DB2 * SPIDER_SQL_MODE_EMPTY_STRING_IS_NULL * SPIDER_SQL_MODE_ERROR_FOR_DIVISION_BY_ZERO * SPIDER_SQL_MODE_HIGH_NOT_PRECEDENCE * SPIDER_SQL_MODE_IGNORE_BAD_TABLE_OPTIONS * SPIDER_SQL_MODE_IGNORE_SPACE * SPIDER_SQL_MODE_INVALID_DATES * SPIDER_SQL_MODE_MAXDB * SPIDER_SQL_MODE_MSSQL * SPIDER_SQL_MODE_MYSQL323 * SPIDER_SQL_MODE_MYSQL40 * SPIDER_SQL_MODE_NO_AUTO_CREATE_USER * SPIDER_SQL_MODE_NO_AUTO_VALUE_ON_ZERO * SPIDER_SQL_MODE_NO_BACKSLASH_ESCAPES * SPIDER_SQL_MODE_NO_DIR_IN_CREATE * SPIDER_SQL_MODE_NO_ENGINE_SUBSTITUTION * SPIDER_SQL_MODE_NO_FIELD_OPTIONS * SPIDER_SQL_MODE_NO_KEY_OPTIONS * SPIDER_SQL_MODE_NO_TABLE_OPTIONS * SPIDER_SQL_MODE_NO_UNSIGNED_SUBTRACTION * SPIDER_SQL_MODE_NO_ZERO_DATE * SPIDER_SQL_MODE_NO_ZERO_IN_DATE * SPIDER_SQL_MODE_ONLY_FULL_GROUP_BY * SPIDER_SQL_MODE_ORACLE * SPIDER_SQL_MODE_PAD_CHAR_TO_FULL_LENGTH * SPIDER_SQL_MODE_PIPES_AS_CONCAT * SPIDER_SQL_MODE_POSTGRESQL * SPIDER_SQL_MODE_REAL_AS_FLOAT * SPIDER_SQL_MODE_SIMULTANEOUS_ASSIGNMENT * SPIDER_SQL_MODE_STRICT_ALL_TABLES * SPIDER_SQL_MODE_STRICT_TRANS_TABLES * SPIDER_SQL_MODE_TIME_ROUND_FRACTIONAL * SPIDER_SQL_MODE_TRADITIONAL * SPIDER_SUPPORT_CREATE_OR_REPLACE_TABLE * SPIDER_UPDATE_ROW_HAS_CONST_NEW_DATA * SPIDER_USE_CONST_ITEM_FOR_STRING_INT_REAL_DECIMAL_DATE_ITEM * SPIDER_use_LEX_CSTRING_for_database_tablename_alias * SPIDER_use_LEX_CSTRING_for_Field_blob_constructor * SPIDER_use_LEX_CSTRING_for_KEY_Field_name * SPIDER_XID_STATE_HAS_in_thd * SPIDER_XID_USES_xid_cache_iterate * USE_PRAGMA_IMPLEMENTATION * USE_PRAGMA_INTERFACE * WITH_PARTITION_STORAGE_ENGINE * XID_CACHE_IS_SPLITTED |
List unnecessary #ifdef, which complicate the code, from the Spider codebase. The actual removal is out of the scope of the present issue.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove these #ifdefs. Some of them might not be able to be removed: * HA_CAN_BULK_ACCESS * HA_CAN_DIRECT_UPDATE_AND_DELETE * HA_CAN_FORCE_BULK_DELETE * HA_CAN_FORCE_BULK_UPDATE * HA_EXTRA_HAS_HA_EXTRA_USE_CMP_REF * HA_EXTRA_HAS_STARTING_ORDERED_INDEX_SCAN * HA_HAS_CHECKSUM_EXTENDED * HA_MRR_USE_DEFAULT_IMPL * HANDLER_HAS_CAN_USE_FOR_AUTO_INC_INIT * HANDLER_HAS_DIRECT_AGGREGATE * HANDLER_HAS_DIRECT_UPDATE_ROWS * HANDLER_HAS_DIRECT_UPDATE_ROWS_WITH_HS * HANDLER_HAS_NEED_INFO_FOR_AUTO_INC * HA_PT_CALL_AT_ONCE_COND_PUSH * HA_PT_CALL_AT_ONCE_EXTERNAL_LOCK * HA_PT_CALL_AT_ONCE_EXTRA * HA_PT_CALL_AT_ONCE_INFO_PUSH * HA_PT_CALL_AT_ONCE_START_STMT * HA_PT_CALL_AT_ONCE_STORE_LOCK * HA_PT_CALL_AT_ONCE_TOP_TABLE * HASH_UPDATE_WITH_HASH_VALUE * HA_SLOW_CMP_REF * HAVE_ORACLE_OCI * HAVE_PSI_INTERFACE * HS_HAS_SQLCOM * HTON_CAN_READ_CONNECT_STRING_IN_PARTITION * INFO_KIND_FORCE_LIMIT_BEGIN * INFO_KIND_UPDATE_FIELDS * INFO_KIND_UPDATE_VALUES * ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC * ITEM_FUNC_TIMESTAMPDIFF_ARE_PUBLIC * MARIADB_BASE_VERSION * MODE_ANSI * MODE_ANSI_QUOTES * MODE_DB2 * MODE_EMPTY_STRING_IS_NULL * MODE_ERROR_FOR_DIVISION_BY_ZERO * MODE_HIGH_NOT_PRECEDENCE * MODE_IGNORE_BAD_TABLE_OPTIONS * MODE_IGNORE_SPACE * MODE_INVALID_DATES * MODE_MAXDB * MODE_MSSQL * MODE_MYSQL323 * MODE_MYSQL40 * MODE_NO_AUTO_CREATE_USER * MODE_NO_AUTO_VALUE_ON_ZERO * MODE_NO_BACKSLASH_ESCAPES * MODE_NO_DIR_IN_CREATE * MODE_NO_ENGINE_SUBSTITUTION * MODE_NO_FIELD_OPTIONS * MODE_NO_KEY_OPTIONS * MODE_NO_TABLE_OPTIONS * MODE_NO_UNSIGNED_SUBTRACTION * MODE_NO_ZERO_DATE * MODE_NO_ZERO_IN_DATE * MODE_ONLY_FULL_GROUP_BY * MODE_ORACLE * MODE_PAD_CHAR_TO_FULL_LENGTH * MODE_PIPES_AS_CONCAT * MODE_POSTGRESQL * MODE_REAL_AS_FLOAT * MODE_SIMULTANEOUS_ASSIGNMENT * MODE_STRICT_ALL_TABLES * MODE_STRICT_TRANS_TABLES * MODE_TIME_ROUND_FRACTIONAL * MODE_TRADITIONAL * PLUGIN_VAR_CAN_MEMALLOC * pthread_cond_broadcast * pthread_cond_destroy * pthread_cond_signal * pthread_cond_t * pthread_cond_timedwait * pthread_cond_wait * pthread_mutex_destroy * pthread_mutex_lock * pthread_mutex_t * pthread_mutex_trylock * pthread_mutex_unlock * SPIDER_ENGINE_CONDITION_PUSHDOWN_IS_ALWAYS_ON * SPIDER_FIELD_FIELDPTR_REQUIRES_THDPTR * SPIDER_HANDLER_AUTO_REPAIR_HAS_ERROR * SPIDER_HANDLER_START_BULK_INSERT_HAS_FLAGS * SPIDER_HANDLER_SUPPORT_MULTIPLE_KEY_PARTS * SPIDER_HAS_APPEND_FOR_SINGLE_QUOTE * SPIDER_HAS_DECIMAL_OPERATION_RESULTS_VALUE_TYPE * SPIDER_HAS_DISCOVER_TABLE_STRUCTURE * SPIDER_HAS_EXPLAIN_QUERY * SPIDER_HAS_EXPR_CACHE_ITEM * SPIDER_HAS_GROUP_BY_HANDLER * SPIDER_HAS_HASH_VALUE_TYPE * SPIDER_has_Item_has_subquery * SPIDER_HAS_JT_HASH_INDEX_MERGE * SPIDER_HAS_MY_CHARLEN * SPIDER_HAS_NEXT_THREAD_ID * SPIDER_HAS_SHOW_SIMPLE_FUNC * SPIDER_HAS_TIME_STATUS * SPIDER_I_S_USE_SHOW_FOR_COLUMN * SPIDER_Item_args_arg_count_IS_PROTECTED * SPIDER_ITEM_HAS_CMP_TYPE * SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY * SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY_AND_THDPTR * SPIDER_LIKE_FUNC_HAS_GET_NEGATED * SPIDER_MDEV_16246 * SPIDER_NEED_CHECK_CONDITION_AT_CHECKING_DIRECT_ORDER_LIMIT * SPIDER_NEED_INIT_ONE_TABLE_FOR_FIND_TEMPORARY_TABLE * SPIDER_NET_HAS_THD * SPIDER_open_temporary_table * SPIDER_ORDER_HAS_ENUM_ORDER * SPIDER_REQUIRE_DEFINE_FOR_SECONDARY_OPEN_TABLES_BACKUP * SPIDER_SQL_CACHE_IS_IN_LEX * SPIDER_SQL_MODE_ANSI * SPIDER_SQL_MODE_ANSI_QUOTES * SPIDER_SQL_MODE_DB2 * SPIDER_SQL_MODE_EMPTY_STRING_IS_NULL * SPIDER_SQL_MODE_ERROR_FOR_DIVISION_BY_ZERO * SPIDER_SQL_MODE_HIGH_NOT_PRECEDENCE * SPIDER_SQL_MODE_IGNORE_BAD_TABLE_OPTIONS * SPIDER_SQL_MODE_IGNORE_SPACE * SPIDER_SQL_MODE_INVALID_DATES * SPIDER_SQL_MODE_MAXDB * SPIDER_SQL_MODE_MSSQL * SPIDER_SQL_MODE_MYSQL323 * SPIDER_SQL_MODE_MYSQL40 * SPIDER_SQL_MODE_NO_AUTO_CREATE_USER * SPIDER_SQL_MODE_NO_AUTO_VALUE_ON_ZERO * SPIDER_SQL_MODE_NO_BACKSLASH_ESCAPES * SPIDER_SQL_MODE_NO_DIR_IN_CREATE * SPIDER_SQL_MODE_NO_ENGINE_SUBSTITUTION * SPIDER_SQL_MODE_NO_FIELD_OPTIONS * SPIDER_SQL_MODE_NO_KEY_OPTIONS * SPIDER_SQL_MODE_NO_TABLE_OPTIONS * SPIDER_SQL_MODE_NO_UNSIGNED_SUBTRACTION * SPIDER_SQL_MODE_NO_ZERO_DATE * SPIDER_SQL_MODE_NO_ZERO_IN_DATE * SPIDER_SQL_MODE_ONLY_FULL_GROUP_BY * SPIDER_SQL_MODE_ORACLE * SPIDER_SQL_MODE_PAD_CHAR_TO_FULL_LENGTH * SPIDER_SQL_MODE_PIPES_AS_CONCAT * SPIDER_SQL_MODE_POSTGRESQL * SPIDER_SQL_MODE_REAL_AS_FLOAT * SPIDER_SQL_MODE_SIMULTANEOUS_ASSIGNMENT * SPIDER_SQL_MODE_STRICT_ALL_TABLES * SPIDER_SQL_MODE_STRICT_TRANS_TABLES * SPIDER_SQL_MODE_TIME_ROUND_FRACTIONAL * SPIDER_SQL_MODE_TRADITIONAL * SPIDER_SUPPORT_CREATE_OR_REPLACE_TABLE * SPIDER_UPDATE_ROW_HAS_CONST_NEW_DATA * SPIDER_USE_CONST_ITEM_FOR_STRING_INT_REAL_DECIMAL_DATE_ITEM * SPIDER_use_LEX_CSTRING_for_database_tablename_alias * SPIDER_use_LEX_CSTRING_for_Field_blob_constructor * SPIDER_use_LEX_CSTRING_for_KEY_Field_name * SPIDER_XID_STATE_HAS_in_thd * SPIDER_XID_USES_xid_cache_iterate * USE_PRAGMA_IMPLEMENTATION * USE_PRAGMA_INTERFACE * WITH_PARTITION_STORAGE_ENGINE * XID_CACHE_IS_SPLITTED |
Summary | List unnecessary #ifdef in Spider | List and remove unnecessary #ifdef in Spider |
Description |
List unnecessary #ifdef, which complicate the code, from the Spider codebase. The actual removal is out of the scope of the present issue.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove these #ifdefs. Some of them might not be able to be removed: * HA_CAN_BULK_ACCESS * HA_CAN_DIRECT_UPDATE_AND_DELETE * HA_CAN_FORCE_BULK_DELETE * HA_CAN_FORCE_BULK_UPDATE * HA_EXTRA_HAS_HA_EXTRA_USE_CMP_REF * HA_EXTRA_HAS_STARTING_ORDERED_INDEX_SCAN * HA_HAS_CHECKSUM_EXTENDED * HA_MRR_USE_DEFAULT_IMPL * HANDLER_HAS_CAN_USE_FOR_AUTO_INC_INIT * HANDLER_HAS_DIRECT_AGGREGATE * HANDLER_HAS_DIRECT_UPDATE_ROWS * HANDLER_HAS_DIRECT_UPDATE_ROWS_WITH_HS * HANDLER_HAS_NEED_INFO_FOR_AUTO_INC * HA_PT_CALL_AT_ONCE_COND_PUSH * HA_PT_CALL_AT_ONCE_EXTERNAL_LOCK * HA_PT_CALL_AT_ONCE_EXTRA * HA_PT_CALL_AT_ONCE_INFO_PUSH * HA_PT_CALL_AT_ONCE_START_STMT * HA_PT_CALL_AT_ONCE_STORE_LOCK * HA_PT_CALL_AT_ONCE_TOP_TABLE * HASH_UPDATE_WITH_HASH_VALUE * HA_SLOW_CMP_REF * HAVE_ORACLE_OCI * HAVE_PSI_INTERFACE * HS_HAS_SQLCOM * HTON_CAN_READ_CONNECT_STRING_IN_PARTITION * INFO_KIND_FORCE_LIMIT_BEGIN * INFO_KIND_UPDATE_FIELDS * INFO_KIND_UPDATE_VALUES * ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC * ITEM_FUNC_TIMESTAMPDIFF_ARE_PUBLIC * MARIADB_BASE_VERSION * MODE_ANSI * MODE_ANSI_QUOTES * MODE_DB2 * MODE_EMPTY_STRING_IS_NULL * MODE_ERROR_FOR_DIVISION_BY_ZERO * MODE_HIGH_NOT_PRECEDENCE * MODE_IGNORE_BAD_TABLE_OPTIONS * MODE_IGNORE_SPACE * MODE_INVALID_DATES * MODE_MAXDB * MODE_MSSQL * MODE_MYSQL323 * MODE_MYSQL40 * MODE_NO_AUTO_CREATE_USER * MODE_NO_AUTO_VALUE_ON_ZERO * MODE_NO_BACKSLASH_ESCAPES * MODE_NO_DIR_IN_CREATE * MODE_NO_ENGINE_SUBSTITUTION * MODE_NO_FIELD_OPTIONS * MODE_NO_KEY_OPTIONS * MODE_NO_TABLE_OPTIONS * MODE_NO_UNSIGNED_SUBTRACTION * MODE_NO_ZERO_DATE * MODE_NO_ZERO_IN_DATE * MODE_ONLY_FULL_GROUP_BY * MODE_ORACLE * MODE_PAD_CHAR_TO_FULL_LENGTH * MODE_PIPES_AS_CONCAT * MODE_POSTGRESQL * MODE_REAL_AS_FLOAT * MODE_SIMULTANEOUS_ASSIGNMENT * MODE_STRICT_ALL_TABLES * MODE_STRICT_TRANS_TABLES * MODE_TIME_ROUND_FRACTIONAL * MODE_TRADITIONAL * PLUGIN_VAR_CAN_MEMALLOC * pthread_cond_broadcast * pthread_cond_destroy * pthread_cond_signal * pthread_cond_t * pthread_cond_timedwait * pthread_cond_wait * pthread_mutex_destroy * pthread_mutex_lock * pthread_mutex_t * pthread_mutex_trylock * pthread_mutex_unlock * SPIDER_ENGINE_CONDITION_PUSHDOWN_IS_ALWAYS_ON * SPIDER_FIELD_FIELDPTR_REQUIRES_THDPTR * SPIDER_HANDLER_AUTO_REPAIR_HAS_ERROR * SPIDER_HANDLER_START_BULK_INSERT_HAS_FLAGS * SPIDER_HANDLER_SUPPORT_MULTIPLE_KEY_PARTS * SPIDER_HAS_APPEND_FOR_SINGLE_QUOTE * SPIDER_HAS_DECIMAL_OPERATION_RESULTS_VALUE_TYPE * SPIDER_HAS_DISCOVER_TABLE_STRUCTURE * SPIDER_HAS_EXPLAIN_QUERY * SPIDER_HAS_EXPR_CACHE_ITEM * SPIDER_HAS_GROUP_BY_HANDLER * SPIDER_HAS_HASH_VALUE_TYPE * SPIDER_has_Item_has_subquery * SPIDER_HAS_JT_HASH_INDEX_MERGE * SPIDER_HAS_MY_CHARLEN * SPIDER_HAS_NEXT_THREAD_ID * SPIDER_HAS_SHOW_SIMPLE_FUNC * SPIDER_HAS_TIME_STATUS * SPIDER_I_S_USE_SHOW_FOR_COLUMN * SPIDER_Item_args_arg_count_IS_PROTECTED * SPIDER_ITEM_HAS_CMP_TYPE * SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY * SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY_AND_THDPTR * SPIDER_LIKE_FUNC_HAS_GET_NEGATED * SPIDER_MDEV_16246 * SPIDER_NEED_CHECK_CONDITION_AT_CHECKING_DIRECT_ORDER_LIMIT * SPIDER_NEED_INIT_ONE_TABLE_FOR_FIND_TEMPORARY_TABLE * SPIDER_NET_HAS_THD * SPIDER_open_temporary_table * SPIDER_ORDER_HAS_ENUM_ORDER * SPIDER_REQUIRE_DEFINE_FOR_SECONDARY_OPEN_TABLES_BACKUP * SPIDER_SQL_CACHE_IS_IN_LEX * SPIDER_SQL_MODE_ANSI * SPIDER_SQL_MODE_ANSI_QUOTES * SPIDER_SQL_MODE_DB2 * SPIDER_SQL_MODE_EMPTY_STRING_IS_NULL * SPIDER_SQL_MODE_ERROR_FOR_DIVISION_BY_ZERO * SPIDER_SQL_MODE_HIGH_NOT_PRECEDENCE * SPIDER_SQL_MODE_IGNORE_BAD_TABLE_OPTIONS * SPIDER_SQL_MODE_IGNORE_SPACE * SPIDER_SQL_MODE_INVALID_DATES * SPIDER_SQL_MODE_MAXDB * SPIDER_SQL_MODE_MSSQL * SPIDER_SQL_MODE_MYSQL323 * SPIDER_SQL_MODE_MYSQL40 * SPIDER_SQL_MODE_NO_AUTO_CREATE_USER * SPIDER_SQL_MODE_NO_AUTO_VALUE_ON_ZERO * SPIDER_SQL_MODE_NO_BACKSLASH_ESCAPES * SPIDER_SQL_MODE_NO_DIR_IN_CREATE * SPIDER_SQL_MODE_NO_ENGINE_SUBSTITUTION * SPIDER_SQL_MODE_NO_FIELD_OPTIONS * SPIDER_SQL_MODE_NO_KEY_OPTIONS * SPIDER_SQL_MODE_NO_TABLE_OPTIONS * SPIDER_SQL_MODE_NO_UNSIGNED_SUBTRACTION * SPIDER_SQL_MODE_NO_ZERO_DATE * SPIDER_SQL_MODE_NO_ZERO_IN_DATE * SPIDER_SQL_MODE_ONLY_FULL_GROUP_BY * SPIDER_SQL_MODE_ORACLE * SPIDER_SQL_MODE_PAD_CHAR_TO_FULL_LENGTH * SPIDER_SQL_MODE_PIPES_AS_CONCAT * SPIDER_SQL_MODE_POSTGRESQL * SPIDER_SQL_MODE_REAL_AS_FLOAT * SPIDER_SQL_MODE_SIMULTANEOUS_ASSIGNMENT * SPIDER_SQL_MODE_STRICT_ALL_TABLES * SPIDER_SQL_MODE_STRICT_TRANS_TABLES * SPIDER_SQL_MODE_TIME_ROUND_FRACTIONAL * SPIDER_SQL_MODE_TRADITIONAL * SPIDER_SUPPORT_CREATE_OR_REPLACE_TABLE * SPIDER_UPDATE_ROW_HAS_CONST_NEW_DATA * SPIDER_USE_CONST_ITEM_FOR_STRING_INT_REAL_DECIMAL_DATE_ITEM * SPIDER_use_LEX_CSTRING_for_database_tablename_alias * SPIDER_use_LEX_CSTRING_for_Field_blob_constructor * SPIDER_use_LEX_CSTRING_for_KEY_Field_name * SPIDER_XID_STATE_HAS_in_thd * SPIDER_XID_USES_xid_cache_iterate * USE_PRAGMA_IMPLEMENTATION * USE_PRAGMA_INTERFACE * WITH_PARTITION_STORAGE_ENGINE * XID_CACHE_IS_SPLITTED |
List unnecessary #ifdef, which complicate the code, from the Spider codebase.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove these #ifdefs. Some of them might not be able to be removed: * HA_CAN_BULK_ACCESS * HA_CAN_DIRECT_UPDATE_AND_DELETE * HA_CAN_FORCE_BULK_DELETE * HA_CAN_FORCE_BULK_UPDATE * HA_EXTRA_HAS_HA_EXTRA_USE_CMP_REF * HA_EXTRA_HAS_STARTING_ORDERED_INDEX_SCAN * HA_HAS_CHECKSUM_EXTENDED * HA_MRR_USE_DEFAULT_IMPL * HANDLER_HAS_CAN_USE_FOR_AUTO_INC_INIT * HANDLER_HAS_DIRECT_AGGREGATE * HANDLER_HAS_DIRECT_UPDATE_ROWS * HANDLER_HAS_DIRECT_UPDATE_ROWS_WITH_HS * HANDLER_HAS_NEED_INFO_FOR_AUTO_INC * HA_PT_CALL_AT_ONCE_COND_PUSH * HA_PT_CALL_AT_ONCE_EXTERNAL_LOCK * HA_PT_CALL_AT_ONCE_EXTRA * HA_PT_CALL_AT_ONCE_INFO_PUSH * HA_PT_CALL_AT_ONCE_START_STMT * HA_PT_CALL_AT_ONCE_STORE_LOCK * HA_PT_CALL_AT_ONCE_TOP_TABLE * HASH_UPDATE_WITH_HASH_VALUE * HA_SLOW_CMP_REF * HAVE_ORACLE_OCI * HAVE_PSI_INTERFACE * HS_HAS_SQLCOM * HTON_CAN_READ_CONNECT_STRING_IN_PARTITION * INFO_KIND_FORCE_LIMIT_BEGIN * INFO_KIND_UPDATE_FIELDS * INFO_KIND_UPDATE_VALUES * ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC * ITEM_FUNC_TIMESTAMPDIFF_ARE_PUBLIC * MARIADB_BASE_VERSION * MODE_ANSI * MODE_ANSI_QUOTES * MODE_DB2 * MODE_EMPTY_STRING_IS_NULL * MODE_ERROR_FOR_DIVISION_BY_ZERO * MODE_HIGH_NOT_PRECEDENCE * MODE_IGNORE_BAD_TABLE_OPTIONS * MODE_IGNORE_SPACE * MODE_INVALID_DATES * MODE_MAXDB * MODE_MSSQL * MODE_MYSQL323 * MODE_MYSQL40 * MODE_NO_AUTO_CREATE_USER * MODE_NO_AUTO_VALUE_ON_ZERO * MODE_NO_BACKSLASH_ESCAPES * MODE_NO_DIR_IN_CREATE * MODE_NO_ENGINE_SUBSTITUTION * MODE_NO_FIELD_OPTIONS * MODE_NO_KEY_OPTIONS * MODE_NO_TABLE_OPTIONS * MODE_NO_UNSIGNED_SUBTRACTION * MODE_NO_ZERO_DATE * MODE_NO_ZERO_IN_DATE * MODE_ONLY_FULL_GROUP_BY * MODE_ORACLE * MODE_PAD_CHAR_TO_FULL_LENGTH * MODE_PIPES_AS_CONCAT * MODE_POSTGRESQL * MODE_REAL_AS_FLOAT * MODE_SIMULTANEOUS_ASSIGNMENT * MODE_STRICT_ALL_TABLES * MODE_STRICT_TRANS_TABLES * MODE_TIME_ROUND_FRACTIONAL * MODE_TRADITIONAL * PLUGIN_VAR_CAN_MEMALLOC * pthread_cond_broadcast * pthread_cond_destroy * pthread_cond_signal * pthread_cond_t * pthread_cond_timedwait * pthread_cond_wait * pthread_mutex_destroy * pthread_mutex_lock * pthread_mutex_t * pthread_mutex_trylock * pthread_mutex_unlock * SPIDER_ENGINE_CONDITION_PUSHDOWN_IS_ALWAYS_ON * SPIDER_FIELD_FIELDPTR_REQUIRES_THDPTR * SPIDER_HANDLER_AUTO_REPAIR_HAS_ERROR * SPIDER_HANDLER_START_BULK_INSERT_HAS_FLAGS * SPIDER_HANDLER_SUPPORT_MULTIPLE_KEY_PARTS * SPIDER_HAS_APPEND_FOR_SINGLE_QUOTE * SPIDER_HAS_DECIMAL_OPERATION_RESULTS_VALUE_TYPE * SPIDER_HAS_DISCOVER_TABLE_STRUCTURE * SPIDER_HAS_EXPLAIN_QUERY * SPIDER_HAS_EXPR_CACHE_ITEM * SPIDER_HAS_GROUP_BY_HANDLER * SPIDER_HAS_HASH_VALUE_TYPE * SPIDER_has_Item_has_subquery * SPIDER_HAS_JT_HASH_INDEX_MERGE * SPIDER_HAS_MY_CHARLEN * SPIDER_HAS_NEXT_THREAD_ID * SPIDER_HAS_SHOW_SIMPLE_FUNC * SPIDER_HAS_TIME_STATUS * SPIDER_I_S_USE_SHOW_FOR_COLUMN * SPIDER_Item_args_arg_count_IS_PROTECTED * SPIDER_ITEM_HAS_CMP_TYPE * SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY * SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY_AND_THDPTR * SPIDER_LIKE_FUNC_HAS_GET_NEGATED * SPIDER_MDEV_16246 * SPIDER_NEED_CHECK_CONDITION_AT_CHECKING_DIRECT_ORDER_LIMIT * SPIDER_NEED_INIT_ONE_TABLE_FOR_FIND_TEMPORARY_TABLE * SPIDER_NET_HAS_THD * SPIDER_open_temporary_table * SPIDER_ORDER_HAS_ENUM_ORDER * SPIDER_REQUIRE_DEFINE_FOR_SECONDARY_OPEN_TABLES_BACKUP * SPIDER_SQL_CACHE_IS_IN_LEX * SPIDER_SQL_MODE_ANSI * SPIDER_SQL_MODE_ANSI_QUOTES * SPIDER_SQL_MODE_DB2 * SPIDER_SQL_MODE_EMPTY_STRING_IS_NULL * SPIDER_SQL_MODE_ERROR_FOR_DIVISION_BY_ZERO * SPIDER_SQL_MODE_HIGH_NOT_PRECEDENCE * SPIDER_SQL_MODE_IGNORE_BAD_TABLE_OPTIONS * SPIDER_SQL_MODE_IGNORE_SPACE * SPIDER_SQL_MODE_INVALID_DATES * SPIDER_SQL_MODE_MAXDB * SPIDER_SQL_MODE_MSSQL * SPIDER_SQL_MODE_MYSQL323 * SPIDER_SQL_MODE_MYSQL40 * SPIDER_SQL_MODE_NO_AUTO_CREATE_USER * SPIDER_SQL_MODE_NO_AUTO_VALUE_ON_ZERO * SPIDER_SQL_MODE_NO_BACKSLASH_ESCAPES * SPIDER_SQL_MODE_NO_DIR_IN_CREATE * SPIDER_SQL_MODE_NO_ENGINE_SUBSTITUTION * SPIDER_SQL_MODE_NO_FIELD_OPTIONS * SPIDER_SQL_MODE_NO_KEY_OPTIONS * SPIDER_SQL_MODE_NO_TABLE_OPTIONS * SPIDER_SQL_MODE_NO_UNSIGNED_SUBTRACTION * SPIDER_SQL_MODE_NO_ZERO_DATE * SPIDER_SQL_MODE_NO_ZERO_IN_DATE * SPIDER_SQL_MODE_ONLY_FULL_GROUP_BY * SPIDER_SQL_MODE_ORACLE * SPIDER_SQL_MODE_PAD_CHAR_TO_FULL_LENGTH * SPIDER_SQL_MODE_PIPES_AS_CONCAT * SPIDER_SQL_MODE_POSTGRESQL * SPIDER_SQL_MODE_REAL_AS_FLOAT * SPIDER_SQL_MODE_SIMULTANEOUS_ASSIGNMENT * SPIDER_SQL_MODE_STRICT_ALL_TABLES * SPIDER_SQL_MODE_STRICT_TRANS_TABLES * SPIDER_SQL_MODE_TIME_ROUND_FRACTIONAL * SPIDER_SQL_MODE_TRADITIONAL * SPIDER_SUPPORT_CREATE_OR_REPLACE_TABLE * SPIDER_UPDATE_ROW_HAS_CONST_NEW_DATA * SPIDER_USE_CONST_ITEM_FOR_STRING_INT_REAL_DECIMAL_DATE_ITEM * SPIDER_use_LEX_CSTRING_for_database_tablename_alias * SPIDER_use_LEX_CSTRING_for_Field_blob_constructor * SPIDER_use_LEX_CSTRING_for_KEY_Field_name * SPIDER_XID_STATE_HAS_in_thd * SPIDER_XID_USES_xid_cache_iterate * USE_PRAGMA_IMPLEMENTATION * USE_PRAGMA_INTERFACE * WITH_PARTITION_STORAGE_ENGINE * XID_CACHE_IS_SPLITTED |
Fix Version/s | 10.7 [ 24805 ] |
Priority | Minor [ 4 ] | Major [ 3 ] |
Fix Version/s | 10.8 [ 26121 ] |
Description |
List unnecessary #ifdef, which complicate the code, from the Spider codebase.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove these #ifdefs. Some of them might not be able to be removed: * HA_CAN_BULK_ACCESS * HA_CAN_DIRECT_UPDATE_AND_DELETE * HA_CAN_FORCE_BULK_DELETE * HA_CAN_FORCE_BULK_UPDATE * HA_EXTRA_HAS_HA_EXTRA_USE_CMP_REF * HA_EXTRA_HAS_STARTING_ORDERED_INDEX_SCAN * HA_HAS_CHECKSUM_EXTENDED * HA_MRR_USE_DEFAULT_IMPL * HANDLER_HAS_CAN_USE_FOR_AUTO_INC_INIT * HANDLER_HAS_DIRECT_AGGREGATE * HANDLER_HAS_DIRECT_UPDATE_ROWS * HANDLER_HAS_DIRECT_UPDATE_ROWS_WITH_HS * HANDLER_HAS_NEED_INFO_FOR_AUTO_INC * HA_PT_CALL_AT_ONCE_COND_PUSH * HA_PT_CALL_AT_ONCE_EXTERNAL_LOCK * HA_PT_CALL_AT_ONCE_EXTRA * HA_PT_CALL_AT_ONCE_INFO_PUSH * HA_PT_CALL_AT_ONCE_START_STMT * HA_PT_CALL_AT_ONCE_STORE_LOCK * HA_PT_CALL_AT_ONCE_TOP_TABLE * HASH_UPDATE_WITH_HASH_VALUE * HA_SLOW_CMP_REF * HAVE_ORACLE_OCI * HAVE_PSI_INTERFACE * HS_HAS_SQLCOM * HTON_CAN_READ_CONNECT_STRING_IN_PARTITION * INFO_KIND_FORCE_LIMIT_BEGIN * INFO_KIND_UPDATE_FIELDS * INFO_KIND_UPDATE_VALUES * ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC * ITEM_FUNC_TIMESTAMPDIFF_ARE_PUBLIC * MARIADB_BASE_VERSION * MODE_ANSI * MODE_ANSI_QUOTES * MODE_DB2 * MODE_EMPTY_STRING_IS_NULL * MODE_ERROR_FOR_DIVISION_BY_ZERO * MODE_HIGH_NOT_PRECEDENCE * MODE_IGNORE_BAD_TABLE_OPTIONS * MODE_IGNORE_SPACE * MODE_INVALID_DATES * MODE_MAXDB * MODE_MSSQL * MODE_MYSQL323 * MODE_MYSQL40 * MODE_NO_AUTO_CREATE_USER * MODE_NO_AUTO_VALUE_ON_ZERO * MODE_NO_BACKSLASH_ESCAPES * MODE_NO_DIR_IN_CREATE * MODE_NO_ENGINE_SUBSTITUTION * MODE_NO_FIELD_OPTIONS * MODE_NO_KEY_OPTIONS * MODE_NO_TABLE_OPTIONS * MODE_NO_UNSIGNED_SUBTRACTION * MODE_NO_ZERO_DATE * MODE_NO_ZERO_IN_DATE * MODE_ONLY_FULL_GROUP_BY * MODE_ORACLE * MODE_PAD_CHAR_TO_FULL_LENGTH * MODE_PIPES_AS_CONCAT * MODE_POSTGRESQL * MODE_REAL_AS_FLOAT * MODE_SIMULTANEOUS_ASSIGNMENT * MODE_STRICT_ALL_TABLES * MODE_STRICT_TRANS_TABLES * MODE_TIME_ROUND_FRACTIONAL * MODE_TRADITIONAL * PLUGIN_VAR_CAN_MEMALLOC * pthread_cond_broadcast * pthread_cond_destroy * pthread_cond_signal * pthread_cond_t * pthread_cond_timedwait * pthread_cond_wait * pthread_mutex_destroy * pthread_mutex_lock * pthread_mutex_t * pthread_mutex_trylock * pthread_mutex_unlock * SPIDER_ENGINE_CONDITION_PUSHDOWN_IS_ALWAYS_ON * SPIDER_FIELD_FIELDPTR_REQUIRES_THDPTR * SPIDER_HANDLER_AUTO_REPAIR_HAS_ERROR * SPIDER_HANDLER_START_BULK_INSERT_HAS_FLAGS * SPIDER_HANDLER_SUPPORT_MULTIPLE_KEY_PARTS * SPIDER_HAS_APPEND_FOR_SINGLE_QUOTE * SPIDER_HAS_DECIMAL_OPERATION_RESULTS_VALUE_TYPE * SPIDER_HAS_DISCOVER_TABLE_STRUCTURE * SPIDER_HAS_EXPLAIN_QUERY * SPIDER_HAS_EXPR_CACHE_ITEM * SPIDER_HAS_GROUP_BY_HANDLER * SPIDER_HAS_HASH_VALUE_TYPE * SPIDER_has_Item_has_subquery * SPIDER_HAS_JT_HASH_INDEX_MERGE * SPIDER_HAS_MY_CHARLEN * SPIDER_HAS_NEXT_THREAD_ID * SPIDER_HAS_SHOW_SIMPLE_FUNC * SPIDER_HAS_TIME_STATUS * SPIDER_I_S_USE_SHOW_FOR_COLUMN * SPIDER_Item_args_arg_count_IS_PROTECTED * SPIDER_ITEM_HAS_CMP_TYPE * SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY * SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY_AND_THDPTR * SPIDER_LIKE_FUNC_HAS_GET_NEGATED * SPIDER_MDEV_16246 * SPIDER_NEED_CHECK_CONDITION_AT_CHECKING_DIRECT_ORDER_LIMIT * SPIDER_NEED_INIT_ONE_TABLE_FOR_FIND_TEMPORARY_TABLE * SPIDER_NET_HAS_THD * SPIDER_open_temporary_table * SPIDER_ORDER_HAS_ENUM_ORDER * SPIDER_REQUIRE_DEFINE_FOR_SECONDARY_OPEN_TABLES_BACKUP * SPIDER_SQL_CACHE_IS_IN_LEX * SPIDER_SQL_MODE_ANSI * SPIDER_SQL_MODE_ANSI_QUOTES * SPIDER_SQL_MODE_DB2 * SPIDER_SQL_MODE_EMPTY_STRING_IS_NULL * SPIDER_SQL_MODE_ERROR_FOR_DIVISION_BY_ZERO * SPIDER_SQL_MODE_HIGH_NOT_PRECEDENCE * SPIDER_SQL_MODE_IGNORE_BAD_TABLE_OPTIONS * SPIDER_SQL_MODE_IGNORE_SPACE * SPIDER_SQL_MODE_INVALID_DATES * SPIDER_SQL_MODE_MAXDB * SPIDER_SQL_MODE_MSSQL * SPIDER_SQL_MODE_MYSQL323 * SPIDER_SQL_MODE_MYSQL40 * SPIDER_SQL_MODE_NO_AUTO_CREATE_USER * SPIDER_SQL_MODE_NO_AUTO_VALUE_ON_ZERO * SPIDER_SQL_MODE_NO_BACKSLASH_ESCAPES * SPIDER_SQL_MODE_NO_DIR_IN_CREATE * SPIDER_SQL_MODE_NO_ENGINE_SUBSTITUTION * SPIDER_SQL_MODE_NO_FIELD_OPTIONS * SPIDER_SQL_MODE_NO_KEY_OPTIONS * SPIDER_SQL_MODE_NO_TABLE_OPTIONS * SPIDER_SQL_MODE_NO_UNSIGNED_SUBTRACTION * SPIDER_SQL_MODE_NO_ZERO_DATE * SPIDER_SQL_MODE_NO_ZERO_IN_DATE * SPIDER_SQL_MODE_ONLY_FULL_GROUP_BY * SPIDER_SQL_MODE_ORACLE * SPIDER_SQL_MODE_PAD_CHAR_TO_FULL_LENGTH * SPIDER_SQL_MODE_PIPES_AS_CONCAT * SPIDER_SQL_MODE_POSTGRESQL * SPIDER_SQL_MODE_REAL_AS_FLOAT * SPIDER_SQL_MODE_SIMULTANEOUS_ASSIGNMENT * SPIDER_SQL_MODE_STRICT_ALL_TABLES * SPIDER_SQL_MODE_STRICT_TRANS_TABLES * SPIDER_SQL_MODE_TIME_ROUND_FRACTIONAL * SPIDER_SQL_MODE_TRADITIONAL * SPIDER_SUPPORT_CREATE_OR_REPLACE_TABLE * SPIDER_UPDATE_ROW_HAS_CONST_NEW_DATA * SPIDER_USE_CONST_ITEM_FOR_STRING_INT_REAL_DECIMAL_DATE_ITEM * SPIDER_use_LEX_CSTRING_for_database_tablename_alias * SPIDER_use_LEX_CSTRING_for_Field_blob_constructor * SPIDER_use_LEX_CSTRING_for_KEY_Field_name * SPIDER_XID_STATE_HAS_in_thd * SPIDER_XID_USES_xid_cache_iterate * USE_PRAGMA_IMPLEMENTATION * USE_PRAGMA_INTERFACE * WITH_PARTITION_STORAGE_ENGINE * XID_CACHE_IS_SPLITTED |
List unnecessary #ifdef, which complicate the code, from the Spider codebase.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove these #ifdefs. Removable #ifdef (defined): * HA_EXTRA_HAS_STARTING_ORDERED_INDEX_SCAN * HA_HAS_CHECKSUM_EXTENDED * HA_MRR_USE_DEFAULT_IMPL * HANDLER_HAS_CAN_USE_FOR_AUTO_INC_INIT * HANDLER_HAS_DIRECT_AGGREGATE * HANDLER_HAS_DIRECT_UPDATE_ROWS * HANDLER_HAS_DIRECT_UPDATE_ROWS_WITH_HS * HANDLER_HAS_NEED_INFO_FOR_AUTO_INC Removable #ifdef (not defined): * HA_CAN_BULK_ACCESS * HS_HAS_SQLCOM ( * HA_EXTRA_HAS_HA_EXTRA_USE_CMP_REF * HA_PT_CALL_AT_ONCE_COND_PUSH * HA_PT_CALL_AT_ONCE_EXTERNAL_LOCK * HA_PT_CALL_AT_ONCE_EXTRA * HA_PT_CALL_AT_ONCE_INFO_PUSH * HA_PT_CALL_AT_ONCE_START_STMT * HA_PT_CALL_AT_ONCE_STORE_LOCK * HA_PT_CALL_AT_ONCE_TOP_TABLE Might not be able to be removed (not checked): * HASH_UPDATE_WITH_HASH_VALUE * HA_SLOW_CMP_REF * HAVE_ORACLE_OCI * HAVE_PSI_INTERFACE * HS_HAS_SQLCOM * HTON_CAN_READ_CONNECT_STRING_IN_PARTITION * INFO_KIND_FORCE_LIMIT_BEGIN * INFO_KIND_UPDATE_FIELDS * INFO_KIND_UPDATE_VALUES * ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC * ITEM_FUNC_TIMESTAMPDIFF_ARE_PUBLIC * MARIADB_BASE_VERSION * MODE_ANSI * MODE_ANSI_QUOTES * MODE_DB2 * MODE_EMPTY_STRING_IS_NULL * MODE_ERROR_FOR_DIVISION_BY_ZERO * MODE_HIGH_NOT_PRECEDENCE * MODE_IGNORE_BAD_TABLE_OPTIONS * MODE_IGNORE_SPACE * MODE_INVALID_DATES * MODE_MAXDB * MODE_MSSQL * MODE_MYSQL323 * MODE_MYSQL40 * MODE_NO_AUTO_CREATE_USER * MODE_NO_AUTO_VALUE_ON_ZERO * MODE_NO_BACKSLASH_ESCAPES * MODE_NO_DIR_IN_CREATE * MODE_NO_ENGINE_SUBSTITUTION * MODE_NO_FIELD_OPTIONS * MODE_NO_KEY_OPTIONS * MODE_NO_TABLE_OPTIONS * MODE_NO_UNSIGNED_SUBTRACTION * MODE_NO_ZERO_DATE * MODE_NO_ZERO_IN_DATE * MODE_ONLY_FULL_GROUP_BY * MODE_ORACLE * MODE_PAD_CHAR_TO_FULL_LENGTH * MODE_PIPES_AS_CONCAT * MODE_POSTGRESQL * MODE_REAL_AS_FLOAT * MODE_SIMULTANEOUS_ASSIGNMENT * MODE_STRICT_ALL_TABLES * MODE_STRICT_TRANS_TABLES * MODE_TIME_ROUND_FRACTIONAL * MODE_TRADITIONAL * PLUGIN_VAR_CAN_MEMALLOC * pthread_cond_broadcast * pthread_cond_destroy * pthread_cond_signal * pthread_cond_t * pthread_cond_timedwait * pthread_cond_wait * pthread_mutex_destroy * pthread_mutex_lock * pthread_mutex_t * pthread_mutex_trylock * pthread_mutex_unlock * SPIDER_ENGINE_CONDITION_PUSHDOWN_IS_ALWAYS_ON * SPIDER_FIELD_FIELDPTR_REQUIRES_THDPTR * SPIDER_HANDLER_AUTO_REPAIR_HAS_ERROR * SPIDER_HANDLER_START_BULK_INSERT_HAS_FLAGS * SPIDER_HANDLER_SUPPORT_MULTIPLE_KEY_PARTS * SPIDER_HAS_APPEND_FOR_SINGLE_QUOTE * SPIDER_HAS_DECIMAL_OPERATION_RESULTS_VALUE_TYPE * SPIDER_HAS_DISCOVER_TABLE_STRUCTURE * SPIDER_HAS_EXPLAIN_QUERY * SPIDER_HAS_EXPR_CACHE_ITEM * SPIDER_HAS_GROUP_BY_HANDLER * SPIDER_HAS_HASH_VALUE_TYPE * SPIDER_has_Item_has_subquery * SPIDER_HAS_JT_HASH_INDEX_MERGE * SPIDER_HAS_MY_CHARLEN * SPIDER_HAS_NEXT_THREAD_ID * SPIDER_HAS_SHOW_SIMPLE_FUNC * SPIDER_HAS_TIME_STATUS * SPIDER_I_S_USE_SHOW_FOR_COLUMN * SPIDER_Item_args_arg_count_IS_PROTECTED * SPIDER_ITEM_HAS_CMP_TYPE * SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY * SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY_AND_THDPTR * SPIDER_LIKE_FUNC_HAS_GET_NEGATED * SPIDER_MDEV_16246 * SPIDER_NEED_CHECK_CONDITION_AT_CHECKING_DIRECT_ORDER_LIMIT * SPIDER_NEED_INIT_ONE_TABLE_FOR_FIND_TEMPORARY_TABLE * SPIDER_NET_HAS_THD * SPIDER_open_temporary_table * SPIDER_ORDER_HAS_ENUM_ORDER * SPIDER_REQUIRE_DEFINE_FOR_SECONDARY_OPEN_TABLES_BACKUP * SPIDER_SQL_CACHE_IS_IN_LEX * SPIDER_SQL_MODE_ANSI * SPIDER_SQL_MODE_ANSI_QUOTES * SPIDER_SQL_MODE_DB2 * SPIDER_SQL_MODE_EMPTY_STRING_IS_NULL * SPIDER_SQL_MODE_ERROR_FOR_DIVISION_BY_ZERO * SPIDER_SQL_MODE_HIGH_NOT_PRECEDENCE * SPIDER_SQL_MODE_IGNORE_BAD_TABLE_OPTIONS * SPIDER_SQL_MODE_IGNORE_SPACE * SPIDER_SQL_MODE_INVALID_DATES * SPIDER_SQL_MODE_MAXDB * SPIDER_SQL_MODE_MSSQL * SPIDER_SQL_MODE_MYSQL323 * SPIDER_SQL_MODE_MYSQL40 * SPIDER_SQL_MODE_NO_AUTO_CREATE_USER * SPIDER_SQL_MODE_NO_AUTO_VALUE_ON_ZERO * SPIDER_SQL_MODE_NO_BACKSLASH_ESCAPES * SPIDER_SQL_MODE_NO_DIR_IN_CREATE * SPIDER_SQL_MODE_NO_ENGINE_SUBSTITUTION * SPIDER_SQL_MODE_NO_FIELD_OPTIONS * SPIDER_SQL_MODE_NO_KEY_OPTIONS * SPIDER_SQL_MODE_NO_TABLE_OPTIONS * SPIDER_SQL_MODE_NO_UNSIGNED_SUBTRACTION * SPIDER_SQL_MODE_NO_ZERO_DATE * SPIDER_SQL_MODE_NO_ZERO_IN_DATE * SPIDER_SQL_MODE_ONLY_FULL_GROUP_BY * SPIDER_SQL_MODE_ORACLE * SPIDER_SQL_MODE_PAD_CHAR_TO_FULL_LENGTH * SPIDER_SQL_MODE_PIPES_AS_CONCAT * SPIDER_SQL_MODE_POSTGRESQL * SPIDER_SQL_MODE_REAL_AS_FLOAT * SPIDER_SQL_MODE_SIMULTANEOUS_ASSIGNMENT * SPIDER_SQL_MODE_STRICT_ALL_TABLES * SPIDER_SQL_MODE_STRICT_TRANS_TABLES * SPIDER_SQL_MODE_TIME_ROUND_FRACTIONAL * SPIDER_SQL_MODE_TRADITIONAL * SPIDER_SUPPORT_CREATE_OR_REPLACE_TABLE * SPIDER_UPDATE_ROW_HAS_CONST_NEW_DATA * SPIDER_USE_CONST_ITEM_FOR_STRING_INT_REAL_DECIMAL_DATE_ITEM * SPIDER_use_LEX_CSTRING_for_database_tablename_alias * SPIDER_use_LEX_CSTRING_for_Field_blob_constructor * SPIDER_use_LEX_CSTRING_for_KEY_Field_name * SPIDER_XID_STATE_HAS_in_thd * SPIDER_XID_USES_xid_cache_iterate * USE_PRAGMA_IMPLEMENTATION * USE_PRAGMA_INTERFACE * WITH_PARTITION_STORAGE_ENGINE * XID_CACHE_IS_SPLITTED |
Description |
List unnecessary #ifdef, which complicate the code, from the Spider codebase.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove these #ifdefs. Removable #ifdef (defined): * HA_EXTRA_HAS_STARTING_ORDERED_INDEX_SCAN * HA_HAS_CHECKSUM_EXTENDED * HA_MRR_USE_DEFAULT_IMPL * HANDLER_HAS_CAN_USE_FOR_AUTO_INC_INIT * HANDLER_HAS_DIRECT_AGGREGATE * HANDLER_HAS_DIRECT_UPDATE_ROWS * HANDLER_HAS_DIRECT_UPDATE_ROWS_WITH_HS * HANDLER_HAS_NEED_INFO_FOR_AUTO_INC Removable #ifdef (not defined): * HA_CAN_BULK_ACCESS * HS_HAS_SQLCOM ( * HA_EXTRA_HAS_HA_EXTRA_USE_CMP_REF * HA_PT_CALL_AT_ONCE_COND_PUSH * HA_PT_CALL_AT_ONCE_EXTERNAL_LOCK * HA_PT_CALL_AT_ONCE_EXTRA * HA_PT_CALL_AT_ONCE_INFO_PUSH * HA_PT_CALL_AT_ONCE_START_STMT * HA_PT_CALL_AT_ONCE_STORE_LOCK * HA_PT_CALL_AT_ONCE_TOP_TABLE Might not be able to be removed (not checked): * HASH_UPDATE_WITH_HASH_VALUE * HA_SLOW_CMP_REF * HAVE_ORACLE_OCI * HAVE_PSI_INTERFACE * HS_HAS_SQLCOM * HTON_CAN_READ_CONNECT_STRING_IN_PARTITION * INFO_KIND_FORCE_LIMIT_BEGIN * INFO_KIND_UPDATE_FIELDS * INFO_KIND_UPDATE_VALUES * ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC * ITEM_FUNC_TIMESTAMPDIFF_ARE_PUBLIC * MARIADB_BASE_VERSION * MODE_ANSI * MODE_ANSI_QUOTES * MODE_DB2 * MODE_EMPTY_STRING_IS_NULL * MODE_ERROR_FOR_DIVISION_BY_ZERO * MODE_HIGH_NOT_PRECEDENCE * MODE_IGNORE_BAD_TABLE_OPTIONS * MODE_IGNORE_SPACE * MODE_INVALID_DATES * MODE_MAXDB * MODE_MSSQL * MODE_MYSQL323 * MODE_MYSQL40 * MODE_NO_AUTO_CREATE_USER * MODE_NO_AUTO_VALUE_ON_ZERO * MODE_NO_BACKSLASH_ESCAPES * MODE_NO_DIR_IN_CREATE * MODE_NO_ENGINE_SUBSTITUTION * MODE_NO_FIELD_OPTIONS * MODE_NO_KEY_OPTIONS * MODE_NO_TABLE_OPTIONS * MODE_NO_UNSIGNED_SUBTRACTION * MODE_NO_ZERO_DATE * MODE_NO_ZERO_IN_DATE * MODE_ONLY_FULL_GROUP_BY * MODE_ORACLE * MODE_PAD_CHAR_TO_FULL_LENGTH * MODE_PIPES_AS_CONCAT * MODE_POSTGRESQL * MODE_REAL_AS_FLOAT * MODE_SIMULTANEOUS_ASSIGNMENT * MODE_STRICT_ALL_TABLES * MODE_STRICT_TRANS_TABLES * MODE_TIME_ROUND_FRACTIONAL * MODE_TRADITIONAL * PLUGIN_VAR_CAN_MEMALLOC * pthread_cond_broadcast * pthread_cond_destroy * pthread_cond_signal * pthread_cond_t * pthread_cond_timedwait * pthread_cond_wait * pthread_mutex_destroy * pthread_mutex_lock * pthread_mutex_t * pthread_mutex_trylock * pthread_mutex_unlock * SPIDER_ENGINE_CONDITION_PUSHDOWN_IS_ALWAYS_ON * SPIDER_FIELD_FIELDPTR_REQUIRES_THDPTR * SPIDER_HANDLER_AUTO_REPAIR_HAS_ERROR * SPIDER_HANDLER_START_BULK_INSERT_HAS_FLAGS * SPIDER_HANDLER_SUPPORT_MULTIPLE_KEY_PARTS * SPIDER_HAS_APPEND_FOR_SINGLE_QUOTE * SPIDER_HAS_DECIMAL_OPERATION_RESULTS_VALUE_TYPE * SPIDER_HAS_DISCOVER_TABLE_STRUCTURE * SPIDER_HAS_EXPLAIN_QUERY * SPIDER_HAS_EXPR_CACHE_ITEM * SPIDER_HAS_GROUP_BY_HANDLER * SPIDER_HAS_HASH_VALUE_TYPE * SPIDER_has_Item_has_subquery * SPIDER_HAS_JT_HASH_INDEX_MERGE * SPIDER_HAS_MY_CHARLEN * SPIDER_HAS_NEXT_THREAD_ID * SPIDER_HAS_SHOW_SIMPLE_FUNC * SPIDER_HAS_TIME_STATUS * SPIDER_I_S_USE_SHOW_FOR_COLUMN * SPIDER_Item_args_arg_count_IS_PROTECTED * SPIDER_ITEM_HAS_CMP_TYPE * SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY * SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY_AND_THDPTR * SPIDER_LIKE_FUNC_HAS_GET_NEGATED * SPIDER_MDEV_16246 * SPIDER_NEED_CHECK_CONDITION_AT_CHECKING_DIRECT_ORDER_LIMIT * SPIDER_NEED_INIT_ONE_TABLE_FOR_FIND_TEMPORARY_TABLE * SPIDER_NET_HAS_THD * SPIDER_open_temporary_table * SPIDER_ORDER_HAS_ENUM_ORDER * SPIDER_REQUIRE_DEFINE_FOR_SECONDARY_OPEN_TABLES_BACKUP * SPIDER_SQL_CACHE_IS_IN_LEX * SPIDER_SQL_MODE_ANSI * SPIDER_SQL_MODE_ANSI_QUOTES * SPIDER_SQL_MODE_DB2 * SPIDER_SQL_MODE_EMPTY_STRING_IS_NULL * SPIDER_SQL_MODE_ERROR_FOR_DIVISION_BY_ZERO * SPIDER_SQL_MODE_HIGH_NOT_PRECEDENCE * SPIDER_SQL_MODE_IGNORE_BAD_TABLE_OPTIONS * SPIDER_SQL_MODE_IGNORE_SPACE * SPIDER_SQL_MODE_INVALID_DATES * SPIDER_SQL_MODE_MAXDB * SPIDER_SQL_MODE_MSSQL * SPIDER_SQL_MODE_MYSQL323 * SPIDER_SQL_MODE_MYSQL40 * SPIDER_SQL_MODE_NO_AUTO_CREATE_USER * SPIDER_SQL_MODE_NO_AUTO_VALUE_ON_ZERO * SPIDER_SQL_MODE_NO_BACKSLASH_ESCAPES * SPIDER_SQL_MODE_NO_DIR_IN_CREATE * SPIDER_SQL_MODE_NO_ENGINE_SUBSTITUTION * SPIDER_SQL_MODE_NO_FIELD_OPTIONS * SPIDER_SQL_MODE_NO_KEY_OPTIONS * SPIDER_SQL_MODE_NO_TABLE_OPTIONS * SPIDER_SQL_MODE_NO_UNSIGNED_SUBTRACTION * SPIDER_SQL_MODE_NO_ZERO_DATE * SPIDER_SQL_MODE_NO_ZERO_IN_DATE * SPIDER_SQL_MODE_ONLY_FULL_GROUP_BY * SPIDER_SQL_MODE_ORACLE * SPIDER_SQL_MODE_PAD_CHAR_TO_FULL_LENGTH * SPIDER_SQL_MODE_PIPES_AS_CONCAT * SPIDER_SQL_MODE_POSTGRESQL * SPIDER_SQL_MODE_REAL_AS_FLOAT * SPIDER_SQL_MODE_SIMULTANEOUS_ASSIGNMENT * SPIDER_SQL_MODE_STRICT_ALL_TABLES * SPIDER_SQL_MODE_STRICT_TRANS_TABLES * SPIDER_SQL_MODE_TIME_ROUND_FRACTIONAL * SPIDER_SQL_MODE_TRADITIONAL * SPIDER_SUPPORT_CREATE_OR_REPLACE_TABLE * SPIDER_UPDATE_ROW_HAS_CONST_NEW_DATA * SPIDER_USE_CONST_ITEM_FOR_STRING_INT_REAL_DECIMAL_DATE_ITEM * SPIDER_use_LEX_CSTRING_for_database_tablename_alias * SPIDER_use_LEX_CSTRING_for_Field_blob_constructor * SPIDER_use_LEX_CSTRING_for_KEY_Field_name * SPIDER_XID_STATE_HAS_in_thd * SPIDER_XID_USES_xid_cache_iterate * USE_PRAGMA_IMPLEMENTATION * USE_PRAGMA_INTERFACE * WITH_PARTITION_STORAGE_ENGINE * XID_CACHE_IS_SPLITTED |
List unnecessary #ifdef, which complicate the code, from the Spider codebase.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove these #ifdefs. Removable #ifdef (defined): * HA_EXTRA_HAS_STARTING_ORDERED_INDEX_SCAN * HA_HAS_CHECKSUM_EXTENDED * HA_MRR_USE_DEFAULT_IMPL * HANDLER_HAS_CAN_USE_FOR_AUTO_INC_INIT * HANDLER_HAS_DIRECT_AGGREGATE * HANDLER_HAS_DIRECT_UPDATE_ROWS * HANDLER_HAS_DIRECT_UPDATE_ROWS_WITH_HS * HANDLER_HAS_NEED_INFO_FOR_AUTO_INC * HA_SLOW_CMP_REF * MARIADB_BASE_VERSION Removable #ifdef (not defined): * HA_CAN_BULK_ACCESS * HA_EXTRA_HAS_HA_EXTRA_USE_CMP_REF * HA_PT_CALL_AT_ONCE_COND_PUSH * HA_PT_CALL_AT_ONCE_EXTERNAL_LOCK * HA_PT_CALL_AT_ONCE_EXTRA * HA_PT_CALL_AT_ONCE_INFO_PUSH * HA_PT_CALL_AT_ONCE_START_STMT * HA_PT_CALL_AT_ONCE_STORE_LOCK * HA_PT_CALL_AT_ONCE_TOP_TABLE * HASH_UPDATE_WITH_HASH_VALUE * HAVE_ORACLE_OCI * HS_HAS_SQLCOM ( * ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC * ITEM_FUNC_TIMESTAMPDIFF_ARE_PUBLIC Might not be able to be removed (not checked): * PLUGIN_VAR_CAN_MEMALLOC * pthread_cond_broadcast * pthread_cond_destroy * pthread_cond_signal * pthread_cond_t * pthread_cond_timedwait * pthread_cond_wait * pthread_mutex_destroy * pthread_mutex_lock * pthread_mutex_t * pthread_mutex_trylock * pthread_mutex_unlock * SPIDER_ENGINE_CONDITION_PUSHDOWN_IS_ALWAYS_ON * SPIDER_FIELD_FIELDPTR_REQUIRES_THDPTR * SPIDER_HANDLER_AUTO_REPAIR_HAS_ERROR * SPIDER_HANDLER_START_BULK_INSERT_HAS_FLAGS * SPIDER_HANDLER_SUPPORT_MULTIPLE_KEY_PARTS * SPIDER_HAS_APPEND_FOR_SINGLE_QUOTE * SPIDER_HAS_DECIMAL_OPERATION_RESULTS_VALUE_TYPE * SPIDER_HAS_DISCOVER_TABLE_STRUCTURE * SPIDER_HAS_EXPLAIN_QUERY * SPIDER_HAS_EXPR_CACHE_ITEM * SPIDER_HAS_GROUP_BY_HANDLER * SPIDER_HAS_HASH_VALUE_TYPE * SPIDER_has_Item_has_subquery * SPIDER_HAS_JT_HASH_INDEX_MERGE * SPIDER_HAS_MY_CHARLEN * SPIDER_HAS_NEXT_THREAD_ID * SPIDER_HAS_SHOW_SIMPLE_FUNC * SPIDER_HAS_TIME_STATUS * SPIDER_I_S_USE_SHOW_FOR_COLUMN * SPIDER_Item_args_arg_count_IS_PROTECTED * SPIDER_ITEM_HAS_CMP_TYPE * SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY * SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY_AND_THDPTR * SPIDER_LIKE_FUNC_HAS_GET_NEGATED * SPIDER_MDEV_16246 * SPIDER_NEED_CHECK_CONDITION_AT_CHECKING_DIRECT_ORDER_LIMIT * SPIDER_NEED_INIT_ONE_TABLE_FOR_FIND_TEMPORARY_TABLE * SPIDER_NET_HAS_THD * SPIDER_open_temporary_table * SPIDER_ORDER_HAS_ENUM_ORDER * SPIDER_REQUIRE_DEFINE_FOR_SECONDARY_OPEN_TABLES_BACKUP * SPIDER_SQL_CACHE_IS_IN_LEX * SPIDER_SQL_MODE_ANSI * SPIDER_SQL_MODE_ANSI_QUOTES * SPIDER_SQL_MODE_DB2 * SPIDER_SQL_MODE_EMPTY_STRING_IS_NULL * SPIDER_SQL_MODE_ERROR_FOR_DIVISION_BY_ZERO * SPIDER_SQL_MODE_HIGH_NOT_PRECEDENCE * SPIDER_SQL_MODE_IGNORE_BAD_TABLE_OPTIONS * SPIDER_SQL_MODE_IGNORE_SPACE * SPIDER_SQL_MODE_INVALID_DATES * SPIDER_SQL_MODE_MAXDB * SPIDER_SQL_MODE_MSSQL * SPIDER_SQL_MODE_MYSQL323 * SPIDER_SQL_MODE_MYSQL40 * SPIDER_SQL_MODE_NO_AUTO_CREATE_USER * SPIDER_SQL_MODE_NO_AUTO_VALUE_ON_ZERO * SPIDER_SQL_MODE_NO_BACKSLASH_ESCAPES * SPIDER_SQL_MODE_NO_DIR_IN_CREATE * SPIDER_SQL_MODE_NO_ENGINE_SUBSTITUTION * SPIDER_SQL_MODE_NO_FIELD_OPTIONS * SPIDER_SQL_MODE_NO_KEY_OPTIONS * SPIDER_SQL_MODE_NO_TABLE_OPTIONS * SPIDER_SQL_MODE_NO_UNSIGNED_SUBTRACTION * SPIDER_SQL_MODE_NO_ZERO_DATE * SPIDER_SQL_MODE_NO_ZERO_IN_DATE * SPIDER_SQL_MODE_ONLY_FULL_GROUP_BY * SPIDER_SQL_MODE_ORACLE * SPIDER_SQL_MODE_PAD_CHAR_TO_FULL_LENGTH * SPIDER_SQL_MODE_PIPES_AS_CONCAT * SPIDER_SQL_MODE_POSTGRESQL * SPIDER_SQL_MODE_REAL_AS_FLOAT * SPIDER_SQL_MODE_SIMULTANEOUS_ASSIGNMENT * SPIDER_SQL_MODE_STRICT_ALL_TABLES * SPIDER_SQL_MODE_STRICT_TRANS_TABLES * SPIDER_SQL_MODE_TIME_ROUND_FRACTIONAL * SPIDER_SQL_MODE_TRADITIONAL * SPIDER_SUPPORT_CREATE_OR_REPLACE_TABLE * SPIDER_UPDATE_ROW_HAS_CONST_NEW_DATA * SPIDER_USE_CONST_ITEM_FOR_STRING_INT_REAL_DECIMAL_DATE_ITEM * SPIDER_use_LEX_CSTRING_for_database_tablename_alias * SPIDER_use_LEX_CSTRING_for_Field_blob_constructor * SPIDER_use_LEX_CSTRING_for_KEY_Field_name * SPIDER_XID_STATE_HAS_in_thd * SPIDER_XID_USES_xid_cache_iterate * USE_PRAGMA_IMPLEMENTATION * USE_PRAGMA_INTERFACE * WITH_PARTITION_STORAGE_ENGINE * XID_CACHE_IS_SPLITTED |
Description |
List unnecessary #ifdef, which complicate the code, from the Spider codebase.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove these #ifdefs. Removable #ifdef (defined): * HA_EXTRA_HAS_STARTING_ORDERED_INDEX_SCAN * HA_HAS_CHECKSUM_EXTENDED * HA_MRR_USE_DEFAULT_IMPL * HANDLER_HAS_CAN_USE_FOR_AUTO_INC_INIT * HANDLER_HAS_DIRECT_AGGREGATE * HANDLER_HAS_DIRECT_UPDATE_ROWS * HANDLER_HAS_DIRECT_UPDATE_ROWS_WITH_HS * HANDLER_HAS_NEED_INFO_FOR_AUTO_INC * HA_SLOW_CMP_REF * MARIADB_BASE_VERSION Removable #ifdef (not defined): * HA_CAN_BULK_ACCESS * HA_EXTRA_HAS_HA_EXTRA_USE_CMP_REF * HA_PT_CALL_AT_ONCE_COND_PUSH * HA_PT_CALL_AT_ONCE_EXTERNAL_LOCK * HA_PT_CALL_AT_ONCE_EXTRA * HA_PT_CALL_AT_ONCE_INFO_PUSH * HA_PT_CALL_AT_ONCE_START_STMT * HA_PT_CALL_AT_ONCE_STORE_LOCK * HA_PT_CALL_AT_ONCE_TOP_TABLE * HASH_UPDATE_WITH_HASH_VALUE * HAVE_ORACLE_OCI * HS_HAS_SQLCOM ( * ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC * ITEM_FUNC_TIMESTAMPDIFF_ARE_PUBLIC Might not be able to be removed (not checked): * PLUGIN_VAR_CAN_MEMALLOC * pthread_cond_broadcast * pthread_cond_destroy * pthread_cond_signal * pthread_cond_t * pthread_cond_timedwait * pthread_cond_wait * pthread_mutex_destroy * pthread_mutex_lock * pthread_mutex_t * pthread_mutex_trylock * pthread_mutex_unlock * SPIDER_ENGINE_CONDITION_PUSHDOWN_IS_ALWAYS_ON * SPIDER_FIELD_FIELDPTR_REQUIRES_THDPTR * SPIDER_HANDLER_AUTO_REPAIR_HAS_ERROR * SPIDER_HANDLER_START_BULK_INSERT_HAS_FLAGS * SPIDER_HANDLER_SUPPORT_MULTIPLE_KEY_PARTS * SPIDER_HAS_APPEND_FOR_SINGLE_QUOTE * SPIDER_HAS_DECIMAL_OPERATION_RESULTS_VALUE_TYPE * SPIDER_HAS_DISCOVER_TABLE_STRUCTURE * SPIDER_HAS_EXPLAIN_QUERY * SPIDER_HAS_EXPR_CACHE_ITEM * SPIDER_HAS_GROUP_BY_HANDLER * SPIDER_HAS_HASH_VALUE_TYPE * SPIDER_has_Item_has_subquery * SPIDER_HAS_JT_HASH_INDEX_MERGE * SPIDER_HAS_MY_CHARLEN * SPIDER_HAS_NEXT_THREAD_ID * SPIDER_HAS_SHOW_SIMPLE_FUNC * SPIDER_HAS_TIME_STATUS * SPIDER_I_S_USE_SHOW_FOR_COLUMN * SPIDER_Item_args_arg_count_IS_PROTECTED * SPIDER_ITEM_HAS_CMP_TYPE * SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY * SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY_AND_THDPTR * SPIDER_LIKE_FUNC_HAS_GET_NEGATED * SPIDER_MDEV_16246 * SPIDER_NEED_CHECK_CONDITION_AT_CHECKING_DIRECT_ORDER_LIMIT * SPIDER_NEED_INIT_ONE_TABLE_FOR_FIND_TEMPORARY_TABLE * SPIDER_NET_HAS_THD * SPIDER_open_temporary_table * SPIDER_ORDER_HAS_ENUM_ORDER * SPIDER_REQUIRE_DEFINE_FOR_SECONDARY_OPEN_TABLES_BACKUP * SPIDER_SQL_CACHE_IS_IN_LEX * SPIDER_SQL_MODE_ANSI * SPIDER_SQL_MODE_ANSI_QUOTES * SPIDER_SQL_MODE_DB2 * SPIDER_SQL_MODE_EMPTY_STRING_IS_NULL * SPIDER_SQL_MODE_ERROR_FOR_DIVISION_BY_ZERO * SPIDER_SQL_MODE_HIGH_NOT_PRECEDENCE * SPIDER_SQL_MODE_IGNORE_BAD_TABLE_OPTIONS * SPIDER_SQL_MODE_IGNORE_SPACE * SPIDER_SQL_MODE_INVALID_DATES * SPIDER_SQL_MODE_MAXDB * SPIDER_SQL_MODE_MSSQL * SPIDER_SQL_MODE_MYSQL323 * SPIDER_SQL_MODE_MYSQL40 * SPIDER_SQL_MODE_NO_AUTO_CREATE_USER * SPIDER_SQL_MODE_NO_AUTO_VALUE_ON_ZERO * SPIDER_SQL_MODE_NO_BACKSLASH_ESCAPES * SPIDER_SQL_MODE_NO_DIR_IN_CREATE * SPIDER_SQL_MODE_NO_ENGINE_SUBSTITUTION * SPIDER_SQL_MODE_NO_FIELD_OPTIONS * SPIDER_SQL_MODE_NO_KEY_OPTIONS * SPIDER_SQL_MODE_NO_TABLE_OPTIONS * SPIDER_SQL_MODE_NO_UNSIGNED_SUBTRACTION * SPIDER_SQL_MODE_NO_ZERO_DATE * SPIDER_SQL_MODE_NO_ZERO_IN_DATE * SPIDER_SQL_MODE_ONLY_FULL_GROUP_BY * SPIDER_SQL_MODE_ORACLE * SPIDER_SQL_MODE_PAD_CHAR_TO_FULL_LENGTH * SPIDER_SQL_MODE_PIPES_AS_CONCAT * SPIDER_SQL_MODE_POSTGRESQL * SPIDER_SQL_MODE_REAL_AS_FLOAT * SPIDER_SQL_MODE_SIMULTANEOUS_ASSIGNMENT * SPIDER_SQL_MODE_STRICT_ALL_TABLES * SPIDER_SQL_MODE_STRICT_TRANS_TABLES * SPIDER_SQL_MODE_TIME_ROUND_FRACTIONAL * SPIDER_SQL_MODE_TRADITIONAL * SPIDER_SUPPORT_CREATE_OR_REPLACE_TABLE * SPIDER_UPDATE_ROW_HAS_CONST_NEW_DATA * SPIDER_USE_CONST_ITEM_FOR_STRING_INT_REAL_DECIMAL_DATE_ITEM * SPIDER_use_LEX_CSTRING_for_database_tablename_alias * SPIDER_use_LEX_CSTRING_for_Field_blob_constructor * SPIDER_use_LEX_CSTRING_for_KEY_Field_name * SPIDER_XID_STATE_HAS_in_thd * SPIDER_XID_USES_xid_cache_iterate * USE_PRAGMA_IMPLEMENTATION * USE_PRAGMA_INTERFACE * WITH_PARTITION_STORAGE_ENGINE * XID_CACHE_IS_SPLITTED |
List unnecessary #ifdef, which complicate the code, from the Spider codebase.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove these #ifdefs. Removable #ifdef (defined): * HA_EXTRA_HAS_STARTING_ORDERED_INDEX_SCAN * HA_HAS_CHECKSUM_EXTENDED * HA_MRR_USE_DEFAULT_IMPL * HANDLER_HAS_CAN_USE_FOR_AUTO_INC_INIT * HANDLER_HAS_DIRECT_AGGREGATE * HANDLER_HAS_DIRECT_UPDATE_ROWS * HANDLER_HAS_DIRECT_UPDATE_ROWS_WITH_HS * HANDLER_HAS_NEED_INFO_FOR_AUTO_INC * HA_SLOW_CMP_REF * MARIADB_BASE_VERSION * PLUGIN_VAR_CAN_MEMALLOC * SPIDER_ENGINE_CONDITION_PUSHDOWN_IS_ALWAYS_ON * SPIDER_FIELD_FIELDPTR_REQUIRES_THDPTR * SPIDER_HANDLER_AUTO_REPAIR_HAS_ERROR * SPIDER_HANDLER_START_BULK_INSERT_HAS_FLAGS Removable #ifdef (not defined): * HA_CAN_BULK_ACCESS * HA_EXTRA_HAS_HA_EXTRA_USE_CMP_REF * HA_PT_CALL_AT_ONCE_COND_PUSH * HA_PT_CALL_AT_ONCE_EXTERNAL_LOCK * HA_PT_CALL_AT_ONCE_EXTRA * HA_PT_CALL_AT_ONCE_INFO_PUSH * HA_PT_CALL_AT_ONCE_START_STMT * HA_PT_CALL_AT_ONCE_STORE_LOCK * HA_PT_CALL_AT_ONCE_TOP_TABLE * HASH_UPDATE_WITH_HASH_VALUE * HAVE_ORACLE_OCI * HS_HAS_SQLCOM ( * ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC * ITEM_FUNC_TIMESTAMPDIFF_ARE_PUBLIC * MYSQL_VERSION_ID < ${OLD_VERSION} Might not be able to be removed (not checked): * SPIDER_HANDLER_START_BULK_INSERT_HAS_FLAGS * SPIDER_HANDLER_SUPPORT_MULTIPLE_KEY_PARTS * SPIDER_HAS_APPEND_FOR_SINGLE_QUOTE * SPIDER_HAS_DECIMAL_OPERATION_RESULTS_VALUE_TYPE * SPIDER_HAS_DISCOVER_TABLE_STRUCTURE * SPIDER_HAS_EXPLAIN_QUERY * SPIDER_HAS_EXPR_CACHE_ITEM * SPIDER_HAS_GROUP_BY_HANDLER * SPIDER_HAS_HASH_VALUE_TYPE * SPIDER_has_Item_has_subquery * SPIDER_HAS_JT_HASH_INDEX_MERGE * SPIDER_HAS_MY_CHARLEN * SPIDER_HAS_NEXT_THREAD_ID * SPIDER_HAS_SHOW_SIMPLE_FUNC * SPIDER_HAS_TIME_STATUS * SPIDER_I_S_USE_SHOW_FOR_COLUMN * SPIDER_Item_args_arg_count_IS_PROTECTED * SPIDER_ITEM_HAS_CMP_TYPE * SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY * SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY_AND_THDPTR * SPIDER_LIKE_FUNC_HAS_GET_NEGATED * SPIDER_MDEV_16246 * SPIDER_NEED_CHECK_CONDITION_AT_CHECKING_DIRECT_ORDER_LIMIT * SPIDER_NEED_INIT_ONE_TABLE_FOR_FIND_TEMPORARY_TABLE * SPIDER_NET_HAS_THD * SPIDER_open_temporary_table * SPIDER_ORDER_HAS_ENUM_ORDER * SPIDER_REQUIRE_DEFINE_FOR_SECONDARY_OPEN_TABLES_BACKUP * SPIDER_SQL_CACHE_IS_IN_LEX * SPIDER_SQL_MODE_ANSI * SPIDER_SQL_MODE_ANSI_QUOTES * SPIDER_SQL_MODE_DB2 * SPIDER_SQL_MODE_EMPTY_STRING_IS_NULL * SPIDER_SQL_MODE_ERROR_FOR_DIVISION_BY_ZERO * SPIDER_SQL_MODE_HIGH_NOT_PRECEDENCE * SPIDER_SQL_MODE_IGNORE_BAD_TABLE_OPTIONS * SPIDER_SQL_MODE_IGNORE_SPACE * SPIDER_SQL_MODE_INVALID_DATES * SPIDER_SQL_MODE_MAXDB * SPIDER_SQL_MODE_MSSQL * SPIDER_SQL_MODE_MYSQL323 * SPIDER_SQL_MODE_MYSQL40 * SPIDER_SQL_MODE_NO_AUTO_CREATE_USER * SPIDER_SQL_MODE_NO_AUTO_VALUE_ON_ZERO * SPIDER_SQL_MODE_NO_BACKSLASH_ESCAPES * SPIDER_SQL_MODE_NO_DIR_IN_CREATE * SPIDER_SQL_MODE_NO_ENGINE_SUBSTITUTION * SPIDER_SQL_MODE_NO_FIELD_OPTIONS * SPIDER_SQL_MODE_NO_KEY_OPTIONS * SPIDER_SQL_MODE_NO_TABLE_OPTIONS * SPIDER_SQL_MODE_NO_UNSIGNED_SUBTRACTION * SPIDER_SQL_MODE_NO_ZERO_DATE * SPIDER_SQL_MODE_NO_ZERO_IN_DATE * SPIDER_SQL_MODE_ONLY_FULL_GROUP_BY * SPIDER_SQL_MODE_ORACLE * SPIDER_SQL_MODE_PAD_CHAR_TO_FULL_LENGTH * SPIDER_SQL_MODE_PIPES_AS_CONCAT * SPIDER_SQL_MODE_POSTGRESQL * SPIDER_SQL_MODE_REAL_AS_FLOAT * SPIDER_SQL_MODE_SIMULTANEOUS_ASSIGNMENT * SPIDER_SQL_MODE_STRICT_ALL_TABLES * SPIDER_SQL_MODE_STRICT_TRANS_TABLES * SPIDER_SQL_MODE_TIME_ROUND_FRACTIONAL * SPIDER_SQL_MODE_TRADITIONAL * SPIDER_SUPPORT_CREATE_OR_REPLACE_TABLE * SPIDER_UPDATE_ROW_HAS_CONST_NEW_DATA * SPIDER_USE_CONST_ITEM_FOR_STRING_INT_REAL_DECIMAL_DATE_ITEM * SPIDER_use_LEX_CSTRING_for_database_tablename_alias * SPIDER_use_LEX_CSTRING_for_Field_blob_constructor * SPIDER_use_LEX_CSTRING_for_KEY_Field_name * SPIDER_XID_STATE_HAS_in_thd * SPIDER_XID_USES_xid_cache_iterate * USE_PRAGMA_IMPLEMENTATION * USE_PRAGMA_INTERFACE * WITH_PARTITION_STORAGE_ENGINE * XID_CACHE_IS_SPLITTED |
Description |
List unnecessary #ifdef, which complicate the code, from the Spider codebase.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove these #ifdefs. Removable #ifdef (defined): * HA_EXTRA_HAS_STARTING_ORDERED_INDEX_SCAN * HA_HAS_CHECKSUM_EXTENDED * HA_MRR_USE_DEFAULT_IMPL * HANDLER_HAS_CAN_USE_FOR_AUTO_INC_INIT * HANDLER_HAS_DIRECT_AGGREGATE * HANDLER_HAS_DIRECT_UPDATE_ROWS * HANDLER_HAS_DIRECT_UPDATE_ROWS_WITH_HS * HANDLER_HAS_NEED_INFO_FOR_AUTO_INC * HA_SLOW_CMP_REF * MARIADB_BASE_VERSION * PLUGIN_VAR_CAN_MEMALLOC * SPIDER_ENGINE_CONDITION_PUSHDOWN_IS_ALWAYS_ON * SPIDER_FIELD_FIELDPTR_REQUIRES_THDPTR * SPIDER_HANDLER_AUTO_REPAIR_HAS_ERROR * SPIDER_HANDLER_START_BULK_INSERT_HAS_FLAGS Removable #ifdef (not defined): * HA_CAN_BULK_ACCESS * HA_EXTRA_HAS_HA_EXTRA_USE_CMP_REF * HA_PT_CALL_AT_ONCE_COND_PUSH * HA_PT_CALL_AT_ONCE_EXTERNAL_LOCK * HA_PT_CALL_AT_ONCE_EXTRA * HA_PT_CALL_AT_ONCE_INFO_PUSH * HA_PT_CALL_AT_ONCE_START_STMT * HA_PT_CALL_AT_ONCE_STORE_LOCK * HA_PT_CALL_AT_ONCE_TOP_TABLE * HASH_UPDATE_WITH_HASH_VALUE * HAVE_ORACLE_OCI * HS_HAS_SQLCOM ( * ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC * ITEM_FUNC_TIMESTAMPDIFF_ARE_PUBLIC * MYSQL_VERSION_ID < ${OLD_VERSION} Might not be able to be removed (not checked): * SPIDER_HANDLER_START_BULK_INSERT_HAS_FLAGS * SPIDER_HANDLER_SUPPORT_MULTIPLE_KEY_PARTS * SPIDER_HAS_APPEND_FOR_SINGLE_QUOTE * SPIDER_HAS_DECIMAL_OPERATION_RESULTS_VALUE_TYPE * SPIDER_HAS_DISCOVER_TABLE_STRUCTURE * SPIDER_HAS_EXPLAIN_QUERY * SPIDER_HAS_EXPR_CACHE_ITEM * SPIDER_HAS_GROUP_BY_HANDLER * SPIDER_HAS_HASH_VALUE_TYPE * SPIDER_has_Item_has_subquery * SPIDER_HAS_JT_HASH_INDEX_MERGE * SPIDER_HAS_MY_CHARLEN * SPIDER_HAS_NEXT_THREAD_ID * SPIDER_HAS_SHOW_SIMPLE_FUNC * SPIDER_HAS_TIME_STATUS * SPIDER_I_S_USE_SHOW_FOR_COLUMN * SPIDER_Item_args_arg_count_IS_PROTECTED * SPIDER_ITEM_HAS_CMP_TYPE * SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY * SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY_AND_THDPTR * SPIDER_LIKE_FUNC_HAS_GET_NEGATED * SPIDER_MDEV_16246 * SPIDER_NEED_CHECK_CONDITION_AT_CHECKING_DIRECT_ORDER_LIMIT * SPIDER_NEED_INIT_ONE_TABLE_FOR_FIND_TEMPORARY_TABLE * SPIDER_NET_HAS_THD * SPIDER_open_temporary_table * SPIDER_ORDER_HAS_ENUM_ORDER * SPIDER_REQUIRE_DEFINE_FOR_SECONDARY_OPEN_TABLES_BACKUP * SPIDER_SQL_CACHE_IS_IN_LEX * SPIDER_SQL_MODE_ANSI * SPIDER_SQL_MODE_ANSI_QUOTES * SPIDER_SQL_MODE_DB2 * SPIDER_SQL_MODE_EMPTY_STRING_IS_NULL * SPIDER_SQL_MODE_ERROR_FOR_DIVISION_BY_ZERO * SPIDER_SQL_MODE_HIGH_NOT_PRECEDENCE * SPIDER_SQL_MODE_IGNORE_BAD_TABLE_OPTIONS * SPIDER_SQL_MODE_IGNORE_SPACE * SPIDER_SQL_MODE_INVALID_DATES * SPIDER_SQL_MODE_MAXDB * SPIDER_SQL_MODE_MSSQL * SPIDER_SQL_MODE_MYSQL323 * SPIDER_SQL_MODE_MYSQL40 * SPIDER_SQL_MODE_NO_AUTO_CREATE_USER * SPIDER_SQL_MODE_NO_AUTO_VALUE_ON_ZERO * SPIDER_SQL_MODE_NO_BACKSLASH_ESCAPES * SPIDER_SQL_MODE_NO_DIR_IN_CREATE * SPIDER_SQL_MODE_NO_ENGINE_SUBSTITUTION * SPIDER_SQL_MODE_NO_FIELD_OPTIONS * SPIDER_SQL_MODE_NO_KEY_OPTIONS * SPIDER_SQL_MODE_NO_TABLE_OPTIONS * SPIDER_SQL_MODE_NO_UNSIGNED_SUBTRACTION * SPIDER_SQL_MODE_NO_ZERO_DATE * SPIDER_SQL_MODE_NO_ZERO_IN_DATE * SPIDER_SQL_MODE_ONLY_FULL_GROUP_BY * SPIDER_SQL_MODE_ORACLE * SPIDER_SQL_MODE_PAD_CHAR_TO_FULL_LENGTH * SPIDER_SQL_MODE_PIPES_AS_CONCAT * SPIDER_SQL_MODE_POSTGRESQL * SPIDER_SQL_MODE_REAL_AS_FLOAT * SPIDER_SQL_MODE_SIMULTANEOUS_ASSIGNMENT * SPIDER_SQL_MODE_STRICT_ALL_TABLES * SPIDER_SQL_MODE_STRICT_TRANS_TABLES * SPIDER_SQL_MODE_TIME_ROUND_FRACTIONAL * SPIDER_SQL_MODE_TRADITIONAL * SPIDER_SUPPORT_CREATE_OR_REPLACE_TABLE * SPIDER_UPDATE_ROW_HAS_CONST_NEW_DATA * SPIDER_USE_CONST_ITEM_FOR_STRING_INT_REAL_DECIMAL_DATE_ITEM * SPIDER_use_LEX_CSTRING_for_database_tablename_alias * SPIDER_use_LEX_CSTRING_for_Field_blob_constructor * SPIDER_use_LEX_CSTRING_for_KEY_Field_name * SPIDER_XID_STATE_HAS_in_thd * SPIDER_XID_USES_xid_cache_iterate * USE_PRAGMA_IMPLEMENTATION * USE_PRAGMA_INTERFACE * WITH_PARTITION_STORAGE_ENGINE * XID_CACHE_IS_SPLITTED |
List unnecessary #ifdef, which complicate the code, from the Spider codebase.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove these #ifdefs. Note: defined or not defined is judged on 10.7. Removable #ifdef (defined): * HA_EXTRA_HAS_STARTING_ORDERED_INDEX_SCAN * HA_HAS_CHECKSUM_EXTENDED * HA_MRR_USE_DEFAULT_IMPL * HANDLER_HAS_CAN_USE_FOR_AUTO_INC_INIT * HANDLER_HAS_DIRECT_AGGREGATE * HANDLER_HAS_DIRECT_UPDATE_ROWS * HANDLER_HAS_DIRECT_UPDATE_ROWS_WITH_HS * HANDLER_HAS_NEED_INFO_FOR_AUTO_INC * HA_SLOW_CMP_REF * MARIADB_BASE_VERSION * PLUGIN_VAR_CAN_MEMALLOC * SPIDER_ENGINE_CONDITION_PUSHDOWN_IS_ALWAYS_ON * SPIDER_FIELD_FIELDPTR_REQUIRES_THDPTR * SPIDER_HANDLER_AUTO_REPAIR_HAS_ERROR * SPIDER_HANDLER_START_BULK_INSERT_HAS_FLAGS * SPIDER_HAS_APPEND_FOR_SINGLE_QUOTE * SPIDER_HAS_DECIMAL_OPERATION_RESULTS_VALUE_TYPE * SPIDER_HAS_DISCOVER_TABLE_STRUCTURE * SPIDER_HAS_EXPLAIN_QUERY * SPIDER_HAS_EXPR_CACHE_ITEM * SPIDER_HAS_GROUP_BY_HANDLER * SPIDER_HAS_HASH_VALUE_TYPE * SPIDER_HAS_JT_HASH_INDEX_MERGE * SPIDER_HAS_MY_CHARLEN * SPIDER_HAS_NEXT_THREAD_ID * SPIDER_HAS_SHOW_SIMPLE_FUNC Removable #ifdef (not defined): * HA_CAN_BULK_ACCESS * HA_EXTRA_HAS_HA_EXTRA_USE_CMP_REF * HA_PT_CALL_AT_ONCE_COND_PUSH * HA_PT_CALL_AT_ONCE_EXTERNAL_LOCK * HA_PT_CALL_AT_ONCE_EXTRA * HA_PT_CALL_AT_ONCE_INFO_PUSH * HA_PT_CALL_AT_ONCE_START_STMT * HA_PT_CALL_AT_ONCE_STORE_LOCK * HA_PT_CALL_AT_ONCE_TOP_TABLE * HASH_UPDATE_WITH_HASH_VALUE * HAVE_ORACLE_OCI * HS_HAS_SQLCOM ( * ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC * ITEM_FUNC_TIMESTAMPDIFF_ARE_PUBLIC * MYSQL_VERSION_ID < ${OLD_VERSION} * SPIDER_HANDLER_SUPPORT_MULTIPLE_KEY_PARTS * SPIDER_has_Item_has_subquery Might not be able to be removed (not checked): * SPIDER_HAS_TIME_STATUS * SPIDER_I_S_USE_SHOW_FOR_COLUMN * SPIDER_Item_args_arg_count_IS_PROTECTED * SPIDER_ITEM_HAS_CMP_TYPE * SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY * SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY_AND_THDPTR * SPIDER_LIKE_FUNC_HAS_GET_NEGATED * SPIDER_MDEV_16246 * SPIDER_NEED_CHECK_CONDITION_AT_CHECKING_DIRECT_ORDER_LIMIT * SPIDER_NEED_INIT_ONE_TABLE_FOR_FIND_TEMPORARY_TABLE * SPIDER_NET_HAS_THD * SPIDER_open_temporary_table * SPIDER_ORDER_HAS_ENUM_ORDER * SPIDER_REQUIRE_DEFINE_FOR_SECONDARY_OPEN_TABLES_BACKUP * SPIDER_SQL_CACHE_IS_IN_LEX * SPIDER_SQL_MODE_ANSI * SPIDER_SQL_MODE_ANSI_QUOTES * SPIDER_SQL_MODE_DB2 * SPIDER_SQL_MODE_EMPTY_STRING_IS_NULL * SPIDER_SQL_MODE_ERROR_FOR_DIVISION_BY_ZERO * SPIDER_SQL_MODE_HIGH_NOT_PRECEDENCE * SPIDER_SQL_MODE_IGNORE_BAD_TABLE_OPTIONS * SPIDER_SQL_MODE_IGNORE_SPACE * SPIDER_SQL_MODE_INVALID_DATES * SPIDER_SQL_MODE_MAXDB * SPIDER_SQL_MODE_MSSQL * SPIDER_SQL_MODE_MYSQL323 * SPIDER_SQL_MODE_MYSQL40 * SPIDER_SQL_MODE_NO_AUTO_CREATE_USER * SPIDER_SQL_MODE_NO_AUTO_VALUE_ON_ZERO * SPIDER_SQL_MODE_NO_BACKSLASH_ESCAPES * SPIDER_SQL_MODE_NO_DIR_IN_CREATE * SPIDER_SQL_MODE_NO_ENGINE_SUBSTITUTION * SPIDER_SQL_MODE_NO_FIELD_OPTIONS * SPIDER_SQL_MODE_NO_KEY_OPTIONS * SPIDER_SQL_MODE_NO_TABLE_OPTIONS * SPIDER_SQL_MODE_NO_UNSIGNED_SUBTRACTION * SPIDER_SQL_MODE_NO_ZERO_DATE * SPIDER_SQL_MODE_NO_ZERO_IN_DATE * SPIDER_SQL_MODE_ONLY_FULL_GROUP_BY * SPIDER_SQL_MODE_ORACLE * SPIDER_SQL_MODE_PAD_CHAR_TO_FULL_LENGTH * SPIDER_SQL_MODE_PIPES_AS_CONCAT * SPIDER_SQL_MODE_POSTGRESQL * SPIDER_SQL_MODE_REAL_AS_FLOAT * SPIDER_SQL_MODE_SIMULTANEOUS_ASSIGNMENT * SPIDER_SQL_MODE_STRICT_ALL_TABLES * SPIDER_SQL_MODE_STRICT_TRANS_TABLES * SPIDER_SQL_MODE_TIME_ROUND_FRACTIONAL * SPIDER_SQL_MODE_TRADITIONAL * SPIDER_SUPPORT_CREATE_OR_REPLACE_TABLE * SPIDER_UPDATE_ROW_HAS_CONST_NEW_DATA * SPIDER_USE_CONST_ITEM_FOR_STRING_INT_REAL_DECIMAL_DATE_ITEM * SPIDER_use_LEX_CSTRING_for_database_tablename_alias * SPIDER_use_LEX_CSTRING_for_Field_blob_constructor * SPIDER_use_LEX_CSTRING_for_KEY_Field_name * SPIDER_XID_STATE_HAS_in_thd * SPIDER_XID_USES_xid_cache_iterate * USE_PRAGMA_IMPLEMENTATION * USE_PRAGMA_INTERFACE * WITH_PARTITION_STORAGE_ENGINE * XID_CACHE_IS_SPLITTED |
Description |
List unnecessary #ifdef, which complicate the code, from the Spider codebase.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove these #ifdefs. Note: defined or not defined is judged on 10.7. Removable #ifdef (defined): * HA_EXTRA_HAS_STARTING_ORDERED_INDEX_SCAN * HA_HAS_CHECKSUM_EXTENDED * HA_MRR_USE_DEFAULT_IMPL * HANDLER_HAS_CAN_USE_FOR_AUTO_INC_INIT * HANDLER_HAS_DIRECT_AGGREGATE * HANDLER_HAS_DIRECT_UPDATE_ROWS * HANDLER_HAS_DIRECT_UPDATE_ROWS_WITH_HS * HANDLER_HAS_NEED_INFO_FOR_AUTO_INC * HA_SLOW_CMP_REF * MARIADB_BASE_VERSION * PLUGIN_VAR_CAN_MEMALLOC * SPIDER_ENGINE_CONDITION_PUSHDOWN_IS_ALWAYS_ON * SPIDER_FIELD_FIELDPTR_REQUIRES_THDPTR * SPIDER_HANDLER_AUTO_REPAIR_HAS_ERROR * SPIDER_HANDLER_START_BULK_INSERT_HAS_FLAGS * SPIDER_HAS_APPEND_FOR_SINGLE_QUOTE * SPIDER_HAS_DECIMAL_OPERATION_RESULTS_VALUE_TYPE * SPIDER_HAS_DISCOVER_TABLE_STRUCTURE * SPIDER_HAS_EXPLAIN_QUERY * SPIDER_HAS_EXPR_CACHE_ITEM * SPIDER_HAS_GROUP_BY_HANDLER * SPIDER_HAS_HASH_VALUE_TYPE * SPIDER_HAS_JT_HASH_INDEX_MERGE * SPIDER_HAS_MY_CHARLEN * SPIDER_HAS_NEXT_THREAD_ID * SPIDER_HAS_SHOW_SIMPLE_FUNC Removable #ifdef (not defined): * HA_CAN_BULK_ACCESS * HA_EXTRA_HAS_HA_EXTRA_USE_CMP_REF * HA_PT_CALL_AT_ONCE_COND_PUSH * HA_PT_CALL_AT_ONCE_EXTERNAL_LOCK * HA_PT_CALL_AT_ONCE_EXTRA * HA_PT_CALL_AT_ONCE_INFO_PUSH * HA_PT_CALL_AT_ONCE_START_STMT * HA_PT_CALL_AT_ONCE_STORE_LOCK * HA_PT_CALL_AT_ONCE_TOP_TABLE * HASH_UPDATE_WITH_HASH_VALUE * HAVE_ORACLE_OCI * HS_HAS_SQLCOM ( * ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC * ITEM_FUNC_TIMESTAMPDIFF_ARE_PUBLIC * MYSQL_VERSION_ID < ${OLD_VERSION} * SPIDER_HANDLER_SUPPORT_MULTIPLE_KEY_PARTS * SPIDER_has_Item_has_subquery Might not be able to be removed (not checked): * SPIDER_HAS_TIME_STATUS * SPIDER_I_S_USE_SHOW_FOR_COLUMN * SPIDER_Item_args_arg_count_IS_PROTECTED * SPIDER_ITEM_HAS_CMP_TYPE * SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY * SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY_AND_THDPTR * SPIDER_LIKE_FUNC_HAS_GET_NEGATED * SPIDER_MDEV_16246 * SPIDER_NEED_CHECK_CONDITION_AT_CHECKING_DIRECT_ORDER_LIMIT * SPIDER_NEED_INIT_ONE_TABLE_FOR_FIND_TEMPORARY_TABLE * SPIDER_NET_HAS_THD * SPIDER_open_temporary_table * SPIDER_ORDER_HAS_ENUM_ORDER * SPIDER_REQUIRE_DEFINE_FOR_SECONDARY_OPEN_TABLES_BACKUP * SPIDER_SQL_CACHE_IS_IN_LEX * SPIDER_SQL_MODE_ANSI * SPIDER_SQL_MODE_ANSI_QUOTES * SPIDER_SQL_MODE_DB2 * SPIDER_SQL_MODE_EMPTY_STRING_IS_NULL * SPIDER_SQL_MODE_ERROR_FOR_DIVISION_BY_ZERO * SPIDER_SQL_MODE_HIGH_NOT_PRECEDENCE * SPIDER_SQL_MODE_IGNORE_BAD_TABLE_OPTIONS * SPIDER_SQL_MODE_IGNORE_SPACE * SPIDER_SQL_MODE_INVALID_DATES * SPIDER_SQL_MODE_MAXDB * SPIDER_SQL_MODE_MSSQL * SPIDER_SQL_MODE_MYSQL323 * SPIDER_SQL_MODE_MYSQL40 * SPIDER_SQL_MODE_NO_AUTO_CREATE_USER * SPIDER_SQL_MODE_NO_AUTO_VALUE_ON_ZERO * SPIDER_SQL_MODE_NO_BACKSLASH_ESCAPES * SPIDER_SQL_MODE_NO_DIR_IN_CREATE * SPIDER_SQL_MODE_NO_ENGINE_SUBSTITUTION * SPIDER_SQL_MODE_NO_FIELD_OPTIONS * SPIDER_SQL_MODE_NO_KEY_OPTIONS * SPIDER_SQL_MODE_NO_TABLE_OPTIONS * SPIDER_SQL_MODE_NO_UNSIGNED_SUBTRACTION * SPIDER_SQL_MODE_NO_ZERO_DATE * SPIDER_SQL_MODE_NO_ZERO_IN_DATE * SPIDER_SQL_MODE_ONLY_FULL_GROUP_BY * SPIDER_SQL_MODE_ORACLE * SPIDER_SQL_MODE_PAD_CHAR_TO_FULL_LENGTH * SPIDER_SQL_MODE_PIPES_AS_CONCAT * SPIDER_SQL_MODE_POSTGRESQL * SPIDER_SQL_MODE_REAL_AS_FLOAT * SPIDER_SQL_MODE_SIMULTANEOUS_ASSIGNMENT * SPIDER_SQL_MODE_STRICT_ALL_TABLES * SPIDER_SQL_MODE_STRICT_TRANS_TABLES * SPIDER_SQL_MODE_TIME_ROUND_FRACTIONAL * SPIDER_SQL_MODE_TRADITIONAL * SPIDER_SUPPORT_CREATE_OR_REPLACE_TABLE * SPIDER_UPDATE_ROW_HAS_CONST_NEW_DATA * SPIDER_USE_CONST_ITEM_FOR_STRING_INT_REAL_DECIMAL_DATE_ITEM * SPIDER_use_LEX_CSTRING_for_database_tablename_alias * SPIDER_use_LEX_CSTRING_for_Field_blob_constructor * SPIDER_use_LEX_CSTRING_for_KEY_Field_name * SPIDER_XID_STATE_HAS_in_thd * SPIDER_XID_USES_xid_cache_iterate * USE_PRAGMA_IMPLEMENTATION * USE_PRAGMA_INTERFACE * WITH_PARTITION_STORAGE_ENGINE * XID_CACHE_IS_SPLITTED |
List unnecessary #ifdef, which complicate the code, from the Spider codebase.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove these #ifdefs. Note: defined or not defined is judged on 10.7. Removable #ifdef (defined): * HA_EXTRA_HAS_STARTING_ORDERED_INDEX_SCAN * HA_HAS_CHECKSUM_EXTENDED * HA_MRR_USE_DEFAULT_IMPL * HANDLER_HAS_CAN_USE_FOR_AUTO_INC_INIT * HANDLER_HAS_DIRECT_AGGREGATE * HANDLER_HAS_DIRECT_UPDATE_ROWS * HANDLER_HAS_DIRECT_UPDATE_ROWS_WITH_HS * HANDLER_HAS_NEED_INFO_FOR_AUTO_INC * HA_SLOW_CMP_REF * MARIADB_BASE_VERSION * PLUGIN_VAR_CAN_MEMALLOC * SPIDER_ENGINE_CONDITION_PUSHDOWN_IS_ALWAYS_ON * SPIDER_FIELD_FIELDPTR_REQUIRES_THDPTR * SPIDER_HANDLER_AUTO_REPAIR_HAS_ERROR * SPIDER_HANDLER_START_BULK_INSERT_HAS_FLAGS * SPIDER_HAS_APPEND_FOR_SINGLE_QUOTE * SPIDER_HAS_DECIMAL_OPERATION_RESULTS_VALUE_TYPE * SPIDER_HAS_DISCOVER_TABLE_STRUCTURE * SPIDER_HAS_EXPLAIN_QUERY * SPIDER_HAS_EXPR_CACHE_ITEM * SPIDER_HAS_GROUP_BY_HANDLER * SPIDER_HAS_HASH_VALUE_TYPE * SPIDER_HAS_JT_HASH_INDEX_MERGE * SPIDER_HAS_MY_CHARLEN * SPIDER_HAS_NEXT_THREAD_ID * SPIDER_HAS_SHOW_SIMPLE_FUNC * SPIDER_HAS_TIME_STATUS * SPIDER_I_S_USE_SHOW_FOR_COLUMN * SPIDER_Item_args_arg_count_IS_PROTECTED * SPIDER_ITEM_HAS_CMP_TYPE * SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY * SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY_AND_THDPTR * SPIDER_LIKE_FUNC_HAS_GET_NEGATED * SPIDER_MDEV_16246 * SPIDER_NEED_INIT_ONE_TABLE_FOR_FIND_TEMPORARY_TABLE * SPIDER_open_temporary_table * SPIDER_ORDER_HAS_ENUM_ORDE * SPIDER_SQL_CACHE_IS_IN_LEX Removable #ifdef (not defined): * HA_CAN_BULK_ACCESS * HA_EXTRA_HAS_HA_EXTRA_USE_CMP_REF * HA_PT_CALL_AT_ONCE_COND_PUSH * HA_PT_CALL_AT_ONCE_EXTERNAL_LOCK * HA_PT_CALL_AT_ONCE_EXTRA * HA_PT_CALL_AT_ONCE_INFO_PUSH * HA_PT_CALL_AT_ONCE_START_STMT * HA_PT_CALL_AT_ONCE_STORE_LOCK * HA_PT_CALL_AT_ONCE_TOP_TABLE * HASH_UPDATE_WITH_HASH_VALUE * HAVE_ORACLE_OCI * HS_HAS_SQLCOM ( * ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC * ITEM_FUNC_TIMESTAMPDIFF_ARE_PUBLIC * MYSQL_VERSION_ID < ${OLD_VERSION} * SPIDER_HANDLER_SUPPORT_MULTIPLE_KEY_PARTS * SPIDER_has_Item_has_subquery * SPIDER_NEED_CHECK_CONDITION_AT_CHECKING_DIRECT_ORDER_LIMIT * SPIDER_NET_HAS_THD * SPIDER_REQUIRE_DEFINE_FOR_SECONDARY_OPEN_TABLES_BACKUP Might not be able to be removed (not checked): * SPIDER_SUPPORT_CREATE_OR_REPLACE_TABLE * SPIDER_UPDATE_ROW_HAS_CONST_NEW_DATA * SPIDER_USE_CONST_ITEM_FOR_STRING_INT_REAL_DECIMAL_DATE_ITEM * SPIDER_use_LEX_CSTRING_for_database_tablename_alias * SPIDER_use_LEX_CSTRING_for_Field_blob_constructor * SPIDER_use_LEX_CSTRING_for_KEY_Field_name * SPIDER_XID_STATE_HAS_in_thd * SPIDER_XID_USES_xid_cache_iterate * USE_PRAGMA_IMPLEMENTATION * USE_PRAGMA_INTERFACE * WITH_PARTITION_STORAGE_ENGINE * XID_CACHE_IS_SPLITTED |
Description |
List unnecessary #ifdef, which complicate the code, from the Spider codebase.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove these #ifdefs. Note: defined or not defined is judged on 10.7. Removable #ifdef (defined): * HA_EXTRA_HAS_STARTING_ORDERED_INDEX_SCAN * HA_HAS_CHECKSUM_EXTENDED * HA_MRR_USE_DEFAULT_IMPL * HANDLER_HAS_CAN_USE_FOR_AUTO_INC_INIT * HANDLER_HAS_DIRECT_AGGREGATE * HANDLER_HAS_DIRECT_UPDATE_ROWS * HANDLER_HAS_DIRECT_UPDATE_ROWS_WITH_HS * HANDLER_HAS_NEED_INFO_FOR_AUTO_INC * HA_SLOW_CMP_REF * MARIADB_BASE_VERSION * PLUGIN_VAR_CAN_MEMALLOC * SPIDER_ENGINE_CONDITION_PUSHDOWN_IS_ALWAYS_ON * SPIDER_FIELD_FIELDPTR_REQUIRES_THDPTR * SPIDER_HANDLER_AUTO_REPAIR_HAS_ERROR * SPIDER_HANDLER_START_BULK_INSERT_HAS_FLAGS * SPIDER_HAS_APPEND_FOR_SINGLE_QUOTE * SPIDER_HAS_DECIMAL_OPERATION_RESULTS_VALUE_TYPE * SPIDER_HAS_DISCOVER_TABLE_STRUCTURE * SPIDER_HAS_EXPLAIN_QUERY * SPIDER_HAS_EXPR_CACHE_ITEM * SPIDER_HAS_GROUP_BY_HANDLER * SPIDER_HAS_HASH_VALUE_TYPE * SPIDER_HAS_JT_HASH_INDEX_MERGE * SPIDER_HAS_MY_CHARLEN * SPIDER_HAS_NEXT_THREAD_ID * SPIDER_HAS_SHOW_SIMPLE_FUNC * SPIDER_HAS_TIME_STATUS * SPIDER_I_S_USE_SHOW_FOR_COLUMN * SPIDER_Item_args_arg_count_IS_PROTECTED * SPIDER_ITEM_HAS_CMP_TYPE * SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY * SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY_AND_THDPTR * SPIDER_LIKE_FUNC_HAS_GET_NEGATED * SPIDER_MDEV_16246 * SPIDER_NEED_INIT_ONE_TABLE_FOR_FIND_TEMPORARY_TABLE * SPIDER_open_temporary_table * SPIDER_ORDER_HAS_ENUM_ORDE * SPIDER_SQL_CACHE_IS_IN_LEX Removable #ifdef (not defined): * HA_CAN_BULK_ACCESS * HA_EXTRA_HAS_HA_EXTRA_USE_CMP_REF * HA_PT_CALL_AT_ONCE_COND_PUSH * HA_PT_CALL_AT_ONCE_EXTERNAL_LOCK * HA_PT_CALL_AT_ONCE_EXTRA * HA_PT_CALL_AT_ONCE_INFO_PUSH * HA_PT_CALL_AT_ONCE_START_STMT * HA_PT_CALL_AT_ONCE_STORE_LOCK * HA_PT_CALL_AT_ONCE_TOP_TABLE * HASH_UPDATE_WITH_HASH_VALUE * HAVE_ORACLE_OCI * HS_HAS_SQLCOM ( * ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC * ITEM_FUNC_TIMESTAMPDIFF_ARE_PUBLIC * MYSQL_VERSION_ID < ${OLD_VERSION} * SPIDER_HANDLER_SUPPORT_MULTIPLE_KEY_PARTS * SPIDER_has_Item_has_subquery * SPIDER_NEED_CHECK_CONDITION_AT_CHECKING_DIRECT_ORDER_LIMIT * SPIDER_NET_HAS_THD * SPIDER_REQUIRE_DEFINE_FOR_SECONDARY_OPEN_TABLES_BACKUP Might not be able to be removed (not checked): * SPIDER_SUPPORT_CREATE_OR_REPLACE_TABLE * SPIDER_UPDATE_ROW_HAS_CONST_NEW_DATA * SPIDER_USE_CONST_ITEM_FOR_STRING_INT_REAL_DECIMAL_DATE_ITEM * SPIDER_use_LEX_CSTRING_for_database_tablename_alias * SPIDER_use_LEX_CSTRING_for_Field_blob_constructor * SPIDER_use_LEX_CSTRING_for_KEY_Field_name * SPIDER_XID_STATE_HAS_in_thd * SPIDER_XID_USES_xid_cache_iterate * USE_PRAGMA_IMPLEMENTATION * USE_PRAGMA_INTERFACE * WITH_PARTITION_STORAGE_ENGINE * XID_CACHE_IS_SPLITTED |
List unnecessary #ifdef, which complicate the code, from the Spider codebase.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove these #ifdefs. Note: defined or not defined is judged on 10.7. Removable #ifdef (defined): * HA_EXTRA_HAS_STARTING_ORDERED_INDEX_SCAN * HA_HAS_CHECKSUM_EXTENDED * HA_MRR_USE_DEFAULT_IMPL * HANDLER_HAS_CAN_USE_FOR_AUTO_INC_INIT * HANDLER_HAS_DIRECT_AGGREGATE * HANDLER_HAS_DIRECT_UPDATE_ROWS * HANDLER_HAS_DIRECT_UPDATE_ROWS_WITH_HS * HANDLER_HAS_NEED_INFO_FOR_AUTO_INC * HA_SLOW_CMP_REF * MARIADB_BASE_VERSION * PLUGIN_VAR_CAN_MEMALLOC * SPIDER_ENGINE_CONDITION_PUSHDOWN_IS_ALWAYS_ON * SPIDER_FIELD_FIELDPTR_REQUIRES_THDPTR * SPIDER_HANDLER_AUTO_REPAIR_HAS_ERROR * SPIDER_HANDLER_START_BULK_INSERT_HAS_FLAGS * SPIDER_HAS_APPEND_FOR_SINGLE_QUOTE * SPIDER_HAS_DECIMAL_OPERATION_RESULTS_VALUE_TYPE * SPIDER_HAS_DISCOVER_TABLE_STRUCTURE * SPIDER_HAS_EXPLAIN_QUERY * SPIDER_HAS_EXPR_CACHE_ITEM * SPIDER_HAS_GROUP_BY_HANDLER * SPIDER_HAS_HASH_VALUE_TYPE * SPIDER_HAS_JT_HASH_INDEX_MERGE * SPIDER_HAS_MY_CHARLEN * SPIDER_HAS_NEXT_THREAD_ID * SPIDER_HAS_SHOW_SIMPLE_FUNC * SPIDER_HAS_TIME_STATUS * SPIDER_I_S_USE_SHOW_FOR_COLUMN * SPIDER_Item_args_arg_count_IS_PROTECTED * SPIDER_ITEM_HAS_CMP_TYPE * SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY * SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY_AND_THDPTR * SPIDER_LIKE_FUNC_HAS_GET_NEGATED * SPIDER_MDEV_16246 * SPIDER_NEED_INIT_ONE_TABLE_FOR_FIND_TEMPORARY_TABLE * SPIDER_open_temporary_table * SPIDER_ORDER_HAS_ENUM_ORDE * SPIDER_SQL_CACHE_IS_IN_LEX * SPIDER_SUPPORT_CREATE_OR_REPLACE_TABLE * SPIDER_UPDATE_ROW_HAS_CONST_NEW_DATA * SPIDER_USE_CONST_ITEM_FOR_STRING_INT_REAL_DECIMAL_DATE_ITEM * SPIDER_use_LEX_CSTRING_for_database_tablename_alias * SPIDER_use_LEX_CSTRING_for_Field_blob_constructor * SPIDER_use_LEX_CSTRING_for_KEY_Field_name * SPIDER_use_LEX_CSTRING_for_KEY_Field_name * SPIDER_XID_USES_xid_cache_iterate Removable #ifdef (not defined): * HA_CAN_BULK_ACCESS * HA_EXTRA_HAS_HA_EXTRA_USE_CMP_REF * HA_PT_CALL_AT_ONCE_COND_PUSH * HA_PT_CALL_AT_ONCE_EXTERNAL_LOCK * HA_PT_CALL_AT_ONCE_EXTRA * HA_PT_CALL_AT_ONCE_INFO_PUSH * HA_PT_CALL_AT_ONCE_START_STMT * HA_PT_CALL_AT_ONCE_STORE_LOCK * HA_PT_CALL_AT_ONCE_TOP_TABLE * HASH_UPDATE_WITH_HASH_VALUE * HAVE_ORACLE_OCI * HS_HAS_SQLCOM ( * ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC * ITEM_FUNC_TIMESTAMPDIFF_ARE_PUBLIC * MYSQL_VERSION_ID < ${OLD_VERSION} * SPIDER_HANDLER_SUPPORT_MULTIPLE_KEY_PARTS * SPIDER_has_Item_has_subquery * SPIDER_NEED_CHECK_CONDITION_AT_CHECKING_DIRECT_ORDER_LIMIT * SPIDER_NET_HAS_THD * SPIDER_REQUIRE_DEFINE_FOR_SECONDARY_OPEN_TABLES_BACKUP * SPIDER_XID_STATE_HAS_in_thd * XID_CACHE_IS_SPLITTED |
Description |
List unnecessary #ifdef, which complicate the code, from the Spider codebase.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove these #ifdefs. Note: defined or not defined is judged on 10.7. Removable #ifdef (defined): * HA_EXTRA_HAS_STARTING_ORDERED_INDEX_SCAN * HA_HAS_CHECKSUM_EXTENDED * HA_MRR_USE_DEFAULT_IMPL * HANDLER_HAS_CAN_USE_FOR_AUTO_INC_INIT * HANDLER_HAS_DIRECT_AGGREGATE * HANDLER_HAS_DIRECT_UPDATE_ROWS * HANDLER_HAS_DIRECT_UPDATE_ROWS_WITH_HS * HANDLER_HAS_NEED_INFO_FOR_AUTO_INC * HA_SLOW_CMP_REF * MARIADB_BASE_VERSION * PLUGIN_VAR_CAN_MEMALLOC * SPIDER_ENGINE_CONDITION_PUSHDOWN_IS_ALWAYS_ON * SPIDER_FIELD_FIELDPTR_REQUIRES_THDPTR * SPIDER_HANDLER_AUTO_REPAIR_HAS_ERROR * SPIDER_HANDLER_START_BULK_INSERT_HAS_FLAGS * SPIDER_HAS_APPEND_FOR_SINGLE_QUOTE * SPIDER_HAS_DECIMAL_OPERATION_RESULTS_VALUE_TYPE * SPIDER_HAS_DISCOVER_TABLE_STRUCTURE * SPIDER_HAS_EXPLAIN_QUERY * SPIDER_HAS_EXPR_CACHE_ITEM * SPIDER_HAS_GROUP_BY_HANDLER * SPIDER_HAS_HASH_VALUE_TYPE * SPIDER_HAS_JT_HASH_INDEX_MERGE * SPIDER_HAS_MY_CHARLEN * SPIDER_HAS_NEXT_THREAD_ID * SPIDER_HAS_SHOW_SIMPLE_FUNC * SPIDER_HAS_TIME_STATUS * SPIDER_I_S_USE_SHOW_FOR_COLUMN * SPIDER_Item_args_arg_count_IS_PROTECTED * SPIDER_ITEM_HAS_CMP_TYPE * SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY * SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY_AND_THDPTR * SPIDER_LIKE_FUNC_HAS_GET_NEGATED * SPIDER_MDEV_16246 * SPIDER_NEED_INIT_ONE_TABLE_FOR_FIND_TEMPORARY_TABLE * SPIDER_open_temporary_table * SPIDER_ORDER_HAS_ENUM_ORDE * SPIDER_SQL_CACHE_IS_IN_LEX * SPIDER_SUPPORT_CREATE_OR_REPLACE_TABLE * SPIDER_UPDATE_ROW_HAS_CONST_NEW_DATA * SPIDER_USE_CONST_ITEM_FOR_STRING_INT_REAL_DECIMAL_DATE_ITEM * SPIDER_use_LEX_CSTRING_for_database_tablename_alias * SPIDER_use_LEX_CSTRING_for_Field_blob_constructor * SPIDER_use_LEX_CSTRING_for_KEY_Field_name * SPIDER_use_LEX_CSTRING_for_KEY_Field_name * SPIDER_XID_USES_xid_cache_iterate Removable #ifdef (not defined): * HA_CAN_BULK_ACCESS * HA_EXTRA_HAS_HA_EXTRA_USE_CMP_REF * HA_PT_CALL_AT_ONCE_COND_PUSH * HA_PT_CALL_AT_ONCE_EXTERNAL_LOCK * HA_PT_CALL_AT_ONCE_EXTRA * HA_PT_CALL_AT_ONCE_INFO_PUSH * HA_PT_CALL_AT_ONCE_START_STMT * HA_PT_CALL_AT_ONCE_STORE_LOCK * HA_PT_CALL_AT_ONCE_TOP_TABLE * HASH_UPDATE_WITH_HASH_VALUE * HAVE_ORACLE_OCI * HS_HAS_SQLCOM ( * ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC * ITEM_FUNC_TIMESTAMPDIFF_ARE_PUBLIC * MYSQL_VERSION_ID < ${OLD_VERSION} * SPIDER_HANDLER_SUPPORT_MULTIPLE_KEY_PARTS * SPIDER_has_Item_has_subquery * SPIDER_NEED_CHECK_CONDITION_AT_CHECKING_DIRECT_ORDER_LIMIT * SPIDER_NET_HAS_THD * SPIDER_REQUIRE_DEFINE_FOR_SECONDARY_OPEN_TABLES_BACKUP * SPIDER_XID_STATE_HAS_in_thd * XID_CACHE_IS_SPLITTED |
List unnecessary #ifdef, which complicate the code, from the Spider codebase.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove these #ifdefs. Note: defined or not defined is judged on 10.7. Removable #ifdef (defined): * HA_EXTRA_HAS_STARTING_ORDERED_INDEX_SCAN * HA_HAS_CHECKSUM_EXTENDED * HA_MRR_USE_DEFAULT_IMPL * HANDLER_HAS_CAN_USE_FOR_AUTO_INC_INIT * HANDLER_HAS_DIRECT_AGGREGATE * HANDLER_HAS_DIRECT_UPDATE_ROWS * HANDLER_HAS_DIRECT_UPDATE_ROWS_WITH_HS * HANDLER_HAS_NEED_INFO_FOR_AUTO_INC * HA_SLOW_CMP_REF * MARIADB_BASE_VERSION * PLUGIN_VAR_CAN_MEMALLOC * SPIDER_ENGINE_CONDITION_PUSHDOWN_IS_ALWAYS_ON * SPIDER_FIELD_FIELDPTR_REQUIRES_THDPTR * SPIDER_HANDLER_AUTO_REPAIR_HAS_ERROR * SPIDER_HANDLER_START_BULK_INSERT_HAS_FLAGS * SPIDER_HAS_APPEND_FOR_SINGLE_QUOTE * SPIDER_HAS_DECIMAL_OPERATION_RESULTS_VALUE_TYPE * SPIDER_HAS_DISCOVER_TABLE_STRUCTURE * SPIDER_HAS_EXPLAIN_QUERY * SPIDER_HAS_EXPR_CACHE_ITEM * SPIDER_HAS_GROUP_BY_HANDLER * SPIDER_HAS_HASH_VALUE_TYPE * SPIDER_HAS_JT_HASH_INDEX_MERGE * SPIDER_HAS_MY_CHARLEN * SPIDER_HAS_NEXT_THREAD_ID * SPIDER_HAS_SHOW_SIMPLE_FUNC * SPIDER_HAS_TIME_STATUS * SPIDER_I_S_USE_SHOW_FOR_COLUMN * SPIDER_Item_args_arg_count_IS_PROTECTED * SPIDER_ITEM_HAS_CMP_TYPE * SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY * SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY_AND_THDPTR * SPIDER_LIKE_FUNC_HAS_GET_NEGATED * SPIDER_MDEV_16246 * SPIDER_NEED_INIT_ONE_TABLE_FOR_FIND_TEMPORARY_TABLE * SPIDER_open_temporary_table * SPIDER_ORDER_HAS_ENUM_ORDE * SPIDER_SQL_CACHE_IS_IN_LEX * SPIDER_SUPPORT_CREATE_OR_REPLACE_TABLE * SPIDER_UPDATE_ROW_HAS_CONST_NEW_DATA * SPIDER_USE_CONST_ITEM_FOR_STRING_INT_REAL_DECIMAL_DATE_ITEM * SPIDER_use_LEX_CSTRING_for_database_tablename_alias * SPIDER_use_LEX_CSTRING_for_Field_blob_constructor * SPIDER_use_LEX_CSTRING_for_KEY_Field_name * SPIDER_use_LEX_CSTRING_for_KEY_Field_name * SPIDER_XID_USES_xid_cache_iterate Removable #ifdef (not defined): * HA_CAN_BULK_ACCESS * HA_EXTRA_HAS_HA_EXTRA_USE_CMP_REF * HA_PT_CALL_AT_ONCE_COND_PUSH * HA_PT_CALL_AT_ONCE_EXTERNAL_LOCK * HA_PT_CALL_AT_ONCE_EXTRA * HA_PT_CALL_AT_ONCE_INFO_PUSH * HA_PT_CALL_AT_ONCE_START_STMT * HA_PT_CALL_AT_ONCE_STORE_LOCK * HA_PT_CALL_AT_ONCE_TOP_TABLE * HASH_UPDATE_WITH_HASH_VALUE * -HAVE_ORACLE_OCI- * -HS_HAS_SQLCOM- ( * ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC * ITEM_FUNC_TIMESTAMPDIFF_ARE_PUBLIC * MYSQL_VERSION_ID < ${OLD_VERSION} * SPIDER_HANDLER_SUPPORT_MULTIPLE_KEY_PARTS * SPIDER_has_Item_has_subquery * SPIDER_NEED_CHECK_CONDITION_AT_CHECKING_DIRECT_ORDER_LIMIT * SPIDER_NET_HAS_THD * SPIDER_REQUIRE_DEFINE_FOR_SECONDARY_OPEN_TABLES_BACKUP * SPIDER_XID_STATE_HAS_in_thd * XID_CACHE_IS_SPLITTED |
Link |
This issue relates to |
Link |
This issue relates to |
Description |
List unnecessary #ifdef, which complicate the code, from the Spider codebase.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove these #ifdefs. Note: defined or not defined is judged on 10.7. Removable #ifdef (defined): * HA_EXTRA_HAS_STARTING_ORDERED_INDEX_SCAN * HA_HAS_CHECKSUM_EXTENDED * HA_MRR_USE_DEFAULT_IMPL * HANDLER_HAS_CAN_USE_FOR_AUTO_INC_INIT * HANDLER_HAS_DIRECT_AGGREGATE * HANDLER_HAS_DIRECT_UPDATE_ROWS * HANDLER_HAS_DIRECT_UPDATE_ROWS_WITH_HS * HANDLER_HAS_NEED_INFO_FOR_AUTO_INC * HA_SLOW_CMP_REF * MARIADB_BASE_VERSION * PLUGIN_VAR_CAN_MEMALLOC * SPIDER_ENGINE_CONDITION_PUSHDOWN_IS_ALWAYS_ON * SPIDER_FIELD_FIELDPTR_REQUIRES_THDPTR * SPIDER_HANDLER_AUTO_REPAIR_HAS_ERROR * SPIDER_HANDLER_START_BULK_INSERT_HAS_FLAGS * SPIDER_HAS_APPEND_FOR_SINGLE_QUOTE * SPIDER_HAS_DECIMAL_OPERATION_RESULTS_VALUE_TYPE * SPIDER_HAS_DISCOVER_TABLE_STRUCTURE * SPIDER_HAS_EXPLAIN_QUERY * SPIDER_HAS_EXPR_CACHE_ITEM * SPIDER_HAS_GROUP_BY_HANDLER * SPIDER_HAS_HASH_VALUE_TYPE * SPIDER_HAS_JT_HASH_INDEX_MERGE * SPIDER_HAS_MY_CHARLEN * SPIDER_HAS_NEXT_THREAD_ID * SPIDER_HAS_SHOW_SIMPLE_FUNC * SPIDER_HAS_TIME_STATUS * SPIDER_I_S_USE_SHOW_FOR_COLUMN * SPIDER_Item_args_arg_count_IS_PROTECTED * SPIDER_ITEM_HAS_CMP_TYPE * SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY * SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY_AND_THDPTR * SPIDER_LIKE_FUNC_HAS_GET_NEGATED * SPIDER_MDEV_16246 * SPIDER_NEED_INIT_ONE_TABLE_FOR_FIND_TEMPORARY_TABLE * SPIDER_open_temporary_table * SPIDER_ORDER_HAS_ENUM_ORDE * SPIDER_SQL_CACHE_IS_IN_LEX * SPIDER_SUPPORT_CREATE_OR_REPLACE_TABLE * SPIDER_UPDATE_ROW_HAS_CONST_NEW_DATA * SPIDER_USE_CONST_ITEM_FOR_STRING_INT_REAL_DECIMAL_DATE_ITEM * SPIDER_use_LEX_CSTRING_for_database_tablename_alias * SPIDER_use_LEX_CSTRING_for_Field_blob_constructor * SPIDER_use_LEX_CSTRING_for_KEY_Field_name * SPIDER_use_LEX_CSTRING_for_KEY_Field_name * SPIDER_XID_USES_xid_cache_iterate Removable #ifdef (not defined): * HA_CAN_BULK_ACCESS * HA_EXTRA_HAS_HA_EXTRA_USE_CMP_REF * HA_PT_CALL_AT_ONCE_COND_PUSH * HA_PT_CALL_AT_ONCE_EXTERNAL_LOCK * HA_PT_CALL_AT_ONCE_EXTRA * HA_PT_CALL_AT_ONCE_INFO_PUSH * HA_PT_CALL_AT_ONCE_START_STMT * HA_PT_CALL_AT_ONCE_STORE_LOCK * HA_PT_CALL_AT_ONCE_TOP_TABLE * HASH_UPDATE_WITH_HASH_VALUE * -HAVE_ORACLE_OCI- * -HS_HAS_SQLCOM- ( * ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC * ITEM_FUNC_TIMESTAMPDIFF_ARE_PUBLIC * MYSQL_VERSION_ID < ${OLD_VERSION} * SPIDER_HANDLER_SUPPORT_MULTIPLE_KEY_PARTS * SPIDER_has_Item_has_subquery * SPIDER_NEED_CHECK_CONDITION_AT_CHECKING_DIRECT_ORDER_LIMIT * SPIDER_NET_HAS_THD * SPIDER_REQUIRE_DEFINE_FOR_SECONDARY_OPEN_TABLES_BACKUP * SPIDER_XID_STATE_HAS_in_thd * XID_CACHE_IS_SPLITTED |
List unnecessary #ifdef, which complicate the code, from the Spider codebase.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove these #ifdefs. Note: defined or not defined is judged on 10.7. Removable #ifdef (defined): * HA_EXTRA_HAS_STARTING_ORDERED_INDEX_SCAN * HA_HAS_CHECKSUM_EXTENDED * HA_MRR_USE_DEFAULT_IMPL * HANDLER_HAS_CAN_USE_FOR_AUTO_INC_INIT * HANDLER_HAS_DIRECT_AGGREGATE * HANDLER_HAS_DIRECT_UPDATE_ROWS * HANDLER_HAS_DIRECT_UPDATE_ROWS_WITH_HS * HANDLER_HAS_NEED_INFO_FOR_AUTO_INC * HA_SLOW_CMP_REF * MARIADB_BASE_VERSION * PLUGIN_VAR_CAN_MEMALLOC * SPIDER_ENGINE_CONDITION_PUSHDOWN_IS_ALWAYS_ON * SPIDER_FIELD_FIELDPTR_REQUIRES_THDPTR * SPIDER_HANDLER_AUTO_REPAIR_HAS_ERROR * SPIDER_HANDLER_START_BULK_INSERT_HAS_FLAGS * SPIDER_HAS_APPEND_FOR_SINGLE_QUOTE * SPIDER_HAS_DECIMAL_OPERATION_RESULTS_VALUE_TYPE * SPIDER_HAS_DISCOVER_TABLE_STRUCTURE * SPIDER_HAS_EXPLAIN_QUERY * SPIDER_HAS_EXPR_CACHE_ITEM * SPIDER_HAS_GROUP_BY_HANDLER * SPIDER_HAS_HASH_VALUE_TYPE * SPIDER_HAS_JT_HASH_INDEX_MERGE * SPIDER_HAS_MY_CHARLEN * SPIDER_HAS_NEXT_THREAD_ID * SPIDER_HAS_SHOW_SIMPLE_FUNC * SPIDER_HAS_TIME_STATUS * SPIDER_I_S_USE_SHOW_FOR_COLUMN * SPIDER_Item_args_arg_count_IS_PROTECTED * SPIDER_ITEM_HAS_CMP_TYPE * SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY * SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY_AND_THDPTR * SPIDER_LIKE_FUNC_HAS_GET_NEGATED * SPIDER_MDEV_16246 * SPIDER_NEED_INIT_ONE_TABLE_FOR_FIND_TEMPORARY_TABLE * SPIDER_open_temporary_table * SPIDER_ORDER_HAS_ENUM_ORDE * SPIDER_SQL_CACHE_IS_IN_LEX * SPIDER_SUPPORT_CREATE_OR_REPLACE_TABLE * SPIDER_UPDATE_ROW_HAS_CONST_NEW_DATA * SPIDER_USE_CONST_ITEM_FOR_STRING_INT_REAL_DECIMAL_DATE_ITEM * SPIDER_use_LEX_CSTRING_for_database_tablename_alias * SPIDER_use_LEX_CSTRING_for_Field_blob_constructor * SPIDER_use_LEX_CSTRING_for_KEY_Field_name * SPIDER_use_LEX_CSTRING_for_KEY_Field_name * SPIDER_XID_USES_xid_cache_iterate Removable #ifdef (not defined): * HA_CAN_BULK_ACCESS * HA_EXTRA_HAS_HA_EXTRA_USE_CMP_REF * HA_PT_CALL_AT_ONCE_COND_PUSH * HA_PT_CALL_AT_ONCE_EXTERNAL_LOCK * HA_PT_CALL_AT_ONCE_EXTRA * HA_PT_CALL_AT_ONCE_INFO_PUSH * HA_PT_CALL_AT_ONCE_START_STMT * HA_PT_CALL_AT_ONCE_STORE_LOCK * HA_PT_CALL_AT_ONCE_TOP_TABLE * HASH_UPDATE_WITH_HASH_VALUE * -HAVE_ORACLE_OCI- ( * -HS_HAS_SQLCOM- ( * ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC * ITEM_FUNC_TIMESTAMPDIFF_ARE_PUBLIC * MYSQL_VERSION_ID < ${OLD_VERSION} * SPIDER_HANDLER_SUPPORT_MULTIPLE_KEY_PARTS * SPIDER_has_Item_has_subquery * SPIDER_NEED_CHECK_CONDITION_AT_CHECKING_DIRECT_ORDER_LIMIT * SPIDER_NET_HAS_THD * SPIDER_REQUIRE_DEFINE_FOR_SECONDARY_OPEN_TABLES_BACKUP * SPIDER_XID_STATE_HAS_in_thd * XID_CACHE_IS_SPLITTED |
Summary | List and remove unnecessary #ifdef in Spider | Spider: remove dead code in #ifdef |
Description |
List unnecessary #ifdef, which complicate the code, from the Spider codebase.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove these #ifdefs. Note: defined or not defined is judged on 10.7. Removable #ifdef (defined): * HA_EXTRA_HAS_STARTING_ORDERED_INDEX_SCAN * HA_HAS_CHECKSUM_EXTENDED * HA_MRR_USE_DEFAULT_IMPL * HANDLER_HAS_CAN_USE_FOR_AUTO_INC_INIT * HANDLER_HAS_DIRECT_AGGREGATE * HANDLER_HAS_DIRECT_UPDATE_ROWS * HANDLER_HAS_DIRECT_UPDATE_ROWS_WITH_HS * HANDLER_HAS_NEED_INFO_FOR_AUTO_INC * HA_SLOW_CMP_REF * MARIADB_BASE_VERSION * PLUGIN_VAR_CAN_MEMALLOC * SPIDER_ENGINE_CONDITION_PUSHDOWN_IS_ALWAYS_ON * SPIDER_FIELD_FIELDPTR_REQUIRES_THDPTR * SPIDER_HANDLER_AUTO_REPAIR_HAS_ERROR * SPIDER_HANDLER_START_BULK_INSERT_HAS_FLAGS * SPIDER_HAS_APPEND_FOR_SINGLE_QUOTE * SPIDER_HAS_DECIMAL_OPERATION_RESULTS_VALUE_TYPE * SPIDER_HAS_DISCOVER_TABLE_STRUCTURE * SPIDER_HAS_EXPLAIN_QUERY * SPIDER_HAS_EXPR_CACHE_ITEM * SPIDER_HAS_GROUP_BY_HANDLER * SPIDER_HAS_HASH_VALUE_TYPE * SPIDER_HAS_JT_HASH_INDEX_MERGE * SPIDER_HAS_MY_CHARLEN * SPIDER_HAS_NEXT_THREAD_ID * SPIDER_HAS_SHOW_SIMPLE_FUNC * SPIDER_HAS_TIME_STATUS * SPIDER_I_S_USE_SHOW_FOR_COLUMN * SPIDER_Item_args_arg_count_IS_PROTECTED * SPIDER_ITEM_HAS_CMP_TYPE * SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY * SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY_AND_THDPTR * SPIDER_LIKE_FUNC_HAS_GET_NEGATED * SPIDER_MDEV_16246 * SPIDER_NEED_INIT_ONE_TABLE_FOR_FIND_TEMPORARY_TABLE * SPIDER_open_temporary_table * SPIDER_ORDER_HAS_ENUM_ORDE * SPIDER_SQL_CACHE_IS_IN_LEX * SPIDER_SUPPORT_CREATE_OR_REPLACE_TABLE * SPIDER_UPDATE_ROW_HAS_CONST_NEW_DATA * SPIDER_USE_CONST_ITEM_FOR_STRING_INT_REAL_DECIMAL_DATE_ITEM * SPIDER_use_LEX_CSTRING_for_database_tablename_alias * SPIDER_use_LEX_CSTRING_for_Field_blob_constructor * SPIDER_use_LEX_CSTRING_for_KEY_Field_name * SPIDER_use_LEX_CSTRING_for_KEY_Field_name * SPIDER_XID_USES_xid_cache_iterate Removable #ifdef (not defined): * HA_CAN_BULK_ACCESS * HA_EXTRA_HAS_HA_EXTRA_USE_CMP_REF * HA_PT_CALL_AT_ONCE_COND_PUSH * HA_PT_CALL_AT_ONCE_EXTERNAL_LOCK * HA_PT_CALL_AT_ONCE_EXTRA * HA_PT_CALL_AT_ONCE_INFO_PUSH * HA_PT_CALL_AT_ONCE_START_STMT * HA_PT_CALL_AT_ONCE_STORE_LOCK * HA_PT_CALL_AT_ONCE_TOP_TABLE * HASH_UPDATE_WITH_HASH_VALUE * -HAVE_ORACLE_OCI- ( * -HS_HAS_SQLCOM- ( * ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC * ITEM_FUNC_TIMESTAMPDIFF_ARE_PUBLIC * MYSQL_VERSION_ID < ${OLD_VERSION} * SPIDER_HANDLER_SUPPORT_MULTIPLE_KEY_PARTS * SPIDER_has_Item_has_subquery * SPIDER_NEED_CHECK_CONDITION_AT_CHECKING_DIRECT_ORDER_LIMIT * SPIDER_NET_HAS_THD * SPIDER_REQUIRE_DEFINE_FOR_SECONDARY_OPEN_TABLES_BACKUP * SPIDER_XID_STATE_HAS_in_thd * XID_CACHE_IS_SPLITTED |
Remove dead code, in Spider, which is protected by #ifdef.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove dead code in #ifdef. Removable #ifdef (not defined): * HA_CAN_BULK_ACCESS * HA_EXTRA_HAS_HA_EXTRA_USE_CMP_REF * HA_PT_CALL_AT_ONCE_COND_PUSH * HA_PT_CALL_AT_ONCE_EXTERNAL_LOCK * HA_PT_CALL_AT_ONCE_EXTRA * HA_PT_CALL_AT_ONCE_INFO_PUSH * HA_PT_CALL_AT_ONCE_START_STMT * HA_PT_CALL_AT_ONCE_STORE_LOCK * HA_PT_CALL_AT_ONCE_TOP_TABLE * HASH_UPDATE_WITH_HASH_VALUE * -HAVE_ORACLE_OCI- ( * -HS_HAS_SQLCOM- ( * ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC * ITEM_FUNC_TIMESTAMPDIFF_ARE_PUBLIC * MYSQL_VERSION_ID < ${OLD_VERSION} * SPIDER_HANDLER_SUPPORT_MULTIPLE_KEY_PARTS * SPIDER_has_Item_has_subquery * SPIDER_NEED_CHECK_CONDITION_AT_CHECKING_DIRECT_ORDER_LIMIT * SPIDER_NET_HAS_THD * SPIDER_REQUIRE_DEFINE_FOR_SECONDARY_OPEN_TABLES_BACKUP * SPIDER_XID_STATE_HAS_in_thd * XID_CACHE_IS_SPLITTED |
Description |
Remove dead code, in Spider, which is protected by #ifdef.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove dead code in #ifdef. Removable #ifdef (not defined): * HA_CAN_BULK_ACCESS * HA_EXTRA_HAS_HA_EXTRA_USE_CMP_REF * HA_PT_CALL_AT_ONCE_COND_PUSH * HA_PT_CALL_AT_ONCE_EXTERNAL_LOCK * HA_PT_CALL_AT_ONCE_EXTRA * HA_PT_CALL_AT_ONCE_INFO_PUSH * HA_PT_CALL_AT_ONCE_START_STMT * HA_PT_CALL_AT_ONCE_STORE_LOCK * HA_PT_CALL_AT_ONCE_TOP_TABLE * HASH_UPDATE_WITH_HASH_VALUE * -HAVE_ORACLE_OCI- ( * -HS_HAS_SQLCOM- ( * ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC * ITEM_FUNC_TIMESTAMPDIFF_ARE_PUBLIC * MYSQL_VERSION_ID < ${OLD_VERSION} * SPIDER_HANDLER_SUPPORT_MULTIPLE_KEY_PARTS * SPIDER_has_Item_has_subquery * SPIDER_NEED_CHECK_CONDITION_AT_CHECKING_DIRECT_ORDER_LIMIT * SPIDER_NET_HAS_THD * SPIDER_REQUIRE_DEFINE_FOR_SECONDARY_OPEN_TABLES_BACKUP * SPIDER_XID_STATE_HAS_in_thd * XID_CACHE_IS_SPLITTED |
Remove dead code, in Spider, which is protected by #ifdef.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove dead code in #ifdef. * HA_CAN_BULK_ACCESS * HA_EXTRA_HAS_HA_EXTRA_USE_CMP_REF * HA_PT_CALL_AT_ONCE_COND_PUSH * HA_PT_CALL_AT_ONCE_EXTERNAL_LOCK * HA_PT_CALL_AT_ONCE_EXTRA * HA_PT_CALL_AT_ONCE_INFO_PUSH * HA_PT_CALL_AT_ONCE_START_STMT * HA_PT_CALL_AT_ONCE_STORE_LOCK * HA_PT_CALL_AT_ONCE_TOP_TABLE * HASH_UPDATE_WITH_HASH_VALUE * -HAVE_ORACLE_OCI- ( * -HS_HAS_SQLCOM- ( * -ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC- (maybe used in future) * -ITEM_FUNC_TIMESTAMPDIFF_ARE_PUBLIC- (maybe used in future) * MYSQL_VERSION_ID < ${OLD_VERSION} * SPIDER_HANDLER_SUPPORT_MULTIPLE_KEY_PARTS * SPIDER_has_Item_has_subquery * SPIDER_NEED_CHECK_CONDITION_AT_CHECKING_DIRECT_ORDER_LIMIT * SPIDER_NET_HAS_THD * SPIDER_REQUIRE_DEFINE_FOR_SECONDARY_OPEN_TABLES_BACKUP * SPIDER_XID_STATE_HAS_in_thd * XID_CACHE_IS_SPLITTED |
Description |
Remove dead code, in Spider, which is protected by #ifdef.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove dead code in #ifdef. * HA_CAN_BULK_ACCESS * HA_EXTRA_HAS_HA_EXTRA_USE_CMP_REF * HA_PT_CALL_AT_ONCE_COND_PUSH * HA_PT_CALL_AT_ONCE_EXTERNAL_LOCK * HA_PT_CALL_AT_ONCE_EXTRA * HA_PT_CALL_AT_ONCE_INFO_PUSH * HA_PT_CALL_AT_ONCE_START_STMT * HA_PT_CALL_AT_ONCE_STORE_LOCK * HA_PT_CALL_AT_ONCE_TOP_TABLE * HASH_UPDATE_WITH_HASH_VALUE * -HAVE_ORACLE_OCI- ( * -HS_HAS_SQLCOM- ( * -ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC- (maybe used in future) * -ITEM_FUNC_TIMESTAMPDIFF_ARE_PUBLIC- (maybe used in future) * MYSQL_VERSION_ID < ${OLD_VERSION} * SPIDER_HANDLER_SUPPORT_MULTIPLE_KEY_PARTS * SPIDER_has_Item_has_subquery * SPIDER_NEED_CHECK_CONDITION_AT_CHECKING_DIRECT_ORDER_LIMIT * SPIDER_NET_HAS_THD * SPIDER_REQUIRE_DEFINE_FOR_SECONDARY_OPEN_TABLES_BACKUP * SPIDER_XID_STATE_HAS_in_thd * XID_CACHE_IS_SPLITTED |
Remove dead code, in Spider, which is protected by #ifdef.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove dead code in #ifdef. * (x) HA_CAN_BULK_ACCESS * (x) HA_EXTRA_HAS_HA_EXTRA_USE_CMP_REF * (x) HA_PT_CALL_AT_ONCE_COND_PUSH * (x) HA_PT_CALL_AT_ONCE_EXTERNAL_LOCK * (x) HA_PT_CALL_AT_ONCE_EXTRA * (x) HA_PT_CALL_AT_ONCE_INFO_PUSH * (x) HA_PT_CALL_AT_ONCE_START_STMT * (x) HA_PT_CALL_AT_ONCE_STORE_LOCK * (x) HA_PT_CALL_AT_ONCE_TOP_TABLE * (x) HASH_UPDATE_WITH_HASH_VALUE * -HAVE_ORACLE_OCI- ( * -HS_HAS_SQLCOM- ( * -ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC- (maybe used in future) * -ITEM_FUNC_TIMESTAMPDIFF_ARE_PUBLIC- (maybe used in future) * (x) MYSQL_VERSION_ID < ${OLD_VERSION} * (x) SPIDER_HANDLER_SUPPORT_MULTIPLE_KEY_PARTS * (x) SPIDER_has_Item_has_subquery * (x) SPIDER_NEED_CHECK_CONDITION_AT_CHECKING_DIRECT_ORDER_LIMIT * (x) SPIDER_NET_HAS_THD * (x) SPIDER_REQUIRE_DEFINE_FOR_SECONDARY_OPEN_TABLES_BACKUP * (x) SPIDER_XID_STATE_HAS_in_thd * (x) XID_CACHE_IS_SPLITTED |
Description |
Remove dead code, in Spider, which is protected by #ifdef.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove dead code in #ifdef. * (x) HA_CAN_BULK_ACCESS * (x) HA_EXTRA_HAS_HA_EXTRA_USE_CMP_REF * (x) HA_PT_CALL_AT_ONCE_COND_PUSH * (x) HA_PT_CALL_AT_ONCE_EXTERNAL_LOCK * (x) HA_PT_CALL_AT_ONCE_EXTRA * (x) HA_PT_CALL_AT_ONCE_INFO_PUSH * (x) HA_PT_CALL_AT_ONCE_START_STMT * (x) HA_PT_CALL_AT_ONCE_STORE_LOCK * (x) HA_PT_CALL_AT_ONCE_TOP_TABLE * (x) HASH_UPDATE_WITH_HASH_VALUE * -HAVE_ORACLE_OCI- ( * -HS_HAS_SQLCOM- ( * -ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC- (maybe used in future) * -ITEM_FUNC_TIMESTAMPDIFF_ARE_PUBLIC- (maybe used in future) * (x) MYSQL_VERSION_ID < ${OLD_VERSION} * (x) SPIDER_HANDLER_SUPPORT_MULTIPLE_KEY_PARTS * (x) SPIDER_has_Item_has_subquery * (x) SPIDER_NEED_CHECK_CONDITION_AT_CHECKING_DIRECT_ORDER_LIMIT * (x) SPIDER_NET_HAS_THD * (x) SPIDER_REQUIRE_DEFINE_FOR_SECONDARY_OPEN_TABLES_BACKUP * (x) SPIDER_XID_STATE_HAS_in_thd * (x) XID_CACHE_IS_SPLITTED |
Remove dead code, in Spider, which is protected by #ifdef.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove dead code in #ifdef. The following constant should be checked: * (x) HA_EXTRA_HAS_STARTING_ORDERED_INDEX_SCAN * (x) HA_HAS_CHECKSUM_EXTENDED * (x) HA_MRR_USE_DEFAULT_IMPL * (x) HANDLER_HAS_CAN_USE_FOR_AUTO_INC_INIT * (x) HANDLER_HAS_DIRECT_AGGREGATE * (x) HANDLER_HAS_DIRECT_UPDATE_ROWS * (x) HANDLER_HAS_DIRECT_UPDATE_ROWS_WITH_HS * (x) HANDLER_HAS_NEED_INFO_FOR_AUTO_INC * (x) HA_SLOW_CMP_REF * (x) MARIADB_BASE_VERSION * (x) PLUGIN_VAR_CAN_MEMALLOC * (x) SPIDER_ENGINE_CONDITION_PUSHDOWN_IS_ALWAYS_ON * (x) SPIDER_FIELD_FIELDPTR_REQUIRES_THDPTR * (x) SPIDER_HANDLER_AUTO_REPAIR_HAS_ERROR * (x) SPIDER_HANDLER_START_BULK_INSERT_HAS_FLAGS * (x) SPIDER_HAS_APPEND_FOR_SINGLE_QUOTE * (x) SPIDER_HAS_DECIMAL_OPERATION_RESULTS_VALUE_TYPE * (x) SPIDER_HAS_DISCOVER_TABLE_STRUCTURE * (x) SPIDER_HAS_EXPLAIN_QUERY * (x) SPIDER_HAS_EXPR_CACHE_ITEM * (x) SPIDER_HAS_GROUP_BY_HANDLER * (x) SPIDER_HAS_HASH_VALUE_TYPE * (x) SPIDER_HAS_JT_HASH_INDEX_MERGE * (x) SPIDER_HAS_MY_CHARLEN * (x) SPIDER_HAS_NEXT_THREAD_ID * (x) SPIDER_HAS_SHOW_SIMPLE_FUNC * (x) SPIDER_HAS_TIME_STATUS * (x) SPIDER_I_S_USE_SHOW_FOR_COLUMN * (x) SPIDER_Item_args_arg_count_IS_PROTECTED * (x) SPIDER_ITEM_HAS_CMP_TYPE * (x) SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY * (x) SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY_AND_THDPTR * (x) SPIDER_LIKE_FUNC_HAS_GET_NEGATED * (x) SPIDER_MDEV_16246 * (x) SPIDER_NEED_INIT_ONE_TABLE_FOR_FIND_TEMPORARY_TABLE * (x) SPIDER_open_temporary_table * (x) SPIDER_ORDER_HAS_ENUM_ORDE * (x) SPIDER_SQL_CACHE_IS_IN_LEX * (x) SPIDER_SUPPORT_CREATE_OR_REPLACE_TABLE * (x) SPIDER_UPDATE_ROW_HAS_CONST_NEW_DATA * (x) SPIDER_USE_CONST_ITEM_FOR_STRING_INT_REAL_DECIMAL_DATE_ITEM * (x) SPIDER_use_LEX_CSTRING_for_database_tablename_alias * (x) SPIDER_use_LEX_CSTRING_for_Field_blob_constructor * (x) SPIDER_use_LEX_CSTRING_for_KEY_Field_name * (x) SPIDER_use_LEX_CSTRING_for_KEY_Field_name * (x) SPIDER_XID_USES_xid_cache_iterate. * (x) HA_CAN_BULK_ACCESS * (x) HA_EXTRA_HAS_HA_EXTRA_USE_CMP_REF * (x) HA_PT_CALL_AT_ONCE_COND_PUSH * (x) HA_PT_CALL_AT_ONCE_EXTERNAL_LOCK * (x) HA_PT_CALL_AT_ONCE_EXTRA * (x) HA_PT_CALL_AT_ONCE_INFO_PUSH * (x) HA_PT_CALL_AT_ONCE_START_STMT * (x) HA_PT_CALL_AT_ONCE_STORE_LOCK * (x) HA_PT_CALL_AT_ONCE_TOP_TABLE * (x) HASH_UPDATE_WITH_HASH_VALUE * -HAVE_ORACLE_OCI- ( * -HS_HAS_SQLCOM- ( * -ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC- (maybe used in future) * -ITEM_FUNC_TIMESTAMPDIFF_ARE_PUBLIC- (maybe used in future) * (x) MYSQL_VERSION_ID < ${OLD_VERSION} * (x) SPIDER_HANDLER_SUPPORT_MULTIPLE_KEY_PARTS * (x) SPIDER_has_Item_has_subquery * (x) SPIDER_NEED_CHECK_CONDITION_AT_CHECKING_DIRECT_ORDER_LIMIT * (x) SPIDER_NET_HAS_THD * (x) SPIDER_REQUIRE_DEFINE_FOR_SECONDARY_OPEN_TABLES_BACKUP * (x) SPIDER_XID_STATE_HAS_in_thd * (x) XID_CACHE_IS_SPLITTED |
Assignee | Nayuta Yanagisawa [ JIRAUSER47117 ] |
Workflow | MariaDB v3 [ 123562 ] | MariaDB v4 [ 131526 ] |
Link | This issue blocks MDEV-27518 [ MDEV-27518 ] |
Description |
Remove dead code, in Spider, which is protected by #ifdef.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove dead code in #ifdef. The following constant should be checked: * (x) HA_EXTRA_HAS_STARTING_ORDERED_INDEX_SCAN * (x) HA_HAS_CHECKSUM_EXTENDED * (x) HA_MRR_USE_DEFAULT_IMPL * (x) HANDLER_HAS_CAN_USE_FOR_AUTO_INC_INIT * (x) HANDLER_HAS_DIRECT_AGGREGATE * (x) HANDLER_HAS_DIRECT_UPDATE_ROWS * (x) HANDLER_HAS_DIRECT_UPDATE_ROWS_WITH_HS * (x) HANDLER_HAS_NEED_INFO_FOR_AUTO_INC * (x) HA_SLOW_CMP_REF * (x) MARIADB_BASE_VERSION * (x) PLUGIN_VAR_CAN_MEMALLOC * (x) SPIDER_ENGINE_CONDITION_PUSHDOWN_IS_ALWAYS_ON * (x) SPIDER_FIELD_FIELDPTR_REQUIRES_THDPTR * (x) SPIDER_HANDLER_AUTO_REPAIR_HAS_ERROR * (x) SPIDER_HANDLER_START_BULK_INSERT_HAS_FLAGS * (x) SPIDER_HAS_APPEND_FOR_SINGLE_QUOTE * (x) SPIDER_HAS_DECIMAL_OPERATION_RESULTS_VALUE_TYPE * (x) SPIDER_HAS_DISCOVER_TABLE_STRUCTURE * (x) SPIDER_HAS_EXPLAIN_QUERY * (x) SPIDER_HAS_EXPR_CACHE_ITEM * (x) SPIDER_HAS_GROUP_BY_HANDLER * (x) SPIDER_HAS_HASH_VALUE_TYPE * (x) SPIDER_HAS_JT_HASH_INDEX_MERGE * (x) SPIDER_HAS_MY_CHARLEN * (x) SPIDER_HAS_NEXT_THREAD_ID * (x) SPIDER_HAS_SHOW_SIMPLE_FUNC * (x) SPIDER_HAS_TIME_STATUS * (x) SPIDER_I_S_USE_SHOW_FOR_COLUMN * (x) SPIDER_Item_args_arg_count_IS_PROTECTED * (x) SPIDER_ITEM_HAS_CMP_TYPE * (x) SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY * (x) SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY_AND_THDPTR * (x) SPIDER_LIKE_FUNC_HAS_GET_NEGATED * (x) SPIDER_MDEV_16246 * (x) SPIDER_NEED_INIT_ONE_TABLE_FOR_FIND_TEMPORARY_TABLE * (x) SPIDER_open_temporary_table * (x) SPIDER_ORDER_HAS_ENUM_ORDE * (x) SPIDER_SQL_CACHE_IS_IN_LEX * (x) SPIDER_SUPPORT_CREATE_OR_REPLACE_TABLE * (x) SPIDER_UPDATE_ROW_HAS_CONST_NEW_DATA * (x) SPIDER_USE_CONST_ITEM_FOR_STRING_INT_REAL_DECIMAL_DATE_ITEM * (x) SPIDER_use_LEX_CSTRING_for_database_tablename_alias * (x) SPIDER_use_LEX_CSTRING_for_Field_blob_constructor * (x) SPIDER_use_LEX_CSTRING_for_KEY_Field_name * (x) SPIDER_use_LEX_CSTRING_for_KEY_Field_name * (x) SPIDER_XID_USES_xid_cache_iterate. * (x) HA_CAN_BULK_ACCESS * (x) HA_EXTRA_HAS_HA_EXTRA_USE_CMP_REF * (x) HA_PT_CALL_AT_ONCE_COND_PUSH * (x) HA_PT_CALL_AT_ONCE_EXTERNAL_LOCK * (x) HA_PT_CALL_AT_ONCE_EXTRA * (x) HA_PT_CALL_AT_ONCE_INFO_PUSH * (x) HA_PT_CALL_AT_ONCE_START_STMT * (x) HA_PT_CALL_AT_ONCE_STORE_LOCK * (x) HA_PT_CALL_AT_ONCE_TOP_TABLE * (x) HASH_UPDATE_WITH_HASH_VALUE * -HAVE_ORACLE_OCI- ( * -HS_HAS_SQLCOM- ( * -ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC- (maybe used in future) * -ITEM_FUNC_TIMESTAMPDIFF_ARE_PUBLIC- (maybe used in future) * (x) MYSQL_VERSION_ID < ${OLD_VERSION} * (x) SPIDER_HANDLER_SUPPORT_MULTIPLE_KEY_PARTS * (x) SPIDER_has_Item_has_subquery * (x) SPIDER_NEED_CHECK_CONDITION_AT_CHECKING_DIRECT_ORDER_LIMIT * (x) SPIDER_NET_HAS_THD * (x) SPIDER_REQUIRE_DEFINE_FOR_SECONDARY_OPEN_TABLES_BACKUP * (x) SPIDER_XID_STATE_HAS_in_thd * (x) XID_CACHE_IS_SPLITTED |
Remove dead code, in Spider, which is protected by #ifdef.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove dead code in #ifdef. The following constant should be checked: * (x) HA_EXTRA_HAS_STARTING_ORDERED_INDEX_SCAN * (x) HA_HAS_CHECKSUM_EXTENDED * (x) HA_MRR_USE_DEFAULT_IMPL * (x) HANDLER_HAS_CAN_USE_FOR_AUTO_INC_INIT * (x) HANDLER_HAS_DIRECT_AGGREGATE * (x) HANDLER_HAS_DIRECT_UPDATE_ROWS * (x) HANDLER_HAS_DIRECT_UPDATE_ROWS_WITH_HS * (x) HANDLER_HAS_NEED_INFO_FOR_AUTO_INC * (x) HA_SLOW_CMP_REF * (x) MARIADB_BASE_VERSION * (x) PLUGIN_VAR_CAN_MEMALLOC * (x) SPIDER_ENGINE_CONDITION_PUSHDOWN_IS_ALWAYS_ON * (x) SPIDER_FIELD_FIELDPTR_REQUIRES_THDPTR * (x) SPIDER_HANDLER_AUTO_REPAIR_HAS_ERROR * (x) SPIDER_HANDLER_START_BULK_INSERT_HAS_FLAGS * (x) SPIDER_HAS_APPEND_FOR_SINGLE_QUOTE * (x) SPIDER_HAS_DECIMAL_OPERATION_RESULTS_VALUE_TYPE * (x) SPIDER_HAS_DISCOVER_TABLE_STRUCTURE * (x) SPIDER_HAS_EXPLAIN_QUERY * (x) SPIDER_HAS_EXPR_CACHE_ITEM * (x) SPIDER_HAS_GROUP_BY_HANDLER * (x) SPIDER_HAS_HASH_VALUE_TYPE * (x) SPIDER_HAS_JT_HASH_INDEX_MERGE * (x) SPIDER_HAS_MY_CHARLEN * (x) SPIDER_HAS_NEXT_THREAD_ID * (x) SPIDER_HAS_SHOW_SIMPLE_FUNC * (x) SPIDER_HAS_TIME_STATUS * (x) SPIDER_I_S_USE_SHOW_FOR_COLUMN * (x) SPIDER_Item_args_arg_count_IS_PROTECTED * (x) SPIDER_ITEM_HAS_CMP_TYPE * (x) SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY * (x) SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY_AND_THDPTR * (x) SPIDER_LIKE_FUNC_HAS_GET_NEGATED * (x) SPIDER_MDEV_16246 * (x) SPIDER_NEED_INIT_ONE_TABLE_FOR_FIND_TEMPORARY_TABLE * (x) SPIDER_open_temporary_table * (x) SPIDER_ORDER_HAS_ENUM_ORDE * (x) SPIDER_SQL_CACHE_IS_IN_LEX * (x) SPIDER_SUPPORT_CREATE_OR_REPLACE_TABLE * (x) SPIDER_UPDATE_ROW_HAS_CONST_NEW_DATA * (x) SPIDER_USE_CONST_ITEM_FOR_STRING_INT_REAL_DECIMAL_DATE_ITEM * (x) SPIDER_use_LEX_CSTRING_for_database_tablename_alias * (x) SPIDER_use_LEX_CSTRING_for_Field_blob_constructor * (x) SPIDER_use_LEX_CSTRING_for_KEY_Field_name * (x) SPIDER_use_LEX_CSTRING_for_KEY_Field_name * (x) SPIDER_XID_USES_xid_cache_iterate. * (x) HA_CAN_BULK_ACCESS * (x) HA_EXTRA_HAS_HA_EXTRA_USE_CMP_REF * (x) HA_PT_CALL_AT_ONCE_COND_PUSH * (x) HA_PT_CALL_AT_ONCE_EXTERNAL_LOCK * (x) HA_PT_CALL_AT_ONCE_EXTRA * (x) HA_PT_CALL_AT_ONCE_INFO_PUSH * (x) HA_PT_CALL_AT_ONCE_START_STMT * (x) HA_PT_CALL_AT_ONCE_STORE_LOCK * (x) HA_PT_CALL_AT_ONCE_TOP_TABLE * (x) HASH_UPDATE_WITH_HASH_VALUE * -HAVE_ORACLE_OCI- ( * -HS_HAS_SQLCOM- ( * -ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC- (maybe used in future) * -ITEM_FUNC_TIMESTAMPDIFF_ARE_PUBLIC- (maybe used in future) * (x) MYSQL_VERSION_ID < ${OLD_VERSION} * (x) SPIDER_HANDLER_SUPPORT_MULTIPLE_KEY_PARTS * (x) SPIDER_has_Item_has_subquery * (x) SPIDER_NEED_CHECK_CONDITION_AT_CHECKING_DIRECT_ORDER_LIMIT * (x) SPIDER_NET_HAS_THD * (x) SPIDER_REQUIRE_DEFINE_FOR_SECONDARY_OPEN_TABLES_BACKUP * (x) SPIDER_XID_STATE_HAS_in_thd * -WITH_PARTITION_STORAGE_ENGINE- ( * (x) XID_CACHE_IS_SPLITTED |
Description |
Remove dead code, in Spider, which is protected by #ifdef.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove dead code in #ifdef. The following constant should be checked: * (x) HA_EXTRA_HAS_STARTING_ORDERED_INDEX_SCAN * (x) HA_HAS_CHECKSUM_EXTENDED * (x) HA_MRR_USE_DEFAULT_IMPL * (x) HANDLER_HAS_CAN_USE_FOR_AUTO_INC_INIT * (x) HANDLER_HAS_DIRECT_AGGREGATE * (x) HANDLER_HAS_DIRECT_UPDATE_ROWS * (x) HANDLER_HAS_DIRECT_UPDATE_ROWS_WITH_HS * (x) HANDLER_HAS_NEED_INFO_FOR_AUTO_INC * (x) HA_SLOW_CMP_REF * (x) MARIADB_BASE_VERSION * (x) PLUGIN_VAR_CAN_MEMALLOC * (x) SPIDER_ENGINE_CONDITION_PUSHDOWN_IS_ALWAYS_ON * (x) SPIDER_FIELD_FIELDPTR_REQUIRES_THDPTR * (x) SPIDER_HANDLER_AUTO_REPAIR_HAS_ERROR * (x) SPIDER_HANDLER_START_BULK_INSERT_HAS_FLAGS * (x) SPIDER_HAS_APPEND_FOR_SINGLE_QUOTE * (x) SPIDER_HAS_DECIMAL_OPERATION_RESULTS_VALUE_TYPE * (x) SPIDER_HAS_DISCOVER_TABLE_STRUCTURE * (x) SPIDER_HAS_EXPLAIN_QUERY * (x) SPIDER_HAS_EXPR_CACHE_ITEM * (x) SPIDER_HAS_GROUP_BY_HANDLER * (x) SPIDER_HAS_HASH_VALUE_TYPE * (x) SPIDER_HAS_JT_HASH_INDEX_MERGE * (x) SPIDER_HAS_MY_CHARLEN * (x) SPIDER_HAS_NEXT_THREAD_ID * (x) SPIDER_HAS_SHOW_SIMPLE_FUNC * (x) SPIDER_HAS_TIME_STATUS * (x) SPIDER_I_S_USE_SHOW_FOR_COLUMN * (x) SPIDER_Item_args_arg_count_IS_PROTECTED * (x) SPIDER_ITEM_HAS_CMP_TYPE * (x) SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY * (x) SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY_AND_THDPTR * (x) SPIDER_LIKE_FUNC_HAS_GET_NEGATED * (x) SPIDER_MDEV_16246 * (x) SPIDER_NEED_INIT_ONE_TABLE_FOR_FIND_TEMPORARY_TABLE * (x) SPIDER_open_temporary_table * (x) SPIDER_ORDER_HAS_ENUM_ORDE * (x) SPIDER_SQL_CACHE_IS_IN_LEX * (x) SPIDER_SUPPORT_CREATE_OR_REPLACE_TABLE * (x) SPIDER_UPDATE_ROW_HAS_CONST_NEW_DATA * (x) SPIDER_USE_CONST_ITEM_FOR_STRING_INT_REAL_DECIMAL_DATE_ITEM * (x) SPIDER_use_LEX_CSTRING_for_database_tablename_alias * (x) SPIDER_use_LEX_CSTRING_for_Field_blob_constructor * (x) SPIDER_use_LEX_CSTRING_for_KEY_Field_name * (x) SPIDER_use_LEX_CSTRING_for_KEY_Field_name * (x) SPIDER_XID_USES_xid_cache_iterate. * (x) HA_CAN_BULK_ACCESS * (x) HA_EXTRA_HAS_HA_EXTRA_USE_CMP_REF * (x) HA_PT_CALL_AT_ONCE_COND_PUSH * (x) HA_PT_CALL_AT_ONCE_EXTERNAL_LOCK * (x) HA_PT_CALL_AT_ONCE_EXTRA * (x) HA_PT_CALL_AT_ONCE_INFO_PUSH * (x) HA_PT_CALL_AT_ONCE_START_STMT * (x) HA_PT_CALL_AT_ONCE_STORE_LOCK * (x) HA_PT_CALL_AT_ONCE_TOP_TABLE * (x) HASH_UPDATE_WITH_HASH_VALUE * -HAVE_ORACLE_OCI- ( * -HS_HAS_SQLCOM- ( * -ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC- (maybe used in future) * -ITEM_FUNC_TIMESTAMPDIFF_ARE_PUBLIC- (maybe used in future) * (x) MYSQL_VERSION_ID < ${OLD_VERSION} * (x) SPIDER_HANDLER_SUPPORT_MULTIPLE_KEY_PARTS * (x) SPIDER_has_Item_has_subquery * (x) SPIDER_NEED_CHECK_CONDITION_AT_CHECKING_DIRECT_ORDER_LIMIT * (x) SPIDER_NET_HAS_THD * (x) SPIDER_REQUIRE_DEFINE_FOR_SECONDARY_OPEN_TABLES_BACKUP * (x) SPIDER_XID_STATE_HAS_in_thd * -WITH_PARTITION_STORAGE_ENGINE- ( * (x) XID_CACHE_IS_SPLITTED |
Remove dead code, in Spider, which is protected by #ifdef.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove dead code in #ifdef. The following constant should be checked: * (x) HA_EXTRA_HAS_STARTING_ORDERED_INDEX_SCAN * (x) HA_HAS_CHECKSUM_EXTENDED * (x) HA_MRR_USE_DEFAULT_IMPL * (x) HANDLER_HAS_CAN_USE_FOR_AUTO_INC_INIT * (x) HANDLER_HAS_DIRECT_AGGREGATE * (x) HANDLER_HAS_DIRECT_UPDATE_ROWS * (x) HANDLER_HAS_DIRECT_UPDATE_ROWS_WITH_HS * (x) HANDLER_HAS_NEED_INFO_FOR_AUTO_INC * (x) HA_SLOW_CMP_REF * (x) MARIADB_BASE_VERSION * (x) PLUGIN_VAR_CAN_MEMALLOC * (x) SPIDER_ENGINE_CONDITION_PUSHDOWN_IS_ALWAYS_ON * (x) SPIDER_FIELD_FIELDPTR_REQUIRES_THDPTR * (x) SPIDER_HANDLER_AUTO_REPAIR_HAS_ERROR * (x) SPIDER_HANDLER_START_BULK_INSERT_HAS_FLAGS * (x) SPIDER_HAS_APPEND_FOR_SINGLE_QUOTE * (x) SPIDER_HAS_DECIMAL_OPERATION_RESULTS_VALUE_TYPE * (x) SPIDER_HAS_DISCOVER_TABLE_STRUCTURE * (x) SPIDER_HAS_EXPLAIN_QUERY * (x) SPIDER_HAS_EXPR_CACHE_ITEM * (x) SPIDER_HAS_GROUP_BY_HANDLER * (x) SPIDER_HAS_HASH_VALUE_TYPE * (x) SPIDER_HAS_JT_HASH_INDEX_MERGE * (x) SPIDER_HAS_MY_CHARLEN * (x) SPIDER_HAS_NEXT_THREAD_ID * (x) SPIDER_HAS_SHOW_SIMPLE_FUNC * (x) SPIDER_HAS_TIME_STATUS * (x) SPIDER_I_S_USE_SHOW_FOR_COLUMN * (x) SPIDER_Item_args_arg_count_IS_PROTECTED * (x) SPIDER_ITEM_HAS_CMP_TYPE * (x) SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY * (x) SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY_AND_THDPTR * (x) SPIDER_LIKE_FUNC_HAS_GET_NEGATED * (x) SPIDER_MDEV_16246 * (x) SPIDER_NEED_INIT_ONE_TABLE_FOR_FIND_TEMPORARY_TABLE * (x) SPIDER_open_temporary_table * (x) SPIDER_ORDER_HAS_ENUM_ORDE * (x) SPIDER_SQL_CACHE_IS_IN_LEX * (x) SPIDER_SUPPORT_CREATE_OR_REPLACE_TABLE * (x) SPIDER_UPDATE_ROW_HAS_CONST_NEW_DATA * (x) SPIDER_USE_CONST_ITEM_FOR_STRING_INT_REAL_DECIMAL_DATE_ITEM * (x) SPIDER_use_LEX_CSTRING_for_database_tablename_alias * (x) SPIDER_use_LEX_CSTRING_for_Field_blob_constructor * (x) SPIDER_use_LEX_CSTRING_for_KEY_Field_name * (x) SPIDER_use_LEX_CSTRING_for_KEY_Field_name * (x) SPIDER_XID_USES_xid_cache_iterate. * (x) HA_CAN_BULK_ACCESS * (x) HA_EXTRA_HAS_HA_EXTRA_USE_CMP_REF * (x) HA_PT_CALL_AT_ONCE_COND_PUSH * (x) HA_PT_CALL_AT_ONCE_EXTERNAL_LOCK * (x) HA_PT_CALL_AT_ONCE_EXTRA * (x) HA_PT_CALL_AT_ONCE_INFO_PUSH * (x) HA_PT_CALL_AT_ONCE_START_STMT * (x) HA_PT_CALL_AT_ONCE_STORE_LOCK * (x) HA_PT_CALL_AT_ONCE_TOP_TABLE * (x) HASH_UPDATE_WITH_HASH_VALUE * -HAVE_ORACLE_OCI- ( * -HS_HAS_SQLCOM- ( * (x)ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC * (x)ITEM_FUNC_TIMESTAMPDIFF_ARE_PUBLIC * (x) MYSQL_VERSION_ID < ${OLD_VERSION} * (x) SPIDER_HANDLER_SUPPORT_MULTIPLE_KEY_PARTS * (x) SPIDER_has_Item_has_subquery * (x) SPIDER_NEED_CHECK_CONDITION_AT_CHECKING_DIRECT_ORDER_LIMIT * (x) SPIDER_NET_HAS_THD * (x) SPIDER_REQUIRE_DEFINE_FOR_SECONDARY_OPEN_TABLES_BACKUP * (x) SPIDER_XID_STATE_HAS_in_thd * -WITH_PARTITION_STORAGE_ENGINE- ( * (x) XID_CACHE_IS_SPLITTED |
Description |
Remove dead code, in Spider, which is protected by #ifdef.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove dead code in #ifdef. The following constant should be checked: * (x) HA_EXTRA_HAS_STARTING_ORDERED_INDEX_SCAN * (x) HA_HAS_CHECKSUM_EXTENDED * (x) HA_MRR_USE_DEFAULT_IMPL * (x) HANDLER_HAS_CAN_USE_FOR_AUTO_INC_INIT * (x) HANDLER_HAS_DIRECT_AGGREGATE * (x) HANDLER_HAS_DIRECT_UPDATE_ROWS * (x) HANDLER_HAS_DIRECT_UPDATE_ROWS_WITH_HS * (x) HANDLER_HAS_NEED_INFO_FOR_AUTO_INC * (x) HA_SLOW_CMP_REF * (x) MARIADB_BASE_VERSION * (x) PLUGIN_VAR_CAN_MEMALLOC * (x) SPIDER_ENGINE_CONDITION_PUSHDOWN_IS_ALWAYS_ON * (x) SPIDER_FIELD_FIELDPTR_REQUIRES_THDPTR * (x) SPIDER_HANDLER_AUTO_REPAIR_HAS_ERROR * (x) SPIDER_HANDLER_START_BULK_INSERT_HAS_FLAGS * (x) SPIDER_HAS_APPEND_FOR_SINGLE_QUOTE * (x) SPIDER_HAS_DECIMAL_OPERATION_RESULTS_VALUE_TYPE * (x) SPIDER_HAS_DISCOVER_TABLE_STRUCTURE * (x) SPIDER_HAS_EXPLAIN_QUERY * (x) SPIDER_HAS_EXPR_CACHE_ITEM * (x) SPIDER_HAS_GROUP_BY_HANDLER * (x) SPIDER_HAS_HASH_VALUE_TYPE * (x) SPIDER_HAS_JT_HASH_INDEX_MERGE * (x) SPIDER_HAS_MY_CHARLEN * (x) SPIDER_HAS_NEXT_THREAD_ID * (x) SPIDER_HAS_SHOW_SIMPLE_FUNC * (x) SPIDER_HAS_TIME_STATUS * (x) SPIDER_I_S_USE_SHOW_FOR_COLUMN * (x) SPIDER_Item_args_arg_count_IS_PROTECTED * (x) SPIDER_ITEM_HAS_CMP_TYPE * (x) SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY * (x) SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY_AND_THDPTR * (x) SPIDER_LIKE_FUNC_HAS_GET_NEGATED * (x) SPIDER_MDEV_16246 * (x) SPIDER_NEED_INIT_ONE_TABLE_FOR_FIND_TEMPORARY_TABLE * (x) SPIDER_open_temporary_table * (x) SPIDER_ORDER_HAS_ENUM_ORDE * (x) SPIDER_SQL_CACHE_IS_IN_LEX * (x) SPIDER_SUPPORT_CREATE_OR_REPLACE_TABLE * (x) SPIDER_UPDATE_ROW_HAS_CONST_NEW_DATA * (x) SPIDER_USE_CONST_ITEM_FOR_STRING_INT_REAL_DECIMAL_DATE_ITEM * (x) SPIDER_use_LEX_CSTRING_for_database_tablename_alias * (x) SPIDER_use_LEX_CSTRING_for_Field_blob_constructor * (x) SPIDER_use_LEX_CSTRING_for_KEY_Field_name * (x) SPIDER_use_LEX_CSTRING_for_KEY_Field_name * (x) SPIDER_XID_USES_xid_cache_iterate. * (x) HA_CAN_BULK_ACCESS * (x) HA_EXTRA_HAS_HA_EXTRA_USE_CMP_REF * (x) HA_PT_CALL_AT_ONCE_COND_PUSH * (x) HA_PT_CALL_AT_ONCE_EXTERNAL_LOCK * (x) HA_PT_CALL_AT_ONCE_EXTRA * (x) HA_PT_CALL_AT_ONCE_INFO_PUSH * (x) HA_PT_CALL_AT_ONCE_START_STMT * (x) HA_PT_CALL_AT_ONCE_STORE_LOCK * (x) HA_PT_CALL_AT_ONCE_TOP_TABLE * (x) HASH_UPDATE_WITH_HASH_VALUE * -HAVE_ORACLE_OCI- ( * -HS_HAS_SQLCOM- ( * (x)ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC * (x)ITEM_FUNC_TIMESTAMPDIFF_ARE_PUBLIC * (x) MYSQL_VERSION_ID < ${OLD_VERSION} * (x) SPIDER_HANDLER_SUPPORT_MULTIPLE_KEY_PARTS * (x) SPIDER_has_Item_has_subquery * (x) SPIDER_NEED_CHECK_CONDITION_AT_CHECKING_DIRECT_ORDER_LIMIT * (x) SPIDER_NET_HAS_THD * (x) SPIDER_REQUIRE_DEFINE_FOR_SECONDARY_OPEN_TABLES_BACKUP * (x) SPIDER_XID_STATE_HAS_in_thd * -WITH_PARTITION_STORAGE_ENGINE- ( * (x) XID_CACHE_IS_SPLITTED |
Remove dead code, in Spider, which is protected by #ifdef.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove dead code in #ifdef. The following constant should be checked: * (x) HA_EXTRA_HAS_STARTING_ORDERED_INDEX_SCAN * (x) HA_HAS_CHECKSUM_EXTENDED * (x) HA_MRR_USE_DEFAULT_IMPL * (x) HANDLER_HAS_CAN_USE_FOR_AUTO_INC_INIT * (x) HANDLER_HAS_DIRECT_AGGREGATE * (x) HANDLER_HAS_DIRECT_UPDATE_ROWS * (x) HANDLER_HAS_DIRECT_UPDATE_ROWS_WITH_HS * (x) HANDLER_HAS_NEED_INFO_FOR_AUTO_INC * (x) HA_SLOW_CMP_REF * (x) MARIADB_BASE_VERSION * (x) PLUGIN_VAR_CAN_MEMALLOC * (x) SPIDER_ENGINE_CONDITION_PUSHDOWN_IS_ALWAYS_ON * (x) SPIDER_FIELD_FIELDPTR_REQUIRES_THDPTR * (x) SPIDER_HANDLER_AUTO_REPAIR_HAS_ERROR * (x) SPIDER_HANDLER_START_BULK_INSERT_HAS_FLAGS * (x) SPIDER_HAS_APPEND_FOR_SINGLE_QUOTE * (x) SPIDER_HAS_DECIMAL_OPERATION_RESULTS_VALUE_TYPE * (x) SPIDER_HAS_DISCOVER_TABLE_STRUCTURE * (x) SPIDER_HAS_EXPLAIN_QUERY * (x) SPIDER_HAS_EXPR_CACHE_ITEM * (x) SPIDER_HAS_GROUP_BY_HANDLER * (x) SPIDER_HAS_HASH_VALUE_TYPE * (x) SPIDER_HAS_JT_HASH_INDEX_MERGE * (x) SPIDER_HAS_MY_CHARLEN * (x) SPIDER_HAS_NEXT_THREAD_ID * (x) SPIDER_HAS_SHOW_SIMPLE_FUNC * (x) SPIDER_HAS_TIME_STATUS * (x) SPIDER_I_S_USE_SHOW_FOR_COLUMN * (x) SPIDER_Item_args_arg_count_IS_PROTECTED * (x) SPIDER_ITEM_HAS_CMP_TYPE * (x) SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY * (x) SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY_AND_THDPTR * (x) SPIDER_LIKE_FUNC_HAS_GET_NEGATED * (x) SPIDER_MDEV_16246 * (x) SPIDER_NEED_INIT_ONE_TABLE_FOR_FIND_TEMPORARY_TABLE * (x) SPIDER_open_temporary_table * (x) SPIDER_ORDER_HAS_ENUM_ORDE * (x) SPIDER_SQL_CACHE_IS_IN_LEX * (x) SPIDER_SUPPORT_CREATE_OR_REPLACE_TABLE * (x) SPIDER_UPDATE_ROW_HAS_CONST_NEW_DATA * (x) SPIDER_USE_CONST_ITEM_FOR_STRING_INT_REAL_DECIMAL_DATE_ITEM * (x) SPIDER_use_LEX_CSTRING_for_database_tablename_alias * (x) SPIDER_use_LEX_CSTRING_for_Field_blob_constructor * (x) SPIDER_use_LEX_CSTRING_for_KEY_Field_name * (x) SPIDER_use_LEX_CSTRING_for_KEY_Field_name * (x) SPIDER_XID_USES_xid_cache_iterate. * (x) HA_CAN_BULK_ACCESS * (x) HA_EXTRA_HAS_HA_EXTRA_USE_CMP_REF * (x) HA_PT_CALL_AT_ONCE_COND_PUSH * (x) HA_PT_CALL_AT_ONCE_EXTERNAL_LOCK * (x) HA_PT_CALL_AT_ONCE_EXTRA * (x) HA_PT_CALL_AT_ONCE_INFO_PUSH * (x) HA_PT_CALL_AT_ONCE_START_STMT * (x) HA_PT_CALL_AT_ONCE_STORE_LOCK * (x) HA_PT_CALL_AT_ONCE_TOP_TABLE * (x) HASH_UPDATE_WITH_HASH_VALUE * -HAVE_ORACLE_OCI- ( * -HS_HAS_SQLCOM- ( * (x) ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC * (x) ITEM_FUNC_TIMESTAMPDIFF_ARE_PUBLIC * (x) MYSQL_VERSION_ID < ${OLD_VERSION} * (x) SPIDER_HANDLER_SUPPORT_MULTIPLE_KEY_PARTS * (x) SPIDER_has_Item_has_subquery * (x) SPIDER_NEED_CHECK_CONDITION_AT_CHECKING_DIRECT_ORDER_LIMIT * (x) SPIDER_NET_HAS_THD * (x) SPIDER_REQUIRE_DEFINE_FOR_SECONDARY_OPEN_TABLES_BACKUP * (x) SPIDER_XID_STATE_HAS_in_thd * -WITH_PARTITION_STORAGE_ENGINE- ( * (x) XID_CACHE_IS_SPLITTED |
Link |
This issue relates to |
Fix Version/s | 10.9 [ 26905 ] | |
Fix Version/s | 10.8 [ 26121 ] |
Assignee | Nayuta Yanagisawa [ JIRAUSER47117 ] |
Priority | Major [ 3 ] | Critical [ 2 ] |
Description |
Remove dead code, in Spider, which is protected by #ifdef.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove dead code in #ifdef. The following constant should be checked: * (x) HA_EXTRA_HAS_STARTING_ORDERED_INDEX_SCAN * (x) HA_HAS_CHECKSUM_EXTENDED * (x) HA_MRR_USE_DEFAULT_IMPL * (x) HANDLER_HAS_CAN_USE_FOR_AUTO_INC_INIT * (x) HANDLER_HAS_DIRECT_AGGREGATE * (x) HANDLER_HAS_DIRECT_UPDATE_ROWS * (x) HANDLER_HAS_DIRECT_UPDATE_ROWS_WITH_HS * (x) HANDLER_HAS_NEED_INFO_FOR_AUTO_INC * (x) HA_SLOW_CMP_REF * (x) MARIADB_BASE_VERSION * (x) PLUGIN_VAR_CAN_MEMALLOC * (x) SPIDER_ENGINE_CONDITION_PUSHDOWN_IS_ALWAYS_ON * (x) SPIDER_FIELD_FIELDPTR_REQUIRES_THDPTR * (x) SPIDER_HANDLER_AUTO_REPAIR_HAS_ERROR * (x) SPIDER_HANDLER_START_BULK_INSERT_HAS_FLAGS * (x) SPIDER_HAS_APPEND_FOR_SINGLE_QUOTE * (x) SPIDER_HAS_DECIMAL_OPERATION_RESULTS_VALUE_TYPE * (x) SPIDER_HAS_DISCOVER_TABLE_STRUCTURE * (x) SPIDER_HAS_EXPLAIN_QUERY * (x) SPIDER_HAS_EXPR_CACHE_ITEM * (x) SPIDER_HAS_GROUP_BY_HANDLER * (x) SPIDER_HAS_HASH_VALUE_TYPE * (x) SPIDER_HAS_JT_HASH_INDEX_MERGE * (x) SPIDER_HAS_MY_CHARLEN * (x) SPIDER_HAS_NEXT_THREAD_ID * (x) SPIDER_HAS_SHOW_SIMPLE_FUNC * (x) SPIDER_HAS_TIME_STATUS * (x) SPIDER_I_S_USE_SHOW_FOR_COLUMN * (x) SPIDER_Item_args_arg_count_IS_PROTECTED * (x) SPIDER_ITEM_HAS_CMP_TYPE * (x) SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY * (x) SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY_AND_THDPTR * (x) SPIDER_LIKE_FUNC_HAS_GET_NEGATED * (x) SPIDER_MDEV_16246 * (x) SPIDER_NEED_INIT_ONE_TABLE_FOR_FIND_TEMPORARY_TABLE * (x) SPIDER_open_temporary_table * (x) SPIDER_ORDER_HAS_ENUM_ORDE * (x) SPIDER_SQL_CACHE_IS_IN_LEX * (x) SPIDER_SUPPORT_CREATE_OR_REPLACE_TABLE * (x) SPIDER_UPDATE_ROW_HAS_CONST_NEW_DATA * (x) SPIDER_USE_CONST_ITEM_FOR_STRING_INT_REAL_DECIMAL_DATE_ITEM * (x) SPIDER_use_LEX_CSTRING_for_database_tablename_alias * (x) SPIDER_use_LEX_CSTRING_for_Field_blob_constructor * (x) SPIDER_use_LEX_CSTRING_for_KEY_Field_name * (x) SPIDER_use_LEX_CSTRING_for_KEY_Field_name * (x) SPIDER_XID_USES_xid_cache_iterate. * (x) HA_CAN_BULK_ACCESS * (x) HA_EXTRA_HAS_HA_EXTRA_USE_CMP_REF * (x) HA_PT_CALL_AT_ONCE_COND_PUSH * (x) HA_PT_CALL_AT_ONCE_EXTERNAL_LOCK * (x) HA_PT_CALL_AT_ONCE_EXTRA * (x) HA_PT_CALL_AT_ONCE_INFO_PUSH * (x) HA_PT_CALL_AT_ONCE_START_STMT * (x) HA_PT_CALL_AT_ONCE_STORE_LOCK * (x) HA_PT_CALL_AT_ONCE_TOP_TABLE * (x) HASH_UPDATE_WITH_HASH_VALUE * -HAVE_ORACLE_OCI- ( * -HS_HAS_SQLCOM- ( * (x) ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC * (x) ITEM_FUNC_TIMESTAMPDIFF_ARE_PUBLIC * (x) MYSQL_VERSION_ID < ${OLD_VERSION} * (x) SPIDER_HANDLER_SUPPORT_MULTIPLE_KEY_PARTS * (x) SPIDER_has_Item_has_subquery * (x) SPIDER_NEED_CHECK_CONDITION_AT_CHECKING_DIRECT_ORDER_LIMIT * (x) SPIDER_NET_HAS_THD * (x) SPIDER_REQUIRE_DEFINE_FOR_SECONDARY_OPEN_TABLES_BACKUP * (x) SPIDER_XID_STATE_HAS_in_thd * -WITH_PARTITION_STORAGE_ENGINE- ( * (x) XID_CACHE_IS_SPLITTED |
Remove dead code, in Spider, which is protected by #ifdef.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove dead code in #ifdef. The following constant should be checked: * (x) HA_EXTRA_HAS_STARTING_ORDERED_INDEX_SCAN * (x) HA_HAS_CHECKSUM_EXTENDED * (x) HA_MRR_USE_DEFAULT_IMPL * (x) HANDLER_HAS_CAN_USE_FOR_AUTO_INC_INIT * (x) HANDLER_HAS_DIRECT_AGGREGATE * (x) HANDLER_HAS_DIRECT_UPDATE_ROWS * (x) HANDLER_HAS_DIRECT_UPDATE_ROWS_WITH_HS * (x) HANDLER_HAS_NEED_INFO_FOR_AUTO_INC * (x) HA_SLOW_CMP_REF * (x) MARIADB_BASE_VERSION * (x) PLUGIN_VAR_CAN_MEMALLOC * (x) SPIDER_ENGINE_CONDITION_PUSHDOWN_IS_ALWAYS_ON * (x) SPIDER_FIELD_FIELDPTR_REQUIRES_THDPTR * (x) SPIDER_HANDLER_AUTO_REPAIR_HAS_ERROR * (x) SPIDER_HANDLER_START_BULK_INSERT_HAS_FLAGS * (x) SPIDER_HAS_APPEND_FOR_SINGLE_QUOTE * (x) SPIDER_HAS_DECIMAL_OPERATION_RESULTS_VALUE_TYPE * (x) SPIDER_HAS_DISCOVER_TABLE_STRUCTURE * (x) SPIDER_HAS_EXPLAIN_QUERY * (x) SPIDER_HAS_EXPR_CACHE_ITEM * (x) SPIDER_HAS_GROUP_BY_HANDLER * (x) SPIDER_HAS_HASH_VALUE_TYPE * (x) SPIDER_HAS_JT_HASH_INDEX_MERGE * (x) SPIDER_HAS_MY_CHARLEN * (x) SPIDER_HAS_NEXT_THREAD_ID * (x) SPIDER_HAS_SHOW_SIMPLE_FUNC * (x) SPIDER_HAS_TIME_STATUS * (x) SPIDER_I_S_USE_SHOW_FOR_COLUMN * (x) SPIDER_Item_args_arg_count_IS_PROTECTED * (x) SPIDER_ITEM_HAS_CMP_TYPE * (x) SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY * (x) SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY_AND_THDPTR * (x) SPIDER_LIKE_FUNC_HAS_GET_NEGATED * (x) SPIDER_MDEV_16246 * (x) SPIDER_NEED_INIT_ONE_TABLE_FOR_FIND_TEMPORARY_TABLE * (x) SPIDER_open_temporary_table * (x) SPIDER_ORDER_HAS_ENUM_ORDE * (x) SPIDER_SQL_CACHE_IS_IN_LEX * (x) SPIDER_SUPPORT_CREATE_OR_REPLACE_TABLE * (x) SPIDER_UPDATE_ROW_HAS_CONST_NEW_DATA * (x) SPIDER_USE_CONST_ITEM_FOR_STRING_INT_REAL_DECIMAL_DATE_ITEM * (x) SPIDER_use_LEX_CSTRING_for_database_tablename_alias * (x) SPIDER_use_LEX_CSTRING_for_Field_blob_constructor * (x) SPIDER_use_LEX_CSTRING_for_KEY_Field_name * (x) SPIDER_use_LEX_CSTRING_for_KEY_Field_name * (x) SPIDER_XID_USES_xid_cache_iterate. * (x) HA_CAN_BULK_ACCESS * (x) HA_EXTRA_HAS_HA_EXTRA_USE_CMP_REF * (x) HA_PT_CALL_AT_ONCE_COND_PUSH * (x) HA_PT_CALL_AT_ONCE_EXTERNAL_LOCK * (x) HA_PT_CALL_AT_ONCE_EXTRA * (x) HA_PT_CALL_AT_ONCE_INFO_PUSH * (x) HA_PT_CALL_AT_ONCE_START_STMT * (x) HA_PT_CALL_AT_ONCE_STORE_LOCK * (x) HA_PT_CALL_AT_ONCE_TOP_TABLE * (x) HASH_UPDATE_WITH_HASH_VALUE * -HAVE_ORACLE_OCI- ( * -HS_HAS_SQLCOM- ( * (x) ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC * (x) ITEM_FUNC_TIMESTAMPDIFF_ARE_PUBLIC * (x) MYSQL_VERSION_ID < ${OLD_VERSION} * (x) SPIDER_HANDLER_SUPPORT_MULTIPLE_KEY_PARTS * (x) SPIDER_has_Item_has_subquery * (x) SPIDER_NEED_CHECK_CONDITION_AT_CHECKING_DIRECT_ORDER_LIMIT * (x) SPIDER_NET_HAS_THD * (x) SPIDER_REQUIRE_DEFINE_FOR_SECONDARY_OPEN_TABLES_BACKUP * (x) SPIDER_XID_STATE_HAS_in_thd * (x) WITHOUT_SPIDER_BG_SEARCH * -WITH_PARTITION_STORAGE_ENGINE- ( * (x) XID_CACHE_IS_SPLITTED |
Description |
Remove dead code, in Spider, which is protected by #ifdef.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove dead code in #ifdef. The following constant should be checked: * (x) HA_EXTRA_HAS_STARTING_ORDERED_INDEX_SCAN * (x) HA_HAS_CHECKSUM_EXTENDED * (x) HA_MRR_USE_DEFAULT_IMPL * (x) HANDLER_HAS_CAN_USE_FOR_AUTO_INC_INIT * (x) HANDLER_HAS_DIRECT_AGGREGATE * (x) HANDLER_HAS_DIRECT_UPDATE_ROWS * (x) HANDLER_HAS_DIRECT_UPDATE_ROWS_WITH_HS * (x) HANDLER_HAS_NEED_INFO_FOR_AUTO_INC * (x) HA_SLOW_CMP_REF * (x) MARIADB_BASE_VERSION * (x) PLUGIN_VAR_CAN_MEMALLOC * (x) SPIDER_ENGINE_CONDITION_PUSHDOWN_IS_ALWAYS_ON * (x) SPIDER_FIELD_FIELDPTR_REQUIRES_THDPTR * (x) SPIDER_HANDLER_AUTO_REPAIR_HAS_ERROR * (x) SPIDER_HANDLER_START_BULK_INSERT_HAS_FLAGS * (x) SPIDER_HAS_APPEND_FOR_SINGLE_QUOTE * (x) SPIDER_HAS_DECIMAL_OPERATION_RESULTS_VALUE_TYPE * (x) SPIDER_HAS_DISCOVER_TABLE_STRUCTURE * (x) SPIDER_HAS_EXPLAIN_QUERY * (x) SPIDER_HAS_EXPR_CACHE_ITEM * (x) SPIDER_HAS_GROUP_BY_HANDLER * (x) SPIDER_HAS_HASH_VALUE_TYPE * (x) SPIDER_HAS_JT_HASH_INDEX_MERGE * (x) SPIDER_HAS_MY_CHARLEN * (x) SPIDER_HAS_NEXT_THREAD_ID * (x) SPIDER_HAS_SHOW_SIMPLE_FUNC * (x) SPIDER_HAS_TIME_STATUS * (x) SPIDER_I_S_USE_SHOW_FOR_COLUMN * (x) SPIDER_Item_args_arg_count_IS_PROTECTED * (x) SPIDER_ITEM_HAS_CMP_TYPE * (x) SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY * (x) SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY_AND_THDPTR * (x) SPIDER_LIKE_FUNC_HAS_GET_NEGATED * (x) SPIDER_MDEV_16246 * (x) SPIDER_NEED_INIT_ONE_TABLE_FOR_FIND_TEMPORARY_TABLE * (x) SPIDER_open_temporary_table * (x) SPIDER_ORDER_HAS_ENUM_ORDE * (x) SPIDER_SQL_CACHE_IS_IN_LEX * (x) SPIDER_SUPPORT_CREATE_OR_REPLACE_TABLE * (x) SPIDER_UPDATE_ROW_HAS_CONST_NEW_DATA * (x) SPIDER_USE_CONST_ITEM_FOR_STRING_INT_REAL_DECIMAL_DATE_ITEM * (x) SPIDER_use_LEX_CSTRING_for_database_tablename_alias * (x) SPIDER_use_LEX_CSTRING_for_Field_blob_constructor * (x) SPIDER_use_LEX_CSTRING_for_KEY_Field_name * (x) SPIDER_use_LEX_CSTRING_for_KEY_Field_name * (x) SPIDER_XID_USES_xid_cache_iterate. * (x) HA_CAN_BULK_ACCESS * (x) HA_EXTRA_HAS_HA_EXTRA_USE_CMP_REF * (x) HA_PT_CALL_AT_ONCE_COND_PUSH * (x) HA_PT_CALL_AT_ONCE_EXTERNAL_LOCK * (x) HA_PT_CALL_AT_ONCE_EXTRA * (x) HA_PT_CALL_AT_ONCE_INFO_PUSH * (x) HA_PT_CALL_AT_ONCE_START_STMT * (x) HA_PT_CALL_AT_ONCE_STORE_LOCK * (x) HA_PT_CALL_AT_ONCE_TOP_TABLE * (x) HASH_UPDATE_WITH_HASH_VALUE * -HAVE_ORACLE_OCI- ( * -HS_HAS_SQLCOM- ( * (x) ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC * (x) ITEM_FUNC_TIMESTAMPDIFF_ARE_PUBLIC * (x) MYSQL_VERSION_ID < ${OLD_VERSION} * (x) SPIDER_HANDLER_SUPPORT_MULTIPLE_KEY_PARTS * (x) SPIDER_has_Item_has_subquery * (x) SPIDER_NEED_CHECK_CONDITION_AT_CHECKING_DIRECT_ORDER_LIMIT * (x) SPIDER_NET_HAS_THD * (x) SPIDER_REQUIRE_DEFINE_FOR_SECONDARY_OPEN_TABLES_BACKUP * (x) SPIDER_XID_STATE_HAS_in_thd * (x) WITHOUT_SPIDER_BG_SEARCH * -WITH_PARTITION_STORAGE_ENGINE- ( * (x) XID_CACHE_IS_SPLITTED |
Remove dead code, in Spider, which is protected by #ifdef.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove dead code in #ifdef. The following constant should be checked: * (x) HA_EXTRA_HAS_STARTING_ORDERED_INDEX_SCAN * (x) HA_HAS_CHECKSUM_EXTENDED * (x) HA_MRR_USE_DEFAULT_IMPL * (x) HANDLER_HAS_CAN_USE_FOR_AUTO_INC_INIT * (x) HANDLER_HAS_DIRECT_AGGREGATE * (x) HANDLER_HAS_DIRECT_UPDATE_ROWS * (x) HANDLER_HAS_DIRECT_UPDATE_ROWS_WITH_HS * (x) HANDLER_HAS_NEED_INFO_FOR_AUTO_INC * (x) HA_SLOW_CMP_REF * (x) MARIADB_BASE_VERSION * (x) PLUGIN_VAR_CAN_MEMALLOC * (x) SPIDER_ENGINE_CONDITION_PUSHDOWN_IS_ALWAYS_ON * (x) SPIDER_FIELD_FIELDPTR_REQUIRES_THDPTR * (x) SPIDER_HANDLER_AUTO_REPAIR_HAS_ERROR * (x) SPIDER_HANDLER_START_BULK_INSERT_HAS_FLAGS * (x) SPIDER_HAS_APPEND_FOR_SINGLE_QUOTE * (x) SPIDER_HAS_DECIMAL_OPERATION_RESULTS_VALUE_TYPE * (x) SPIDER_HAS_DISCOVER_TABLE_STRUCTURE * (x) SPIDER_HAS_EXPLAIN_QUERY * (x) SPIDER_HAS_EXPR_CACHE_ITEM * (x) SPIDER_HAS_GROUP_BY_HANDLER * (x) SPIDER_HAS_HASH_VALUE_TYPE * (x) SPIDER_HAS_JT_HASH_INDEX_MERGE * (x) SPIDER_HAS_MY_CHARLEN * (x) SPIDER_HAS_NEXT_THREAD_ID * (x) SPIDER_HAS_SHOW_SIMPLE_FUNC * (x) SPIDER_HAS_TIME_STATUS * (x) SPIDER_I_S_USE_SHOW_FOR_COLUMN * (x) SPIDER_Item_args_arg_count_IS_PROTECTED * (x) SPIDER_ITEM_HAS_CMP_TYPE * (x) SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY * (x) SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY_AND_THDPTR * (x) SPIDER_LIKE_FUNC_HAS_GET_NEGATED * (x) SPIDER_MDEV_16246 * (x) SPIDER_NEED_INIT_ONE_TABLE_FOR_FIND_TEMPORARY_TABLE * (x) SPIDER_open_temporary_table * (x) SPIDER_ORDER_HAS_ENUM_ORDE * (x) SPIDER_SQL_CACHE_IS_IN_LEX * (x) SPIDER_SUPPORT_CREATE_OR_REPLACE_TABLE * (x) SPIDER_UPDATE_ROW_HAS_CONST_NEW_DATA * (x) SPIDER_USE_CONST_ITEM_FOR_STRING_INT_REAL_DECIMAL_DATE_ITEM * (x) SPIDER_use_LEX_CSTRING_for_database_tablename_alias * (x) SPIDER_use_LEX_CSTRING_for_Field_blob_constructor * (x) SPIDER_use_LEX_CSTRING_for_KEY_Field_name * (x) SPIDER_use_LEX_CSTRING_for_KEY_Field_name * (x) SPIDER_XID_USES_xid_cache_iterate. * (x) HA_CAN_BULK_ACCESS * (x) HA_EXTRA_HAS_HA_EXTRA_USE_CMP_REF * (x) HA_PT_CALL_AT_ONCE_COND_PUSH * (x) HA_PT_CALL_AT_ONCE_EXTERNAL_LOCK * (x) HA_PT_CALL_AT_ONCE_EXTRA * (x) HA_PT_CALL_AT_ONCE_INFO_PUSH * (x) HA_PT_CALL_AT_ONCE_START_STMT * (x) HA_PT_CALL_AT_ONCE_STORE_LOCK * (x) HA_PT_CALL_AT_ONCE_TOP_TABLE * (x) HASH_UPDATE_WITH_HASH_VALUE * -HAVE_ORACLE_OCI- ( * -HS_HAS_SQLCOM- ( * (x) ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC * (x) ITEM_FUNC_TIMESTAMPDIFF_ARE_PUBLIC * (x) SPIDER_HANDLER_SUPPORT_MULTIPLE_KEY_PARTS * (x) SPIDER_has_Item_has_subquery * (x) SPIDER_NEED_CHECK_CONDITION_AT_CHECKING_DIRECT_ORDER_LIMIT * (x) SPIDER_NET_HAS_THD * (x) SPIDER_REQUIRE_DEFINE_FOR_SECONDARY_OPEN_TABLES_BACKUP * (x) SPIDER_XID_STATE_HAS_in_thd * (x) WITHOUT_SPIDER_BG_SEARCH * -WITH_PARTITION_STORAGE_ENGINE- ( * (x) XID_CACHE_IS_SPLITTED |
Description |
Remove dead code, in Spider, which is protected by #ifdef.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove dead code in #ifdef. The following constant should be checked: * (x) HA_EXTRA_HAS_STARTING_ORDERED_INDEX_SCAN * (x) HA_HAS_CHECKSUM_EXTENDED * (x) HA_MRR_USE_DEFAULT_IMPL * (x) HANDLER_HAS_CAN_USE_FOR_AUTO_INC_INIT * (x) HANDLER_HAS_DIRECT_AGGREGATE * (x) HANDLER_HAS_DIRECT_UPDATE_ROWS * (x) HANDLER_HAS_DIRECT_UPDATE_ROWS_WITH_HS * (x) HANDLER_HAS_NEED_INFO_FOR_AUTO_INC * (x) HA_SLOW_CMP_REF * (x) MARIADB_BASE_VERSION * (x) PLUGIN_VAR_CAN_MEMALLOC * (x) SPIDER_ENGINE_CONDITION_PUSHDOWN_IS_ALWAYS_ON * (x) SPIDER_FIELD_FIELDPTR_REQUIRES_THDPTR * (x) SPIDER_HANDLER_AUTO_REPAIR_HAS_ERROR * (x) SPIDER_HANDLER_START_BULK_INSERT_HAS_FLAGS * (x) SPIDER_HAS_APPEND_FOR_SINGLE_QUOTE * (x) SPIDER_HAS_DECIMAL_OPERATION_RESULTS_VALUE_TYPE * (x) SPIDER_HAS_DISCOVER_TABLE_STRUCTURE * (x) SPIDER_HAS_EXPLAIN_QUERY * (x) SPIDER_HAS_EXPR_CACHE_ITEM * (x) SPIDER_HAS_GROUP_BY_HANDLER * (x) SPIDER_HAS_HASH_VALUE_TYPE * (x) SPIDER_HAS_JT_HASH_INDEX_MERGE * (x) SPIDER_HAS_MY_CHARLEN * (x) SPIDER_HAS_NEXT_THREAD_ID * (x) SPIDER_HAS_SHOW_SIMPLE_FUNC * (x) SPIDER_HAS_TIME_STATUS * (x) SPIDER_I_S_USE_SHOW_FOR_COLUMN * (x) SPIDER_Item_args_arg_count_IS_PROTECTED * (x) SPIDER_ITEM_HAS_CMP_TYPE * (x) SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY * (x) SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY_AND_THDPTR * (x) SPIDER_LIKE_FUNC_HAS_GET_NEGATED * (x) SPIDER_MDEV_16246 * (x) SPIDER_NEED_INIT_ONE_TABLE_FOR_FIND_TEMPORARY_TABLE * (x) SPIDER_open_temporary_table * (x) SPIDER_ORDER_HAS_ENUM_ORDE * (x) SPIDER_SQL_CACHE_IS_IN_LEX * (x) SPIDER_SUPPORT_CREATE_OR_REPLACE_TABLE * (x) SPIDER_UPDATE_ROW_HAS_CONST_NEW_DATA * (x) SPIDER_USE_CONST_ITEM_FOR_STRING_INT_REAL_DECIMAL_DATE_ITEM * (x) SPIDER_use_LEX_CSTRING_for_database_tablename_alias * (x) SPIDER_use_LEX_CSTRING_for_Field_blob_constructor * (x) SPIDER_use_LEX_CSTRING_for_KEY_Field_name * (x) SPIDER_use_LEX_CSTRING_for_KEY_Field_name * (x) SPIDER_XID_USES_xid_cache_iterate. * (x) HA_CAN_BULK_ACCESS * (x) HA_EXTRA_HAS_HA_EXTRA_USE_CMP_REF * (x) HA_PT_CALL_AT_ONCE_COND_PUSH * (x) HA_PT_CALL_AT_ONCE_EXTERNAL_LOCK * (x) HA_PT_CALL_AT_ONCE_EXTRA * (x) HA_PT_CALL_AT_ONCE_INFO_PUSH * (x) HA_PT_CALL_AT_ONCE_START_STMT * (x) HA_PT_CALL_AT_ONCE_STORE_LOCK * (x) HA_PT_CALL_AT_ONCE_TOP_TABLE * (x) HASH_UPDATE_WITH_HASH_VALUE * -HAVE_ORACLE_OCI- ( * -HS_HAS_SQLCOM- ( * (x) ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC * (x) ITEM_FUNC_TIMESTAMPDIFF_ARE_PUBLIC * (x) SPIDER_HANDLER_SUPPORT_MULTIPLE_KEY_PARTS * (x) SPIDER_has_Item_has_subquery * (x) SPIDER_NEED_CHECK_CONDITION_AT_CHECKING_DIRECT_ORDER_LIMIT * (x) SPIDER_NET_HAS_THD * (x) SPIDER_REQUIRE_DEFINE_FOR_SECONDARY_OPEN_TABLES_BACKUP * (x) SPIDER_XID_STATE_HAS_in_thd * (x) WITHOUT_SPIDER_BG_SEARCH * -WITH_PARTITION_STORAGE_ENGINE- ( * (x) XID_CACHE_IS_SPLITTED |
Remove dead code, in Spider, which is protected by #ifdef.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove dead code in #ifdef. The following constant should be checked: * (x) HA_EXTRA_HAS_STARTING_ORDERED_INDEX_SCAN * (x) HA_HAS_CHECKSUM_EXTENDED * (x) HA_MRR_USE_DEFAULT_IMPL * (x) HANDLER_HAS_CAN_USE_FOR_AUTO_INC_INIT * (x) HANDLER_HAS_DIRECT_AGGREGATE * (x) HANDLER_HAS_DIRECT_UPDATE_ROWS * (x) HANDLER_HAS_DIRECT_UPDATE_ROWS_WITH_HS * (x) HANDLER_HAS_NEED_INFO_FOR_AUTO_INC * (x) HA_SLOW_CMP_REF * (x) MARIADB_BASE_VERSION * (x) PLUGIN_VAR_CAN_MEMALLOC * (x) SPIDER_ENGINE_CONDITION_PUSHDOWN_IS_ALWAYS_ON * (x) SPIDER_FIELD_FIELDPTR_REQUIRES_THDPTR * (x) SPIDER_HANDLER_AUTO_REPAIR_HAS_ERROR * (x) SPIDER_HANDLER_START_BULK_INSERT_HAS_FLAGS * (x) SPIDER_HAS_APPEND_FOR_SINGLE_QUOTE * (x) SPIDER_HAS_DECIMAL_OPERATION_RESULTS_VALUE_TYPE * (x) SPIDER_HAS_DISCOVER_TABLE_STRUCTURE * (x) SPIDER_HAS_EXPLAIN_QUERY * (x) SPIDER_HAS_EXPR_CACHE_ITEM * (x) SPIDER_HAS_GROUP_BY_HANDLER * (x) SPIDER_HAS_JT_HASH_INDEX_MERGE * (x) SPIDER_HAS_MY_CHARLEN * (x) SPIDER_HAS_NEXT_THREAD_ID * (x) SPIDER_HAS_SHOW_SIMPLE_FUNC * (x) SPIDER_HAS_TIME_STATUS * (x) SPIDER_I_S_USE_SHOW_FOR_COLUMN * (x) SPIDER_Item_args_arg_count_IS_PROTECTED * (x) SPIDER_ITEM_HAS_CMP_TYPE * (x) SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY * (x) SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY_AND_THDPTR * (x) SPIDER_LIKE_FUNC_HAS_GET_NEGATED * (x) SPIDER_MDEV_16246 * (x) SPIDER_NEED_INIT_ONE_TABLE_FOR_FIND_TEMPORARY_TABLE * (x) SPIDER_open_temporary_table * (x) SPIDER_ORDER_HAS_ENUM_ORDE * (x) SPIDER_SQL_CACHE_IS_IN_LEX * (x) SPIDER_SUPPORT_CREATE_OR_REPLACE_TABLE * (x) SPIDER_UPDATE_ROW_HAS_CONST_NEW_DATA * (x) SPIDER_USE_CONST_ITEM_FOR_STRING_INT_REAL_DECIMAL_DATE_ITEM * (x) SPIDER_use_LEX_CSTRING_for_database_tablename_alias * (x) SPIDER_use_LEX_CSTRING_for_Field_blob_constructor * (x) SPIDER_use_LEX_CSTRING_for_KEY_Field_name * (x) SPIDER_use_LEX_CSTRING_for_KEY_Field_name * (x) SPIDER_XID_USES_xid_cache_iterate. * (x) HA_CAN_BULK_ACCESS * (x) HA_EXTRA_HAS_HA_EXTRA_USE_CMP_REF * (x) HA_PT_CALL_AT_ONCE_COND_PUSH * (x) HA_PT_CALL_AT_ONCE_EXTERNAL_LOCK * (x) HA_PT_CALL_AT_ONCE_EXTRA * (x) HA_PT_CALL_AT_ONCE_INFO_PUSH * (x) HA_PT_CALL_AT_ONCE_START_STMT * (x) HA_PT_CALL_AT_ONCE_STORE_LOCK * (x) HA_PT_CALL_AT_ONCE_TOP_TABLE * (x) HASH_UPDATE_WITH_HASH_VALUE * -HAVE_ORACLE_OCI- ( * -HS_HAS_SQLCOM- ( * (x) ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC * (x) ITEM_FUNC_TIMESTAMPDIFF_ARE_PUBLIC * (x) SPIDER_HANDLER_SUPPORT_MULTIPLE_KEY_PARTS * (x) SPIDER_has_Item_has_subquery * (x) SPIDER_NEED_CHECK_CONDITION_AT_CHECKING_DIRECT_ORDER_LIMIT * (x) SPIDER_NET_HAS_THD * (x) SPIDER_REQUIRE_DEFINE_FOR_SECONDARY_OPEN_TABLES_BACKUP * (x) SPIDER_XID_STATE_HAS_in_thd * (x) WITHOUT_SPIDER_BG_SEARCH * -WITH_PARTITION_STORAGE_ENGINE- ( * (x) XID_CACHE_IS_SPLITTED |
Description |
Remove dead code, in Spider, which is protected by #ifdef.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove dead code in #ifdef. The following constant should be checked: * (x) HA_EXTRA_HAS_STARTING_ORDERED_INDEX_SCAN * (x) HA_HAS_CHECKSUM_EXTENDED * (x) HA_MRR_USE_DEFAULT_IMPL * (x) HANDLER_HAS_CAN_USE_FOR_AUTO_INC_INIT * (x) HANDLER_HAS_DIRECT_AGGREGATE * (x) HANDLER_HAS_DIRECT_UPDATE_ROWS * (x) HANDLER_HAS_DIRECT_UPDATE_ROWS_WITH_HS * (x) HANDLER_HAS_NEED_INFO_FOR_AUTO_INC * (x) HA_SLOW_CMP_REF * (x) MARIADB_BASE_VERSION * (x) PLUGIN_VAR_CAN_MEMALLOC * (x) SPIDER_ENGINE_CONDITION_PUSHDOWN_IS_ALWAYS_ON * (x) SPIDER_FIELD_FIELDPTR_REQUIRES_THDPTR * (x) SPIDER_HANDLER_AUTO_REPAIR_HAS_ERROR * (x) SPIDER_HANDLER_START_BULK_INSERT_HAS_FLAGS * (x) SPIDER_HAS_APPEND_FOR_SINGLE_QUOTE * (x) SPIDER_HAS_DECIMAL_OPERATION_RESULTS_VALUE_TYPE * (x) SPIDER_HAS_DISCOVER_TABLE_STRUCTURE * (x) SPIDER_HAS_EXPLAIN_QUERY * (x) SPIDER_HAS_EXPR_CACHE_ITEM * (x) SPIDER_HAS_GROUP_BY_HANDLER * (x) SPIDER_HAS_JT_HASH_INDEX_MERGE * (x) SPIDER_HAS_MY_CHARLEN * (x) SPIDER_HAS_NEXT_THREAD_ID * (x) SPIDER_HAS_SHOW_SIMPLE_FUNC * (x) SPIDER_HAS_TIME_STATUS * (x) SPIDER_I_S_USE_SHOW_FOR_COLUMN * (x) SPIDER_Item_args_arg_count_IS_PROTECTED * (x) SPIDER_ITEM_HAS_CMP_TYPE * (x) SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY * (x) SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY_AND_THDPTR * (x) SPIDER_LIKE_FUNC_HAS_GET_NEGATED * (x) SPIDER_MDEV_16246 * (x) SPIDER_NEED_INIT_ONE_TABLE_FOR_FIND_TEMPORARY_TABLE * (x) SPIDER_open_temporary_table * (x) SPIDER_ORDER_HAS_ENUM_ORDE * (x) SPIDER_SQL_CACHE_IS_IN_LEX * (x) SPIDER_SUPPORT_CREATE_OR_REPLACE_TABLE * (x) SPIDER_UPDATE_ROW_HAS_CONST_NEW_DATA * (x) SPIDER_USE_CONST_ITEM_FOR_STRING_INT_REAL_DECIMAL_DATE_ITEM * (x) SPIDER_use_LEX_CSTRING_for_database_tablename_alias * (x) SPIDER_use_LEX_CSTRING_for_Field_blob_constructor * (x) SPIDER_use_LEX_CSTRING_for_KEY_Field_name * (x) SPIDER_use_LEX_CSTRING_for_KEY_Field_name * (x) SPIDER_XID_USES_xid_cache_iterate. * (x) HA_CAN_BULK_ACCESS * (x) HA_EXTRA_HAS_HA_EXTRA_USE_CMP_REF * (x) HA_PT_CALL_AT_ONCE_COND_PUSH * (x) HA_PT_CALL_AT_ONCE_EXTERNAL_LOCK * (x) HA_PT_CALL_AT_ONCE_EXTRA * (x) HA_PT_CALL_AT_ONCE_INFO_PUSH * (x) HA_PT_CALL_AT_ONCE_START_STMT * (x) HA_PT_CALL_AT_ONCE_STORE_LOCK * (x) HA_PT_CALL_AT_ONCE_TOP_TABLE * (x) HASH_UPDATE_WITH_HASH_VALUE * -HAVE_ORACLE_OCI- ( * -HS_HAS_SQLCOM- ( * (x) ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC * (x) ITEM_FUNC_TIMESTAMPDIFF_ARE_PUBLIC * (x) SPIDER_HANDLER_SUPPORT_MULTIPLE_KEY_PARTS * (x) SPIDER_has_Item_has_subquery * (x) SPIDER_NEED_CHECK_CONDITION_AT_CHECKING_DIRECT_ORDER_LIMIT * (x) SPIDER_NET_HAS_THD * (x) SPIDER_REQUIRE_DEFINE_FOR_SECONDARY_OPEN_TABLES_BACKUP * (x) SPIDER_XID_STATE_HAS_in_thd * (x) WITHOUT_SPIDER_BG_SEARCH * -WITH_PARTITION_STORAGE_ENGINE- ( * (x) XID_CACHE_IS_SPLITTED |
Remove dead code, in Spider, which is protected by #ifdef.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove dead code in #ifdef. The following constant should be checked: * (x) HA_EXTRA_HAS_STARTING_ORDERED_INDEX_SCAN * (x) HA_HAS_CHECKSUM_EXTENDED * (x) HA_MRR_USE_DEFAULT_IMPL * (x) HANDLER_HAS_CAN_USE_FOR_AUTO_INC_INIT * (x) HANDLER_HAS_DIRECT_AGGREGATE * (x) HANDLER_HAS_DIRECT_UPDATE_ROWS * (x) HANDLER_HAS_DIRECT_UPDATE_ROWS_WITH_HS * (x) HANDLER_HAS_NEED_INFO_FOR_AUTO_INC * (x) HA_SLOW_CMP_REF * (x) MARIADB_BASE_VERSION * (x) PLUGIN_VAR_CAN_MEMALLOC * (x) SPIDER_ENGINE_CONDITION_PUSHDOWN_IS_ALWAYS_ON * (x) SPIDER_FIELD_FIELDPTR_REQUIRES_THDPTR * (x) SPIDER_HANDLER_AUTO_REPAIR_HAS_ERROR * (x) SPIDER_HANDLER_START_BULK_INSERT_HAS_FLAGS * (x) SPIDER_HAS_APPEND_FOR_SINGLE_QUOTE * (x) SPIDER_HAS_DECIMAL_OPERATION_RESULTS_VALUE_TYPE * (x) SPIDER_HAS_DISCOVER_TABLE_STRUCTURE * (x) SPIDER_HAS_EXPLAIN_QUERY * (x) SPIDER_HAS_EXPR_CACHE_ITEM * (x) SPIDER_HAS_GROUP_BY_HANDLER * (x) SPIDER_HAS_JT_HASH_INDEX_MERGE * (x) SPIDER_HAS_MY_CHARLEN * (x) SPIDER_HAS_NEXT_THREAD_ID * (x) SPIDER_HAS_SHOW_SIMPLE_FUNC * (x) SPIDER_HAS_TIME_STATUS * (x) SPIDER_I_S_USE_SHOW_FOR_COLUMN * (x) SPIDER_Item_args_arg_count_IS_PROTECTED * (x) SPIDER_ITEM_HAS_CMP_TYPE * (x) SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY * (x) SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY_AND_THDPTR * (x) SPIDER_LIKE_FUNC_HAS_GET_NEGATED * (x) SPIDER_MDEV_16246 * (x) SPIDER_NEED_INIT_ONE_TABLE_FOR_FIND_TEMPORARY_TABLE * (x) SPIDER_open_temporary_table * (x) SPIDER_ORDER_HAS_ENUM_ORDE * (x) SPIDER_SQL_CACHE_IS_IN_LEX * (x) SPIDER_SUPPORT_CREATE_OR_REPLACE_TABLE * (x) SPIDER_UPDATE_ROW_HAS_CONST_NEW_DATA * (x) SPIDER_USE_CONST_ITEM_FOR_STRING_INT_REAL_DECIMAL_DATE_ITEM * (x) SPIDER_use_LEX_CSTRING_for_database_tablename_alias * (x) SPIDER_use_LEX_CSTRING_for_Field_blob_constructor * (x) SPIDER_use_LEX_CSTRING_for_KEY_Field_name * (x) SPIDER_use_LEX_CSTRING_for_KEY_Field_name * (x) SPIDER_XID_USES_xid_cache_iterate. * (x) HA_EXTRA_HAS_HA_EXTRA_USE_CMP_REF * (x) HASH_UPDATE_WITH_HASH_VALUE * -HAVE_ORACLE_OCI- ( * -HS_HAS_SQLCOM- ( * (x) ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC * (x) ITEM_FUNC_TIMESTAMPDIFF_ARE_PUBLIC * (x) SPIDER_HANDLER_SUPPORT_MULTIPLE_KEY_PARTS * (x) SPIDER_has_Item_has_subquery * (x) SPIDER_NEED_CHECK_CONDITION_AT_CHECKING_DIRECT_ORDER_LIMIT * (x) SPIDER_NET_HAS_THD * (x) SPIDER_REQUIRE_DEFINE_FOR_SECONDARY_OPEN_TABLES_BACKUP * (x) SPIDER_XID_STATE_HAS_in_thd * (x) WITHOUT_SPIDER_BG_SEARCH * -WITH_PARTITION_STORAGE_ENGINE- ( * (x) XID_CACHE_IS_SPLITTED |
Description |
Remove dead code, in Spider, which is protected by #ifdef.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove dead code in #ifdef. The following constant should be checked: * (x) HA_EXTRA_HAS_STARTING_ORDERED_INDEX_SCAN * (x) HA_HAS_CHECKSUM_EXTENDED * (x) HA_MRR_USE_DEFAULT_IMPL * (x) HANDLER_HAS_CAN_USE_FOR_AUTO_INC_INIT * (x) HANDLER_HAS_DIRECT_AGGREGATE * (x) HANDLER_HAS_DIRECT_UPDATE_ROWS * (x) HANDLER_HAS_DIRECT_UPDATE_ROWS_WITH_HS * (x) HANDLER_HAS_NEED_INFO_FOR_AUTO_INC * (x) HA_SLOW_CMP_REF * (x) MARIADB_BASE_VERSION * (x) PLUGIN_VAR_CAN_MEMALLOC * (x) SPIDER_ENGINE_CONDITION_PUSHDOWN_IS_ALWAYS_ON * (x) SPIDER_FIELD_FIELDPTR_REQUIRES_THDPTR * (x) SPIDER_HANDLER_AUTO_REPAIR_HAS_ERROR * (x) SPIDER_HANDLER_START_BULK_INSERT_HAS_FLAGS * (x) SPIDER_HAS_APPEND_FOR_SINGLE_QUOTE * (x) SPIDER_HAS_DECIMAL_OPERATION_RESULTS_VALUE_TYPE * (x) SPIDER_HAS_DISCOVER_TABLE_STRUCTURE * (x) SPIDER_HAS_EXPLAIN_QUERY * (x) SPIDER_HAS_EXPR_CACHE_ITEM * (x) SPIDER_HAS_GROUP_BY_HANDLER * (x) SPIDER_HAS_JT_HASH_INDEX_MERGE * (x) SPIDER_HAS_MY_CHARLEN * (x) SPIDER_HAS_NEXT_THREAD_ID * (x) SPIDER_HAS_SHOW_SIMPLE_FUNC * (x) SPIDER_HAS_TIME_STATUS * (x) SPIDER_I_S_USE_SHOW_FOR_COLUMN * (x) SPIDER_Item_args_arg_count_IS_PROTECTED * (x) SPIDER_ITEM_HAS_CMP_TYPE * (x) SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY * (x) SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY_AND_THDPTR * (x) SPIDER_LIKE_FUNC_HAS_GET_NEGATED * (x) SPIDER_MDEV_16246 * (x) SPIDER_NEED_INIT_ONE_TABLE_FOR_FIND_TEMPORARY_TABLE * (x) SPIDER_open_temporary_table * (x) SPIDER_ORDER_HAS_ENUM_ORDE * (x) SPIDER_SQL_CACHE_IS_IN_LEX * (x) SPIDER_SUPPORT_CREATE_OR_REPLACE_TABLE * (x) SPIDER_UPDATE_ROW_HAS_CONST_NEW_DATA * (x) SPIDER_USE_CONST_ITEM_FOR_STRING_INT_REAL_DECIMAL_DATE_ITEM * (x) SPIDER_use_LEX_CSTRING_for_database_tablename_alias * (x) SPIDER_use_LEX_CSTRING_for_Field_blob_constructor * (x) SPIDER_use_LEX_CSTRING_for_KEY_Field_name * (x) SPIDER_use_LEX_CSTRING_for_KEY_Field_name * (x) SPIDER_XID_USES_xid_cache_iterate. * (x) HA_EXTRA_HAS_HA_EXTRA_USE_CMP_REF * (x) HASH_UPDATE_WITH_HASH_VALUE * -HAVE_ORACLE_OCI- ( * -HS_HAS_SQLCOM- ( * (x) ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC * (x) ITEM_FUNC_TIMESTAMPDIFF_ARE_PUBLIC * (x) SPIDER_HANDLER_SUPPORT_MULTIPLE_KEY_PARTS * (x) SPIDER_has_Item_has_subquery * (x) SPIDER_NEED_CHECK_CONDITION_AT_CHECKING_DIRECT_ORDER_LIMIT * (x) SPIDER_NET_HAS_THD * (x) SPIDER_REQUIRE_DEFINE_FOR_SECONDARY_OPEN_TABLES_BACKUP * (x) SPIDER_XID_STATE_HAS_in_thd * (x) WITHOUT_SPIDER_BG_SEARCH * -WITH_PARTITION_STORAGE_ENGINE- ( * (x) XID_CACHE_IS_SPLITTED |
Remove dead code, in Spider, which is protected by #ifdef.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove dead code in #ifdef. The following constant should be checked: * (x) HA_EXTRA_HAS_STARTING_ORDERED_INDEX_SCAN * (x) HA_HAS_CHECKSUM_EXTENDED * (x) HA_MRR_USE_DEFAULT_IMPL * (x) HANDLER_HAS_CAN_USE_FOR_AUTO_INC_INIT * (x) HANDLER_HAS_DIRECT_AGGREGATE * (x) HANDLER_HAS_DIRECT_UPDATE_ROWS * (x) HANDLER_HAS_DIRECT_UPDATE_ROWS_WITH_HS * (x) HANDLER_HAS_NEED_INFO_FOR_AUTO_INC * (x) HA_SLOW_CMP_REF * (x) MARIADB_BASE_VERSION * (x) PLUGIN_VAR_CAN_MEMALLOC * (x) SPIDER_ENGINE_CONDITION_PUSHDOWN_IS_ALWAYS_ON * (x) SPIDER_FIELD_FIELDPTR_REQUIRES_THDPTR * (x) SPIDER_HANDLER_AUTO_REPAIR_HAS_ERROR * (x) SPIDER_HANDLER_START_BULK_INSERT_HAS_FLAGS * (x) SPIDER_HAS_APPEND_FOR_SINGLE_QUOTE * (x) SPIDER_HAS_DECIMAL_OPERATION_RESULTS_VALUE_TYPE * (x) SPIDER_HAS_DISCOVER_TABLE_STRUCTURE * (x) SPIDER_HAS_EXPLAIN_QUERY * (x) SPIDER_HAS_EXPR_CACHE_ITEM * (x) SPIDER_HAS_GROUP_BY_HANDLER * (x) SPIDER_HAS_JT_HASH_INDEX_MERGE * (x) SPIDER_HAS_MY_CHARLEN * (x) SPIDER_HAS_NEXT_THREAD_ID * (x) SPIDER_HAS_SHOW_SIMPLE_FUNC * (x) SPIDER_HAS_TIME_STATUS * (x) SPIDER_I_S_USE_SHOW_FOR_COLUMN * (x) SPIDER_Item_args_arg_count_IS_PROTECTED * (x) SPIDER_ITEM_HAS_CMP_TYPE * (x) SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY * (x) SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY_AND_THDPTR * (x) SPIDER_LIKE_FUNC_HAS_GET_NEGATED * (x) SPIDER_MDEV_16246 * (x) SPIDER_NEED_INIT_ONE_TABLE_FOR_FIND_TEMPORARY_TABLE * (x) SPIDER_open_temporary_table * (x) SPIDER_ORDER_HAS_ENUM_ORDE * (x) SPIDER_SQL_CACHE_IS_IN_LEX * (x) SPIDER_SUPPORT_CREATE_OR_REPLACE_TABLE * (x) SPIDER_UPDATE_ROW_HAS_CONST_NEW_DATA * (x) SPIDER_USE_CONST_ITEM_FOR_STRING_INT_REAL_DECIMAL_DATE_ITEM * (x) SPIDER_XID_USES_xid_cache_iterate. * (x) HA_EXTRA_HAS_HA_EXTRA_USE_CMP_REF * (x) HASH_UPDATE_WITH_HASH_VALUE * -HAVE_ORACLE_OCI- ( * -HS_HAS_SQLCOM- ( * (x) ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC * (x) ITEM_FUNC_TIMESTAMPDIFF_ARE_PUBLIC * (x) SPIDER_HANDLER_SUPPORT_MULTIPLE_KEY_PARTS * (x) SPIDER_has_Item_has_subquery * (x) SPIDER_NEED_CHECK_CONDITION_AT_CHECKING_DIRECT_ORDER_LIMIT * (x) SPIDER_NET_HAS_THD * (x) SPIDER_REQUIRE_DEFINE_FOR_SECONDARY_OPEN_TABLES_BACKUP * (x) SPIDER_XID_STATE_HAS_in_thd * (x) WITHOUT_SPIDER_BG_SEARCH * -WITH_PARTITION_STORAGE_ENGINE- ( * (x) XID_CACHE_IS_SPLITTED |
Description |
Remove dead code, in Spider, which is protected by #ifdef.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove dead code in #ifdef. The following constant should be checked: * (x) HA_EXTRA_HAS_STARTING_ORDERED_INDEX_SCAN * (x) HA_HAS_CHECKSUM_EXTENDED * (x) HA_MRR_USE_DEFAULT_IMPL * (x) HANDLER_HAS_CAN_USE_FOR_AUTO_INC_INIT * (x) HANDLER_HAS_DIRECT_AGGREGATE * (x) HANDLER_HAS_DIRECT_UPDATE_ROWS * (x) HANDLER_HAS_DIRECT_UPDATE_ROWS_WITH_HS * (x) HANDLER_HAS_NEED_INFO_FOR_AUTO_INC * (x) HA_SLOW_CMP_REF * (x) MARIADB_BASE_VERSION * (x) PLUGIN_VAR_CAN_MEMALLOC * (x) SPIDER_ENGINE_CONDITION_PUSHDOWN_IS_ALWAYS_ON * (x) SPIDER_FIELD_FIELDPTR_REQUIRES_THDPTR * (x) SPIDER_HANDLER_AUTO_REPAIR_HAS_ERROR * (x) SPIDER_HANDLER_START_BULK_INSERT_HAS_FLAGS * (x) SPIDER_HAS_APPEND_FOR_SINGLE_QUOTE * (x) SPIDER_HAS_DECIMAL_OPERATION_RESULTS_VALUE_TYPE * (x) SPIDER_HAS_DISCOVER_TABLE_STRUCTURE * (x) SPIDER_HAS_EXPLAIN_QUERY * (x) SPIDER_HAS_EXPR_CACHE_ITEM * (x) SPIDER_HAS_GROUP_BY_HANDLER * (x) SPIDER_HAS_JT_HASH_INDEX_MERGE * (x) SPIDER_HAS_MY_CHARLEN * (x) SPIDER_HAS_NEXT_THREAD_ID * (x) SPIDER_HAS_SHOW_SIMPLE_FUNC * (x) SPIDER_HAS_TIME_STATUS * (x) SPIDER_I_S_USE_SHOW_FOR_COLUMN * (x) SPIDER_Item_args_arg_count_IS_PROTECTED * (x) SPIDER_ITEM_HAS_CMP_TYPE * (x) SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY * (x) SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY_AND_THDPTR * (x) SPIDER_LIKE_FUNC_HAS_GET_NEGATED * (x) SPIDER_MDEV_16246 * (x) SPIDER_NEED_INIT_ONE_TABLE_FOR_FIND_TEMPORARY_TABLE * (x) SPIDER_open_temporary_table * (x) SPIDER_ORDER_HAS_ENUM_ORDE * (x) SPIDER_SQL_CACHE_IS_IN_LEX * (x) SPIDER_SUPPORT_CREATE_OR_REPLACE_TABLE * (x) SPIDER_UPDATE_ROW_HAS_CONST_NEW_DATA * (x) SPIDER_USE_CONST_ITEM_FOR_STRING_INT_REAL_DECIMAL_DATE_ITEM * (x) SPIDER_XID_USES_xid_cache_iterate. * (x) HA_EXTRA_HAS_HA_EXTRA_USE_CMP_REF * (x) HASH_UPDATE_WITH_HASH_VALUE * -HAVE_ORACLE_OCI- ( * -HS_HAS_SQLCOM- ( * (x) ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC * (x) ITEM_FUNC_TIMESTAMPDIFF_ARE_PUBLIC * (x) SPIDER_HANDLER_SUPPORT_MULTIPLE_KEY_PARTS * (x) SPIDER_has_Item_has_subquery * (x) SPIDER_NEED_CHECK_CONDITION_AT_CHECKING_DIRECT_ORDER_LIMIT * (x) SPIDER_NET_HAS_THD * (x) SPIDER_REQUIRE_DEFINE_FOR_SECONDARY_OPEN_TABLES_BACKUP * (x) SPIDER_XID_STATE_HAS_in_thd * (x) WITHOUT_SPIDER_BG_SEARCH * -WITH_PARTITION_STORAGE_ENGINE- ( * (x) XID_CACHE_IS_SPLITTED |
Remove dead code, in Spider, which is protected by #ifdef.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove dead code in #ifdef. The following constant should be checked: * (x) HA_EXTRA_HAS_STARTING_ORDERED_INDEX_SCAN * (x) HA_HAS_CHECKSUM_EXTENDED * (x) HA_MRR_USE_DEFAULT_IMPL * (x) HANDLER_HAS_CAN_USE_FOR_AUTO_INC_INIT * (x) HANDLER_HAS_DIRECT_AGGREGATE * (x) HANDLER_HAS_DIRECT_UPDATE_ROWS * (x) HANDLER_HAS_DIRECT_UPDATE_ROWS_WITH_HS * (x) HANDLER_HAS_NEED_INFO_FOR_AUTO_INC * (x) HA_SLOW_CMP_REF * (x) MARIADB_BASE_VERSION * (x) PLUGIN_VAR_CAN_MEMALLOC * (x) SPIDER_ENGINE_CONDITION_PUSHDOWN_IS_ALWAYS_ON * (x) SPIDER_FIELD_FIELDPTR_REQUIRES_THDPTR * (x) SPIDER_HANDLER_AUTO_REPAIR_HAS_ERROR * (x) SPIDER_HANDLER_START_BULK_INSERT_HAS_FLAGS * (x) SPIDER_I_S_USE_SHOW_FOR_COLUMN * (x) SPIDER_Item_args_arg_count_IS_PROTECTED * (x) SPIDER_ITEM_HAS_CMP_TYPE * (x) SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY * (x) SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY_AND_THDPTR * (x) SPIDER_LIKE_FUNC_HAS_GET_NEGATED * (x) SPIDER_MDEV_16246 * (x) SPIDER_NEED_INIT_ONE_TABLE_FOR_FIND_TEMPORARY_TABLE * (x) SPIDER_open_temporary_table * (x) SPIDER_ORDER_HAS_ENUM_ORDE * (x) SPIDER_SQL_CACHE_IS_IN_LEX * (x) SPIDER_SUPPORT_CREATE_OR_REPLACE_TABLE * (x) SPIDER_UPDATE_ROW_HAS_CONST_NEW_DATA * (x) SPIDER_USE_CONST_ITEM_FOR_STRING_INT_REAL_DECIMAL_DATE_ITEM * (x) SPIDER_XID_USES_xid_cache_iterate. * (x) HA_EXTRA_HAS_HA_EXTRA_USE_CMP_REF * (x) HASH_UPDATE_WITH_HASH_VALUE * -HAVE_ORACLE_OCI- ( * -HS_HAS_SQLCOM- ( * (x) ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC * (x) ITEM_FUNC_TIMESTAMPDIFF_ARE_PUBLIC * (x) SPIDER_HANDLER_SUPPORT_MULTIPLE_KEY_PARTS * (x) SPIDER_has_Item_has_subquery * (x) SPIDER_NEED_CHECK_CONDITION_AT_CHECKING_DIRECT_ORDER_LIMIT * (x) SPIDER_NET_HAS_THD * (x) SPIDER_REQUIRE_DEFINE_FOR_SECONDARY_OPEN_TABLES_BACKUP * (x) SPIDER_XID_STATE_HAS_in_thd * (x) WITHOUT_SPIDER_BG_SEARCH * -WITH_PARTITION_STORAGE_ENGINE- ( * (x) XID_CACHE_IS_SPLITTED |
Description |
Remove dead code, in Spider, which is protected by #ifdef.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove dead code in #ifdef. The following constant should be checked: * (x) HA_EXTRA_HAS_STARTING_ORDERED_INDEX_SCAN * (x) HA_HAS_CHECKSUM_EXTENDED * (x) HA_MRR_USE_DEFAULT_IMPL * (x) HANDLER_HAS_CAN_USE_FOR_AUTO_INC_INIT * (x) HANDLER_HAS_DIRECT_AGGREGATE * (x) HANDLER_HAS_DIRECT_UPDATE_ROWS * (x) HANDLER_HAS_DIRECT_UPDATE_ROWS_WITH_HS * (x) HANDLER_HAS_NEED_INFO_FOR_AUTO_INC * (x) HA_SLOW_CMP_REF * (x) MARIADB_BASE_VERSION * (x) PLUGIN_VAR_CAN_MEMALLOC * (x) SPIDER_ENGINE_CONDITION_PUSHDOWN_IS_ALWAYS_ON * (x) SPIDER_FIELD_FIELDPTR_REQUIRES_THDPTR * (x) SPIDER_HANDLER_AUTO_REPAIR_HAS_ERROR * (x) SPIDER_HANDLER_START_BULK_INSERT_HAS_FLAGS * (x) SPIDER_I_S_USE_SHOW_FOR_COLUMN * (x) SPIDER_Item_args_arg_count_IS_PROTECTED * (x) SPIDER_ITEM_HAS_CMP_TYPE * (x) SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY * (x) SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY_AND_THDPTR * (x) SPIDER_LIKE_FUNC_HAS_GET_NEGATED * (x) SPIDER_MDEV_16246 * (x) SPIDER_NEED_INIT_ONE_TABLE_FOR_FIND_TEMPORARY_TABLE * (x) SPIDER_open_temporary_table * (x) SPIDER_ORDER_HAS_ENUM_ORDE * (x) SPIDER_SQL_CACHE_IS_IN_LEX * (x) SPIDER_SUPPORT_CREATE_OR_REPLACE_TABLE * (x) SPIDER_UPDATE_ROW_HAS_CONST_NEW_DATA * (x) SPIDER_USE_CONST_ITEM_FOR_STRING_INT_REAL_DECIMAL_DATE_ITEM * (x) SPIDER_XID_USES_xid_cache_iterate. * (x) HA_EXTRA_HAS_HA_EXTRA_USE_CMP_REF * (x) HASH_UPDATE_WITH_HASH_VALUE * -HAVE_ORACLE_OCI- ( * -HS_HAS_SQLCOM- ( * (x) ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC * (x) ITEM_FUNC_TIMESTAMPDIFF_ARE_PUBLIC * (x) SPIDER_HANDLER_SUPPORT_MULTIPLE_KEY_PARTS * (x) SPIDER_has_Item_has_subquery * (x) SPIDER_NEED_CHECK_CONDITION_AT_CHECKING_DIRECT_ORDER_LIMIT * (x) SPIDER_NET_HAS_THD * (x) SPIDER_REQUIRE_DEFINE_FOR_SECONDARY_OPEN_TABLES_BACKUP * (x) SPIDER_XID_STATE_HAS_in_thd * (x) WITHOUT_SPIDER_BG_SEARCH * -WITH_PARTITION_STORAGE_ENGINE- ( * (x) XID_CACHE_IS_SPLITTED |
Remove dead code, in Spider, which is protected by #ifdef.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove dead code in #ifdef. The following constant should be checked: * (x) HA_EXTRA_HAS_STARTING_ORDERED_INDEX_SCAN * (x) HA_HAS_CHECKSUM_EXTENDED * (x) HA_MRR_USE_DEFAULT_IMPL * (x) HA_SLOW_CMP_REF * (x) MARIADB_BASE_VERSION * (x) PLUGIN_VAR_CAN_MEMALLOC * (x) SPIDER_ENGINE_CONDITION_PUSHDOWN_IS_ALWAYS_ON * (x) SPIDER_FIELD_FIELDPTR_REQUIRES_THDPTR * (x) SPIDER_HANDLER_AUTO_REPAIR_HAS_ERROR * (x) SPIDER_HANDLER_START_BULK_INSERT_HAS_FLAGS * (x) SPIDER_I_S_USE_SHOW_FOR_COLUMN * (x) SPIDER_Item_args_arg_count_IS_PROTECTED * (x) SPIDER_ITEM_HAS_CMP_TYPE * (x) SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY * (x) SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY_AND_THDPTR * (x) SPIDER_LIKE_FUNC_HAS_GET_NEGATED * (x) SPIDER_MDEV_16246 * (x) SPIDER_NEED_INIT_ONE_TABLE_FOR_FIND_TEMPORARY_TABLE * (x) SPIDER_open_temporary_table * (x) SPIDER_ORDER_HAS_ENUM_ORDE * (x) SPIDER_SQL_CACHE_IS_IN_LEX * (x) SPIDER_SUPPORT_CREATE_OR_REPLACE_TABLE * (x) SPIDER_UPDATE_ROW_HAS_CONST_NEW_DATA * (x) SPIDER_USE_CONST_ITEM_FOR_STRING_INT_REAL_DECIMAL_DATE_ITEM * (x) SPIDER_XID_USES_xid_cache_iterate. * (x) HA_EXTRA_HAS_HA_EXTRA_USE_CMP_REF * (x) HASH_UPDATE_WITH_HASH_VALUE * -HAVE_ORACLE_OCI- ( * -HS_HAS_SQLCOM- ( * (x) ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC * (x) ITEM_FUNC_TIMESTAMPDIFF_ARE_PUBLIC * (x) SPIDER_HANDLER_SUPPORT_MULTIPLE_KEY_PARTS * (x) SPIDER_has_Item_has_subquery * (x) SPIDER_NEED_CHECK_CONDITION_AT_CHECKING_DIRECT_ORDER_LIMIT * (x) SPIDER_NET_HAS_THD * (x) SPIDER_REQUIRE_DEFINE_FOR_SECONDARY_OPEN_TABLES_BACKUP * (x) SPIDER_XID_STATE_HAS_in_thd * (x) WITHOUT_SPIDER_BG_SEARCH * -WITH_PARTITION_STORAGE_ENGINE- ( * (x) XID_CACHE_IS_SPLITTED |
Description |
Remove dead code, in Spider, which is protected by #ifdef.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove dead code in #ifdef. The following constant should be checked: * (x) HA_EXTRA_HAS_STARTING_ORDERED_INDEX_SCAN * (x) HA_HAS_CHECKSUM_EXTENDED * (x) HA_MRR_USE_DEFAULT_IMPL * (x) HA_SLOW_CMP_REF * (x) MARIADB_BASE_VERSION * (x) PLUGIN_VAR_CAN_MEMALLOC * (x) SPIDER_ENGINE_CONDITION_PUSHDOWN_IS_ALWAYS_ON * (x) SPIDER_FIELD_FIELDPTR_REQUIRES_THDPTR * (x) SPIDER_HANDLER_AUTO_REPAIR_HAS_ERROR * (x) SPIDER_HANDLER_START_BULK_INSERT_HAS_FLAGS * (x) SPIDER_I_S_USE_SHOW_FOR_COLUMN * (x) SPIDER_Item_args_arg_count_IS_PROTECTED * (x) SPIDER_ITEM_HAS_CMP_TYPE * (x) SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY * (x) SPIDER_ITEM_STRING_WITHOUT_SET_STR_WITH_COPY_AND_THDPTR * (x) SPIDER_LIKE_FUNC_HAS_GET_NEGATED * (x) SPIDER_MDEV_16246 * (x) SPIDER_NEED_INIT_ONE_TABLE_FOR_FIND_TEMPORARY_TABLE * (x) SPIDER_open_temporary_table * (x) SPIDER_ORDER_HAS_ENUM_ORDE * (x) SPIDER_SQL_CACHE_IS_IN_LEX * (x) SPIDER_SUPPORT_CREATE_OR_REPLACE_TABLE * (x) SPIDER_UPDATE_ROW_HAS_CONST_NEW_DATA * (x) SPIDER_USE_CONST_ITEM_FOR_STRING_INT_REAL_DECIMAL_DATE_ITEM * (x) SPIDER_XID_USES_xid_cache_iterate. * (x) HA_EXTRA_HAS_HA_EXTRA_USE_CMP_REF * (x) HASH_UPDATE_WITH_HASH_VALUE * -HAVE_ORACLE_OCI- ( * -HS_HAS_SQLCOM- ( * (x) ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC * (x) ITEM_FUNC_TIMESTAMPDIFF_ARE_PUBLIC * (x) SPIDER_HANDLER_SUPPORT_MULTIPLE_KEY_PARTS * (x) SPIDER_has_Item_has_subquery * (x) SPIDER_NEED_CHECK_CONDITION_AT_CHECKING_DIRECT_ORDER_LIMIT * (x) SPIDER_NET_HAS_THD * (x) SPIDER_REQUIRE_DEFINE_FOR_SECONDARY_OPEN_TABLES_BACKUP * (x) SPIDER_XID_STATE_HAS_in_thd * (x) WITHOUT_SPIDER_BG_SEARCH * -WITH_PARTITION_STORAGE_ENGINE- ( * (x) XID_CACHE_IS_SPLITTED |
Remove dead code, in Spider, which is protected by #ifdef.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove dead code in #ifdef. |
Description |
Remove dead code, in Spider, which is protected by #ifdef.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove dead code in #ifdef. |
Remove dead code, in Spider, which is protected by #ifdef.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove dead code in #ifdef. The purpose of the issue is to improve the extensibility and readability of the Spider codebase. So, we do not need to stick to cleaning up all the #ifdefs. Cleaning up significant ones is enough. |
Status | Open [ 1 ] | In Progress [ 3 ] |
Assignee | Nayuta Yanagisawa [ JIRAUSER47117 ] | Alexey Botchkov [ holyfoot ] |
Status | In Progress [ 3 ] | In Review [ 10002 ] |
Link | This issue blocks MDEV-27518 [ MDEV-27518 ] |
Assignee | Alexey Botchkov [ holyfoot ] | Nayuta Yanagisawa [ JIRAUSER47117 ] |
Status | In Review [ 10002 ] | Stalled [ 10000 ] |
Priority | Critical [ 2 ] | Major [ 3 ] |
Description |
Remove dead code, in Spider, which is protected by #ifdef.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove dead code in #ifdef. The purpose of the issue is to improve the extensibility and readability of the Spider codebase. So, we do not need to stick to cleaning up all the #ifdefs. Cleaning up significant ones is enough. |
Remove unnecessary #ifdefs and dead code, in Spider, which is protected by #ifdef.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove dead code in #ifdef. The purpose of the issue is to improve the extensibility and readability of the Spider codebase. So, we do not need to stick to cleaning up all the #ifdefs. Cleaning up significant ones is enough. |
Summary | Spider: remove dead code in #ifdef | Spider: remove unnecessary #ifdef and dead code in #ifdef |
Priority | Major [ 3 ] | Minor [ 4 ] |
Labels | beginner-friendly |
Description |
Remove unnecessary #ifdefs and dead code, in Spider, which is protected by #ifdef.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove dead code in #ifdef. The purpose of the issue is to improve the extensibility and readability of the Spider codebase. So, we do not need to stick to cleaning up all the #ifdefs. Cleaning up significant ones is enough. |
Remove unnecessary #ifdefs and dead code, in Spider, which is protected by #ifdef.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove dead code in #ifdef. Use {{unifdef}} as far as possible. The purpose of the issue is to improve the extensibility and readability of the Spider codebase. So, we do not need to stick to cleaning up all the #ifdefs. Cleaning up significant ones is enough. |
Description |
Remove unnecessary #ifdefs and dead code, in Spider, which is protected by #ifdef.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove dead code in #ifdef. Use {{unifdef}} as far as possible. The purpose of the issue is to improve the extensibility and readability of the Spider codebase. So, we do not need to stick to cleaning up all the #ifdefs. Cleaning up significant ones is enough. |
Remove unnecessary #ifdefs and dead code, in Spider, which is protected by #ifdef.
Some time ago, the Spider was a separate project, and Kentoku tried to make it compile on many MySQL and MariaDB versions without changes. So, there are many #ifdef macro in the Spider codebase, which were to adjust Spider for changes in API over different server versions. For example, see {{ITEM_FUNC_CASE_PARAMS_ARE_PUBLIC}}. Now, the Spider is part of the source tree, and thus we can remove dead code in #ifdef. Use {{unifdef}} as far as possible. |
Fix Version/s | 10.10 [ 27530 ] |
Status | Stalled [ 10000 ] | In Progress [ 3 ] |
Assignee | Nayuta Yanagisawa [ JIRAUSER47117 ] | Yuchen Pei [ JIRAUSER52627 ] |
Fix Version/s | 11.1 [ 28549 ] | |
Fix Version/s | 10.9 [ 26905 ] | |
Fix Version/s | 10.10 [ 27530 ] |
Status | In Progress [ 3 ] | Stalled [ 10000 ] |
Fix Version/s | 10.5 [ 23123 ] | |
Fix Version/s | 11.1 [ 28549 ] |
Assignee | Yuchen Pei [ JIRAUSER52627 ] | Alexey Botchkov [ holyfoot ] |
Status | Stalled [ 10000 ] | In Review [ 10002 ] |
Assignee | Alexey Botchkov [ holyfoot ] | Yuchen Pei [ JIRAUSER52627 ] |
Status | In Review [ 10002 ] | Stalled [ 10000 ] |
Status | Stalled [ 10000 ] | In Testing [ 10301 ] |
Assignee | Yuchen Pei [ JIRAUSER52627 ] | Roel Van de Paar [ roel ] |
Assignee | Roel Van de Paar [ roel ] | Yuchen Pei [ JIRAUSER52627 ] |
Status | In Testing [ 10301 ] | Stalled [ 10000 ] |
Fix Version/s | N/A [ 14700 ] | |
Fix Version/s | 10.5 [ 23123 ] | |
Resolution | Fixed [ 1 ] | |
Status | Stalled [ 10000 ] | Closed [ 6 ] |