From d08867e6cafb04229ef06a81253f2b770ccdebd0 Mon Sep 17 00:00:00 2001 From: Xiaotian Wu Date: Sat, 12 Mar 2022 12:18:50 +0800 Subject: [PATCH] Fix syntax to use higher version bison --- src/sql/CMakeLists.txt | 3 ++- src/sql/parser/sql_parser_mysql_mode.l | 3 +++ src/sql/parser/sql_parser_mysql_mode.y | 15 ++++++++++----- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/src/sql/CMakeLists.txt b/src/sql/CMakeLists.txt index 9a84dd902..e55ffba46 100644 --- a/src/sql/CMakeLists.txt +++ b/src/sql/CMakeLists.txt @@ -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 diff --git a/src/sql/parser/sql_parser_mysql_mode.l b/src/sql/parser/sql_parser_mysql_mode.l index 76223cd98..d127b75e0 100644 --- a/src/sql/parser/sql_parser_mysql_mode.l +++ b/src/sql/parser/sql_parser_mysql_mode.l @@ -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 diff --git a/src/sql/parser/sql_parser_mysql_mode.y b/src/sql/parser/sql_parser_mysql_mode.y index f194e972f..2d45ccc8f 100644 --- a/src/sql/parser/sql_parser_mysql_mode.y +++ b/src/sql/parser/sql_parser_mysql_mode.y @@ -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 #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; } | {