github-actions[bot] commented on code in PR #67784:
URL: https://github.com/apache/doris/pull/67784#discussion_r4014740664


##########
be/src/format_v2/table_reader.cpp:
##########
@@ -1636,6 +1641,8 @@ Status 
TableReader::create_file_reader(std::unique_ptr<FileReader>* reader) {
     const bool enable_mapping_varbinary = _scan_params != nullptr &&
                                           
_scan_params->__isset.enable_mapping_varbinary &&
                                           
_scan_params->enable_mapping_varbinary;
+    const std::optional<std::string> hive_parquet_time_zone =

Review Comment:
   [P1] Isolate condition-cache entries by the INT96 timezone contract
   
   This request-local value changes how INT96 rows evaluate predicates, but it 
is passed only to `ParquetReader`; the process-wide external condition-cache 
key still consists of file identity, byte range, the session-variable seed, and 
the expression digest. Scanning the same file and predicate through two HMS 
catalogs or TVFs with wall-clock versus (for example) `Asia/Shanghai` semantics 
can therefore reuse an all-false granule bitmap and skip the second scan's 
matching rows before decoding. Since `enable_condition_cache` defaults on, 
please include the normalized absent/empty/named INT96 contract in the cache 
identity, or disable condition-cache reuse for affected timestamp predicates.



##########
fe/fe-core/src/main/java/org/apache/doris/datasource/CatalogProperty.java:
##########
@@ -103,18 +104,20 @@ public Map<String, String> getProperties() {
     }
 
     /**
-     * @return true if varbinary mapping is enabled, false otherwise
+     * @return true because external binary types always retain their binary 
semantics
      */
+    @Deprecated
     public boolean getEnableMappingVarbinary() {
-        return Boolean.parseBoolean(getOrDefault(ENABLE_MAPPING_VARBINARY, 
"false"));
+        return true;

Review Comment:
   [P1] Preserve existing SQL support before forcing VARBINARY
   
   This makes binary mapping unconditional for every existing external catalog, 
but the unchanged analyzers still reject `VARBINARY` in comparison predicates, 
`GROUP BY`, equi-joins, views, CTAS, and MTMV definitions. Queries and derived 
objects that worked while Hive/Iceberg/Paimon/JDBC binary columns mapped to 
`STRING` therefore fail after upgrade, and a persisted false setting can no 
longer opt out. The changed tests either drop/hex-encode those columns or test 
JDBC pushdown only after an expression already exists, so they do not protect 
this compatibility. Please retain the compatibility mapping until these 
consumers support `VARBINARY`, or add that support with end-to-end regressions 
over the original binary columns.



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