summaryrefslogtreecommitdiff
path: root/sql/table.h
diff options
context:
space:
mode:
authorMattias Jonsson <mattias.jonsson@sun.com>2010-05-24 14:51:59 +0200
committerMattias Jonsson <mattias.jonsson@sun.com>2010-05-24 14:51:59 +0200
commitd7e7afd4031bcc521594cb4c4d8a656d2d550a94 (patch)
tree498aada5d15432514b41100444b982ff13cc1568 /sql/table.h
parentac9bae9e046b183df7bd3bb94186bb803465d336 (diff)
parent864d6bc90bc7e4a983fbc69a963b3365dbc3966f (diff)
downloadmariadb-git-d7e7afd4031bcc521594cb4c4d8a656d2d550a94.tar.gz
Merge of bug#51851.
Also moved HA_DATA_PARTITION from ha_partition.cc to table.h.
Diffstat (limited to 'sql/table.h')
-rw-r--r--sql/table.h29
1 files changed, 24 insertions, 5 deletions
diff --git a/sql/table.h b/sql/table.h
index fcff0cfb0d5..af357807add 100644
--- a/sql/table.h
+++ b/sql/table.h
@@ -488,6 +488,19 @@ typedef struct st_table_field_def
} TABLE_FIELD_DEF;
+#ifdef WITH_PARTITION_STORAGE_ENGINE
+/**
+ Partition specific ha_data struct.
+*/
+typedef struct st_ha_data_partition
+{
+ bool auto_inc_initialized;
+ mysql_mutex_t LOCK_auto_inc; /**< protecting auto_inc val */
+ ulonglong next_auto_inc_val; /**< first non reserved value */
+} HA_DATA_PARTITION;
+#endif
+
+
class Table_check_intact
{
protected:
@@ -628,13 +641,11 @@ struct TABLE_SHARE
int cached_row_logging_check;
#ifdef WITH_PARTITION_STORAGE_ENGINE
- /** @todo: Move into *ha_data for partitioning */
+ /* filled in when reading from frm */
bool auto_partitioned;
- const char *partition_info;
- uint partition_info_len;
+ const char *partition_info_str;
+ uint partition_info_str_len;
uint partition_info_buffer_size;
- const char *part_state;
- uint part_state_len;
handlerton *default_part_db_type;
#endif
@@ -654,6 +665,14 @@ struct TABLE_SHARE
void *ha_data;
void (*ha_data_destroy)(void *); /* An optional destructor for ha_data */
+#ifdef WITH_PARTITION_STORAGE_ENGINE
+ /** place to store partition specific data, LOCK_ha_data hold while init. */
+ HA_DATA_PARTITION *ha_part_data;
+ /* Destructor for ha_part_data */
+ void (*ha_part_data_destroy)(HA_DATA_PARTITION *);
+#endif
+
+
/** Instrumentation for this table share. */
PSI_table_share *m_psi;