-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Closed
Description
Consider the following test case:
CREATE TABLE t0(c1 INT);
CREATE VIEW v0(c0) AS SELECT * FROM t0 WHERE false BETWEEN (t0.C1 IS NULL) AND true;
SELECT * FROM v0; -- View "PUBLIC.V0" is invalid: "Syntax error in SQL statement [...]The SELECT results in an unexpected syntax error:
Syntax error in SQL statement "SELECT
""PUBLIC"".""T0"".""C1""
FROM ""PUBLIC"".""T0""
WHERE FALSE BETWEEN ""T0"".""C1"" IS[*] NULL AND TRUE"; expected "(, ., [, ::, AT, FORMAT, *, /, %, +, -, ||, AND" [42001-201]
at org.h2.message.DbException.getSyntaxError(DbException.java:238)
at org.h2.command.Parser.getSyntaxError(Parser.java:1260)
at org.h2.command.Parser.read(Parser.java:6060)
at org.h2.command.Parser.readConditionRightHandSide(Parser.java:3421)
at org.h2.command.Parser.readCondition(Parser.java:3404)
at org.h2.command.Parser.readExpressionWithGlobalConditions(Parser.java:3300)
at org.h2.command.Parser.parseSelect(Parser.java:3169)
at org.h2.command.Parser.parseQuerySub(Parser.java:3033)
at org.h2.command.Parser.parseSelectUnion(Parser.java:2871)
at org.h2.command.Parser.parseQuery(Parser.java:2841)
at org.h2.command.Parser.parsePrepared(Parser.java:1070)
at org.h2.command.Parser.parse(Parser.java:1045)
at org.h2.command.Parser.parse(Parser.java:1021)
at org.h2.command.Parser.prepare(Parser.java:929)
at org.h2.engine.SessionLocal.prepare(SessionLocal.java:595)
at org.h2.table.TableView.compileViewQuery(TableView.java:113)
at org.h2.table.TableView.initColumnsAndTables(TableView.java:165)
at org.h2.table.TableView.init(TableView.java:106)
at org.h2.table.TableView.<init>(TableView.java:68)
at org.h2.command.ddl.CreateView.update(CreateView.java:125)
at org.h2.command.CommandContainer.update(CommandContainer.java:173)
at org.h2.command.Command.executeUpdate(Command.java:250)
at org.h2.jdbc.JdbcStatement.executeInternal(JdbcStatement.java:236)
I found this based on commit 52cbd72.
Metadata
Metadata
Assignees
Labels
No labels