summaryrefslogtreecommitdiff
path: root/sql/ha_innodb.cc
diff options
context:
space:
mode:
Diffstat (limited to 'sql/ha_innodb.cc')
-rw-r--r--sql/ha_innodb.cc20
1 files changed, 20 insertions, 0 deletions
diff --git a/sql/ha_innodb.cc b/sql/ha_innodb.cc
index f8b9aa90ea1..a1f85da16d3 100644
--- a/sql/ha_innodb.cc
+++ b/sql/ha_innodb.cc
@@ -7132,4 +7132,24 @@ innobase_rollback_by_xid(
}
}
+
+bool ha_innobase::check_if_incompatible_data(HA_CREATE_INFO *info,
+ uint table_changes)
+{
+ if (table_changes != IS_EQUAL_YES)
+ return COMPATIBLE_DATA_NO;
+
+ /* Check that auto_increment value was not changed */
+ if ((info->used_fields & HA_CREATE_USED_AUTO) &&
+ info->auto_increment_value != 0)
+ return COMPATIBLE_DATA_NO;
+
+ /* Check that row format didn't change */
+ if ((info->used_fields & HA_CREATE_USED_AUTO) &&
+ get_row_type() != info->row_type)
+ return COMPATIBLE_DATA_NO;
+
+ return COMPATIBLE_DATA_YES;
+}
+
#endif /* HAVE_INNOBASE_DB */