diff options
author | Sergei Golubchik <serg@mariadb.org> | 2018-07-17 14:35:04 +0200 |
---|---|---|
committer | Sergei Golubchik <serg@mariadb.org> | 2018-09-04 08:37:44 +0200 |
commit | 22bcfa011acd81c44c2ad969a0edc2401a32a311 (patch) | |
tree | 165f6ab775eb9af5418970292325c87a83a817e9 /sql/table.h | |
parent | b9bc3c24630980b260b91fc856689dbad336064e (diff) | |
download | mariadb-git-22bcfa011acd81c44c2ad969a0edc2401a32a311.tar.gz |
cleanup: FOREIGN_KEY_INFO
instead of returning strings for CASCADE/RESTRICT
from every storage engine, use enum values
Backport of a3614d33e8a
Diffstat (limited to 'sql/table.h')
-rw-r--r-- | sql/table.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/sql/table.h b/sql/table.h index 05596b605a5..1b7a447eaf1 100644 --- a/sql/table.h +++ b/sql/table.h @@ -1429,6 +1429,9 @@ enum enum_schema_table_state PROCESSED_BY_JOIN_EXEC }; +enum enum_fk_option { FK_OPTION_UNDEF, FK_OPTION_RESTRICT, FK_OPTION_CASCADE, + FK_OPTION_SET_NULL, FK_OPTION_NO_ACTION, FK_OPTION_SET_DEFAULT}; + typedef struct st_foreign_key_info { LEX_STRING *foreign_id; @@ -1436,13 +1439,15 @@ typedef struct st_foreign_key_info LEX_STRING *foreign_table; LEX_STRING *referenced_db; LEX_STRING *referenced_table; - LEX_STRING *update_method; - LEX_STRING *delete_method; + enum_fk_option update_method; + enum_fk_option delete_method; LEX_STRING *referenced_key_name; List<LEX_STRING> foreign_fields; List<LEX_STRING> referenced_fields; } FOREIGN_KEY_INFO; +LEX_CSTRING *fk_option_name(enum_fk_option opt); + #define MY_I_S_MAYBE_NULL 1 #define MY_I_S_UNSIGNED 2 |