[tarantool-patches] Re: [PATCH v1 1/1] sql: do not replace the error with a syntax error
Imeev Mergen
imeevma at tarantool.org
Wed May 15 22:33:21 MSK 2019
On 5/15/19 10:28 PM, n.pettik wrote:
>
>> diff --git a/extra/lempar.c b/extra/lempar.c
>> index d043e39..595f89e 100644
>> --- a/extra/lempar.c
>> +++ b/extra/lempar.c
>> @@ -935,7 +935,8 @@ void Parse(
>> yymajor = YYNOCODE;
>> #endif
>> }
>> - }while( yymajor!=YYNOCODE && yypParser->yytos>yypParser->yystack );
>> + }while( yymajor!=YYNOCODE && yypParser->yytos>yypParser->yystack
>> + PARSER_ERROR_CHECK);
>> #ifndef NDEBUG
>> if( yyTraceFILE ){
>> yyStackEntry *i;
>> diff --git a/src/box/sql/parse.y b/src/box/sql/parse.y
>> index 3a443a0..f241b8d 100644
>> --- a/src/box/sql/parse.y
>> +++ b/src/box/sql/parse.y
>> @@ -80,6 +80,13 @@
>> #define YYMALLOCARGTYPE u64
>>
>> /*
>> + * Stop the parser if an error occurs. This macro adds an
>> + * additional check that allows the parser to be stopped if any
>> + * error was noticed.
>> + */
>> +#define PARSER_ERROR_CHECK && ! pParse->is_aborted
>
> Any arguments in favour of using macro in this case?
> Why don’t simply inline this condition?
> The rest is OK as obvious.
>
Currently, pParse is not used directly in a template (lempar.c).
I tried to keep this practice.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.tarantool.org/pipermail/tarantool-patches/attachments/20190515/2c539e1d/attachment.html>
More information about the Tarantool-patches
mailing list