diff options
author | halfspawn <j.brauge@qualiac.com> | 2018-03-30 11:23:28 +0200 |
---|---|---|
committer | Oleksandr Byelkin <sanja@mariadb.com> | 2018-04-11 09:59:13 +0200 |
commit | 73f3842bf7cea9b9d56badaf2b400c513cf578cb (patch) | |
tree | a4befe1fba1e8de5d76c755077d992eaceb00ba3 /sql/structs.h | |
parent | dd127799bc179da10cc24c5d5cd105c9a5584730 (diff) | |
download | mariadb-git-10.3-MDEV-11953.tar.gz |
MDEV-15739 sql_mode=ORACLE: Make LPAD and RPAD return NULL instead of empty string10.3-MDEV-11953
Diffstat (limited to 'sql/structs.h')
-rw-r--r-- | sql/structs.h | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/sql/structs.h b/sql/structs.h index 01d99517fed..19c2405e75d 100644 --- a/sql/structs.h +++ b/sql/structs.h @@ -759,6 +759,59 @@ struct Lex_string_with_pos_st: public LEX_CSTRING const char *m_pos; }; +class Lex_select_lock +{ +public: + struct + { + uint defined_lock:1; + uint update_lock:1; + uint defined_timeout:1; + }; + ulong timeout; + + + void empty() + { + defined_lock= update_lock= defined_timeout= FALSE; + timeout= 0; + } +}; + +class Lex_select_limit +{ +public: + bool explicit_limit; + Item *select_limit, *offset_limit; + + void empty() + { + explicit_limit= FALSE; + select_limit= offset_limit= NULL; + } +}; + +struct st_order; +class st_select_lex; + +/** + ORDER BY ... LIMIT parameters; +*/ +class Lex_order_limit_lock +{ +public: + SQL_I_List<st_order> *order_list; /* ORDER clause */ + Lex_select_lock lock; + Lex_select_limit limit; + + static void *operator new(size_t size, MEM_ROOT *mem_root) throw () + { return alloc_root(mem_root, size); } + Lex_order_limit_lock() :order_list(NULL) + {} + + bool set_to(st_select_lex *sel); +}; + class Load_data_param { |