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


##########
fe/fe-core/src/main/java/org/apache/doris/datasource/jdbc/client/JdbcOracleClient.java:
##########
@@ -208,6 +208,10 @@ protected Type jdbcTypeToDoris(JdbcFieldSchema 
fieldSchema) {
                     precision = scale;
                 }
                 return createDecimalOrStringType(precision, scale);
+            // Oracle binary floating-point types retain IEEE precision 
instead of becoming unsupported.
+            case "BINARY_FLOAT":
+                return Type.FLOAT;
+            case "BINARY_DOUBLE":

Review Comment:
   Fixed by setting Oracle’s SetFloatAndDoubleUseBinary connection property 
before Hikari opens connections. This keeps FLOAT/DOUBLE inserts on the binary 
IEEE binding path rather than converting them through NUMBER. Added 
driver-contract/unit coverage and an INSERT/readback regression for large and 
small doubles, signed floats, and NULLs. Verified against a real Oracle 
database: the previous executor fails on setDouble(1e200) with Overflow; the 
fixed executor passes all five Java tests and the Doris JDBC regression block.



##########
fe/fe-core/src/main/java/org/apache/doris/tablefunction/ExternalFileTableValuedFunction.java:
##########
@@ -253,12 +253,9 @@ && getTFileType() != TFileType.FILE_S3) {
             throw new AnalysisException("Lance format is supported only by 
local() and s3() TVFs");
         }
 
-        // The catalog property was removed, but this TVF-only option must 
remain explicit because
-        // changing an ad-hoc TVF result schema also breaks CTAS type 
inference.
-        String enableMappingVarbinaryStr = getOrDefaultAndRemove(copiedProps,
-                FileFormatConstants.PROP_ENABLE_MAPPING_VARBINARY, "false");
-        fileFormatProperties.enableMappingVarbinary = 
Boolean.parseBoolean(enableMappingVarbinaryStr);
-
+        // Binary file fields must preserve bytes even when a legacy opt-out 
is supplied.
+        copiedProps.remove(FileFormatConstants.PROP_ENABLE_MAPPING_VARBINARY);
+        fileFormatProperties.enableMappingVarbinary = true;

Review Comment:
   Fixed shared Parquet schema inference for both modern ENUM logical 
annotations and legacy ConvertedType::ENUM: both remain STRING independently of 
the raw-binary option. Added a schema unit matrix and an ENUM-only 
CTAS/readback regression with the option set to both false and true. The 
focused schema test fails against the old implementation and passes with the 
fix; the HDFS regression suite also passes. Logical UUID annotations now take 
precedence over the raw-binary default as well, addressing the related CI 
regressions without changing the V1 decoder chain.



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