This is an automated email from the ASF dual-hosted git repository.

yiguolei pushed a commit to branch branch-4.1
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/branch-4.1 by this push:
     new 71b924ac59c [fix](regression) stabilize external timestamp 
expectations on 4.1 (#68864)
71b924ac59c is described below

commit 71b924ac59c72d9d57038736e692f4294cea40c1
Author: Oliveira <[email protected]>
AuthorDate: Sat Oct 10 18:44:30 2026 +0800

    [fix](regression) stabilize external timestamp expectations on 4.1 (#68864)
    
    ### What problem does this PR solve?
    
    Jira: DORIS-29598
    
    External regression goldens on branch-4.1 still expect wall-clock or
    string output for columns now mapped to TIMESTAMPTZ. Update OceanBase
    TIMESTAMP, SQL Server DATETIMEOFFSET (including its CTAS type and
    session-zone conversion), MaxCompute TIMESTAMP, and Hudi timestamp
    goldens. Preserve DATETIME and TIMESTAMP_NTZ expectations. Set the
    session timezone explicitly where the goldens depend on Asia/Shanghai.
    
    HTTP Parquet TVF queries sql08/sql09/sql10 now specify
    `hive.parquet.time-zone=Asia/Shanghai` to make their existing
    expectations deterministic.
    
    ```diff
    - instant columns: old LocalDateTime/string expectations
    + instant columns: TIMESTAMPTZ precision and session-zone expectations
      wall-clock columns: existing expectations retained
    ```
    
    ### Validation
    
    - Before: branch-4.1 external CI build 215484 reported timestamp output
    mismatches in the five affected external suites.
    - After: local `test_http_tvf` (`-g p2 -d external_table_p0/tvf -s
    test_http_tvf`) passed: 1 suite, 0 failures, 0 skips, including
    sql08/sql09/sql10.
    - Local SQL verified SQL Server's source `2023-06-25
    14:30:45.123456-07:00` renders as `2023-06-26 05:30:45.123456+08:00`,
    and CTAS preserves `timestamptz(6)`.
    - `git diff --check` passed. Local Doris revision: `6ab06fceef9`; this
    is not an exact branch-4.1 end-to-end result.
    - JDBC/Hudi fixtures and MaxCompute cloud prerequisites are unavailable
    in the personal environment. Their full-suite runtime validation remains
    pending community CI; their goldens were reviewed against branch-4.1
    mappings and the existing CI mismatch evidence.
    
    ### Release note
    
    None
    
    ### Check List (For Author)
    
    - Test
    - [x] Regression test (HTTP TVF locally; external suite coverage pending
    CI)
    - [x] Manual test (local timestamp conversion and CTAS type probe
    described above)
    - Behavior changed:
    - [x] No production behavior change; regression expectations and
    timezone setup only.
    - Does this need documentation?
        - [x] No.
    
    ### Merge Danger
    
    Two-way door; regression-only changes can be reverted. Blast radius:
    regression.
    
    ### Check List (For Reviewer who merge this PR)
    
    - [ ] Confirm the release note
    - [ ] Confirm test cases
    - [ ] Confirm document
    - [ ] Add branch pick label
---
 .../hudi/test_hudi_partition_prune.out             |   8 +-
 .../external_table_p2/hudi/test_hudi_timestamp.out |  36 +++---
 .../jdbc/test_oceanbase_jdbc_catalog.out           |   6 +-
 .../jdbc/test_sqlserver_jdbc_catalog.out           |  18 +--
 .../maxcompute/test_max_compute_timestamp.out      | 128 ++++++++++-----------
 .../external_table_p0/tvf/test_http_tvf.groovy     |  12 +-
 .../hudi/test_hudi_partition_prune.groovy          |   1 +
 .../jdbc/test_oceanbase_jdbc_catalog.groovy        |   1 +
 .../jdbc/test_sqlserver_jdbc_catalog.groovy        |   1 +
 .../maxcompute/test_max_compute_timestamp.groovy   |   1 +
 10 files changed, 110 insertions(+), 102 deletions(-)

diff --git 
a/regression-test/data/external_table_p2/hudi/test_hudi_partition_prune.out 
b/regression-test/data/external_table_p2/hudi/test_hudi_partition_prune.out
index 67eaccc9622..9921622169b 100644
--- a/regression-test/data/external_table_p2/hudi/test_hudi_partition_prune.out
+++ b/regression-test/data/external_table_p2/hudi/test_hudi_partition_prune.out
@@ -188,8 +188,8 @@
 2      Bob     2023-12-01
 
 -- !one_partition_timestamp --
-1      Alice   2023-12-01T08:00
-2      Bob     2023-12-01T08:00
+1      Alice   2023-12-01 08:00:00.000000+08:00
+2      Bob     2023-12-01 08:00:00.000000+08:00
 
 -- !one_partition_1_1 --
 1      Alice   2024
@@ -380,6 +380,6 @@
 2      Bob     2023-12-01
 
 -- !one_partition_timestamp --
-1      Alice   2023-12-01T08:00
-2      Bob     2023-12-01T08:00
+1      Alice   2023-12-01 08:00:00.000000+08:00
+2      Bob     2023-12-01 08:00:00.000000+08:00
 
diff --git 
a/regression-test/data/external_table_p2/hudi/test_hudi_timestamp.out 
b/regression-test/data/external_table_p2/hudi/test_hudi_timestamp.out
index 2ed5018b9cd..77c556cb731 100644
--- a/regression-test/data/external_table_p2/hudi/test_hudi_timestamp.out
+++ b/regression-test/data/external_table_p2/hudi/test_hudi_timestamp.out
@@ -1,31 +1,31 @@
 -- This file is automatically generated. You should know what you did if you 
want to edit this
 -- !timestamp1 --
-1      Alice   2024-10-25T08:00
-2      Bob     2024-10-25T09:30
-3      Charlie 2024-10-25T11:00
+1      Alice   2024-10-25 08:00:00.000000-07:00
+2      Bob     2024-10-25 09:30:00.000000-07:00
+3      Charlie 2024-10-25 11:00:00.000000-07:00
 
 -- !timestamp2 --
-1      Alice   2024-10-25T23:00
-2      Bob     2024-10-26T00:30
-3      Charlie 2024-10-26T02:00
+1      Alice   2024-10-25 23:00:00.000000+08:00
+2      Bob     2024-10-26 00:30:00.000000+08:00
+3      Charlie 2024-10-26 02:00:00.000000+08:00
 
 -- !timestamp3 --
-1      Alice   2024-10-25T15:00
-2      Bob     2024-10-25T16:30
-3      Charlie 2024-10-25T18:00
+1      Alice   2024-10-25 15:00:00.000000+00:00
+2      Bob     2024-10-25 16:30:00.000000+00:00
+3      Charlie 2024-10-25 18:00:00.000000+00:00
 
 -- !timestamp1 --
-1      Alice   2024-10-25T08:00
-2      Bob     2024-10-25T09:30
-3      Charlie 2024-10-25T11:00
+1      Alice   2024-10-25 08:00:00.000000-07:00
+2      Bob     2024-10-25 09:30:00.000000-07:00
+3      Charlie 2024-10-25 11:00:00.000000-07:00
 
 -- !timestamp2 --
-1      Alice   2024-10-25T23:00
-2      Bob     2024-10-26T00:30
-3      Charlie 2024-10-26T02:00
+1      Alice   2024-10-25 23:00:00.000000+08:00
+2      Bob     2024-10-26 00:30:00.000000+08:00
+3      Charlie 2024-10-26 02:00:00.000000+08:00
 
 -- !timestamp3 --
-1      Alice   2024-10-25T15:00
-2      Bob     2024-10-25T16:30
-3      Charlie 2024-10-25T18:00
+1      Alice   2024-10-25 15:00:00.000000+00:00
+2      Bob     2024-10-25 16:30:00.000000+00:00
+3      Charlie 2024-10-25 18:00:00.000000+00:00
 
diff --git 
a/regression-test/data/external_table_p2/jdbc/test_oceanbase_jdbc_catalog.out 
b/regression-test/data/external_table_p2/jdbc/test_oceanbase_jdbc_catalog.out
index 8d8b5d7b0f9..d263337189a 100644
--- 
a/regression-test/data/external_table_p2/jdbc/test_oceanbase_jdbc_catalog.out
+++ 
b/regression-test/data/external_table_p2/jdbc/test_oceanbase_jdbc_catalog.out
@@ -1,7 +1,7 @@
 -- This file is automatically generated. You should know what you did if you 
want to edit this
 -- !query --
-\N     302     \N      502     602     4.14159 \N      6.141592        \N      
-124    -302    2013    -402    -502    -602    \N      
2012-10-26T10:08:39.345700      2013-10-26T16:09:18     -5.14145        \N      
-7.1400 row2    \N      09:11:09.567    text2   0xE86F6C6C6F20576F726C67        
\N      \N      0x2F    \N      0x88656C6C9F    Value3
-201    301     401     501     601     3.14159 4.1415926       5.141592        
1       -123    -301    2012    -401    -501    -601    2012-10-30      
2012-10-25T20:05:36.345700      2012-10-25T16:08:08     -4.14145        
-5.1400000001   -6.1400 row1    line1   09:09:09.567    text1   
0x48656C6C6F20576F726C64        {"age": 30, "city": "London", "name": "Alice"}  
Option1,Option3 0x2A    0x48656C6C6F00000000000000      0x48656C6C6F    Value2
-202    302     402     502     602     4.14159 5.1415926       6.141592        
0       -124    -302    2013    -402    -502    -602    2012-11-01      
2012-10-26T10:08:39.345700      2013-10-26T16:09:18     -5.14145        
-6.1400000001   -7.1400 row2    line2   09:11:09.567    text2   
0xE86F6C6C6F20576F726C67        {"age": 18, "city": "ChongQing", "name": 
"Gaoxin"}      Option1,Option2 0x2F    0x58676C6C6F00000000000000      
0x88656C6C9F    Value3
+\N     302     \N      502     602     4.14159 \N      6.141592        \N      
-124    -302    2013    -402    -502    -602    \N      2012-10-26 
10:08:39.3457+08:00  2013-10-26T16:09:18     -5.14145        \N      -7.1400 
row2    \N      09:11:09.567    text2   0xE86F6C6C6F20576F726C67        \N      
\N      0x2F    \N      0x88656C6C9F    Value3
+201    301     401     501     601     3.14159 4.1415926       5.141592        
1       -123    -301    2012    -401    -501    -601    2012-10-30      
2012-10-25 20:05:36.3457+08:00  2012-10-25T16:08:08     -4.14145        
-5.1400000001   -6.1400 row1    line1   09:09:09.567    text1   
0x48656C6C6F20576F726C64        {"age": 30, "city": "London", "name": "Alice"}  
Option1,Option3 0x2A    0x48656C6C6F00000000000000      0x48656C6C6F    Value2
+202    302     402     502     602     4.14159 5.1415926       6.141592        
0       -124    -302    2013    -402    -502    -602    2012-11-01      
2012-10-26 10:08:39.3457+08:00  2013-10-26T16:09:18     -5.14145        
-6.1400000001   -7.1400 row2    line2   09:11:09.567    text2   
0xE86F6C6C6F20576F726C67        {"age": 18, "city": "ChongQing", "name": 
"Gaoxin"}      Option1,Option2 0x2F    0x58676C6C6F00000000000000      
0x88656C6C9F    Value3
 203    303     403     503     603     7.14159 8.1415926       9.141592        
0       \N      -402    2017    -602    -902    -1102   2012-11-02      \N      
2013-10-27T16:11:18     -5.14145        -6.1400000000001        -7.1400 row3    
line3   09:11:09.567    text3   0xE86F6C6C6F20576F726C67        {"age": 24, 
"city": "ChongQing", "name": "ChenQi"}      Option2 0x2F    
0x58676C6C6F00000000000000      \N      Value1
 
diff --git 
a/regression-test/data/external_table_p2/jdbc/test_sqlserver_jdbc_catalog.out 
b/regression-test/data/external_table_p2/jdbc/test_sqlserver_jdbc_catalog.out
index 3069fb1904f..573742642d1 100644
--- 
a/regression-test/data/external_table_p2/jdbc/test_sqlserver_jdbc_catalog.out
+++ 
b/regression-test/data/external_table_p2/jdbc/test_sqlserver_jdbc_catalog.out
@@ -40,10 +40,10 @@ sys
 1      Make Doris Great!       Make Doris Great!       Make Doris Great!       
Make Doris Great!       Make Doris Great!       Make Doris Great!
 
 -- !test5 --
-1      2023-01-17      16:49:05.123    2023-01-17T16:49:05     
2023-01-17T16:49:05.123456      2023-01-17T16:49        2023-01-17 16:49:05 
+08:00
-2      2023-01-17      16:49:05        2023-01-17T16:49:05     
2023-01-17T16:49:05     2023-01-17T16:49        2023-01-17 16:49:05 +08:00
-3      2023-01-17      16:49:05.123    2023-01-17T16:49:05     
2023-01-17T16:49:05.123456      2023-01-17T16:49        2023-01-17 
16:49:05.1234567 +08:00
-4      2023-01-17      16:49:05        2023-01-17T16:49:05     
2023-01-17T16:49:05     2023-01-17T16:49        2023-01-17 16:49:05 +08:00
+1      2023-01-17      16:49:05.123    2023-01-17T16:49:05     
2023-01-17T16:49:05.123456      2023-01-17T16:49        2023-01-17 
16:49:05.000000+08:00
+2      2023-01-17      16:49:05        2023-01-17T16:49:05     
2023-01-17T16:49:05     2023-01-17T16:49        2023-01-17 16:49:05.000000+08:00
+3      2023-01-17      16:49:05.123    2023-01-17T16:49:05     
2023-01-17T16:49:05.123456      2023-01-17T16:49        2023-01-17 
16:49:05.123456+08:00
+4      2023-01-17      16:49:05        2023-01-17T16:49:05     
2023-01-17T16:49:05     2023-01-17T16:49        2023-01-17 16:49:05.000000+08:00
 
 -- !test6 --
 1      922337203685477.5807    214748.3647
@@ -58,7 +58,7 @@ sys
 1      Make Doris Great!       Make Doris Great!
 
 -- !dt --
-2023-06-25     14:30:45        2023-06-25T14:30:45     2023-06-25T14:30        
2023-06-25T14:30:45.123456      2023-06-25 14:30:45.1234567 -07:00
+2023-06-25     14:30:45        2023-06-25T14:30:45     2023-06-25T14:30        
2023-06-25T14:30:45.123456      2023-06-26 05:30:45.123456+08:00
 
 -- !filter1 --
 1      Make Doris Great!       Make Doris Great!       Make Doris Great!       
Make Doris Great!       Make Doris Great!       Make Doris Great!
@@ -77,7 +77,7 @@ sys
 2
 
 -- !all_type --
-1      doris   18      0       1       1       123.123 123.123 123.123 
12345678901234567890123456789012345678  12345678901234567890123456789012345678  
1234567890123456789012345678.0123456789 1234567890123456789012345678.0123456789 
Make Doris Great!       Make Doris Great!       Make Doris Great!       Make 
Doris Great!       Make Doris Great!       Make Doris Great!       2023-01-17   
   16:49:05.123    2023-01-17T16:49:05     2023-01-17T16:49:05.123456      
2023-01-17T16:49        2023-01-17 16:49:05 +08:00      Make Doris Great!       
Make Doris Great!       922337203685477.5807    214748. [...]
+1      doris   18      0       1       1       123.123 123.123 123.123 
12345678901234567890123456789012345678  12345678901234567890123456789012345678  
1234567890123456789012345678.0123456789 1234567890123456789012345678.0123456789 
Make Doris Great!       Make Doris Great!       Make Doris Great!       Make 
Doris Great!       Make Doris Great!       Make Doris Great!       2023-01-17   
   16:49:05.123    2023-01-17T16:49:05     2023-01-17T16:49:05.123456      
2023-01-17T16:49        2023-01-17 16:49:05.000000+08:00        Make Doris 
Great!       Make Doris Great!       922337203685477.5807    2 [...]
 2      \N      \N      \N      \N      \N      \N      \N      \N      \N      
\N      \N      \N      \N      \N      \N      \N      \N      \N      \N      
\N      \N      \N      \N      \N      \N      \N      \N      \N      \N
 
 -- !ctas --
@@ -108,7 +108,7 @@ time_value  text    Yes     false   \N      NONE
 datetime_value datetime(3)     Yes     false   \N      NONE
 datetime2_value        datetime(6)     Yes     false   \N      NONE
 smalldatetime_value    datetime        Yes     false   \N      NONE
-datetimeoffset_value   text    Yes     false   \N      NONE
+datetimeoffset_value   timestamptz(6)  Yes     false   \N      NONE
 text_value     text    Yes     false   \N      NONE
 ntext_value    text    Yes     false   \N      NONE
 money_value    decimal(19,4)   Yes     false   \N      NONE
@@ -116,7 +116,7 @@ smallmoney_value    decimal(10,4)   Yes     false   \N      
NONE
 bit_value      boolean Yes     false   \N      NONE
 
 -- !query_ctas --
-1      doris   18      0       1       1       123.123 123.123 123.123 
12345678901234567890123456789012345678  12345678901234567890123456789012345678  
1234567890123456789012345678.0123456789 1234567890123456789012345678.0123456789 
Make Doris Great!       Make Doris Great!       Make Doris Great!       Make 
Doris Great!       Make Doris Great!       Make Doris Great!       2023-01-17   
   16:49:05.123    2023-01-17T16:49:05     2023-01-17T16:49:05.123456      
2023-01-17T16:49        2023-01-17 16:49:05 +08:00      Make Doris Great!       
Make Doris Great!       922337203685477.5807    214748. [...]
+1      doris   18      0       1       1       123.123 123.123 123.123 
12345678901234567890123456789012345678  12345678901234567890123456789012345678  
1234567890123456789012345678.0123456789 1234567890123456789012345678.0123456789 
Make Doris Great!       Make Doris Great!       Make Doris Great!       Make 
Doris Great!       Make Doris Great!       Make Doris Great!       2023-01-17   
   16:49:05.123    2023-01-17T16:49:05     2023-01-17T16:49:05.123456      
2023-01-17T16:49        2023-01-17 16:49:05.000000+08:00        Make Doris 
Great!       Make Doris Great!       922337203685477.5807    2 [...]
 2      \N      \N      \N      \N      \N      \N      \N      \N      \N      
\N      \N      \N      \N      \N      \N      \N      \N      \N      \N      
\N      \N      \N      \N      \N      \N      \N      \N      \N      \N
 
 -- !desc_timestamp --
@@ -127,7 +127,7 @@ timestamp_col       text    Yes     true    \N
 1
 
 -- !all_types_tvf --
-1      doris   18      0       1       1       123.123 123.123 123.123 
12345678901234567890123456789012345678  12345678901234567890123456789012345678  
1234567890123456789012345678.0123456789 1234567890123456789012345678.0123456789 
Make Doris Great!       Make Doris Great!       Make Doris Great!       Make 
Doris Great!       Make Doris Great!       Make Doris Great!       2023-01-17   
   16:49:05.123    2023-01-17T16:49:05     2023-01-17T16:49:05.123456      
2023-01-17T16:49        2023-01-17 16:49:05 +08:00      Make Doris Great!       
Make Doris Great!       922337203685477.5807    214748. [...]
+1      doris   18      0       1       1       123.123 123.123 123.123 
12345678901234567890123456789012345678  12345678901234567890123456789012345678  
1234567890123456789012345678.0123456789 1234567890123456789012345678.0123456789 
Make Doris Great!       Make Doris Great!       Make Doris Great!       Make 
Doris Great!       Make Doris Great!       Make Doris Great!       2023-01-17   
   16:49:05.123    2023-01-17T16:49:05     2023-01-17T16:49:05.123456      
2023-01-17T16:49        2023-01-17 16:49:05.000000+08:00        Make Doris 
Great!       Make Doris Great!       922337203685477.5807    2 [...]
 2      \N      \N      \N      \N      \N      \N      \N      \N      \N      
\N      \N      \N      \N      \N      \N      \N      \N      \N      \N      
\N      \N      \N      \N      \N      \N      \N      \N      \N      \N
 
 -- !identity_decimal --
diff --git 
a/regression-test/data/external_table_p2/maxcompute/test_max_compute_timestamp.out
 
b/regression-test/data/external_table_p2/maxcompute/test_max_compute_timestamp.out
index bcc9710d485..9d3aae331b4 100644
--- 
a/regression-test/data/external_table_p2/maxcompute/test_max_compute_timestamp.out
+++ 
b/regression-test/data/external_table_p2/maxcompute/test_max_compute_timestamp.out
@@ -13,30 +13,30 @@
 9999-12-31T23:59:59
 
 -- !0_2 --
-0001-01-01T00:00       0001-01-01T00:00
-1523-03-10T08:15:30.987654     1523-03-10T08:15:30.987654
-1969-02-02T00:00:00.543210     1969-02-02T00:00:00.543210
-1969-12-31T00:00:01.678901     1969-12-31T00:00:01.678901
-2023-02-02T00:00:00.123456     2023-02-02T00:00:00.123456
-3256-07-22T14:45:10.234567     3256-07-22T14:45:10.234567
-4789-09-05T20:30:45.876543     4789-09-05T20:30:45.876543
-6210-12-17T03:55:20.345678     6210-12-17T03:55:20.345678
-7854-05-29T12:10:05.456789     7854-05-29T12:10:05.456789
-9234-11-11T18:40:50.567890     9234-11-11T18:40:50.567890
-9999-12-31T23:59:59.999999     9999-12-31T23:59:59.999999
+0001-01-01 00:00:00.000000+08:05:43    0001-01-01T00:00
+1523-03-10 08:15:30.987654+08:05:43    1523-03-10T08:15:30.987654
+1969-02-02 00:00:00.543210+08:00       1969-02-02T00:00:00.543210
+1969-12-31 00:00:01.678901+08:00       1969-12-31T00:00:01.678901
+2023-02-02 00:00:00.123456+08:00       2023-02-02T00:00:00.123456
+3256-07-22 14:45:10.234567+08:00       3256-07-22T14:45:10.234567
+4789-09-05 20:30:45.876543+08:00       4789-09-05T20:30:45.876543
+6210-12-17 03:55:20.345678+08:00       6210-12-17T03:55:20.345678
+7854-05-29 12:10:05.456789+08:00       7854-05-29T12:10:05.456789
+9234-11-11 18:40:50.567890+08:00       9234-11-11T18:40:50.567890
+9999-12-31 23:59:59.999999+08:00       9999-12-31T23:59:59.999999
 
 -- !0_3 --
-0001-01-01T00:00:00.654321     0001-01-01T00:00:00.654321
-1523-03-10T08:15:30.987654     1523-03-10T08:15:30.987654
-1969-02-02T00:00:00.543210     1969-02-02T00:00:00.543210
-1969-12-31T00:00:01.678901     1969-12-31T00:00:01.678901
-2023-02-02T00:00:00.123456     2023-02-02T00:00:00.123456
-3256-07-22T14:45:10.234567     3256-07-22T14:45:10.234567
-4789-09-05T20:30:45.876543     4789-09-05T20:30:45.876543
-6210-12-17T03:55:20.345678     6210-12-17T03:55:20.345678
-7854-05-29T12:10:05.456789     7854-05-29T12:10:05.456789
-9234-11-11T18:40:50.567890     9234-11-11T18:40:50.567890
-9999-12-31T23:59:59.999999     9999-12-31T23:59:59.999999
+0001-01-01 00:00:00.654321+08:05:43    0001-01-01T00:00:00.654321
+1523-03-10 08:15:30.987654+08:05:43    1523-03-10T08:15:30.987654
+1969-02-02 00:00:00.543210+08:00       1969-02-02T00:00:00.543210
+1969-12-31 00:00:01.678901+08:00       1969-12-31T00:00:01.678901
+2023-02-02 00:00:00.123456+08:00       2023-02-02T00:00:00.123456
+3256-07-22 14:45:10.234567+08:00       3256-07-22T14:45:10.234567
+4789-09-05 20:30:45.876543+08:00       4789-09-05T20:30:45.876543
+6210-12-17 03:55:20.345678+08:00       6210-12-17T03:55:20.345678
+7854-05-29 12:10:05.456789+08:00       7854-05-29T12:10:05.456789
+9234-11-11 18:40:50.567890+08:00       9234-11-11T18:40:50.567890
+9999-12-31 23:59:59.999999+08:00       9999-12-31T23:59:59.999999
 
 -- !1_1 --
 2023-02-02T00:00
@@ -57,18 +57,18 @@
 -- !1_7 --
 
 -- !2_1 --
-2023-02-02T00:00:00.123456     2023-02-02T00:00:00.123456
+2023-02-02 00:00:00.123456+08:00       2023-02-02T00:00:00.123456
 
 -- !2_2 --
 
 -- !2_3 --
-2023-02-02T00:00:00.123456     2023-02-02T00:00:00.123456
+2023-02-02 00:00:00.123456+08:00       2023-02-02T00:00:00.123456
 
 -- !2_4 --
-2023-02-02T00:00:00.123456     2023-02-02T00:00:00.123456
+2023-02-02 00:00:00.123456+08:00       2023-02-02T00:00:00.123456
 
 -- !2_5 --
-2023-02-02T00:00:00.123456     2023-02-02T00:00:00.123456
+2023-02-02 00:00:00.123456+08:00       2023-02-02T00:00:00.123456
 
 -- !2_6 --
 
@@ -77,31 +77,31 @@
 -- !2_8 --
 
 -- !2_9 --
-2023-02-02T00:00:00.123456     2023-02-02T00:00:00.123456
+2023-02-02 00:00:00.123456+08:00       2023-02-02T00:00:00.123456
 
 -- !2_10 --
-2023-02-02T00:00:00.123456     2023-02-02T00:00:00.123456
+2023-02-02 00:00:00.123456+08:00       2023-02-02T00:00:00.123456
 
 -- !2_11 --
-2023-02-02T00:00:00.123456     2023-02-02T00:00:00.123456
+2023-02-02 00:00:00.123456+08:00       2023-02-02T00:00:00.123456
 
 -- !2_12 --
 
 -- !2_13 --
 
 -- !3_1 --
-2023-02-02T00:00:00.123456     2023-02-02T00:00:00.123456
+2023-02-02 00:00:00.123456+08:00       2023-02-02T00:00:00.123456
 
 -- !3_2 --
 
 -- !3_3 --
-2023-02-02T00:00:00.123456     2023-02-02T00:00:00.123456
+2023-02-02 00:00:00.123456+08:00       2023-02-02T00:00:00.123456
 
 -- !3_4 --
-2023-02-02T00:00:00.123456     2023-02-02T00:00:00.123456
+2023-02-02 00:00:00.123456+08:00       2023-02-02T00:00:00.123456
 
 -- !3_5 --
-2023-02-02T00:00:00.123456     2023-02-02T00:00:00.123456
+2023-02-02 00:00:00.123456+08:00       2023-02-02T00:00:00.123456
 
 -- !3_6 --
 
@@ -110,13 +110,13 @@
 -- !3_8 --
 
 -- !3_9 --
-2023-02-02T00:00:00.123456     2023-02-02T00:00:00.123456
+2023-02-02 00:00:00.123456+08:00       2023-02-02T00:00:00.123456
 
 -- !3_10 --
-2023-02-02T00:00:00.123456     2023-02-02T00:00:00.123456
+2023-02-02 00:00:00.123456+08:00       2023-02-02T00:00:00.123456
 
 -- !3_11 --
-2023-02-02T00:00:00.123456     2023-02-02T00:00:00.123456
+2023-02-02 00:00:00.123456+08:00       2023-02-02T00:00:00.123456
 
 -- !3_12 --
 
@@ -141,18 +141,18 @@
 -- !4_7 --
 
 -- !5_1 --
-2023-02-01T16:00:00.123456     2023-02-02T00:00:00.123456
+2023-02-01 16:00:00.123456+00:00       2023-02-02T00:00:00.123456
 
 -- !5_2 --
 
 -- !5_3 --
-2023-02-01T16:00:00.123456     2023-02-02T00:00:00.123456
+2023-02-01 16:00:00.123456+00:00       2023-02-02T00:00:00.123456
 
 -- !5_4 --
-2023-02-01T16:00:00.123456     2023-02-02T00:00:00.123456
+2023-02-01 16:00:00.123456+00:00       2023-02-02T00:00:00.123456
 
 -- !5_5 --
-2023-02-01T16:00:00.123456     2023-02-02T00:00:00.123456
+2023-02-01 16:00:00.123456+00:00       2023-02-02T00:00:00.123456
 
 -- !5_6 --
 
@@ -161,31 +161,31 @@
 -- !5_8 --
 
 -- !5_9 --
-2023-02-01T16:00:00.123456     2023-02-02T00:00:00.123456
+2023-02-01 16:00:00.123456+00:00       2023-02-02T00:00:00.123456
 
 -- !5_10 --
-2023-02-01T16:00:00.123456     2023-02-02T00:00:00.123456
+2023-02-01 16:00:00.123456+00:00       2023-02-02T00:00:00.123456
 
 -- !5_11 --
-2023-02-01T16:00:00.123456     2023-02-02T00:00:00.123456
+2023-02-01 16:00:00.123456+00:00       2023-02-02T00:00:00.123456
 
 -- !5_12 --
 
 -- !5_13 --
 
 -- !6_1 --
-2023-02-01T16:00:00.123456     2023-02-02T00:00:00.123456
+2023-02-01 16:00:00.123456+00:00       2023-02-02T00:00:00.123456
 
 -- !6_2 --
 
 -- !6_3 --
-2023-02-01T16:00:00.123456     2023-02-02T00:00:00.123456
+2023-02-01 16:00:00.123456+00:00       2023-02-02T00:00:00.123456
 
 -- !6_4 --
-2023-02-01T16:00:00.123456     2023-02-02T00:00:00.123456
+2023-02-01 16:00:00.123456+00:00       2023-02-02T00:00:00.123456
 
 -- !6_5 --
-2023-02-01T16:00:00.123456     2023-02-02T00:00:00.123456
+2023-02-01 16:00:00.123456+00:00       2023-02-02T00:00:00.123456
 
 -- !6_6 --
 
@@ -194,13 +194,13 @@
 -- !6_8 --
 
 -- !6_9 --
-2023-02-01T16:00:00.123456     2023-02-02T00:00:00.123456
+2023-02-01 16:00:00.123456+00:00       2023-02-02T00:00:00.123456
 
 -- !6_10 --
-2023-02-01T16:00:00.123456     2023-02-02T00:00:00.123456
+2023-02-01 16:00:00.123456+00:00       2023-02-02T00:00:00.123456
 
 -- !6_11 --
-2023-02-01T16:00:00.123456     2023-02-02T00:00:00.123456
+2023-02-01 16:00:00.123456+00:00       2023-02-02T00:00:00.123456
 
 -- !6_12 --
 
@@ -225,18 +225,18 @@
 -- !7_7 --
 
 -- !8_1 --
-2023-02-02T00:00:00.123456     2023-02-02T00:00:00.123456
+2023-02-02 00:00:00.123456+08:00       2023-02-02T00:00:00.123456
 
 -- !8_2 --
 
 -- !8_3 --
-2023-02-02T00:00:00.123456     2023-02-02T00:00:00.123456
+2023-02-02 00:00:00.123456+08:00       2023-02-02T00:00:00.123456
 
 -- !8_4 --
-2023-02-02T00:00:00.123456     2023-02-02T00:00:00.123456
+2023-02-02 00:00:00.123456+08:00       2023-02-02T00:00:00.123456
 
 -- !8_5 --
-2023-02-02T00:00:00.123456     2023-02-02T00:00:00.123456
+2023-02-02 00:00:00.123456+08:00       2023-02-02T00:00:00.123456
 
 -- !8_6 --
 
@@ -245,13 +245,13 @@
 -- !8_8 --
 
 -- !8_9 --
-2023-02-02T00:00:00.123456     2023-02-02T00:00:00.123456
+2023-02-02 00:00:00.123456+08:00       2023-02-02T00:00:00.123456
 
 -- !8_10 --
-2023-02-02T00:00:00.123456     2023-02-02T00:00:00.123456
+2023-02-02 00:00:00.123456+08:00       2023-02-02T00:00:00.123456
 
 -- !8_11 --
-2023-02-02T00:00:00.123456     2023-02-02T00:00:00.123456
+2023-02-02 00:00:00.123456+08:00       2023-02-02T00:00:00.123456
 
 -- !8_12 --
 
@@ -276,18 +276,18 @@
 -- !9_7 --
 
 -- !10_1 --
-2023-02-01T16:00:00.123456     2023-02-02T00:00:00.123456
+2023-02-01 16:00:00.123456+00:00       2023-02-02T00:00:00.123456
 
 -- !10_2 --
 
 -- !10_3 --
-2023-02-01T16:00:00.123456     2023-02-02T00:00:00.123456
+2023-02-01 16:00:00.123456+00:00       2023-02-02T00:00:00.123456
 
 -- !10_4 --
-2023-02-01T16:00:00.123456     2023-02-02T00:00:00.123456
+2023-02-01 16:00:00.123456+00:00       2023-02-02T00:00:00.123456
 
 -- !10_5 --
-2023-02-01T16:00:00.123456     2023-02-02T00:00:00.123456
+2023-02-01 16:00:00.123456+00:00       2023-02-02T00:00:00.123456
 
 -- !10_6 --
 
@@ -296,13 +296,13 @@
 -- !10_8 --
 
 -- !10_9 --
-2023-02-01T16:00:00.123456     2023-02-02T00:00:00.123456
+2023-02-01 16:00:00.123456+00:00       2023-02-02T00:00:00.123456
 
 -- !10_10 --
-2023-02-01T16:00:00.123456     2023-02-02T00:00:00.123456
+2023-02-01 16:00:00.123456+00:00       2023-02-02T00:00:00.123456
 
 -- !10_11 --
-2023-02-01T16:00:00.123456     2023-02-02T00:00:00.123456
+2023-02-01 16:00:00.123456+00:00       2023-02-02T00:00:00.123456
 
 -- !10_12 --
 
diff --git a/regression-test/suites/external_table_p0/tvf/test_http_tvf.groovy 
b/regression-test/suites/external_table_p0/tvf/test_http_tvf.groovy
index 0d1ee4af0e5..a52d2e03ed2 100644
--- a/regression-test/suites/external_table_p0/tvf/test_http_tvf.groovy
+++ b/regression-test/suites/external_table_p0/tvf/test_http_tvf.groovy
@@ -236,12 +236,14 @@ suite("test_http_tvf", "p2") {
         );
     """
 
-    // parquet/orc
+    // The Spark INT96 fixture stores timestamps normalized to UTC; the golden 
uses Asia/Shanghai.
+    // Specify the INT96 timezone explicitly instead of relying on the 
reader's default semantics.
     qt_sql08 """
         select * from
         http(
             "uri" = "${httpUrl("external_table_p0/tvf/t.parquet")}",
-            "format" = "parquet"
+            "format" = "parquet",
+            "hive.parquet.time-zone" = "Asia/Shanghai"
         ) order by id limit 10;
     """
 
@@ -249,7 +251,8 @@ suite("test_http_tvf", "p2") {
         select arr_map, id from
         http(
             "uri" = "${httpUrl("external_table_p0/tvf/t.parquet")}",
-            "format" = "parquet"
+            "format" = "parquet",
+            "hive.parquet.time-zone" = "Asia/Shanghai"
         ) order by id limit 10;
     """
 
@@ -257,7 +260,8 @@ suite("test_http_tvf", "p2") {
         desc function
         http(
             "uri" = "${httpUrl("external_table_p0/tvf/t.parquet")}",
-            "format" = "parquet"
+            "format" = "parquet",
+            "hive.parquet.time-zone" = "Asia/Shanghai"
         );
     """
 
diff --git 
a/regression-test/suites/external_table_p2/hudi/test_hudi_partition_prune.groovy
 
b/regression-test/suites/external_table_p2/hudi/test_hudi_partition_prune.groovy
index 583409b5d87..f8b38b2726f 100644
--- 
a/regression-test/suites/external_table_p2/hudi/test_hudi_partition_prune.groovy
+++ 
b/regression-test/suites/external_table_p2/hudi/test_hudi_partition_prune.groovy
@@ -22,6 +22,7 @@ suite("test_hudi_partition_prune", "p2,external,hudi") {
         return
     }
 
+    sql """ set time_zone = 'Asia/Shanghai' """
     String catalog_name = "test_hudi_partition_prune"
     String externalEnvIp = context.config.otherConfigs.get("externalEnvIp")
     String hudiHmsPort = context.config.otherConfigs.get("hudiHmsPort")
diff --git 
a/regression-test/suites/external_table_p2/jdbc/test_oceanbase_jdbc_catalog.groovy
 
b/regression-test/suites/external_table_p2/jdbc/test_oceanbase_jdbc_catalog.groovy
index 13aadd908ab..5e0f7a222fa 100644
--- 
a/regression-test/suites/external_table_p2/jdbc/test_oceanbase_jdbc_catalog.groovy
+++ 
b/regression-test/suites/external_table_p2/jdbc/test_oceanbase_jdbc_catalog.groovy
@@ -22,6 +22,7 @@ suite("test_oceanbase_jdbc_catalog", "p2,external") {
     String bucket = getS3BucketName()
     String driver_url = 
"https://${bucket}.${s3_endpoint}/regression/jdbc_driver/oceanbase-client-2.4.8.jar";
     if (enabled != null && enabled.equalsIgnoreCase("true")) {
+        sql """ set time_zone = 'Asia/Shanghai' """
         String catalog_name = "oceanbase_catalog";
         String ex_db_name = "doris_test";
         String oceanbase_port = 
context.config.otherConfigs.get("oceanbase_port");
diff --git 
a/regression-test/suites/external_table_p2/jdbc/test_sqlserver_jdbc_catalog.groovy
 
b/regression-test/suites/external_table_p2/jdbc/test_sqlserver_jdbc_catalog.groovy
index bfddab54953..e14d5932206 100644
--- 
a/regression-test/suites/external_table_p2/jdbc/test_sqlserver_jdbc_catalog.groovy
+++ 
b/regression-test/suites/external_table_p2/jdbc/test_sqlserver_jdbc_catalog.groovy
@@ -23,6 +23,7 @@ suite("test_sqlserver_jdbc_catalog", "p2,external") {
     String driver_url = 
"https://${bucket}.${s3_endpoint}/regression/jdbc_driver/mssql-jdbc-11.2.3.jre8.jar";
     // String driver_url = "mssql-jdbc-11.2.3.jre8.jar"
     if (enabled != null && enabled.equalsIgnoreCase("true")) {
+        sql """ set time_zone = 'Asia/Shanghai' """
         String catalog_name = "sqlserver_catalog";
         String internal_db_name = "sqlserver_jdbc_catalog_p0";
         String ex_db_name = "dbo";
diff --git 
a/regression-test/suites/external_table_p2/maxcompute/test_max_compute_timestamp.groovy
 
b/regression-test/suites/external_table_p2/maxcompute/test_max_compute_timestamp.groovy
index b6c1cc54d83..c2d8a7ff8a6 100644
--- 
a/regression-test/suites/external_table_p2/maxcompute/test_max_compute_timestamp.groovy
+++ 
b/regression-test/suites/external_table_p2/maxcompute/test_max_compute_timestamp.groovy
@@ -88,6 +88,7 @@ suite("test_max_compute_timestamp", 
"p2,external,maxcompute,external_remote,exte
 
     String enabled = context.config.otherConfigs.get("enableMaxComputeTest")
     if (enabled != null && enabled.equalsIgnoreCase("true")) {
+        sql """ set time_zone = 'Asia/Shanghai' """
         String ak = context.config.otherConfigs.get("ak")
         String sk = context.config.otherConfigs.get("sk");
         String mc_db = "mc_datalake"


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to