summaryrefslogtreecommitdiff
path: root/sql/handler.h
diff options
context:
space:
mode:
Diffstat (limited to 'sql/handler.h')
-rw-r--r--sql/handler.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/sql/handler.h b/sql/handler.h
index 957de82fdc3..ef8feacc8d3 100644
--- a/sql/handler.h
+++ b/sql/handler.h
@@ -42,6 +42,7 @@
#include <mysql/psi/mysql_table.h>
class Alter_info;
+class Virtual_column_info;
// the following is for checking tables
@@ -1632,6 +1633,7 @@ struct Schema_specification_st
- LIKE another_table_name ... // Copy structure from another table
- [AS] SELECT ... // Copy structure from a subquery
*/
+
struct Table_scope_and_contents_source_st
{
CHARSET_INFO *table_charset;
@@ -1647,6 +1649,8 @@ struct Table_scope_and_contents_source_st
ulong avg_row_length;
ulong used_fields;
ulong key_block_size;
+ ulong expression_lengths;
+ ulong field_check_constraints;
/*
number of pages to sample during
stats estimation, if used, otherwise 0.
@@ -1679,6 +1683,7 @@ struct Table_scope_and_contents_source_st
ha_table_option_struct *option_struct; ///< structure with parsed table options
ha_field_option_struct **fields_option_struct; ///< array of field option structures
ha_index_option_struct **indexes_option_struct; ///< array of index option structures
+ List<Virtual_column_info> *constraint_list;
/* The following is used to remember the old state for CREATE OR REPLACE */
TABLE *table;
@@ -1823,7 +1828,7 @@ public:
attribute has really changed we might choose to set flag
pessimistically, for example, relying on parser output only.
*/
- typedef ulong HA_ALTER_FLAGS;
+ typedef ulonglong HA_ALTER_FLAGS;
// Add non-unique, non-primary index
static const HA_ALTER_FLAGS ADD_INDEX = 1L << 0;
@@ -1932,6 +1937,10 @@ public:
// ALTER TABLE for a partitioned table
static const HA_ALTER_FLAGS ALTER_PARTITIONED = 1L << 31;
+ static const HA_ALTER_FLAGS ALTER_ADD_CONSTRAINT = 1LL << 32;
+
+ static const HA_ALTER_FLAGS ALTER_DROP_CONSTRAINT = 1LL << 33;
+
/**
Create options (like MAX_ROWS) for the new version of table.
@@ -2856,6 +2865,7 @@ public:
size_t pack_frm_len);
int ha_drop_partitions(const char *path);
int ha_rename_partitions(const char *path);
+ virtual void register_columns_for_write() {}
void adjust_next_insert_id_after_explicit_value(ulonglong nr);
int update_auto_increment();