It looks like there are 2 failures so far when running the integration
tests (https://calcite.apache.org/docs/howto.html#running-integration-tests)

1. I'm not sure about the JdbcTest and what causes the failure. The error
is an exception from postgres and not from Calcite itself. Can anyone help
with determine the cause of this test failure?

2. For the other test, I think the JdbcAdapterTest is missing the ":NULL"
part after null that was changed as part of CALCITE-2454.

Partial output from the test run is below:

./mvnw verify -Pit

[INFO] -------------------------------------------------------
[INFO]  T E S T S
[INFO] -------------------------------------------------------
[INFO] Running org.apache.calcite.test.JdbcTest
2019-03-11 11:23:41,539 [main] INFO  - open start - state modified
2019-03-11 11:23:41,555 [main] INFO  - Checkpoint start
2019-03-11 11:23:41,555 [main] INFO  - Checkpoint end - txts: 25
[ERROR] Tests run: 290, Failures: 0, Errors: 1, Skipped: 21, Time elapsed:
65.154 s <<< FAILURE! - in org.apache.calcite.test.JdbcTest
[ERROR] testIsNotDistinctInFilter(org.apache.calcite.test.JdbcTest)  Time
elapsed: 0.041 s  <<< ERROR!
java.sql.SQLException:
Error while executing SQL "select *
  from "foodmart"."employee" as e1
  where e1."last_name" is distinct from e1."last_name"": While executing
SQL [SELECT *
FROM "foodmart"."employee"
WHERE ("last_name" IS NOT NULL OR "last_name" IS NOT NULL) AND "last_name"
= "last_name" IS NOT TRUE] on JDBC sub-schema
at
org.apache.calcite.test.JdbcTest.testIsNotDistinctInFilter(JdbcTest.java:1585)
Caused by: java.lang.RuntimeException:
While executing SQL [SELECT *
FROM "foodmart"."employee"
WHERE ("last_name" IS NOT NULL OR "last_name" IS NOT NULL) AND "last_name"
= "last_name" IS NOT TRUE] on JDBC sub-schema
at
org.apache.calcite.test.JdbcTest.testIsNotDistinctInFilter(JdbcTest.java:1585)
Caused by: org.postgresql.util.PSQLException:
ERROR: argument of IS NOT TRUE must be type boolean, not type character
varying
  Position: 114
at
org.apache.calcite.test.JdbcTest.testIsNotDistinctInFilter(JdbcTest.java:1585)

[INFO] Running org.apache.calcite.test.JdbcAdapterTest
[ERROR] Tests run: 36, Failures: 1, Errors: 0, Skipped: 0, Time elapsed:
2.605 s <<< FAILURE! - in org.apache.calcite.test.JdbcAdapterTest
[ERROR] testOverDisallowPartial(org.apache.calcite.test.JdbcAdapterTest)
Time elapsed: 0.015 s  <<< FAILURE!
java.lang.AssertionError:

Expected: a string containing "PLAN=JdbcToEnumerableConverter\n
JdbcProject(store_id=[$0], account_id=[$1], exp_date=[$2], time_id=[$3],
category_id=[$4], currency_id=[$5], amount=[$6],
last_version=[CASE(>=(COUNT() OVER (PARTITION BY $1 ORDER BY $3 ROWS
BETWEEN 3 PRECEDING AND CURRENT ROW), 2), LAST_VALUE($3) OVER (PARTITION BY
$1 ORDER BY $3 ROWS BETWEEN 3 PRECEDING AND CURRENT ROW), null)])\n
JdbcTableScan(table=[[foodmart, expense_fact]])\n"
     but: was "PLAN=JdbcToEnumerableConverter\n  JdbcProject(store_id=[$0],
account_id=[$1], exp_date=[$2], time_id=[$3], category_id=[$4],
currency_id=[$5], amount=[$6], last_version=[CASE(>=(COUNT() OVER
(PARTITION BY $1 ORDER BY $3 ROWS BETWEEN 3 PRECEDING AND CURRENT ROW), 2),
LAST_VALUE($3) OVER (PARTITION BY $1 ORDER BY $3 ROWS BETWEEN 3 PRECEDING
AND CURRENT ROW), null:NULL)])\n    JdbcTableScan(table=[[foodmart,
expense_fact]])\n\n"
at
org.apache.calcite.test.JdbcAdapterTest.testOverDisallowPartial(JdbcAdapterTest.java:572)

[INFO]
[INFO] Results:
[INFO]
[ERROR] Failures:
[ERROR]   JdbcAdapterTest.testOverDisallowPartial:572
Expected: a string containing "PLAN=JdbcToEnumerableConverter\n
JdbcProject(store_id=[$0], account_id=[$1], exp_date=[$2], time_id=[$3],
category_id=[$4], currency_id=[$5], amount=[$6],
last_version=[CASE(>=(COUNT() OVER (PARTITION BY $1 ORDER BY $3 ROWS
BETWEEN 3 PRECEDING AND CURRENT ROW), 2), LAST_VALUE($3) OVER (PARTITION BY
$1 ORDER BY $3 ROWS BETWEEN 3 PRECEDING AND CURRENT ROW), null)])\n
JdbcTableScan(table=[[foodmart, expense_fact]])\n"
     but: was "PLAN=JdbcToEnumerableConverter\n  JdbcProject(store_id=[$0],
account_id=[$1], exp_date=[$2], time_id=[$3], category_id=[$4],
currency_id=[$5], amount=[$6], last_version=[CASE(>=(COUNT() OVER
(PARTITION BY $1 ORDER BY $3 ROWS BETWEEN 3 PRECEDING AND CURRENT ROW), 2),
LAST_VALUE($3) OVER (PARTITION BY $1 ORDER BY $3 ROWS BETWEEN 3 PRECEDING
AND CURRENT ROW), null:NULL)])\n    JdbcTableScan(table=[[foodmart,
expense_fact]])\n\n"
[ERROR] Errors:
[ERROR]   JdbcTest.testIsNotDistinctInFilter:1585 ยป SQL Error while
executing SQL "selec...
[INFO]
[ERROR] Tests run: 326, Failures: 1, Errors: 1, Skipped: 21


Kevin Risden

Reply via email to