24 #ifndef _SCANNER_SUPPORT_H_ 25 #define _SCANNER_SUPPORT_H_ 35 #define pt_orderbynum_compatibility(expr) pt_instnum_compatibility(expr) 39 if (parser_instnum_check == 1 && \ 40 expr && !pt_instnum_compatibility(expr)) { \ 41 PT_ERRORmf2(this_parser, expr, MSGCAT_SET_PARSER_SEMANTIC, \ 42 MSGCAT_SEMANTIC_INSTNUM_COMPATIBILITY_ERR, \ 43 "INST_NUM() or ROWNUM", "INST_NUM() or ROWNUM"); \ 45 if (parser_groupbynum_check == 1 && \ 46 expr && !pt_groupbynum_compatibility(expr)) { \ 47 PT_ERRORmf2(this_parser, expr, MSGCAT_SET_PARSER_SEMANTIC, \ 48 MSGCAT_SEMANTIC_INSTNUM_COMPATIBILITY_ERR, \ 49 "GROUPBY_NUM()", "GROUPBY_NUM()"); \ 51 if (parser_orderbynum_check == 1 && \ 52 expr && !pt_orderbynum_compatibility(expr)) { \ 53 PT_ERRORmf2(this_parser, expr, MSGCAT_SET_PARSER_SEMANTIC, \ 54 MSGCAT_SEMANTIC_INSTNUM_COMPATIBILITY_ERR, \ 55 "ORDERBY_NUM()", "ORDERBY_NUM()"); \ 69 bool prev_is_white_char);
PT_HINT parser_hint_table[]
int parser_input_host_index
char * pt_makename(const char *name)
void pt_parser_line_col(PT_NODE *node)
void pt_cleanup_hint(PARSER_CONTEXT *parser, PT_HINT hint_table[])
int parser_output_host_index
void pt_check_hint(const char *text, PT_HINT hint_table[], PT_HINT_ENUM *result_hint, bool prev_is_white_char)
PARSER_CONTEXT * this_parser
void pt_fix_left_parens(void)
void pt_get_hint(const char *text, PT_HINT hint_table[], PT_NODE *node)