Gabriel39 commented on code in PR #67784:
URL: https://github.com/apache/doris/pull/67784#discussion_r4002001030


##########
fe/fe-core/src/main/java/org/apache/doris/datasource/jdbc/client/JdbcPostgreSQLClient.java:
##########
@@ -188,8 +188,7 @@ protected Type jdbcTypeToDoris(JdbcFieldSchema fieldSchema) 
{
             case "jsonb":
                 return ScalarType.createStringType();
             case "bytea": // 
https://www.postgresql.org/docs/12/datatype-binary.html#DATATYPE-BINARY-TABLE
-                return enableMappingVarbinary ? 
ScalarType.createVarbinaryType(fieldSchema.requiredColumnSize())
-                        : ScalarType.createStringType();
+                return 
ScalarType.createVarbinaryType(fieldSchema.requiredColumnSize());

Review Comment:
   Fixed in 1b0ef9bfb9. JDBC conjuncts containing VARBINARY literals remain 
local for PostgreSQL, Oracle, and SQL Server; compatible MySQL pushdown is 
unchanged. Tests cover IN, NOT IN, nested OR, empty/binary literals, and 
non-binary predicates. The related FE tests pass.



##########
fe/fe-core/src/main/java/org/apache/doris/datasource/FileQueryScanNode.java:
##########
@@ -247,9 +249,15 @@ protected void initSchemaParams() throws UserException {
         setColumnPositionMapping();
         // For query, set src tuple id to -1.
         params.setSrcTupleId(-1);
-        // Set enable_mapping_varbinary from catalog or TVF
         params.setEnableMappingVarbinary(getEnableMappingVarbinary());
         params.setEnableMappingTimestampTz(getEnableMappingTimestampTz());
+        // The marker makes an omitted timezone an explicit wall-clock choice 
while old FE plans
+        // remain distinguishable during a BE-first rolling upgrade.
+        
params.setParquetTimestampSemanticsVersion(FileFormatUtils.PARQUET_TIMESTAMP_SEMANTICS_VERSION);

Review Comment:
   Fixed in 1b0ef9bfb9. External timestamp columns, including timestamp leaves 
in arrays/maps/structs, now stay in phase one rather than reaching the legacy 
phase-two row fetch. Other eligible columns can still be deferred, and Lance 
search keeps its separate fetch path. Added planner unit tests and a 
cross-timezone INT96 TopN regression covering both scanner-toggle settings. The 
related FE tests pass; the external integration regression is pending CI.



##########
fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/source/IcebergScanNode.java:
##########
@@ -2514,12 +2520,11 @@ private boolean 
isPositionDeletesPartitionColumnRequested() {
     private String getPartitionDataObjectJson(PartitionData partitionData, 
PartitionSpec partitionSpec,
             List<NestedField> outputPartitionFields) throws UserException {
         List<NestedField> partitionTypes = 
partitionData.getPartitionType().asNestedType().fields();
-        boolean enableMappingVarbinary = getEnableMappingVarbinary();
         for (int i = 0; i < partitionTypes.size(); i++) {
             Type type = partitionTypes.get(i).type();
             if (partitionData.get(i) != null && (type.typeId() == 
Type.TypeID.BINARY
                     || type.typeId() == Type.TypeID.FIXED
-                    || (type.typeId() == Type.TypeID.UUID && 
enableMappingVarbinary))) {
+                    || type.typeId() == Type.TypeID.UUID)) {

Review Comment:
   Fixed in 1b0ef9bfb9. Position-delete partition metadata now transports 
UUID/fixed/binary values as hexadecimal bytes, with Iceberg conversion 
preserving UUID byte order and buffer positions. The VARBINARY SerDe decodes 
this representation without altering the existing raw JSON deserialization 
path. FE tests cover UUID, binary, fixed, empty, null, and sliced buffers; BE 
tests verify the actual 16 UUID bytes through both V1 and V2 partition readers, 
including cached values. The new failure reproductions and related suites pass.



-- 
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]

Reply via email to