Fix syntax to use higher version bison

This commit is contained in:
Xiaotian Wu 2022-03-12 12:18:50 +08:00 committed by Xiaotian Wu
parent de9ece7a96
commit d08867e6ca
3 changed files with 15 additions and 6 deletions

View File

@ -1537,8 +1537,9 @@ target_link_libraries(ob_sql_static
${DEP_DIR}/lib64/libodps_sdk_core_static.a)
endif()
SET(GEN_PARSER_SCRIPT ${CMAKE_SOURCE_DIR}/src/sql/parser/gen_parser.sh)
execute_process(
COMMAND env NEED_PARSER_CACHE=${NEED_PARSER_CACHE} bash gen_parser.sh
COMMAND env NEED_PARSER_CACHE=${NEED_PARSER_CACHE} bash ${GEN_PARSER_SCRIPT}
RESULT_VARIABLE RET
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/src/sql/parser
OUTPUT_FILE _gen_parser.output

View File

@ -21,6 +21,9 @@
#include "sql_parser_base.h"
#include "sql_parser_mysql_mode_tab.h"
#define YYLTYPE OBSQL_MYSQL_YYLTYPE
#define YYSTYPE OBSQL_MYSQL_YYSTYPE
#define YYEMPTY OBSQL_MYSQL_YYEMPTY
extern void obsql_mysql_yyerror(YYLTYPE *yylloc, ParseResult *p, char *s,...);
extern void obsql_mysql_parser_fatal_error(int32_t errcoyyde, yyscan_t yyscanner, yyconst char *msg, ...);
#define yyerror obsql_mysql_yyerror

View File

@ -11,11 +11,16 @@
*/
%define api.pure
%parse-param {ParseResult *result}
%name-prefix "obsql_mysql_yy"
%code requires {
#include "../../../src/sql/parser/parse_node.h"
#define YYEMPTY OBSQL_MYSQL_YYEMPTY
}
%param {ParseResult *result}
%define api.prefix {obsql_mysql_yy}
%locations
%verbose
%error-verbose
%define parse.error verbose
%{
#include <stdint.h>
#define YYDEBUG 1
@ -14140,7 +14145,7 @@ table_factor %prec LOWER_COMMA
natural_join_type:
NATURAL except_full_outer_join_type
{
$$ = $2
$$ = $2;
}
| NATURAL FULL opt_outer JOIN
{
@ -21261,7 +21266,7 @@ FILE_ID opt_equal_mark INTNUM
opt_file_id:
file_id
{
$$ = $1
$$ = $1;
}
|
{