diff options
| author | 2015-11-25 16:48:49 -0500 | |
|---|---|---|
| committer | 2015-11-25 16:48:49 -0500 | |
| commit | 7412693e086a7eafaa7ea861164caf523943e5fa (patch) | |
| tree | 0aee322e40572df306b9813546c7a12b3093bcea /SQLiteStudio3/coreSQLiteStudio/parser/lempar.c | |
| parent | 640196993d31cf5d6fdf36386990ec05f473a048 (diff) | |
| parent | 8e640722c62692818ab840d50b3758f89a41a54e (diff) | |
Merge tag 'upstream/3.0.7'
Upstream version 3.0.7
# gpg: Signature made Wed 25 Nov 2015 04:48:48 PM EST using RSA key ID EBE9BD91
# gpg: Good signature from "Unit 193 <unit193@gmail.com>"
# gpg: aka "Unit 193 <unit193@ninthfloor.org>"
# gpg: aka "Unit 193 <unit193@ubuntu.com>"
# gpg: aka "Unit 193 <unit193@ninthfloor.com>"
Diffstat (limited to 'SQLiteStudio3/coreSQLiteStudio/parser/lempar.c')
| -rw-r--r-- | SQLiteStudio3/coreSQLiteStudio/parser/lempar.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/SQLiteStudio3/coreSQLiteStudio/parser/lempar.c b/SQLiteStudio3/coreSQLiteStudio/parser/lempar.c index 4f9cd5c..2d0e610 100644 --- a/SQLiteStudio3/coreSQLiteStudio/parser/lempar.c +++ b/SQLiteStudio3/coreSQLiteStudio/parser/lempar.c @@ -717,7 +717,11 @@ static void yy_reduce( { tokens.clear(); const char* fieldName = yyTokenName[yypParser->yystack[i].major]; - if (parserContext->isManagedToken(yypParser->yystack[i].minor.yy0)) + + // Adding token being subject of this reduction. It's usually not includes in the inherited tokens, + // although if inheriting from simple statements, like "FAIL" or "ROLLBACK", this tends to be redundant with the inherited tokens. + // That's why we're checking if it's not contained in the inherited tokens and add it only then. + if (parserContext->isManagedToken(yypParser->yystack[i].minor.yy0) && !yypParser->yystack[i].tokens->contains(yypParser->yystack[i].minor.yy0)) tokens += yypParser->yystack[i].minor.yy0; tokens += *(yypParser->yystack[i].tokens); |
