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
commit7af0bbc3bcc3f47c15bd14f97652ee4cb30dfac6 (patch)
tree498aada5d15432514b41100444b982ff13cc1568 /sql/table.h
parent923da1e889ed8d45d99ef1692eff853f6af1b49c (diff)
parent47906997c778edc506aa1ca16a113afef1650c54 (diff)
downloadmariadb-git-7af0bbc3bcc3f47c15bd14f97652ee4cb30dfac6.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;