github-actions[bot] commented on code in PR #68441:
URL: https://github.com/apache/doris/pull/68441#discussion_r4110075124
##########
be/test/format_v2/table_reader_test.cpp:
##########
@@ -69,8 +71,47 @@
#include "runtime/runtime_profile.h"
#include "runtime/runtime_state.h"
#include "storage/segment/condition_cache.h"
+#include "util/timezone_utils.h"
namespace doris::format {
+
+TEST(TableReaderTest, Int96TimezoneOverridePreservesIntermediateSchemas) {
+ TFileScanRangeParams params;
+
EXPECT_FALSE(TableReader::_get_int96_timezone_override(nullptr).has_value());
+
EXPECT_FALSE(TableReader::_get_int96_timezone_override(¶ms).has_value());
Review Comment:
[P1] The added test calls the private
TableReader::_get_int96_timezone_override directly, but the declaration is
under private: in table_reader.h:2073-2075 and this TU has no
friend/test-access shim. The table_reader test target will fail C++
access-control compilation before running. Expose a test-only/public wrapper or
move the helper to an accessible free function, then keep the test coverage.
##########
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:
[P1] This unconditional v1 marker changes old Hive INT96 reads when
hive.parquet.time-zone is unset. The BE interprets version=1 plus no field as
an explicit empty override, so native INT96 decoding uses UTC wall-clock
instead of the session zone. A pre-change file written in an Asia/Shanghai
session (midnight encoded as 16:00 UTC) will now return 16:00, silently
shifting existing data. Preserve the legacy session interpretation unless an
explicit catalog contract is present, or add a migration/capability gate and a
non-UTC legacy-file regression.
--
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]