CalciteUnionError
Attempt to union using
RelBuilder
builder.pushAll(Arrays.asList(first, second))
.union(true);
String generatedSql = toSql(builder.build(), connection);
Manual
String manualSql = "(" + toSql(second, connection) + ")";
manualSql += "\nUNION ALL\n";
manualSql += "(" + toSql(first, connection) + ")";
The tests
ORDER BY
AND LIMIT
Without [SUCCESS] Manual:
(SELECT *
FROM "PUBLIC"."TEST")
UNION ALL
(SELECT *
FROM "PUBLIC"."TEST")
[SUCCESS] Using RelBuilder
:
SELECT * FROM (
SELECT * FROM "PUBLIC"."TEST"
UNION ALL
SELECT * FROM "PUBLIC"."TEST"
)
ORDER BY
AND LIMIT
With [SUCCESS] Manual:
(SELECT *
FROM "PUBLIC"."TEST"
ORDER BY "TEST_VALUE" NULLS LAST
OFFSET 10 ROWS
FETCH NEXT 20 ROWS ONLY)
UNION ALL
(SELECT *
FROM "PUBLIC"."TEST"
ORDER BY "TEST_VALUE" NULLS LAST
FETCH NEXT 10 ROWS ONLY)
[FAILED] Using RelBuilder
:
SELECT * FROM (
SELECT *
FROM "PUBLIC"."TEST"
ORDER BY "TEST_VALUE" NULLS LAST
FETCH NEXT 10 ROWS ONLY
UNION ALL
SELECT *
FROM "PUBLIC"."TEST"
ORDER BY "TEST_VALUE" NULLS LAST
OFFSET 10 ROWS
FETCH NEXT 20 ROWS ONLY
)