summaryrefslogtreecommitdiff
path: root/storage/xtradb/include/row0mysql.h
diff options
context:
space:
mode:
Diffstat (limited to 'storage/xtradb/include/row0mysql.h')
-rw-r--r--storage/xtradb/include/row0mysql.h29
1 files changed, 11 insertions, 18 deletions
diff --git a/storage/xtradb/include/row0mysql.h b/storage/xtradb/include/row0mysql.h
index cd9dec2f089..b18e1fca5dc 100644
--- a/storage/xtradb/include/row0mysql.h
+++ b/storage/xtradb/include/row0mysql.h
@@ -547,6 +547,10 @@ struct mysql_row_templ_struct {
Innobase record in the clustered index;
not defined if template_type is
ROW_MYSQL_WHOLE_ROW */
+ ulint icp_rec_field_no; /*!< field number of the column in an
+ Innobase record in the current index;
+ not defined unless
+ index condition pushdown is used */
ulint mysql_col_offset; /*!< offset of the column in the MySQL
row format */
ulint mysql_col_len; /*!< length of the column in the MySQL
@@ -585,16 +589,6 @@ struct mysql_row_templ_struct {
#define ROW_PREBUILT_ALLOCATED 78540783
#define ROW_PREBUILT_FREED 26423527
-
-typedef enum xtradb_icp_result {
- XTRADB_ICP_ERROR=-1,
- XTRADB_ICP_NO_MATCH=0,
- XTRADB_ICP_MATCH=1,
- XTRADB_ICP_OUT_OF_RANGE=2,
- XTRADB_ICP_ABORTED_BY_USER=3,
-} xtradb_icp_result_t;
-
-typedef xtradb_icp_result_t (*index_cond_func_t)(void *param);
/** A struct for (sometimes lazily) prebuilt structures in an Innobase table
handle used within MySQL; these are used to save CPU time. */
@@ -792,16 +786,15 @@ struct row_prebuilt_struct {
store it here so that we can return
it to MySQL */
/*----------------------*/
+ void* idx_cond; /*!< In ICP, pointer to a ha_innobase,
+ passed to innobase_index_cond().
+ NULL if index condition pushdown is
+ not used. */
+ ulint idx_cond_n_cols;/*!< Number of fields in idx_cond_cols.
+ 0 if and only if idx_cond == NULL. */
+ /*----------------------*/
ulint magic_n2; /*!< this should be the same as
magic_n */
- /*----------------------*/
- index_cond_func_t idx_cond_func;/* Index Condition Pushdown function,
- or NULL if there is none set */
- void* idx_cond_func_arg;/* ICP function argument */
- ulint n_index_fields; /* Number of fields at the start of
- mysql_template. Valid only when using
- ICP. */
- /*----------------------*/
};
#define ROW_PREBUILT_FETCH_MAGIC_N 465765687