diff options
author | Alexander Barkov <bar@mariadb.com> | 2018-05-18 15:48:25 +0400 |
---|---|---|
committer | Alexander Barkov <bar@mariadb.com> | 2018-05-18 15:48:25 +0400 |
commit | 2a33d248e0bd910ec10a2bb68e47f17b47e3a980 (patch) | |
tree | 81dd25d25b493ef0ad9a1a44a8998a240b2174ad /sql/sql_lex.h | |
parent | 395c8ca708c15e7f4b8dca5c3f5246d03eb557af (diff) | |
download | mariadb-git-2a33d248e0bd910ec10a2bb68e47f17b47e3a980.tar.gz |
MDEV-15975 PL/SQL parser does not understand historical queries
Merging the following features from sql_yacc.yy to sql_yacc_ora.yy:
- system versioning
- column compression
- table value constructor
- spatial predicate WITHIN
- DELETE_DOMAIN_ID
Diffstat (limited to 'sql/sql_lex.h')
-rw-r--r-- | sql/sql_lex.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/sql/sql_lex.h b/sql/sql_lex.h index f1be02ef1f1..2369568e8a9 100644 --- a/sql/sql_lex.h +++ b/sql/sql_lex.h @@ -143,6 +143,7 @@ public: bool convert(THD *thd, const LEX_CSTRING *str, CHARSET_INFO *cs); bool copy_or_convert(THD *thd, const Lex_ident_cli_st *str, CHARSET_INFO *cs); bool is_null() const { return str == NULL; } + bool to_size_number(THD *thd, ulonglong *to) const; }; @@ -3262,7 +3263,10 @@ public: void restore_backup_query_tables_list(Query_tables_list *backup); bool table_or_sp_used(); + bool is_partition_management() const; + bool part_values_current(THD *thd); + bool part_values_history(THD *thd); /** @brief check if the statement is a single-level join @@ -3294,6 +3298,11 @@ public: void init_last_field(Column_definition *field, const LEX_CSTRING *name, const CHARSET_INFO *cs); + bool last_field_generated_always_as_row_start_or_end(Lex_ident *p, + const char *type, + uint flags); + bool last_field_generated_always_as_row_start(); + bool last_field_generated_always_as_row_end(); bool set_bincmp(CHARSET_INFO *cs, bool bin); bool get_dynamic_sql_string(LEX_CSTRING *dst, String *buffer); @@ -3919,6 +3928,15 @@ public: } return false; } + + void tvc_start() + { + field_list.empty(); + many_values.empty(); + insert_list= 0; + } + bool tvc_finalize(); + bool tvc_finalize_derived(); }; |