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]