summaryrefslogtreecommitdiff
path: root/sql/sql_lex.h
diff options
context:
space:
mode:
authorAlexander Barkov <bar@mariadb.com>2018-05-18 15:48:25 +0400
committerAlexander Barkov <bar@mariadb.com>2018-05-18 15:48:25 +0400
commit2a33d248e0bd910ec10a2bb68e47f17b47e3a980 (patch)
tree81dd25d25b493ef0ad9a1a44a8998a240b2174ad /sql/sql_lex.h
parent395c8ca708c15e7f4b8dca5c3f5246d03eb557af (diff)
downloadmariadb-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.h18
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();
};