>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

Reply via email to