github-actions[bot] commented on code in PR #67784:
URL: https://github.com/apache/doris/pull/67784#discussion_r4004663255
##########
fe/fe-core/src/main/java/org/apache/doris/datasource/jdbc/source/JdbcScanNode.java:
##########
@@ -285,6 +285,13 @@ public int getNumInstances() {
}
private static boolean shouldPushDownConjunct(TOdbcTableType tableType,
Expr expr) {
+ // These dialects do not accept Doris X'...' as binary literals
(PostgreSQL reads bit
+ // strings). Keep the conjunct local without disabling MySQL's
compatible binary syntax.
+ if ((tableType == TOdbcTableType.POSTGRESQL || tableType ==
TOdbcTableType.ORACLE
Review Comment:
[P1] Fence the remaining incompatible JDBC binary dialects
This guard still omits `DB2` and `OCEANBASE_ORACLE`. The patch maps DB2
`BLOB` directly to `VARBINARY`; OceanBase Oracle mode delegates to the changed
`JdbcOracleClient` BLOB mapping while retaining its separate table-type enum.
Predicates on both therefore reach pushdown as `VarBinaryLiteral` and serialize
in the `X` form. [Db2 LUW defines that form as a character constant and
requires the `BX` form for
binary](https://www.ibm.com/docs/en/db2/11.5.x?topic=elements-constants), while
[OceanBase Oracle-mode literal
grammar](https://github.com/oceanbase/oceanbase-doc/blob/V4.3.5/en-US/700.reference/500.sql-reference/100.sql-syntax/300.common-tenant-of-oracle-mode/300.basic-elements-of-oracle-mode/300.literal-of-oracle-mode/100.literal-overview-of-oracle-mode.md)
has no binary/hex literal and its RAW path uses `HEXTORAW`. These
comparison/IN predicates can fail remotely instead of being evaluated by Doris.
Please add both enums to this local-evaluation fence and its test matrix, or re
nder each target typed binary syntax.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]