Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SQL query with HAVING SubSelect gives NullPointerException #1

Open
at88mph opened this issue May 5, 2016 · 1 comment
Open

SQL query with HAVING SubSelect gives NullPointerException #1

at88mph opened this issue May 5, 2016 · 1 comment

Comments

@at88mph
Copy link
Member

at88mph commented May 5, 2016

The stack trace is below. The sample query is:

SELECT DISTINCT 
TABLE1.COL1A AS "COL1A",
TABLE1.COL1B AS "COL1B",
TABLE2.COL2A AS "COL2A",
TABLE3.COL3A AS "COL3A"
FROM SCHEMA1.TABLE1
inner join SCHEMA1.TABLE2 on TABLE1.COL1A = TABLE2.COL2A
inner join SCHEMA1.TABLE3 on TABLE2.COL2B = TABLE3.COL3A
WHERE (1=1)
AND TABLE3.COL3A = 'VAL'
GROUP BY TABLE1.COL1A, TABLE1.COL1B, TABLE2.COL2A, TABLE3.COL3A
HAVING TABLE2.COL2A = 
  (SELECT MAX(T3.COL3A) AS MM FROM TABLE3 AS T3
   inner join TABLE1 as t1 on t1.COL1A = T3.COL3A
   inner join TABLE2 as t2 on t2.COL2B = t1.COL1B
   WHERE t1.COL1A = TABLE1.COL1A)
ORDER BY "COL1A" asc;
java.lang.NullPointerException
    at ca.nrc.cadc.tap.parser.navigator.FromItemNavigator.visit(FromItemNavigator.java:120)
    at ca.nrc.cadc.tap.parser.navigator.ExpressionNavigator.visit(ExpressionNavigator.java:446)
    at net.sf.jsqlparser.statement.select.SubSelect.accept(SubSelect.java:51)
    at ca.nrc.cadc.tap.parser.navigator.ExpressionNavigator.visit(ExpressionNavigator.java:340)
    at net.sf.jsqlparser.expression.operators.relational.EqualsTo.accept(EqualsTo.java:30)
    at ca.nrc.cadc.tap.parser.navigator.SelectNavigator.visit(SelectNavigator.java:201)
    at net.sf.jsqlparser.statement.select.PlainSelect.accept(PlainSelect.java:105)
    at ca.nrc.cadc.tap.parser.StatementNavigator.visit(StatementNavigator.java:105)
    at net.sf.jsqlparser.statement.select.Select.accept(Select.java:36)
    at ca.nrc.cadc.tap.parser.ParserUtil.parseStatement(ParserUtil.java:118)
    at ca.nrc.cadc.tap.AbstractTapQuery.navigateStatement(AbstractTapQuery.java:154)
    at ca.nrc.cadc.tap.SqlQuery.doNavigate(SqlQuery.java:164)
@at88mph
Copy link
Member Author

at88mph commented Dec 8, 2016

I have confirmed that upgrading the jSQL parser fixes this issue.

Depends on #3 .

pdowler pushed a commit that referenced this issue Sep 10, 2019
S2440 with upgrade script + fixes
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant