>From Vijay Sarathy <[email protected]>:
Vijay Sarathy has uploaded this change for review. (
https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/18238 )
Change subject: [ASTERIXDB-3380][COMP] Internal error on a syntax error with
productivity hint
......................................................................
[ASTERIXDB-3380][COMP] Internal error on a syntax error with productivity hint
Change-Id: I42399559414f94204b22897d0fae43ea8c0f54d4
---
M asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj
1 file changed, 15 insertions(+), 3 deletions(-)
git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb
refs/changes/38/18238/1
diff --git a/asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj
b/asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj
index a1b7daf..bbab024 100644
--- a/asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj
+++ b/asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj
@@ -717,6 +717,9 @@
Pattern stringNumber = Pattern.compile("\\w+\\s+\\d+\\.\\d+");
Pattern lessThanOnePat = Pattern.compile("0\\.\\d+");
try {
+ if (hintToken.hint == null) {
+ throw new SqlppParseException(getSourceLocation(hintToken),
"Unexpected hint");
+ }
switch (hintToken.hint) {
case SINGLE_DATASET_PREDICATE_SELECTIVITY_HINT:
if (hintToken.hintParams == null) {
@@ -859,13 +862,13 @@
} catch (SqlppParseException e) {
if (warningCollector.shouldWarn()) {
warningCollector.warn(Warning.of(getSourceLocation(hintToken),
ErrorCode.INVALID_HINT,
- hintToken.hint.toString(), e.getMessage()));
+ hintToken.hint != null ? hintToken.hint.toString() :
hintToken.toString(), e.getMessage()));
}
return onParseErrorReturn;
} catch (CompilationException e) {
if (warningCollector.shouldWarn()) {
warningCollector.warn(Warning.of(getSourceLocation(hintToken),
ErrorCode.INVALID_HINT,
- hintToken.hint.toString(), e.getMessage()));
+ hintToken.hint != null ? hintToken.hint.toString() :
hintToken.toString(), e.getMessage()));
}
return onParseErrorReturn;
}
@@ -4040,7 +4043,7 @@
)?
{
- if (annotation != null) {
+ if (annotationList.size() > 0) {
op.addHints(annotationList);
}
return op==null? operand: op;
--
To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/18238
To unsubscribe, or for help writing mail filters, visit
https://asterix-gerrit.ics.uci.edu/settings
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Change-Id: I42399559414f94204b22897d0fae43ea8c0f54d4
Gerrit-Change-Number: 18238
Gerrit-PatchSet: 1
Gerrit-Owner: Vijay Sarathy <[email protected]>
Gerrit-MessageType: newchange