3089
3089
| SUBDATE_SYM '(' expr ',' INTERVAL_SYM expr interval ')'
3090
3090
{ $$= new (YYSession->mem_root) Item_date_add_interval($3, $6, $7, 1); }
3091
3091
| SUBSTRING '(' expr ',' expr ',' expr ')'
3092
{ $$= new (YYSession->mem_root) Item_func_substr($3,$5,$7); }
3093
std::string reverse_str("substr");
3094
List<Item> *args= new (YYSession->mem_root) List<Item>;
3095
args->push_back($3);
3096
args->push_back($5);
3097
args->push_back($7);
3098
if (! ($$= reserved_keyword_function(reverse_str, args)))
3093
3103
| SUBSTRING '(' expr ',' expr ')'
3094
{ $$= new (YYSession->mem_root) Item_func_substr($3,$5); }
3105
std::string reverse_str("substr");
3106
List<Item> *args= new (YYSession->mem_root) List<Item>;
3107
args->push_back($3);
3108
args->push_back($5);
3109
if (! ($$= reserved_keyword_function(reverse_str, args)))
3095
3114
| SUBSTRING '(' expr FROM expr FOR_SYM expr ')'
3096
{ $$= new (YYSession->mem_root) Item_func_substr($3,$5,$7); }
3116
std::string reverse_str("substr");
3117
List<Item> *args= new (YYSession->mem_root) List<Item>;
3118
args->push_back($3);
3119
args->push_back($5);
3120
args->push_back($7);
3121
if (! ($$= reserved_keyword_function(reverse_str, args)))
3097
3126
| SUBSTRING '(' expr FROM expr ')'
3098
{ $$= new (YYSession->mem_root) Item_func_substr($3,$5); }
3128
std::string reverse_str("substr");
3129
List<Item> *args= new (YYSession->mem_root) List<Item>;
3130
args->push_back($3);
3131
args->push_back($5);
3132
if (! ($$= reserved_keyword_function(reverse_str, args)))
3099
3137
| SYSDATE optional_braces
3100
3138
{ $$= new (YYSession->mem_root) Item_func_sysdate_local(); }
3101
3139
| SYSDATE '(' expr ')'