summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorimunkin <[email protected]>2025-02-26 16:34:50 +0300
committerimunkin <[email protected]>2025-02-26 16:50:19 +0300
commit6b6e4dc3a6fe1ec371f197ce2f472f69399dfb69 (patch)
tree17ae57323acaca04db2e0660f22f49d0f8becf43
parentc80ccf4cd5ff76353fd8ebe1057a607682b3a83f (diff)
YQL-18303: Introduce Split and MakeTz* overloads
commit_hash:16a38d1b1de0cc97c5cbf97176331ea6691e23be
-rw-r--r--yql/essentials/core/type_ann/type_ann_core.cpp11
-rw-r--r--yql/essentials/core/type_ann/type_ann_list.cpp2
-rw-r--r--yql/essentials/core/yql_expr_type_annotation.cpp15
-rw-r--r--yql/essentials/minikql/datetime/datetime64.h32
-rw-r--r--yql/essentials/minikql/mkql_type_ops.cpp35
-rw-r--r--yql/essentials/minikql/mkql_type_ops_ut.cpp175
-rw-r--r--yql/essentials/providers/common/codec/yql_json_codec.cpp8
-rw-r--r--yql/essentials/tests/sql/minirun/part0/canondata/result.json14
-rw-r--r--yql/essentials/tests/sql/minirun/part5/canondata/result.json14
-rw-r--r--yql/essentials/tests/sql/sql2yql/canondata/result.json36
-rw-r--r--yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_bigdate-date_tz_bounds_/formatted.sql27
-rw-r--r--yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_bigdate-date_tz_bounds_scale_/formatted.sql27
-rw-r--r--yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_bigdate-date_tz_impossible_cast_/formatted.sql10
-rw-r--r--yql/essentials/tests/sql/suites/bigdate/date_tz_bounds.sql24
-rw-r--r--yql/essentials/tests/sql/suites/bigdate/date_tz_bounds_scale.sql31
-rw-r--r--yql/essentials/tests/sql/suites/bigdate/date_tz_impossible_cast.cfg1
-rw-r--r--yql/essentials/tests/sql/suites/bigdate/date_tz_impossible_cast.sql7
-rw-r--r--yql/essentials/udfs/common/datetime2/datetime_udf.cpp110
-rw-r--r--yql/essentials/udfs/common/datetime2/test_bigdates/canondata/result.json5
-rw-r--r--yql/essentials/udfs/common/datetime2/test_bigdates/canondata/test.test_EndOf_/results.txt392
-rw-r--r--yql/essentials/udfs/common/datetime2/test_bigdates/canondata/test.test_Shift_/results.txt452
-rw-r--r--yql/essentials/udfs/common/datetime2/test_bigdates/canondata/test.test_SplitMakeNarrow_/results.txt217
-rw-r--r--yql/essentials/udfs/common/datetime2/test_bigdates/canondata/test.test_SplitMake_/results.txt672
-rw-r--r--yql/essentials/udfs/common/datetime2/test_bigdates/canondata/test.test_StartOf_/results.txt340
-rw-r--r--yql/essentials/udfs/common/datetime2/test_bigdates/canondata/test.test_Update_/results.txt388
-rw-r--r--yql/essentials/udfs/common/datetime2/test_bigdates/cases/EndOf.in16
-rw-r--r--yql/essentials/udfs/common/datetime2/test_bigdates/cases/EndOf.in.attr2
-rw-r--r--yql/essentials/udfs/common/datetime2/test_bigdates/cases/EndOf.sql22
-rw-r--r--yql/essentials/udfs/common/datetime2/test_bigdates/cases/Get.in16
-rw-r--r--yql/essentials/udfs/common/datetime2/test_bigdates/cases/Get.in.attr2
-rw-r--r--yql/essentials/udfs/common/datetime2/test_bigdates/cases/Get.sql2
-rw-r--r--yql/essentials/udfs/common/datetime2/test_bigdates/cases/Shift.in16
-rw-r--r--yql/essentials/udfs/common/datetime2/test_bigdates/cases/Shift.in.attr2
-rw-r--r--yql/essentials/udfs/common/datetime2/test_bigdates/cases/Shift.sql30
-rw-r--r--yql/essentials/udfs/common/datetime2/test_bigdates/cases/SplitMake.cfg1
-rw-r--r--yql/essentials/udfs/common/datetime2/test_bigdates/cases/SplitMake.in88
-rw-r--r--yql/essentials/udfs/common/datetime2/test_bigdates/cases/SplitMake.in.attr72
-rw-r--r--yql/essentials/udfs/common/datetime2/test_bigdates/cases/SplitMake.sql49
-rw-r--r--yql/essentials/udfs/common/datetime2/test_bigdates/cases/SplitMakeNarrow.cfg1
-rw-r--r--yql/essentials/udfs/common/datetime2/test_bigdates/cases/SplitMakeNarrow.in55
-rw-r--r--yql/essentials/udfs/common/datetime2/test_bigdates/cases/SplitMakeNarrow.in.attr72
-rw-r--r--yql/essentials/udfs/common/datetime2/test_bigdates/cases/SplitMakeNarrow.sql24
-rw-r--r--yql/essentials/udfs/common/datetime2/test_bigdates/cases/StartOf.in16
-rw-r--r--yql/essentials/udfs/common/datetime2/test_bigdates/cases/StartOf.in.attr2
-rw-r--r--yql/essentials/udfs/common/datetime2/test_bigdates/cases/StartOf.sql22
-rw-r--r--yql/essentials/udfs/common/datetime2/test_bigdates/cases/Update.in16
-rw-r--r--yql/essentials/udfs/common/datetime2/test_bigdates/cases/Update.in.attr2
-rw-r--r--yql/essentials/udfs/common/datetime2/test_bigdates/cases/Update.sql42
-rw-r--r--yql/essentials/udfs/common/datetime2/test_bigdates/cases/default.cfg4
-rw-r--r--yql/essentials/udfs/common/datetime2/test_bigdates/cases/input.txt35
-rw-r--r--yql/essentials/udfs/common/datetime2/test_bigdates/cases/input.txt.attr31
-rw-r--r--yql/essentials/udfs/common/datetime2/test_bigdates/cases/input_narrow.txt15
-rw-r--r--yql/essentials/udfs/common/datetime2/test_bigdates/cases/input_narrow.txt.attr31
-rw-r--r--yql/essentials/udfs/common/datetime2/test_bigdates/cases/input_tz.txt48
-rw-r--r--yql/essentials/udfs/common/datetime2/test_bigdates/cases/input_tz.txt.attr37
-rw-r--r--yql/essentials/udfs/common/datetime2/test_bigdates/cases/tz.txt15
-rw-r--r--yql/essentials/udfs/common/datetime2/test_bigdates/cases/tz.txt.attr16
57 files changed, 2184 insertions, 1663 deletions
diff --git a/yql/essentials/core/type_ann/type_ann_core.cpp b/yql/essentials/core/type_ann/type_ann_core.cpp
index fdf64d5d9e3..b42df0c2656 100644
--- a/yql/essentials/core/type_ann/type_ann_core.cpp
+++ b/yql/essentials/core/type_ann/type_ann_core.cpp
@@ -368,6 +368,17 @@ namespace NTypeAnnImpl {
.Build(), ctx.MakeType<TDataExprType>(EDataSlot::TzTimestamp) };
}
+ if (resType->GetTag() == "DateTime2.TM64") {
+ return { ctx.Builder(input->Pos())
+ .Callable("Apply")
+ .Callable(0, "Udf")
+ .Atom(0, "DateTime2.MakeTzTimestamp64", TNodeFlags::Default)
+ .Seal()
+ .Add(1, input)
+ .Seal()
+ .Build(), ctx.MakeType<TDataExprType>(EDataSlot::TzTimestamp64) };
+ }
+
if (resType->GetTag() == "JsonNode") {
return { ctx.Builder(input->Pos())
.Callable("Apply")
diff --git a/yql/essentials/core/type_ann/type_ann_list.cpp b/yql/essentials/core/type_ann/type_ann_list.cpp
index efcd41ac767..cb225d30d72 100644
--- a/yql/essentials/core/type_ann/type_ann_list.cpp
+++ b/yql/essentials/core/type_ann/type_ann_list.cpp
@@ -2400,11 +2400,13 @@ namespace {
case EDataSlot::Date:
case EDataSlot::TzDate:
case EDataSlot::Date32:
+ case EDataSlot::TzDate32:
value = ctx.Expr.NewAtom(input->Pos(), "86400000000", TNodeFlags::Default);
break;
case EDataSlot::Datetime:
case EDataSlot::TzDatetime:
case EDataSlot::Datetime64:
+ case EDataSlot::TzDatetime64:
value = ctx.Expr.NewAtom(input->Pos(), "1000000", TNodeFlags::Default);
break;
default:
diff --git a/yql/essentials/core/yql_expr_type_annotation.cpp b/yql/essentials/core/yql_expr_type_annotation.cpp
index e8372de39f2..dcca732eadb 100644
--- a/yql/essentials/core/yql_expr_type_annotation.cpp
+++ b/yql/essentials/core/yql_expr_type_annotation.cpp
@@ -335,21 +335,26 @@ IGraphTransformer::TStatus TryConvertToImpl(TExprContext& ctx, TExprNode::TPtr&
} else if (from == EDataSlot::Date && (
to == EDataSlot::Date32 ||
to == EDataSlot::TzDate ||
+ to == EDataSlot::TzDate32 ||
to == EDataSlot::Datetime ||
to == EDataSlot::Timestamp ||
to == EDataSlot::TzDatetime ||
to == EDataSlot::TzTimestamp ||
to == EDataSlot::Datetime64 ||
- to == EDataSlot::Timestamp64))
+ to == EDataSlot::Timestamp64 ||
+ to == EDataSlot::TzDatetime64 ||
+ to == EDataSlot::TzTimestamp64))
{
allow = true;
useCast = true;
} else if (from == EDataSlot::Datetime && (
to == EDataSlot::Datetime64 ||
to == EDataSlot::TzDatetime ||
+ to == EDataSlot::TzDatetime64 ||
to == EDataSlot::Timestamp ||
to == EDataSlot::TzTimestamp ||
- to == EDataSlot::Timestamp64))
+ to == EDataSlot::Timestamp64 ||
+ to == EDataSlot::TzTimestamp64))
{
allow = true;
useCast = true;
@@ -365,9 +370,15 @@ IGraphTransformer::TStatus TryConvertToImpl(TExprContext& ctx, TExprNode::TPtr&
} else if (from == EDataSlot::Date32 && (to == EDataSlot::Datetime64 || to == EDataSlot::Timestamp64)) {
allow = true;
useCast = true;
+ } else if (from == EDataSlot::TzDate32 && (to == EDataSlot::TzDatetime64 || to == EDataSlot::TzTimestamp64)) {
+ allow = true;
+ useCast = true;
} else if (from == EDataSlot::Datetime64 && (to == EDataSlot::Timestamp64)) {
allow = true;
useCast = true;
+ } else if (from == EDataSlot::TzDatetime64 && to == EDataSlot::TzTimestamp64) {
+ allow = true;
+ useCast = true;
} else if (from == EDataSlot::Interval && (to == EDataSlot::Interval64)) {
allow = true;
useCast = true;
diff --git a/yql/essentials/minikql/datetime/datetime64.h b/yql/essentials/minikql/datetime/datetime64.h
index c869723cfe6..b0a5d04c8b8 100644
--- a/yql/essentials/minikql/datetime/datetime64.h
+++ b/yql/essentials/minikql/datetime/datetime64.h
@@ -106,13 +106,26 @@ struct TTM64Storage {
Microsecond = value - datetime * 1000000ll;
}
- i32 ToDate32(const NUdf::IDateBuilder& builder) const {
- i32 date;
- if (!builder.MakeTzDate32(Year, Month, Day, date, TimezoneId)) {
- ythrow yexception() << "Error in MakeTzDate32 tzId " << TimezoneId
- << " " << Year << "-" << Month << "-" << Day;
+ i32 ToDate32(const NUdf::IDateBuilder& builder, bool local) const {
+ if (!IsUniversal(TimezoneId)) {
+ i64 datetime;
+ ui32 hour = local ? 0 : Hour;
+ ui32 minute = local ? 0 : Minute;
+ ui32 second = local ? 0 : Second;
+ if (!builder.MakeTzDatetime64(Year, Month, Day, hour, minute, second, datetime, TimezoneId)) {
+ ythrow yexception() << "Error in MakeTzDatetime64 tzId "
+ << TimezoneId << " " << Year << "-" << Month << "-" << Day
+ << "T" << hour << ":" << minute << ":" << second;
+ }
+ return datetime / 86400u;
+ } else {
+ i32 date;
+ if (!builder.MakeTzDate32(Year, Month, Day, date, TimezoneId)) {
+ ythrow yexception() << "Error in MakeTzDate32 tzId "
+ << TimezoneId << " " << Year << "-" << Month << "-" << Day;
+ }
+ return date;
}
- return date;
}
i64 ToDatetime64(const NUdf::IDateBuilder& builder) const {
@@ -160,6 +173,13 @@ struct TTM64Storage {
inline ui64 ToTimeOfDay() const {
return ((Hour * 60ull + Minute) * 60ull + Second) * 1000000ull + Microsecond;
}
+
+ const TString ToString() const {
+ const auto& tzName = NUdf::GetTimezones()[TimezoneId];
+ return Sprintf("%8d-%02d-%02dT%02d:%02d:%02d.%06d,%.*s",
+ Year, Month, Day, Hour, Minute, Second, Microsecond,
+ static_cast<int>(tzName.size()), tzName.data());
+ }
};
}
diff --git a/yql/essentials/minikql/mkql_type_ops.cpp b/yql/essentials/minikql/mkql_type_ops.cpp
index d2bd0248776..8fba53831ae 100644
--- a/yql/essentials/minikql/mkql_type_ops.cpp
+++ b/yql/essentials/minikql/mkql_type_ops.cpp
@@ -894,8 +894,7 @@ public:
{
if (tzId) {
ui32 hour, min, sec;
- i64 utcSeconds = (date >= 0) ? ((date + 1) * 86400ll - 1) : (date * 86400ll);
- ToLocalTime64(utcSeconds, tzId, year, month, day, hour, min, sec);
+ ToLocalTime64(86400ll * ++date - 1, tzId, year, month, day, hour, min, sec);
if (year <= 0) {
year--;
}
@@ -924,7 +923,7 @@ public:
if (year <= 0) {
year--;
}
- if (!MakeDate32(year, month, day, date)) {
+ if (!GetDate32Offset(year, month, day, date)) {
return false;
}
SplitDate32(date, year, month, day, dayOfYear, weekOfYear, weekOfYearIso8601, dayOfWeek);
@@ -986,8 +985,12 @@ public:
return true;
}
- bool MakeDate32(i32 year, ui32 month, ui32 day, i32& value) const {
- if (Y_UNLIKELY(year == 0 || year < NUdf::MIN_YEAR32 || year >= NUdf::MAX_YEAR32)) {
+ bool GetDate32Offset(i32 year, ui32 month, ui32 day, i32& value) const {
+ if (Y_UNLIKELY(year < NUdf::MIN_YEAR32 - 1 || year > NUdf::MAX_YEAR32
+ || (year == NUdf::MAX_YEAR32 && (day > 1U || month > 1U))
+ || (year == NUdf::MIN_YEAR32 - 1 && (day < 31U || month < 12U))
+ || year == 0))
+ {
return false;
}
auto isLeap = IsLeapYear(year);
@@ -1015,6 +1018,16 @@ public:
return true;
}
+ bool MakeDate32(i32 year, ui32 month, ui32 day, i32& value) const {
+ if (Y_UNLIKELY(year == 0 || year < NUdf::MIN_YEAR32 || year >= NUdf::MAX_YEAR32)) {
+ return false;
+ }
+ if (Y_UNLIKELY(!GetDate32Offset(year, month, day, value))) {
+ return false;
+ }
+ return true;
+ }
+
bool MakeTzDate32(i32 year, ui32 month, ui32 day, i32& value, ui16 tzId) const {
if (tzId == 0) {
return MakeDate32(year, month, day, value);
@@ -1766,7 +1779,7 @@ NUdf::TUnboxedValuePod ParseDatetime(NUdf::TStringRef buf) {
}
bool waiting_for_z = true;
-
+
ui32 offset_hours = 0;
ui32 offset_minutes = 0;
bool is_offset_negative = false;
@@ -1776,12 +1789,12 @@ NUdf::TUnboxedValuePod ParseDatetime(NUdf::TStringRef buf) {
// Skip sign
++pos;
- if (!ParseNumber(pos, buf, offset_hours, 2) ||
+ if (!ParseNumber(pos, buf, offset_hours, 2) ||
pos == buf.Size() || buf.Data()[pos] != ':')
{
return NUdf::TUnboxedValuePod();
}
-
+
// Skip ':'
++pos;
@@ -2049,12 +2062,12 @@ NUdf::TUnboxedValuePod ParseTimestamp(NUdf::TStringRef buf) {
// Skip sign
++pos;
- if (!ParseNumber(pos, buf, offset_hours, 2) ||
+ if (!ParseNumber(pos, buf, offset_hours, 2) ||
pos == buf.Size() || buf.Data()[pos] != ':')
{
return NUdf::TUnboxedValuePod();
}
-
+
// Skip ':'
++pos;
@@ -2085,7 +2098,7 @@ NUdf::TUnboxedValuePod ParseTimestamp(NUdf::TStringRef buf) {
}
ui64 value = dateValue * 86400000000ull + timeValue * 1000000ull + microseconds;
-
+
if (is_offset_negative) {
if (UINT64_MAX - value < offset_value) {
return NUdf::TUnboxedValuePod();
diff --git a/yql/essentials/minikql/mkql_type_ops_ut.cpp b/yql/essentials/minikql/mkql_type_ops_ut.cpp
index 8d1ed9f6319..557192965be 100644
--- a/yql/essentials/minikql/mkql_type_ops_ut.cpp
+++ b/yql/essentials/minikql/mkql_type_ops_ut.cpp
@@ -1,4 +1,5 @@
#include <yql/essentials/parser/pg_wrapper/pg_compat.h>
+#include <yql/essentials/public/udf/tz/udf_tz.h>
#include "mkql_type_ops.h"
#include "mkql_alloc.h"
@@ -68,88 +69,104 @@ Y_UNIT_TEST_SUITE(TMiniKQLTypeOps) {
}
}
- void TestSplitMakeTzDate16vs32(ui16 tzId) {
- ui32 year, month, day, dayOfYear, weekOfYear, weekOfYearIso8601, dayOfWeek;
- i32 y;
- ui32 m, d, doy, woy, woyIso, dow;
+ using TestFunction = void(*)(ui16 tzId, ui32 beginDate, size_t step);
+ void RunTestForAllTimezones(TestFunction test, size_t step) {
+ std::uniform_int_distribution<ui64> urdist;
+ std::default_random_engine rand;
+ rand.seed(std::time(nullptr));
- for (ui16 value = 0; value < NUdf::MAX_DATE; ++value) {
- UNIT_ASSERT(SplitTzDate(value, year, month, day, dayOfYear, weekOfYear, weekOfYearIso8601, dayOfWeek, tzId));
- ui16 date;
- UNIT_ASSERT(MakeTzDate(year, month, day, date, tzId));
- UNIT_ASSERT_VALUES_EQUAL_C(value, date, value);
-
- SplitTzDate32(value, y, m, d, doy, woy, woyIso, dow, tzId);
- UNIT_ASSERT_VALUES_EQUAL(year, y);
- UNIT_ASSERT_VALUES_EQUAL(month, m);
- UNIT_ASSERT_VALUES_EQUAL(day, d);
- UNIT_ASSERT_VALUES_EQUAL(dayOfYear, doy);
- UNIT_ASSERT_VALUES_EQUAL(dayOfWeek, dow);
- UNIT_ASSERT_VALUES_EQUAL(weekOfYear, woy);
- UNIT_ASSERT_VALUES_EQUAL(weekOfYearIso8601, woyIso);
+ const ui32 beginDate = urdist(rand) % step;
- i32 date32;
- UNIT_ASSERT(MakeTzDate32(year, month, day, date32, tzId));
- UNIT_ASSERT_VALUES_EQUAL(value, date32);
+ const auto timezones = NUdf::GetTimezones();
+ for (size_t tzId = 0; tzId < timezones.size(); tzId++) {
+ // XXX: Several timezones are missing, so skip them.
+ if (timezones[tzId].empty()) {
+ continue;
+ }
+ test(tzId, beginDate, step);
}
}
- Y_UNIT_TEST(SplitMakeTzDate16vs32) {
- TestSplitMakeTzDate16vs32(0);
- TestSplitMakeTzDate16vs32(1);
- // TODO add more timezones
- }
+ void TestSplitMakeTzDate16vs32(ui16 tzId, ui32 beginDate, size_t step) {
+ // Narrow date components.
+ ui16 date_n;
+ ui32 year_n;
+ ui32 month_n, day_n, dayOfYear_n, weekOfYear_n, weekOfYearIso8601_n, dayOfWeek_n;
+ // Wide date components.
+ i32 date_w;
+ i32 year_w;
+ ui32 month_w, day_w, dayOfYear_w, weekOfYear_w, weekOfYearIso8601_w, dayOfWeek_w;
- void TestSplitMakeTzDatetime32vs64(ui16 tzId, ui32 beginDatetime) {
- ui32 year, month, day, dayOfYear, weekOfYear, weekOfYearIso8601, dayOfWeek, hour, min, sec;
- i32 y;
- ui32 mon, d, doy, woy, woyIso, dow, h, m, s;
+ for (ui16 date = beginDate; date < NUdf::MAX_DATE; date += step) {
+ UNIT_ASSERT(SplitTzDate(date, year_n, month_n, day_n, dayOfYear_n,
+ weekOfYear_n, weekOfYearIso8601_n,
+ dayOfWeek_n, tzId));
+ UNIT_ASSERT(SplitTzDate32(date, year_w, month_w, day_w, dayOfYear_w,
+ weekOfYear_w, weekOfYearIso8601_w,
+ dayOfWeek_w, tzId));
- for (ui32 value = beginDatetime; value < NUdf::MAX_DATETIME; value += 86400u) {
- UNIT_ASSERT(SplitTzDatetime(value, year, month, day, hour, min, sec, dayOfYear, weekOfYear, weekOfYearIso8601, dayOfWeek, tzId));
- ui32 dt;
- UNIT_ASSERT(MakeTzDatetime(year, month, day, hour, min, sec, dt, tzId));
- UNIT_ASSERT_VALUES_EQUAL(value, dt);
+ UNIT_ASSERT_VALUES_EQUAL(year_n, year_w);
+ UNIT_ASSERT_VALUES_EQUAL(month_n, month_w);
+ UNIT_ASSERT_VALUES_EQUAL(day_n, day_w);
+ UNIT_ASSERT_VALUES_EQUAL(dayOfYear_n, dayOfYear_w);
+ UNIT_ASSERT_VALUES_EQUAL(dayOfWeek_n, dayOfWeek_w);
+ UNIT_ASSERT_VALUES_EQUAL(weekOfYear_n, weekOfYear_w);
+ UNIT_ASSERT_VALUES_EQUAL(weekOfYearIso8601_n, weekOfYearIso8601_w);
- SplitTzDatetime64(value, y, mon, d, h, m, s, doy, woy, woyIso, dow, tzId);
- UNIT_ASSERT_VALUES_EQUAL(year, y);
- UNIT_ASSERT_VALUES_EQUAL(month, mon);
- UNIT_ASSERT_VALUES_EQUAL(day, d);
- UNIT_ASSERT_VALUES_EQUAL_C(dayOfYear, doy, value);
- UNIT_ASSERT_VALUES_EQUAL(dayOfWeek, dow);
- UNIT_ASSERT_VALUES_EQUAL(weekOfYear, woy);
- UNIT_ASSERT_VALUES_EQUAL(weekOfYearIso8601, woyIso);
- UNIT_ASSERT_VALUES_EQUAL(hour, h);
- UNIT_ASSERT_VALUES_EQUAL(min, m);
- UNIT_ASSERT_VALUES_EQUAL(sec, s);
-
- i64 dt64;
- UNIT_ASSERT(MakeTzDatetime64(year, month, day, hour, min, sec, dt64, tzId));
- UNIT_ASSERT_VALUES_EQUAL(value, dt64);
+ UNIT_ASSERT(MakeTzDate(year_n, month_n, day_n, date_n, tzId));
+ UNIT_ASSERT(MakeTzDate32(year_w, month_w, day_w, date_w, tzId));
+ UNIT_ASSERT_VALUES_EQUAL_C(date_w, date_n, date);
}
}
- Y_UNIT_TEST(SplitMakeTzDatetime32vs64) {
- TestSplitMakeTzDatetime32vs64(0, 0);
- // TODO add more timezones
+ Y_UNIT_TEST(SplitMakeTzDate16vs32) {
+ constexpr size_t dateStep = 100;
+ RunTestForAllTimezones(TestSplitMakeTzDate16vs32, dateStep);
}
- void TestSplitMakeTzDate32(ui16 tzId) {
- i32 year;
- ui32 month, day, dayOfYear, weekOfYear, weekOfYearIso8601, dayOfWeek;
+ void TestSplitMakeTzDatetime32vs64(ui16 tzId, ui32 beginDatetime, size_t step) {
+ // Narrow datetime components.
+ ui32 datetime_n;
+ ui32 year_n;
+ ui32 month_n, day_n, hour_n, minute_n, second_n;
+ ui32 dayOfYear_n, weekOfYear_n, weekOfYearIso8601_n, dayOfWeek_n;
+ // Wide datetime components.
+ i64 datetime_w;
+ i32 year_w;
+ ui32 month_w, day_w, hour_w, minute_w, second_w;
+ ui32 dayOfYear_w, weekOfYear_w, weekOfYearIso8601_w, dayOfWeek_w;
- for (i32 value = -719528; value < 0; ++value) {
- SplitTzDate32(value, year, month, day, dayOfYear, weekOfYear, weekOfYearIso8601, dayOfWeek, tzId);
- i32 date32;
- UNIT_ASSERT(MakeTzDate32(year, month, day, date32, tzId));
- UNIT_ASSERT_VALUES_EQUAL(value, date32);
+ for (ui32 datetime = beginDatetime; datetime < NUdf::MAX_DATETIME; datetime += step) {
+ UNIT_ASSERT(SplitTzDatetime(datetime, year_n, month_n, day_n, hour_n,
+ minute_n, second_n, dayOfYear_n,
+ weekOfYear_n, weekOfYearIso8601_n,
+ dayOfWeek_n, tzId));
+ UNIT_ASSERT(SplitTzDatetime64(datetime, year_w, month_w, day_w, hour_w,
+ minute_w, second_w, dayOfYear_w,
+ weekOfYear_w, weekOfYearIso8601_w,
+ dayOfWeek_w, tzId));
+ UNIT_ASSERT_VALUES_EQUAL(year_n, year_w);
+ UNIT_ASSERT_VALUES_EQUAL(month_n, month_w);
+ UNIT_ASSERT_VALUES_EQUAL(day_n, day_w);
+ UNIT_ASSERT_VALUES_EQUAL(dayOfYear_n, dayOfYear_w);
+ UNIT_ASSERT_VALUES_EQUAL(dayOfWeek_n, dayOfWeek_w);
+ UNIT_ASSERT_VALUES_EQUAL(weekOfYear_n, weekOfYear_w);
+ UNIT_ASSERT_VALUES_EQUAL(weekOfYearIso8601_n, weekOfYearIso8601_w);
+ UNIT_ASSERT_VALUES_EQUAL(hour_n, hour_w);
+ UNIT_ASSERT_VALUES_EQUAL(minute_n, minute_w);
+ UNIT_ASSERT_VALUES_EQUAL(second_n, second_w);
+
+ UNIT_ASSERT(MakeTzDatetime(year_n, month_n, day_n, hour_n, minute_n,
+ second_n, datetime_n, tzId));
+ UNIT_ASSERT(MakeTzDatetime64(year_w, month_w, day_w, hour_w,
+ minute_w, second_w, datetime_w, tzId));
+ UNIT_ASSERT_VALUES_EQUAL_C(datetime_w, datetime_n, datetime);
}
}
- Y_UNIT_TEST(SplitMakeTzDate32) {
- TestSplitMakeTzDate32(1);
- TestSplitMakeTzDate32(451);
- // TODO add more timezones
+ Y_UNIT_TEST(SplitMakeTzDatetime32vs64) {
+ constexpr size_t datetimeStep = 100 * 86400;
+ RunTestForAllTimezones(TestSplitMakeTzDatetime32vs64, datetimeStep);
}
Y_UNIT_TEST(SplitMakeTzDateSingle) {
@@ -171,12 +188,12 @@ Y_UNIT_TEST_SUITE(TMiniKQLTypeOps) {
i32 y;
ui32 month, day, dayOfYear, weekOfYear, weekOfYearIso8601, dayOfWeek;
ui16 tzId = 1;
- i32 value = 1;
+ i32 value = 0;
- SplitTzDate32(value, y, month, day, dayOfYear, weekOfYear, weekOfYearIso8601, dayOfWeek, tzId);
+ UNIT_ASSERT(SplitTzDate32(value, y, month, day, dayOfYear, weekOfYear, weekOfYearIso8601, dayOfWeek, tzId));
UNIT_ASSERT_VALUES_EQUAL(y, 1970);
UNIT_ASSERT_VALUES_EQUAL(month, 1);
- UNIT_ASSERT_VALUES_EQUAL(day, 3);
+ UNIT_ASSERT_VALUES_EQUAL(day, 2);
i32 d32;
UNIT_ASSERT(MakeTzDate32(y, month, day, d32, tzId));
@@ -187,7 +204,7 @@ Y_UNIT_TEST_SUITE(TMiniKQLTypeOps) {
i32 year;
ui32 month, day, dayOfYear, weekOfYear, weekOfYearIso8601, dayOfWeek;
- SplitDate32(NYql::NUdf::MIN_DATE32, year, month, day, dayOfYear, weekOfYear, weekOfYearIso8601, dayOfWeek);
+ UNIT_ASSERT(SplitDate32(NYql::NUdf::MIN_DATE32, year, month, day, dayOfYear, weekOfYear, weekOfYearIso8601, dayOfWeek));
UNIT_ASSERT_VALUES_EQUAL(NYql::NUdf::MIN_YEAR32, year);
UNIT_ASSERT_VALUES_EQUAL(1, month);
UNIT_ASSERT_VALUES_EQUAL(1, day);
@@ -196,7 +213,7 @@ Y_UNIT_TEST_SUITE(TMiniKQLTypeOps) {
UNIT_ASSERT_VALUES_EQUAL(1, weekOfYear);
UNIT_ASSERT_VALUES_EQUAL(52, weekOfYearIso8601);
- SplitDate32(NYql::NUdf::MAX_DATE32, year, month, day, dayOfYear, weekOfYear, weekOfYearIso8601, dayOfWeek);
+ UNIT_ASSERT(SplitDate32(NYql::NUdf::MAX_DATE32, year, month, day, dayOfYear, weekOfYear, weekOfYearIso8601, dayOfWeek));
UNIT_ASSERT_VALUES_EQUAL(NYql::NUdf::MAX_YEAR32 - 1, year);
UNIT_ASSERT_VALUES_EQUAL(12, month);
UNIT_ASSERT_VALUES_EQUAL(31, day);
@@ -206,7 +223,7 @@ Y_UNIT_TEST_SUITE(TMiniKQLTypeOps) {
UNIT_ASSERT_VALUES_EQUAL(52, weekOfYearIso8601);
// -4713-11-24
- SplitDate32(DATETIME_MIN_JULIAN - UNIX_EPOCH_JDATE, year, month, day, dayOfYear, weekOfYear, weekOfYearIso8601, dayOfWeek);
+ UNIT_ASSERT(SplitDate32(DATETIME_MIN_JULIAN - UNIX_EPOCH_JDATE, year, month, day, dayOfYear, weekOfYear, weekOfYearIso8601, dayOfWeek));
UNIT_ASSERT_VALUES_EQUAL(JULIAN_MINYEAR - 1, year);
UNIT_ASSERT_VALUES_EQUAL(JULIAN_MINMONTH, month);
UNIT_ASSERT_VALUES_EQUAL(JULIAN_MINDAY, day);
@@ -216,7 +233,7 @@ Y_UNIT_TEST_SUITE(TMiniKQLTypeOps) {
UNIT_ASSERT_VALUES_EQUAL(48, weekOfYearIso8601);
// 0001-01-01
- SplitDate32(-719162, year, month, day, dayOfYear, weekOfYear, weekOfYearIso8601, dayOfWeek);
+ UNIT_ASSERT(SplitDate32(-719162, year, month, day, dayOfYear, weekOfYear, weekOfYearIso8601, dayOfWeek));
UNIT_ASSERT_VALUES_EQUAL(1, year);
UNIT_ASSERT_VALUES_EQUAL(1, month);
UNIT_ASSERT_VALUES_EQUAL(1, day);
@@ -225,7 +242,7 @@ Y_UNIT_TEST_SUITE(TMiniKQLTypeOps) {
UNIT_ASSERT_VALUES_EQUAL(1, weekOfYear);
UNIT_ASSERT_VALUES_EQUAL(1, weekOfYearIso8601);
- SplitDate32(0, year, month, day, dayOfYear, weekOfYear, weekOfYearIso8601, dayOfWeek);
+ UNIT_ASSERT(SplitDate32(0, year, month, day, dayOfYear, weekOfYear, weekOfYearIso8601, dayOfWeek));
UNIT_ASSERT_VALUES_EQUAL(1970, year);
UNIT_ASSERT_VALUES_EQUAL(1, month);
UNIT_ASSERT_VALUES_EQUAL(1, day);
@@ -234,7 +251,7 @@ Y_UNIT_TEST_SUITE(TMiniKQLTypeOps) {
UNIT_ASSERT_VALUES_EQUAL(1, weekOfYear);
UNIT_ASSERT_VALUES_EQUAL(1, weekOfYearIso8601);
- SplitDate32(-1, year, month, day, dayOfYear, weekOfYear, weekOfYearIso8601, dayOfWeek);
+ UNIT_ASSERT(SplitDate32(-1, year, month, day, dayOfYear, weekOfYear, weekOfYearIso8601, dayOfWeek));
UNIT_ASSERT_VALUES_EQUAL(1969, year);
UNIT_ASSERT_VALUES_EQUAL(12, month);
UNIT_ASSERT_VALUES_EQUAL(31, day);
@@ -268,7 +285,7 @@ Y_UNIT_TEST_SUITE(TMiniKQLTypeOps) {
}
UNIT_ASSERT(MakeDate32(year, static_cast<ui32>(month), static_cast<ui32>(day), date32));
UNIT_ASSERT_VALUES_EQUAL(date32, value - UNIX_EPOCH_JDATE);
-
+
ui32 dayOfYear, weekOfYear, weekOfYearIso8601, dayOfWeek;
i32 y;
ui32 m, d;
@@ -426,10 +443,10 @@ Y_UNIT_TEST_SUITE(TMiniKQLTypeOps) {
UNIT_ASSERT(!ParseTimestamp("2020-07-28T21:46:05."));
UNIT_ASSERT(!ParseTimestamp("2020-07-28T21:46:05.Z"));
UNIT_ASSERT(!ParseTimestamp("2020-071-28T21:46:05.1Z"));
-
+
UNIT_ASSERT(!!ParseTimestamp("2020-07-28T21:46:05.1Z"));
UNIT_ASSERT(!!ParseTimestamp("2020-07-28T21:46:05.1+01:00"));
-
+
UNIT_ASSERT(!ParseTimestamp("4294969318-09-4294967318T14:28:17Z"));
const auto& val1 = ParseTimestamp("2022-09-15T16:42:01.123456Z");
const auto& val2 = ParseTimestamp("2022-09-15T16:42:01.123456131231223Z");
@@ -456,10 +473,10 @@ Y_UNIT_TEST_SUITE(TMiniKQLTypeOps) {
UNIT_ASSERT(!ParseDatetime("2020-07-28T21:46:05"));
UNIT_ASSERT(!ParseDatetime("2020-07-28T21:46:05."));
UNIT_ASSERT(!ParseDatetime("2020-071-28T21:46:05Z"));
-
+
UNIT_ASSERT(!!ParseDatetime("2020-07-28T21:46:05Z"));
UNIT_ASSERT(!!ParseDatetime("2020-07-28T21:46:05+01:00"));
-
+
UNIT_ASSERT(!ParseDatetime("4294969318-09-4294967318T14:28:17Z"));
const auto& val1 = ParseDatetime("2022-09-15T04:08:01Z");
diff --git a/yql/essentials/providers/common/codec/yql_json_codec.cpp b/yql/essentials/providers/common/codec/yql_json_codec.cpp
index eb1048c393e..ad5895b3613 100644
--- a/yql/essentials/providers/common/codec/yql_json_codec.cpp
+++ b/yql/essentials/providers/common/codec/yql_json_codec.cpp
@@ -215,6 +215,9 @@ void WriteValueToJson(TJsonWriter& writer, const NKikimr::NUdf::TUnboxedValuePod
case NUdf::TDataType<NUdf::TDatetime64>::Id:
case NUdf::TDataType<NUdf::TTimestamp64>::Id:
case NUdf::TDataType<NUdf::TInterval64>::Id:
+ case NUdf::TDataType<NUdf::TTzDate32>::Id:
+ case NUdf::TDataType<NUdf::TTzDatetime64>::Id:
+ case NUdf::TDataType<NUdf::TTzTimestamp64>::Id:
case NUdf::TDataType<NUdf::TJsonDocument>::Id: {
const NUdf::TUnboxedValue out(ValueToString(*dataType->GetDataSlot(), value));
writer.Write(out.AsStringRef());
@@ -522,7 +525,10 @@ NKikimr::NUdf::TUnboxedValue ReadJsonValue(TJsonValue& json, NKikimr::NMiniKQL::
case NUdf::TDataType<NUdf::TDate32>::Id:
case NUdf::TDataType<NUdf::TDatetime64>::Id:
case NUdf::TDataType<NUdf::TTimestamp64>::Id:
- case NUdf::TDataType<NUdf::TInterval64>::Id: {
+ case NUdf::TDataType<NUdf::TInterval64>::Id:
+ case NUdf::TDataType<NUdf::TTzDate32>::Id:
+ case NUdf::TDataType<NUdf::TTzDatetime64>::Id:
+ case NUdf::TDataType<NUdf::TTzTimestamp64>::Id: {
YQL_ENSURE(json.IsString(), "Unexpected json type (expected string, but got " << jsonType << ")");
YQL_ENSURE(IsValidStringValue(*dataType->GetDataSlot(), json.GetString()), "Invalid date format (expected ISO-8601)");
return ValueFromString(*dataType->GetDataSlot(), json.GetString());
diff --git a/yql/essentials/tests/sql/minirun/part0/canondata/result.json b/yql/essentials/tests/sql/minirun/part0/canondata/result.json
index 03af9ee6cef..bdad61722c1 100644
--- a/yql/essentials/tests/sql/minirun/part0/canondata/result.json
+++ b/yql/essentials/tests/sql/minirun/part0/canondata/result.json
@@ -195,6 +195,20 @@
"uri": "https://{canondata_backend}/1775319/5ca29359a027472a1be524a83343d503bb8612ac/resource.tar.gz#test.test_aggr_factory-multi_list_nulls-default.txt-Results_/results.txt"
}
],
+ "test.test[bigdate-date_tz_bounds_scale-default.txt-Debug]": [
+ {
+ "checksum": "7c3321778e9b3d987012a3db4b5c543f",
+ "size": 2195,
+ "uri": "https://{canondata_backend}/995452/d75b3fef2c2936a3787295c659edce4b671679fc/resource.tar.gz#test.test_bigdate-date_tz_bounds_scale-default.txt-Debug_/opt.yql"
+ }
+ ],
+ "test.test[bigdate-date_tz_bounds_scale-default.txt-Results]": [
+ {
+ "checksum": "27d2bfc3ef714803f4cfcf0febebb488",
+ "size": 8420,
+ "uri": "https://{canondata_backend}/995452/d75b3fef2c2936a3787295c659edce4b671679fc/resource.tar.gz#test.test_bigdate-date_tz_bounds_scale-default.txt-Results_/results.txt"
+ }
+ ],
"test.test[bigdate-input_date32-default.txt-Debug]": [
{
"checksum": "3697f94ae078bc6ebce40104eaef5799",
diff --git a/yql/essentials/tests/sql/minirun/part5/canondata/result.json b/yql/essentials/tests/sql/minirun/part5/canondata/result.json
index 277ca7e742b..579677b9314 100644
--- a/yql/essentials/tests/sql/minirun/part5/canondata/result.json
+++ b/yql/essentials/tests/sql/minirun/part5/canondata/result.json
@@ -265,6 +265,20 @@
"uri": "https://{canondata_backend}/1881367/57bfc4a1435f10934d7710509072254b7f260723/resource.tar.gz#test.test_bigdate-compare_big_small-default.txt-Results_/results.txt"
}
],
+ "test.test[bigdate-date_tz_bounds-default.txt-Debug]": [
+ {
+ "checksum": "dec2c4d54fb7c1a53a110ff49dbec892",
+ "size": 1087,
+ "uri": "https://{canondata_backend}/1689644/3a1411ab3bd6130e98b94fea4f31201df5666c4f/resource.tar.gz#test.test_bigdate-date_tz_bounds-default.txt-Debug_/opt.yql"
+ }
+ ],
+ "test.test[bigdate-date_tz_bounds-default.txt-Results]": [
+ {
+ "checksum": "2c42b564a2df7662b5094053d9a5f291",
+ "size": 4420,
+ "uri": "https://{canondata_backend}/1689644/3a1411ab3bd6130e98b94fea4f31201df5666c4f/resource.tar.gz#test.test_bigdate-date_tz_bounds-default.txt-Results_/results.txt"
+ }
+ ],
"test.test[bigdate-int_cast-default.txt-Debug]": [
{
"checksum": "fc1d1363c15fa7cd4db864e30c2039cf",
diff --git a/yql/essentials/tests/sql/sql2yql/canondata/result.json b/yql/essentials/tests/sql/sql2yql/canondata/result.json
index 6f7f1cb82c9..5e3d3921af9 100644
--- a/yql/essentials/tests/sql/sql2yql/canondata/result.json
+++ b/yql/essentials/tests/sql/sql2yql/canondata/result.json
@@ -1091,6 +1091,27 @@
"uri": "https://{canondata_backend}/1942173/99e88108149e222741552e7e6cddef041d6a2846/resource.tar.gz#test_sql2yql.test_bigdate-const_timestamp64_/sql.yql"
}
],
+ "test_sql2yql.test[bigdate-date_tz_bounds]": [
+ {
+ "checksum": "7e6319138c451a9af0fab81161b22c28",
+ "size": 3131,
+ "uri": "https://{canondata_backend}/1880306/7ab74c806ebfa825c90d696b230a4fba9939dddd/resource.tar.gz#test_sql2yql.test_bigdate-date_tz_bounds_/sql.yql"
+ }
+ ],
+ "test_sql2yql.test[bigdate-date_tz_bounds_scale]": [
+ {
+ "checksum": "21dcb7017ac0fa052b508230f773ecad",
+ "size": 6261,
+ "uri": "https://{canondata_backend}/1880306/7ab74c806ebfa825c90d696b230a4fba9939dddd/resource.tar.gz#test_sql2yql.test_bigdate-date_tz_bounds_scale_/sql.yql"
+ }
+ ],
+ "test_sql2yql.test[bigdate-date_tz_impossible_cast]": [
+ {
+ "checksum": "96261bbea3e8e2d39aa2f6a88862e07a",
+ "size": 1128,
+ "uri": "https://{canondata_backend}/1900335/95072b0ab538df1cd8fe21db18063639e62a6b12/resource.tar.gz#test_sql2yql.test_bigdate-date_tz_impossible_cast_/sql.yql"
+ }
+ ],
"test_sql2yql.test[bigdate-explicit_cast]": [
{
"checksum": "cdd5d03853871d3eb099ce8f7bf3c490",
@@ -8052,6 +8073,21 @@
"uri": "file://test_sql_format.test_bigdate-const_timestamp64_/formatted.sql"
}
],
+ "test_sql_format.test[bigdate-date_tz_bounds]": [
+ {
+ "uri": "file://test_sql_format.test_bigdate-date_tz_bounds_/formatted.sql"
+ }
+ ],
+ "test_sql_format.test[bigdate-date_tz_bounds_scale]": [
+ {
+ "uri": "file://test_sql_format.test_bigdate-date_tz_bounds_scale_/formatted.sql"
+ }
+ ],
+ "test_sql_format.test[bigdate-date_tz_impossible_cast]": [
+ {
+ "uri": "file://test_sql_format.test_bigdate-date_tz_impossible_cast_/formatted.sql"
+ }
+ ],
"test_sql_format.test[bigdate-explicit_cast]": [
{
"uri": "file://test_sql_format.test_bigdate-explicit_cast_/formatted.sql"
diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_bigdate-date_tz_bounds_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_bigdate-date_tz_bounds_/formatted.sql
new file mode 100644
index 00000000000..db81d265936
--- /dev/null
+++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_bigdate-date_tz_bounds_/formatted.sql
@@ -0,0 +1,27 @@
+/* postgres can not */
+SELECT
+ TzDate32('-144169-01-02,Europe/Moscow'),
+ TzDate32('-144169-01-01,America/Los_Angeles'),
+ TzDate32('148107-12-31,Europe/Moscow'),
+ TzDate32('148107-12-31,America/Los_Angeles'),
+
+ -- This boundary is adjusted to minimal UTC seconds, according
+ -- to Europe/Moscow offset discrepancy for negative dates.
+ TzDatetime64('-144169-01-01T02:30:17,Europe/Moscow'),
+
+ -- This boundary is adjusted to minimal UTC seconds, according
+ -- to America/Los_Angeles offset discrepancy for negative dates.
+ TzDatetime64('-144170-12-31T16:07:02,America/Los_Angeles'),
+ TzDatetime64('148108-01-01T02:59:59,Europe/Moscow'),
+ TzDatetime64('148107-12-31T15:59:59,America/Los_Angeles'),
+
+ -- This boundary is adjusted to minimal UTC seconds, according
+ -- to Europe/Moscow offset discrepancy for negative dates.
+ TzTimestamp64('-144169-01-01T02:30:17.000000,Europe/Moscow'),
+
+ -- This boundary is adjusted to minimal UTC seconds, according
+ -- to America/Los_Angeles offset discrepancy for negative dates.
+ TzTimestamp64('-144170-12-31T16:07:02.000000,America/Los_Angeles'),
+ TzTimestamp64('148108-01-01T02:59:59.999999,Europe/Moscow'),
+ TzTimestamp64('148107-12-31T15:59:59.999999,America/Los_Angeles'),
+;
diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_bigdate-date_tz_bounds_scale_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_bigdate-date_tz_bounds_scale_/formatted.sql
new file mode 100644
index 00000000000..b077efd1975
--- /dev/null
+++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_bigdate-date_tz_bounds_scale_/formatted.sql
@@ -0,0 +1,27 @@
+/* postgres can not */
+SELECT
+ CAST(TzDate32('-144169-01-02,Europe/Moscow') AS TzDatetime64),
+ CAST(TzDate32('-144169-01-01,America/Los_Angeles') AS TzDatetime64),
+ CAST(TzDate32('148107-12-31,Europe/Moscow') AS TzDatetime64),
+ CAST(TzDate32('148107-12-31,America/Los_Angeles') AS TzDatetime64),
+ CAST(TzDate32('-144169-01-02,Europe/Moscow') AS TzTimestamp64),
+ CAST(TzDate32('-144169-01-01,America/Los_Angeles') AS TzTimestamp64),
+ CAST(TzDate32('148107-12-31,Europe/Moscow') AS TzTimestamp64),
+ CAST(TzDate32('148107-12-31,America/Los_Angeles') AS TzTimestamp64),
+ CAST(TzDatetime64('-144169-01-02T00:00:00,Europe/Moscow') AS TzDate32),
+ CAST(TzDatetime64('-144169-01-01T00:00:00,America/Los_Angeles') AS TzDate32),
+ CAST(TzDatetime64('148108-01-01T02:59:59,Europe/Moscow') AS TzDate32),
+ CAST(TzDatetime64('148107-12-31T15:59:59,America/Los_Angeles') AS TzDate32),
+ CAST(TzDatetime64('-144169-01-01T02:30:17,Europe/Moscow') AS TzTimestamp64),
+ CAST(TzDatetime64('-144170-12-31T16:07:02,America/Los_Angeles') AS TzTimestamp64),
+ CAST(TzDatetime64('148108-01-01T02:59:59,Europe/Moscow') AS TzTimestamp64),
+ CAST(TzDatetime64('148107-12-31T15:59:59,America/Los_Angeles') AS TzTimestamp64),
+ CAST(TzTimestamp64('-144169-01-02T00:00:00.000000,Europe/Moscow') AS TzDate32),
+ CAST(TzTimestamp64('-144169-01-01T00:00:00.000000,America/Los_Angeles') AS TzDate32),
+ CAST(TzTimestamp64('148108-01-01T02:59:59.999999,Europe/Moscow') AS TzDate32),
+ CAST(TzTimestamp64('148107-12-31T15:59:59.999999,America/Los_Angeles') AS TzDate32),
+ CAST(TzTimestamp64('-144169-01-01T02:30:17.000000,Europe/Moscow') AS TzDatetime64),
+ CAST(TzTimestamp64('-144170-12-31T16:07:02.000000,America/Los_Angeles') AS TzDatetime64),
+ CAST(TzTimestamp64('148108-01-01T02:59:59.999999,Europe/Moscow') AS TzDatetime64),
+ CAST(TzTimestamp64('148107-12-31T15:59:59.999999,America/Los_Angeles') AS TzDatetime64)
+;
diff --git a/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_bigdate-date_tz_impossible_cast_/formatted.sql b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_bigdate-date_tz_impossible_cast_/formatted.sql
new file mode 100644
index 00000000000..1c038811b82
--- /dev/null
+++ b/yql/essentials/tests/sql/sql2yql/canondata/test_sql_format.test_bigdate-date_tz_impossible_cast_/formatted.sql
@@ -0,0 +1,10 @@
+/* custom error:cannot be casted to TzDate32*/
+SELECT
+ CAST(
+ AddTimezone(
+ /* "-144169-01-01T21:29:42Z" */
+ CAST(-4611669820218 AS DateTime64),
+ 'Europe/Moscow'
+ ) AS TzDate32
+ )
+;
diff --git a/yql/essentials/tests/sql/suites/bigdate/date_tz_bounds.sql b/yql/essentials/tests/sql/suites/bigdate/date_tz_bounds.sql
new file mode 100644
index 00000000000..93bc4b541be
--- /dev/null
+++ b/yql/essentials/tests/sql/suites/bigdate/date_tz_bounds.sql
@@ -0,0 +1,24 @@
+/* postgres can not */
+SELECT
+ TzDate32("-144169-01-02,Europe/Moscow"),
+ TzDate32("-144169-01-01,America/Los_Angeles"),
+ TzDate32("148107-12-31,Europe/Moscow"),
+ TzDate32("148107-12-31,America/Los_Angeles"),
+
+ -- This boundary is adjusted to minimal UTC seconds, according
+ -- to Europe/Moscow offset discrepancy for negative dates.
+ TzDatetime64("-144169-01-01T02:30:17,Europe/Moscow"),
+ -- This boundary is adjusted to minimal UTC seconds, according
+ -- to America/Los_Angeles offset discrepancy for negative dates.
+ TzDatetime64("-144170-12-31T16:07:02,America/Los_Angeles"),
+ TzDatetime64("148108-01-01T02:59:59,Europe/Moscow"),
+ TzDatetime64("148107-12-31T15:59:59,America/Los_Angeles"),
+
+ -- This boundary is adjusted to minimal UTC seconds, according
+ -- to Europe/Moscow offset discrepancy for negative dates.
+ TzTimestamp64("-144169-01-01T02:30:17.000000,Europe/Moscow"),
+ -- This boundary is adjusted to minimal UTC seconds, according
+ -- to America/Los_Angeles offset discrepancy for negative dates.
+ TzTimestamp64("-144170-12-31T16:07:02.000000,America/Los_Angeles"),
+ TzTimestamp64("148108-01-01T02:59:59.999999,Europe/Moscow"),
+ TzTimestamp64("148107-12-31T15:59:59.999999,America/Los_Angeles"),
diff --git a/yql/essentials/tests/sql/suites/bigdate/date_tz_bounds_scale.sql b/yql/essentials/tests/sql/suites/bigdate/date_tz_bounds_scale.sql
new file mode 100644
index 00000000000..e17b68768e3
--- /dev/null
+++ b/yql/essentials/tests/sql/suites/bigdate/date_tz_bounds_scale.sql
@@ -0,0 +1,31 @@
+/* postgres can not */
+select
+ CAST(TzDate32("-144169-01-02,Europe/Moscow") as TzDatetime64),
+ CAST(TzDate32("-144169-01-01,America/Los_Angeles") as TzDatetime64),
+ CAST(TzDate32("148107-12-31,Europe/Moscow") as TzDatetime64),
+ CAST(TzDate32("148107-12-31,America/Los_Angeles") as TzDatetime64),
+
+ CAST(TzDate32("-144169-01-02,Europe/Moscow") as TzTimestamp64),
+ CAST(TzDate32("-144169-01-01,America/Los_Angeles") as TzTimestamp64),
+ CAST(TzDate32("148107-12-31,Europe/Moscow") as TzTimestamp64),
+ CAST(TzDate32("148107-12-31,America/Los_Angeles") as TzTimestamp64),
+
+ CAST(TzDatetime64("-144169-01-02T00:00:00,Europe/Moscow") as TzDate32),
+ CAST(TzDatetime64("-144169-01-01T00:00:00,America/Los_Angeles") as TzDate32),
+ CAST(TzDatetime64("148108-01-01T02:59:59,Europe/Moscow") as TzDate32),
+ CAST(TzDatetime64("148107-12-31T15:59:59,America/Los_Angeles") as TzDate32),
+
+ CAST(TzDatetime64("-144169-01-01T02:30:17,Europe/Moscow") as TzTimestamp64),
+ CAST(TzDatetime64("-144170-12-31T16:07:02,America/Los_Angeles") as TzTimestamp64),
+ CAST(TzDatetime64("148108-01-01T02:59:59,Europe/Moscow") as TzTimestamp64),
+ CAST(TzDatetime64("148107-12-31T15:59:59,America/Los_Angeles") as TzTimestamp64),
+
+ CAST(TzTimestamp64("-144169-01-02T00:00:00.000000,Europe/Moscow") as TzDate32),
+ CAST(TzTimestamp64("-144169-01-01T00:00:00.000000,America/Los_Angeles") as TzDate32),
+ CAST(TzTimestamp64("148108-01-01T02:59:59.999999,Europe/Moscow") as TzDate32),
+ CAST(TzTimestamp64("148107-12-31T15:59:59.999999,America/Los_Angeles") as TzDate32),
+
+ CAST(TzTimestamp64("-144169-01-01T02:30:17.000000,Europe/Moscow") as TzDatetime64),
+ CAST(TzTimestamp64("-144170-12-31T16:07:02.000000,America/Los_Angeles") as TzDatetime64),
+ CAST(TzTimestamp64("148108-01-01T02:59:59.999999,Europe/Moscow") as TzDatetime64),
+ CAST(TzTimestamp64("148107-12-31T15:59:59.999999,America/Los_Angeles") as TzDatetime64)
diff --git a/yql/essentials/tests/sql/suites/bigdate/date_tz_impossible_cast.cfg b/yql/essentials/tests/sql/suites/bigdate/date_tz_impossible_cast.cfg
new file mode 100644
index 00000000000..5dae597903c
--- /dev/null
+++ b/yql/essentials/tests/sql/suites/bigdate/date_tz_impossible_cast.cfg
@@ -0,0 +1 @@
+xfail
diff --git a/yql/essentials/tests/sql/suites/bigdate/date_tz_impossible_cast.sql b/yql/essentials/tests/sql/suites/bigdate/date_tz_impossible_cast.sql
new file mode 100644
index 00000000000..3e862cca826
--- /dev/null
+++ b/yql/essentials/tests/sql/suites/bigdate/date_tz_impossible_cast.sql
@@ -0,0 +1,7 @@
+/* custom error:cannot be casted to TzDate32*/
+SELECT
+ CAST(AddTimezone(
+ /* "-144169-01-01T21:29:42Z" */
+ CAST(-4611669820218 AS DateTime64),
+ "Europe/Moscow"
+ ) AS TzDate32)
diff --git a/yql/essentials/udfs/common/datetime2/datetime_udf.cpp b/yql/essentials/udfs/common/datetime2/datetime_udf.cpp
index 3e860d499d8..c0157f23653 100644
--- a/yql/essentials/udfs/common/datetime2/datetime_udf.cpp
+++ b/yql/essentials/udfs/common/datetime2/datetime_udf.cpp
@@ -776,6 +776,21 @@ TUnboxedValuePod DoAddYears(const TUnboxedValuePod& date, i64 years, const NUdf:
}
template <>
+ void TSplitKernelExec<TTzDate32>::Split(TBlockItem, TTMStorage&, const IValueBuilder&) {
+ ythrow yexception() << "Not implemented";
+ }
+
+ template <>
+ void TSplitKernelExec<TTzDatetime64>::Split(TBlockItem, TTMStorage&, const IValueBuilder&) {
+ ythrow yexception() << "Not implemented";
+ }
+
+ template <>
+ void TSplitKernelExec<TTzTimestamp64>::Split(TBlockItem, TTMStorage&, const IValueBuilder&) {
+ ythrow yexception() << "Not implemented";
+ }
+
+ template <>
TUnboxedValue TSplit<TDate>::Run(
const IValueBuilder* valueBuilder,
const TUnboxedValuePod* args) const
@@ -899,6 +914,25 @@ TUnboxedValuePod DoAddYears(const TUnboxedValuePod& date, i64 years, const NUdf:
}
template <>
+ TUnboxedValue TSplit<TTzDate32>::Run(
+ const IValueBuilder* valueBuilder,
+ const TUnboxedValuePod* args) const
+ {
+ try {
+ EMPTY_RESULT_ON_EMPTY_ARG(0);
+
+ auto& builder = valueBuilder->GetDateBuilder();
+ TUnboxedValuePod result(0);
+ auto& storage = Reference<TM64ResourceName>(result);
+ storage.FromDate32(builder, args[0].Get<i32>(), args[0].GetTimezoneId());
+ return result;
+ } catch (const std::exception& e) {
+ UdfTerminate((TStringBuilder() << Pos_ << " " << e.what()).data());
+ }
+ }
+
+
+ template <>
TUnboxedValue TSplit<TTzDatetime>::Run(
const IValueBuilder* valueBuilder,
const TUnboxedValuePod* args) const
@@ -917,6 +951,25 @@ TUnboxedValuePod DoAddYears(const TUnboxedValuePod& date, i64 years, const NUdf:
}
template <>
+ TUnboxedValue TSplit<TTzDatetime64>::Run(
+ const IValueBuilder* valueBuilder,
+ const TUnboxedValuePod* args) const
+ {
+ try {
+ EMPTY_RESULT_ON_EMPTY_ARG(0);
+
+ auto& builder = valueBuilder->GetDateBuilder();
+ TUnboxedValuePod result(0);
+ auto& storage = Reference<TM64ResourceName>(result);
+ storage.FromDatetime64(builder, args[0].Get<i64>(), args[0].GetTimezoneId());
+ return result;
+ } catch (const std::exception& e) {
+ UdfTerminate((TStringBuilder() << Pos_ << " " << e.what()).data());
+ }
+ }
+
+
+ template <>
TUnboxedValue TSplit<TTzTimestamp>::Run(
const IValueBuilder* valueBuilder,
const TUnboxedValuePod* args) const
@@ -934,6 +987,24 @@ TUnboxedValuePod DoAddYears(const TUnboxedValuePod& date, i64 years, const NUdf:
}
}
+ template <>
+ TUnboxedValue TSplit<TTzTimestamp64>::Run(
+ const IValueBuilder* valueBuilder,
+ const TUnboxedValuePod* args) const
+ {
+ try {
+ EMPTY_RESULT_ON_EMPTY_ARG(0);
+
+ auto& builder = valueBuilder->GetDateBuilder();
+ TUnboxedValuePod result(0);
+ auto& storage = Reference<TM64ResourceName>(result);
+ storage.FromTimestamp64(builder, args[0].Get<i64>(), args[0].GetTimezoneId());
+ return result;
+ } catch (const std::exception& e) {
+ UdfTerminate((TStringBuilder() << Pos_ << " " << e.what()).data());
+ }
+ }
+
// Make*
template<typename TUserDataType, bool Nullable>
@@ -1052,7 +1123,7 @@ TUnboxedValuePod DoAddYears(const TUnboxedValuePod& date, i64 years, const NUdf:
SIMPLE_STRICT_UDF(TMakeDate32, TDate32(TAutoMap<TResource<TM64ResourceName>>)) {
auto& storage = Reference<TM64ResourceName>(args[0]);
- return TUnboxedValuePod(storage.ToDate32(valueBuilder->GetDateBuilder()));
+ return TUnboxedValuePod(storage.ToDate32(valueBuilder->GetDateBuilder(), false));
}
SIMPLE_STRICT_UDF(TMakeDatetime64, TDatetime64(TAutoMap<TResource<TM64ResourceName>>)) {
@@ -1065,6 +1136,35 @@ TUnboxedValuePod DoAddYears(const TUnboxedValuePod& date, i64 years, const NUdf:
return TUnboxedValuePod(storage.ToTimestamp64(valueBuilder->GetDateBuilder()));
}
+ SIMPLE_STRICT_UDF(TMakeTzDate32, TTzDate32(TAutoMap<TResource<TM64ResourceName>>)) {
+ auto& builder = valueBuilder->GetDateBuilder();
+ auto& storage = Reference<TM64ResourceName>(args[0]);
+ try {
+ TUnboxedValuePod result(storage.ToDate32(builder, true));
+ result.SetTimezoneId(storage.TimezoneId);
+ return result;
+ } catch (const std::exception& e) {
+ UdfTerminate((TStringBuilder() << Pos_ << "Timestamp "
+ << storage.ToString()
+ << " cannot be casted to TzDate32"
+ ).data());
+ }
+ }
+
+ SIMPLE_STRICT_UDF(TMakeTzDatetime64, TTzDatetime64(TAutoMap<TResource<TM64ResourceName>>)) {
+ auto& storage = Reference<TM64ResourceName>(args[0]);
+ TUnboxedValuePod result(storage.ToDatetime64(valueBuilder->GetDateBuilder()));
+ result.SetTimezoneId(storage.TimezoneId);
+ return result;
+ }
+
+ SIMPLE_STRICT_UDF(TMakeTzTimestamp64, TTzTimestamp64(TAutoMap<TResource<TM64ResourceName>>)) {
+ auto& storage = Reference<TM64ResourceName>(args[0]);
+ TUnboxedValuePod result(storage.ToTimestamp64(valueBuilder->GetDateBuilder()));
+ result.SetTimezoneId(storage.TimezoneId);
+ return result;
+ }
+
// Get*
// #define GET_METHOD(field, type) \
@@ -3136,7 +3236,10 @@ private:
TTzTimestamp,
TDate32,
TDatetime64,
- TTimestamp64>,
+ TTimestamp64,
+ TTzDate32,
+ TTzDatetime64,
+ TTzTimestamp64>,
TMakeDate,
TMakeDatetime,
@@ -3150,6 +3253,9 @@ private:
TMakeDate32,
TMakeDatetime64,
TMakeTimestamp64,
+ TMakeTzDate32,
+ TMakeTzDatetime64,
+ TMakeTzTimestamp64,
TGetDateComponent<GetYearUDF, ui16, GetYear<TMResourceName>, i32, GetYear<TM64ResourceName>>,
TGetDateComponent<GetDayOfYearUDF, ui16, GetDayOfYear<TMResourceName>, ui16, GetDayOfYear<TM64ResourceName>>,
diff --git a/yql/essentials/udfs/common/datetime2/test_bigdates/canondata/result.json b/yql/essentials/udfs/common/datetime2/test_bigdates/canondata/result.json
index d4bd5e1d4d8..79e742fc9f8 100644
--- a/yql/essentials/udfs/common/datetime2/test_bigdates/canondata/result.json
+++ b/yql/essentials/udfs/common/datetime2/test_bigdates/canondata/result.json
@@ -29,6 +29,11 @@
"uri": "file://test.test_Shift_/results.txt"
}
],
+ "test.test[SplitMakeNarrow]": [
+ {
+ "uri": "file://test.test_SplitMakeNarrow_/results.txt"
+ }
+ ],
"test.test[SplitMake]": [
{
"uri": "file://test.test_SplitMake_/results.txt"
diff --git a/yql/essentials/udfs/common/datetime2/test_bigdates/canondata/test.test_EndOf_/results.txt b/yql/essentials/udfs/common/datetime2/test_bigdates/canondata/test.test_EndOf_/results.txt
index 42f6cef30ca..abf72884a79 100644
--- a/yql/essentials/udfs/common/datetime2/test_bigdates/canondata/test.test_EndOf_/results.txt
+++ b/yql/essentials/udfs/common/datetime2/test_bigdates/canondata/test.test_EndOf_/results.txt
@@ -18,7 +18,7 @@
"OptionalType";
[
"DataType";
- "Timestamp64"
+ "TzTimestamp64"
]
]
];
@@ -28,87 +28,87 @@
"OptionalType";
[
"DataType";
- "Timestamp64"
+ "TzTimestamp64"
]
]
];
[
- "eoquarter";
+ "eopt13h";
[
"OptionalType";
[
"DataType";
- "Timestamp64"
+ "TzTimestamp64"
]
]
];
[
- "eoweek";
+ "eopt15m";
[
"OptionalType";
[
"DataType";
- "Timestamp64"
+ "TzTimestamp64"
]
]
];
[
- "eoyear";
+ "eopt20s";
[
"OptionalType";
[
"DataType";
- "Timestamp64"
+ "TzTimestamp64"
]
]
];
[
- "sopt13h";
+ "eopt4h";
[
"OptionalType";
[
"DataType";
- "Timestamp64"
+ "TzTimestamp64"
]
]
];
[
- "sopt15m";
+ "eopt7s";
[
"OptionalType";
[
"DataType";
- "Timestamp64"
+ "TzTimestamp64"
]
]
];
[
- "sopt20s";
+ "eoquarter";
[
"OptionalType";
[
"DataType";
- "Timestamp64"
+ "TzTimestamp64"
]
]
];
[
- "sopt4h";
+ "eoweek";
[
"OptionalType";
[
"DataType";
- "Timestamp64"
+ "TzTimestamp64"
]
]
];
[
- "sopt7s";
+ "eoyear";
[
"OptionalType";
[
"DataType";
- "Timestamp64"
+ "TzTimestamp64"
]
]
]
@@ -126,7 +126,7 @@
"OptionalType";
[
"DataType";
- "Timestamp64"
+ "TzTimestamp64"
]
]
];
@@ -136,87 +136,87 @@
"OptionalType";
[
"DataType";
- "Timestamp64"
+ "TzTimestamp64"
]
]
];
[
- "eoquarter";
+ "eopt13h";
[
"OptionalType";
[
"DataType";
- "Timestamp64"
+ "TzTimestamp64"
]
]
];
[
- "eoweek";
+ "eopt15m";
[
"OptionalType";
[
"DataType";
- "Timestamp64"
+ "TzTimestamp64"
]
]
];
[
- "eoyear";
+ "eopt20s";
[
"OptionalType";
[
"DataType";
- "Timestamp64"
+ "TzTimestamp64"
]
]
];
[
- "sopt13h";
+ "eopt4h";
[
"OptionalType";
[
"DataType";
- "Timestamp64"
+ "TzTimestamp64"
]
]
];
[
- "sopt15m";
+ "eopt7s";
[
"OptionalType";
[
"DataType";
- "Timestamp64"
+ "TzTimestamp64"
]
]
];
[
- "sopt20s";
+ "eoquarter";
[
"OptionalType";
[
"DataType";
- "Timestamp64"
+ "TzTimestamp64"
]
]
];
[
- "sopt4h";
+ "eoweek";
[
"OptionalType";
[
"DataType";
- "Timestamp64"
+ "TzTimestamp64"
]
]
];
[
- "sopt7s";
+ "eoyear";
[
"OptionalType";
[
"DataType";
- "Timestamp64"
+ "TzTimestamp64"
]
]
]
@@ -230,512 +230,512 @@
[
[
[
- "-4611669811200000001"
+ "-144169-01-01T23:59:59.999999,GMT"
];
[
- "-4611667219200000001"
+ "-144169-01-31T23:59:59.999999,GMT"
];
[
- "-4611662035200000001"
+ "-144169-01-01T12:59:59.999999,GMT"
];
[
- "-4611669811200000001"
+ "-144169-01-01T01:14:59.999999,GMT"
];
[
- "-4611638275200000001"
+ "-144169-01-01T01:02:19.999999,GMT"
];
[
- "-4611669850800000001"
+ "-144169-01-01T03:59:59.999999,GMT"
];
[
- "-4611669893100000001"
+ "-144169-01-01T01:02:03.999999,GMT"
];
[
- "-4611669893860000001"
+ "-144169-03-31T23:59:59.999999,GMT"
];
[
- "-4611669883200000001"
+ "-144169-01-01T23:59:59.999999,GMT"
];
[
- "-4611669893876000001"
+ "-144169-12-31T23:59:59.999999,GMT"
]
];
[
[
- "-4611669811200000001"
+ "-144169-01-01T23:59:59.999999,GMT"
];
[
- "-4611667219200000001"
+ "-144169-01-31T23:59:59.999999,GMT"
];
[
- "-4611662035200000001"
+ "-144169-01-01T12:59:59.999999,GMT"
];
[
- "-4611669811200000001"
+ "-144169-01-01T01:14:59.999999,GMT"
];
[
- "-4611638275200000001"
+ "-144169-01-01T01:02:19.999999,GMT"
];
[
- "-4611669850800000001"
+ "-144169-01-01T03:59:59.999999,GMT"
];
[
- "-4611669893100000001"
+ "-144169-01-01T01:02:03.999999,GMT"
];
[
- "-4611669893860000001"
+ "-144169-03-31T23:59:59.999999,GMT"
];
[
- "-4611669883200000001"
+ "-144169-01-01T23:59:59.999999,GMT"
];
[
- "-4611669893876000001"
+ "-144169-12-31T23:59:59.999999,GMT"
]
]
];
[
[
[
- "-62167132800000001"
+ "-1-01-01T23:59:59.999999,GMT"
];
[
- "-62164540800000001"
+ "-1-01-31T23:59:59.999999,GMT"
];
+ #;
[
- "-62159356800000001"
+ "-1-01-01T23:59:59.999999,GMT"
];
[
- "-62167046400000001"
+ "-1-01-01T23:58:59.999999,GMT"
];
[
- "-62135596800000001"
+ "-1-01-01T23:59:59.999999,GMT"
];
- #;
[
- "-62167132800000001"
+ "-1-01-01T23:58:57.999999,GMT"
];
[
- "-62167132860000001"
+ "-1-03-31T23:59:59.999999,GMT"
];
[
- "-62167132800000001"
+ "-1-01-02T23:59:59.999999,GMT"
];
[
- "-62167132862000001"
+ "-1-12-31T23:59:59.999999,GMT"
]
];
[
[
- "-62167132800000001"
+ "-1-01-01T23:59:59.999999,GMT"
];
[
- "-62164540800000001"
+ "-1-01-31T23:59:59.999999,GMT"
];
+ #;
[
- "-62159356800000001"
+ "-1-01-01T23:59:59.999999,GMT"
];
[
- "-62167046400000001"
+ "-1-01-01T23:58:59.999999,GMT"
];
[
- "-62135596800000001"
+ "-1-01-01T23:59:59.999999,GMT"
];
- #;
[
- "-62167132800000001"
+ "-1-01-01T23:58:57.999999,GMT"
];
[
- "-62167132860000001"
+ "-1-03-31T23:59:59.999999,GMT"
];
[
- "-62167132800000001"
+ "-1-01-02T23:59:59.999999,GMT"
];
[
- "-62167132862000001"
+ "-1-12-31T23:59:59.999999,GMT"
]
]
];
[
[
[
- "-62135510400000001"
+ "1-01-01T23:59:59.999999,GMT"
];
[
- "-62132918400000001"
+ "1-01-31T23:59:59.999999,GMT"
];
[
- "-62127820800000001"
+ "1-01-01T12:59:59.999999,GMT"
];
[
- "-62134992000000001"
+ "1-01-01T09:14:59.999999,GMT"
];
[
- "-62104060800000001"
+ "1-01-01T09:09:19.999999,GMT"
];
[
- "-62135550000000001"
+ "1-01-01T11:59:59.999999,GMT"
];
[
- "-62135563500000001"
+ "1-01-01T09:09:15.999999,GMT"
];
[
- "-62135563840000001"
+ "1-03-31T23:59:59.999999,GMT"
];
[
- "-62135553600000001"
+ "1-01-07T23:59:59.999999,GMT"
];
[
- "-62135563844000001"
+ "1-12-31T23:59:59.999999,GMT"
]
];
[
[
- "-62135510400000001"
+ "1-01-01T23:59:59.999999,GMT"
];
[
- "-62132918400000001"
+ "1-01-31T23:59:59.999999,GMT"
];
[
- "-62127820800000001"
+ "1-01-01T12:59:59.999999,GMT"
];
[
- "-62134992000000001"
+ "1-01-01T09:14:59.999999,GMT"
];
[
- "-62104060800000001"
+ "1-01-01T09:09:19.999999,GMT"
];
[
- "-62135550000000001"
+ "1-01-01T11:59:59.999999,GMT"
];
[
- "-62135563500000001"
+ "1-01-01T09:09:15.999999,GMT"
];
[
- "-62135563840000001"
+ "1-03-31T23:59:59.999999,GMT"
];
[
- "-62135553600000001"
+ "1-01-07T23:59:59.999999,GMT"
];
[
- "-62135563844000001"
+ "1-12-31T23:59:59.999999,GMT"
]
]
];
[
[
[
- "-1"
+ "1969-12-31T23:59:59.999999,GMT"
];
[
- "-1"
+ "1969-12-31T23:59:59.999999,GMT"
];
+ #;
[
- "-1"
+ "1969-12-31T23:59:59.999999,GMT"
];
[
- "345599999999"
+ "1969-12-31T23:58:59.999999,GMT"
];
[
- "-1"
+ "1969-12-31T23:59:59.999999,GMT"
];
- #;
[
- "-1"
+ "1969-12-31T23:58:57.999999,GMT"
];
[
- "-60000001"
+ "1969-12-31T23:59:59.999999,GMT"
];
[
- "-1"
+ "1970-01-04T23:59:59.999999,GMT"
];
[
- "-62000001"
+ "1969-12-31T23:59:59.999999,GMT"
]
];
[
[
- "-1"
+ "1969-12-31T23:59:59.999999,GMT"
];
[
- "-1"
+ "1969-12-31T23:59:59.999999,GMT"
];
+ #;
[
- "-1"
+ "1969-12-31T23:59:59.999999,GMT"
];
[
- "345599999999"
+ "1969-12-31T23:58:59.999999,GMT"
];
[
- "-1"
+ "1969-12-31T23:59:59.999999,GMT"
];
- #;
[
- "-1"
+ "1969-12-31T23:58:57.999999,GMT"
];
[
- "-60000001"
+ "1969-12-31T23:59:59.999999,GMT"
];
[
- "-1"
+ "1970-01-04T23:59:59.999999,GMT"
];
[
- "-62000001"
+ "1969-12-31T23:59:59.999999,GMT"
]
]
];
[
[
[
- "86399999999"
+ "1970-01-01T23:59:59.999999,GMT"
];
[
- "2678399999999"
+ "1970-01-31T23:59:59.999999,GMT"
];
[
- "7775999999999"
+ "1970-01-01T12:59:59.999999,GMT"
];
[
- "345599999999"
+ "1970-01-01T09:14:59.999999,GMT"
];
[
- "31535999999999"
+ "1970-01-01T09:09:19.999999,GMT"
];
[
- "46799999999"
+ "1970-01-01T11:59:59.999999,GMT"
];
[
- "33299999999"
+ "1970-01-01T09:09:15.999999,GMT"
];
[
- "32959999999"
+ "1970-03-31T23:59:59.999999,GMT"
];
[
- "43199999999"
+ "1970-01-04T23:59:59.999999,GMT"
];
[
- "32955999999"
+ "1970-12-31T23:59:59.999999,GMT"
]
];
[
[
- "86399999999"
+ "1970-01-01T23:59:59.999999,GMT"
];
[
- "2678399999999"
+ "1970-01-31T23:59:59.999999,GMT"
];
[
- "7775999999999"
+ "1970-01-01T12:59:59.999999,GMT"
];
[
- "345599999999"
+ "1970-01-01T09:14:59.999999,GMT"
];
[
- "31535999999999"
+ "1970-01-01T09:09:19.999999,GMT"
];
[
- "46799999999"
+ "1970-01-01T11:59:59.999999,GMT"
];
[
- "33299999999"
+ "1970-01-01T09:09:15.999999,GMT"
];
[
- "32959999999"
+ "1970-03-31T23:59:59.999999,GMT"
];
[
- "43199999999"
+ "1970-01-04T23:59:59.999999,GMT"
];
[
- "32955999999"
+ "1970-12-31T23:59:59.999999,GMT"
]
]
];
[
[
[
- "1738713599999999"
+ "2025-02-04T23:59:59.999999,GMT"
];
[
- "1740787199999999"
+ "2025-02-28T23:59:59.999999,GMT"
];
[
- "1743465599999999"
+ "2025-02-04T12:59:59.999999,GMT"
];
[
- "1739145599999999"
+ "2025-02-04T09:14:59.999999,GMT"
];
[
- "1767225599999999"
+ "2025-02-04T09:09:19.999999,GMT"
];
[
- "1738673999999999"
+ "2025-02-04T11:59:59.999999,GMT"
];
[
- "1738660499999999"
+ "2025-02-04T09:09:15.999999,GMT"
];
[
- "1738660159999999"
+ "2025-03-31T23:59:59.999999,GMT"
];
[
- "1738670399999999"
+ "2025-02-09T23:59:59.999999,GMT"
];
[
- "1738660155999999"
+ "2025-12-31T23:59:59.999999,GMT"
]
];
[
[
- "1738713599999999"
+ "2025-02-04T23:59:59.999999,GMT"
];
[
- "1740787199999999"
+ "2025-02-28T23:59:59.999999,GMT"
];
[
- "1743465599999999"
+ "2025-02-04T12:59:59.999999,GMT"
];
[
- "1739145599999999"
+ "2025-02-04T09:14:59.999999,GMT"
];
[
- "1767225599999999"
+ "2025-02-04T09:09:19.999999,GMT"
];
[
- "1738673999999999"
+ "2025-02-04T11:59:59.999999,GMT"
];
[
- "1738660499999999"
+ "2025-02-04T09:09:15.999999,GMT"
];
[
- "1738660159999999"
+ "2025-03-31T23:59:59.999999,GMT"
];
[
- "1738670399999999"
+ "2025-02-09T23:59:59.999999,GMT"
];
[
- "1738660155999999"
+ "2025-12-31T23:59:59.999999,GMT"
]
]
];
[
[
[
- "4291833599999999"
+ "2106-01-01T23:59:59.999999,GMT"
];
[
- "4294425599999999"
+ "2106-01-31T23:59:59.999999,GMT"
];
[
- "4299523199999999"
+ "2106-01-01T12:59:59.999999,GMT"
];
[
- "4292006399999999"
+ "2106-01-01T09:14:59.999999,GMT"
];
[
- "4323283199999999"
+ "2106-01-01T09:09:19.999999,GMT"
];
[
- "4291793999999999"
+ "2106-01-01T11:59:59.999999,GMT"
];
[
- "4291780499999999"
+ "2106-01-01T09:09:15.999999,GMT"
];
[
- "4291780159999999"
+ "2106-03-31T23:59:59.999999,GMT"
];
[
- "4291790399999999"
+ "2106-01-03T23:59:59.999999,GMT"
];
[
- "4291780155999999"
+ "2106-12-31T23:59:59.999999,GMT"
]
];
[
[
- "4291833599999999"
+ "2106-01-01T23:59:59.999999,GMT"
];
[
- "4294425599999999"
+ "2106-01-31T23:59:59.999999,GMT"
];
[
- "4299523199999999"
+ "2106-01-01T12:59:59.999999,GMT"
];
[
- "4292006399999999"
+ "2106-01-01T09:14:59.999999,GMT"
];
[
- "4323283199999999"
+ "2106-01-01T09:09:19.999999,GMT"
];
[
- "4291793999999999"
+ "2106-01-01T11:59:59.999999,GMT"
];
[
- "4291780499999999"
+ "2106-01-01T09:09:15.999999,GMT"
];
[
- "4291780159999999"
+ "2106-03-31T23:59:59.999999,GMT"
];
[
- "4291790399999999"
+ "2106-01-03T23:59:59.999999,GMT"
];
[
- "4291780155999999"
+ "2106-12-31T23:59:59.999999,GMT"
]
]
];
[
[
[
- "4611669811199999999"
+ "148107-12-31T23:59:59.999999,GMT"
];
[
- "4611669811199999999"
+ "148107-12-31T23:59:59.999999,GMT"
];
+ #;
[
- "4611669811199999999"
+ "148107-12-31T23:59:59.999999,GMT"
];
- #;
[
- "4611669811199999999"
+ "148107-12-31T23:58:59.999999,GMT"
];
- #;
[
- "4611669811199999999"
+ "148107-12-31T23:59:59.999999,GMT"
];
[
- "4611669811139999999"
+ "148107-12-31T23:58:57.999999,GMT"
];
[
- "4611669811199999999"
+ "148107-12-31T23:59:59.999999,GMT"
];
+ #;
[
- "4611669811137999999"
+ "148107-12-31T23:59:59.999999,GMT"
]
];
[
[
- "4611669811199999999"
+ "148107-12-31T23:59:59.999999,GMT"
];
[
- "4611669811199999999"
+ "148107-12-31T23:59:59.999999,GMT"
];
+ #;
[
- "4611669811199999999"
+ "148107-12-31T23:59:59.999999,GMT"
];
- #;
[
- "4611669811199999999"
+ "148107-12-31T23:58:59.999999,GMT"
];
- #;
[
- "4611669811199999999"
+ "148107-12-31T23:59:59.999999,GMT"
];
[
- "4611669811139999999"
+ "148107-12-31T23:58:57.999999,GMT"
];
[
- "4611669811199999999"
+ "148107-12-31T23:59:59.999999,GMT"
];
+ #;
[
- "4611669811137999999"
+ "148107-12-31T23:59:59.999999,GMT"
]
]
]
diff --git a/yql/essentials/udfs/common/datetime2/test_bigdates/canondata/test.test_Shift_/results.txt b/yql/essentials/udfs/common/datetime2/test_bigdates/canondata/test.test_Shift_/results.txt
index 7bf839a0907..0786ef1413a 100644
--- a/yql/essentials/udfs/common/datetime2/test_bigdates/canondata/test.test_Shift_/results.txt
+++ b/yql/essentials/udfs/common/datetime2/test_bigdates/canondata/test.test_Shift_/results.txt
@@ -18,7 +18,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -28,7 +28,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -38,7 +38,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -48,7 +48,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -58,7 +58,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -68,7 +68,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -78,7 +78,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -88,7 +88,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -98,7 +98,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -108,7 +108,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -118,7 +118,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -128,7 +128,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -138,7 +138,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -148,7 +148,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
]
@@ -166,7 +166,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -176,7 +176,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -186,7 +186,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -196,7 +196,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -206,7 +206,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -216,7 +216,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -226,7 +226,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -236,7 +236,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -246,7 +246,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -256,7 +256,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -266,7 +266,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -276,7 +276,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -286,7 +286,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -296,7 +296,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
]
@@ -310,28 +310,28 @@
[
[
[
- "-144169-01-01T00:00:00Z"
+ "-144169-01-01T00:00:00,GMT"
];
[
- "-144159-01-01T00:00:00Z"
+ "-144159-01-01T00:00:00,GMT"
];
[
- "-144169-12-01T00:00:00Z"
+ "-144169-12-01T00:00:00,GMT"
];
[
- "-144159-04-01T00:00:00Z"
+ "-144159-04-01T00:00:00,GMT"
];
[
- "-144168-01-01T00:00:00Z"
+ "-144168-01-01T00:00:00,GMT"
];
[
- "-144165-01-01T00:00:00Z"
+ "-144165-01-01T00:00:00,GMT"
];
[
- "-144169-02-01T00:00:00Z"
+ "-144169-02-01T00:00:00,GMT"
];
[
- "-144169-04-01T00:00:00Z"
+ "-144169-04-01T00:00:00,GMT"
];
#;
#;
@@ -342,28 +342,28 @@
];
[
[
- "-144169-01-01T00:00:00Z"
+ "-144169-01-01T00:00:00,GMT"
];
[
- "-144159-01-01T00:00:00Z"
+ "-144159-01-01T00:00:00,GMT"
];
[
- "-144169-12-01T00:00:00Z"
+ "-144169-12-01T00:00:00,GMT"
];
[
- "-144159-04-01T00:00:00Z"
+ "-144159-04-01T00:00:00,GMT"
];
[
- "-144168-01-01T00:00:00Z"
+ "-144168-01-01T00:00:00,GMT"
];
[
- "-144165-01-01T00:00:00Z"
+ "-144165-01-01T00:00:00,GMT"
];
[
- "-144169-02-01T00:00:00Z"
+ "-144169-02-01T00:00:00,GMT"
];
[
- "-144169-04-01T00:00:00Z"
+ "-144169-04-01T00:00:00,GMT"
];
#;
#;
@@ -376,547 +376,547 @@
[
[
[
- "-1-01-01T23:59:59.999999Z"
+ "-1-01-01T23:59:59.999999,GMT"
];
[
- "9-01-01T23:59:59.999999Z"
+ "9-01-01T23:59:59.999999,GMT"
];
[
- "-1-12-01T23:59:59.999999Z"
+ "-1-12-01T23:59:59.999999,GMT"
];
[
- "9-04-01T23:59:59.999999Z"
+ "9-04-01T23:59:59.999999,GMT"
];
[
- "1-01-01T23:59:59.999999Z"
+ "1-01-01T23:59:59.999999,GMT"
];
[
- "3-01-01T23:59:59.999999Z"
+ "3-01-01T23:59:59.999999,GMT"
];
[
- "-1-02-01T23:59:59.999999Z"
+ "-1-02-01T23:59:59.999999,GMT"
];
[
- "-1-04-01T23:59:59.999999Z"
+ "-1-04-01T23:59:59.999999,GMT"
];
[
- "-2-02-01T23:59:59.999999Z"
+ "-2-02-01T23:59:59.999999,GMT"
];
[
- "-12-10-01T23:59:59.999999Z"
+ "-12-10-01T23:59:59.999999,GMT"
];
[
- "-2-01-01T23:59:59.999999Z"
+ "-2-01-01T23:59:59.999999,GMT"
];
[
- "-5-01-01T23:59:59.999999Z"
+ "-5-01-01T23:59:59.999999,GMT"
];
[
- "-2-12-01T23:59:59.999999Z"
+ "-2-12-01T23:59:59.999999,GMT"
];
[
- "-2-10-01T23:59:59.999999Z"
+ "-2-10-01T23:59:59.999999,GMT"
]
];
[
[
- "-1-01-01T23:59:59.999999Z"
+ "-1-01-01T23:59:59.999999,GMT"
];
[
- "9-01-01T23:59:59.999999Z"
+ "9-01-01T23:59:59.999999,GMT"
];
[
- "-1-12-01T23:59:59.999999Z"
+ "-1-12-01T23:59:59.999999,GMT"
];
[
- "9-04-01T23:59:59.999999Z"
+ "9-04-01T23:59:59.999999,GMT"
];
[
- "1-01-01T23:59:59.999999Z"
+ "1-01-01T23:59:59.999999,GMT"
];
[
- "3-01-01T23:59:59.999999Z"
+ "3-01-01T23:59:59.999999,GMT"
];
[
- "-1-02-01T23:59:59.999999Z"
+ "-1-02-01T23:59:59.999999,GMT"
];
[
- "-1-04-01T23:59:59.999999Z"
+ "-1-04-01T23:59:59.999999,GMT"
];
[
- "-2-02-01T23:59:59.999999Z"
+ "-2-02-01T23:59:59.999999,GMT"
];
[
- "-12-10-01T23:59:59.999999Z"
+ "-12-10-01T23:59:59.999999,GMT"
];
[
- "-2-01-01T23:59:59.999999Z"
+ "-2-01-01T23:59:59.999999,GMT"
];
[
- "-5-01-01T23:59:59.999999Z"
+ "-5-01-01T23:59:59.999999,GMT"
];
[
- "-2-12-01T23:59:59.999999Z"
+ "-2-12-01T23:59:59.999999,GMT"
];
[
- "-2-10-01T23:59:59.999999Z"
+ "-2-10-01T23:59:59.999999,GMT"
]
]
];
[
[
[
- "1-01-01T00:00:00Z"
+ "1-01-01T00:00:00,GMT"
];
[
- "11-01-01T00:00:00Z"
+ "11-01-01T00:00:00,GMT"
];
[
- "1-12-01T00:00:00Z"
+ "1-12-01T00:00:00,GMT"
];
[
- "11-04-01T00:00:00Z"
+ "11-04-01T00:00:00,GMT"
];
[
- "2-01-01T00:00:00Z"
+ "2-01-01T00:00:00,GMT"
];
[
- "5-01-01T00:00:00Z"
+ "5-01-01T00:00:00,GMT"
];
[
- "1-02-01T00:00:00Z"
+ "1-02-01T00:00:00,GMT"
];
[
- "1-04-01T00:00:00Z"
+ "1-04-01T00:00:00,GMT"
];
[
- "-1-02-01T00:00:00Z"
+ "-1-02-01T00:00:00,GMT"
];
[
- "-10-10-01T00:00:00Z"
+ "-10-10-01T00:00:00,GMT"
];
[
- "-1-01-01T00:00:00Z"
+ "-1-01-01T00:00:00,GMT"
];
[
- "-3-01-01T00:00:00Z"
+ "-3-01-01T00:00:00,GMT"
];
[
- "-1-12-01T00:00:00Z"
+ "-1-12-01T00:00:00,GMT"
];
[
- "-1-10-01T00:00:00Z"
+ "-1-10-01T00:00:00,GMT"
]
];
[
[
- "1-01-01T00:00:00Z"
+ "1-01-01T00:00:00,GMT"
];
[
- "11-01-01T00:00:00Z"
+ "11-01-01T00:00:00,GMT"
];
[
- "1-12-01T00:00:00Z"
+ "1-12-01T00:00:00,GMT"
];
[
- "11-04-01T00:00:00Z"
+ "11-04-01T00:00:00,GMT"
];
[
- "2-01-01T00:00:00Z"
+ "2-01-01T00:00:00,GMT"
];
[
- "5-01-01T00:00:00Z"
+ "5-01-01T00:00:00,GMT"
];
[
- "1-02-01T00:00:00Z"
+ "1-02-01T00:00:00,GMT"
];
[
- "1-04-01T00:00:00Z"
+ "1-04-01T00:00:00,GMT"
];
[
- "-1-02-01T00:00:00Z"
+ "-1-02-01T00:00:00,GMT"
];
[
- "-10-10-01T00:00:00Z"
+ "-10-10-01T00:00:00,GMT"
];
[
- "-1-01-01T00:00:00Z"
+ "-1-01-01T00:00:00,GMT"
];
[
- "-3-01-01T00:00:00Z"
+ "-3-01-01T00:00:00,GMT"
];
[
- "-1-12-01T00:00:00Z"
+ "-1-12-01T00:00:00,GMT"
];
[
- "-1-10-01T00:00:00Z"
+ "-1-10-01T00:00:00,GMT"
]
]
];
[
[
[
- "1969-12-31T23:59:59.999999Z"
+ "1969-12-31T23:59:59.999999,GMT"
];
[
- "1979-12-31T23:59:59.999999Z"
+ "1979-12-31T23:59:59.999999,GMT"
];
[
- "1970-11-30T23:59:59.999999Z"
+ "1970-11-30T23:59:59.999999,GMT"
];
[
- "1980-03-31T23:59:59.999999Z"
+ "1980-03-31T23:59:59.999999,GMT"
];
[
- "1970-12-31T23:59:59.999999Z"
+ "1970-12-31T23:59:59.999999,GMT"
];
[
- "1973-12-31T23:59:59.999999Z"
+ "1973-12-31T23:59:59.999999,GMT"
];
[
- "1970-01-31T23:59:59.999999Z"
+ "1970-01-31T23:59:59.999999,GMT"
];
[
- "1970-03-31T23:59:59.999999Z"
+ "1970-03-31T23:59:59.999999,GMT"
];
[
- "1969-01-31T23:59:59.999999Z"
+ "1969-01-31T23:59:59.999999,GMT"
];
[
- "1959-09-30T23:59:59.999999Z"
+ "1959-09-30T23:59:59.999999,GMT"
];
[
- "1968-12-31T23:59:59.999999Z"
+ "1968-12-31T23:59:59.999999,GMT"
];
[
- "1965-12-31T23:59:59.999999Z"
+ "1965-12-31T23:59:59.999999,GMT"
];
[
- "1969-11-30T23:59:59.999999Z"
+ "1969-11-30T23:59:59.999999,GMT"
];
[
- "1969-09-30T23:59:59.999999Z"
+ "1969-09-30T23:59:59.999999,GMT"
]
];
[
[
- "1969-12-31T23:59:59.999999Z"
+ "1969-12-31T23:59:59.999999,GMT"
];
[
- "1979-12-31T23:59:59.999999Z"
+ "1979-12-31T23:59:59.999999,GMT"
];
[
- "1970-11-30T23:59:59.999999Z"
+ "1970-11-30T23:59:59.999999,GMT"
];
[
- "1980-03-31T23:59:59.999999Z"
+ "1980-03-31T23:59:59.999999,GMT"
];
[
- "1970-12-31T23:59:59.999999Z"
+ "1970-12-31T23:59:59.999999,GMT"
];
[
- "1973-12-31T23:59:59.999999Z"
+ "1973-12-31T23:59:59.999999,GMT"
];
[
- "1970-01-31T23:59:59.999999Z"
+ "1970-01-31T23:59:59.999999,GMT"
];
[
- "1970-03-31T23:59:59.999999Z"
+ "1970-03-31T23:59:59.999999,GMT"
];
[
- "1969-01-31T23:59:59.999999Z"
+ "1969-01-31T23:59:59.999999,GMT"
];
[
- "1959-09-30T23:59:59.999999Z"
+ "1959-09-30T23:59:59.999999,GMT"
];
[
- "1968-12-31T23:59:59.999999Z"
+ "1968-12-31T23:59:59.999999,GMT"
];
[
- "1965-12-31T23:59:59.999999Z"
+ "1965-12-31T23:59:59.999999,GMT"
];
[
- "1969-11-30T23:59:59.999999Z"
+ "1969-11-30T23:59:59.999999,GMT"
];
[
- "1969-09-30T23:59:59.999999Z"
+ "1969-09-30T23:59:59.999999,GMT"
]
]
];
[
[
[
- "1970-01-01T00:00:00Z"
+ "1970-01-01T00:00:00,GMT"
];
[
- "1980-01-01T00:00:00Z"
+ "1980-01-01T00:00:00,GMT"
];
[
- "1970-12-01T00:00:00Z"
+ "1970-12-01T00:00:00,GMT"
];
[
- "1980-04-01T00:00:00Z"
+ "1980-04-01T00:00:00,GMT"
];
[
- "1971-01-01T00:00:00Z"
+ "1971-01-01T00:00:00,GMT"
];
[
- "1974-01-01T00:00:00Z"
+ "1974-01-01T00:00:00,GMT"
];
[
- "1970-02-01T00:00:00Z"
+ "1970-02-01T00:00:00,GMT"
];
[
- "1970-04-01T00:00:00Z"
+ "1970-04-01T00:00:00,GMT"
];
[
- "1969-02-01T00:00:00Z"
+ "1969-02-01T00:00:00,GMT"
];
[
- "1959-10-01T00:00:00Z"
+ "1959-10-01T00:00:00,GMT"
];
[
- "1969-01-01T00:00:00Z"
+ "1969-01-01T00:00:00,GMT"
];
[
- "1966-01-01T00:00:00Z"
+ "1966-01-01T00:00:00,GMT"
];
[
- "1969-12-01T00:00:00Z"
+ "1969-12-01T00:00:00,GMT"
];
[
- "1969-10-01T00:00:00Z"
+ "1969-10-01T00:00:00,GMT"
]
];
[
[
- "1970-01-01T00:00:00Z"
+ "1970-01-01T00:00:00,GMT"
];
[
- "1980-01-01T00:00:00Z"
+ "1980-01-01T00:00:00,GMT"
];
[
- "1970-12-01T00:00:00Z"
+ "1970-12-01T00:00:00,GMT"
];
[
- "1980-04-01T00:00:00Z"
+ "1980-04-01T00:00:00,GMT"
];
[
- "1971-01-01T00:00:00Z"
+ "1971-01-01T00:00:00,GMT"
];
[
- "1974-01-01T00:00:00Z"
+ "1974-01-01T00:00:00,GMT"
];
[
- "1970-02-01T00:00:00Z"
+ "1970-02-01T00:00:00,GMT"
];
[
- "1970-04-01T00:00:00Z"
+ "1970-04-01T00:00:00,GMT"
];
[
- "1969-02-01T00:00:00Z"
+ "1969-02-01T00:00:00,GMT"
];
[
- "1959-10-01T00:00:00Z"
+ "1959-10-01T00:00:00,GMT"
];
[
- "1969-01-01T00:00:00Z"
+ "1969-01-01T00:00:00,GMT"
];
[
- "1966-01-01T00:00:00Z"
+ "1966-01-01T00:00:00,GMT"
];
[
- "1969-12-01T00:00:00Z"
+ "1969-12-01T00:00:00,GMT"
];
[
- "1969-10-01T00:00:00Z"
+ "1969-10-01T00:00:00,GMT"
]
]
];
[
[
[
- "2025-01-01T00:00:00Z"
+ "2025-01-01T00:00:00,GMT"
];
[
- "2035-01-01T00:00:00Z"
+ "2035-01-01T00:00:00,GMT"
];
[
- "2025-12-01T00:00:00Z"
+ "2025-12-01T00:00:00,GMT"
];
[
- "2035-04-01T00:00:00Z"
+ "2035-04-01T00:00:00,GMT"
];
[
- "2026-01-01T00:00:00Z"
+ "2026-01-01T00:00:00,GMT"
];
[
- "2029-01-01T00:00:00Z"
+ "2029-01-01T00:00:00,GMT"
];
[
- "2025-02-01T00:00:00Z"
+ "2025-02-01T00:00:00,GMT"
];
[
- "2025-04-01T00:00:00Z"
+ "2025-04-01T00:00:00,GMT"
];
[
- "2024-02-01T00:00:00Z"
+ "2024-02-01T00:00:00,GMT"
];
[
- "2014-10-01T00:00:00Z"
+ "2014-10-01T00:00:00,GMT"
];
[
- "2024-01-01T00:00:00Z"
+ "2024-01-01T00:00:00,GMT"
];
[
- "2021-01-01T00:00:00Z"
+ "2021-01-01T00:00:00,GMT"
];
[
- "2024-12-01T00:00:00Z"
+ "2024-12-01T00:00:00,GMT"
];
[
- "2024-10-01T00:00:00Z"
+ "2024-10-01T00:00:00,GMT"
]
];
[
[
- "2025-01-01T00:00:00Z"
+ "2025-01-01T00:00:00,GMT"
];
[
- "2035-01-01T00:00:00Z"
+ "2035-01-01T00:00:00,GMT"
];
[
- "2025-12-01T00:00:00Z"
+ "2025-12-01T00:00:00,GMT"
];
[
- "2035-04-01T00:00:00Z"
+ "2035-04-01T00:00:00,GMT"
];
[
- "2026-01-01T00:00:00Z"
+ "2026-01-01T00:00:00,GMT"
];
[
- "2029-01-01T00:00:00Z"
+ "2029-01-01T00:00:00,GMT"
];
[
- "2025-02-01T00:00:00Z"
+ "2025-02-01T00:00:00,GMT"
];
[
- "2025-04-01T00:00:00Z"
+ "2025-04-01T00:00:00,GMT"
];
[
- "2024-02-01T00:00:00Z"
+ "2024-02-01T00:00:00,GMT"
];
[
- "2014-10-01T00:00:00Z"
+ "2014-10-01T00:00:00,GMT"
];
[
- "2024-01-01T00:00:00Z"
+ "2024-01-01T00:00:00,GMT"
];
[
- "2021-01-01T00:00:00Z"
+ "2021-01-01T00:00:00,GMT"
];
[
- "2024-12-01T00:00:00Z"
+ "2024-12-01T00:00:00,GMT"
];
[
- "2024-10-01T00:00:00Z"
+ "2024-10-01T00:00:00,GMT"
]
]
];
[
[
[
- "2106-01-01T00:00:00Z"
+ "2106-01-01T00:00:00,GMT"
];
[
- "2116-01-01T00:00:00Z"
+ "2116-01-01T00:00:00,GMT"
];
[
- "2106-12-01T00:00:00Z"
+ "2106-12-01T00:00:00,GMT"
];
[
- "2116-04-01T00:00:00Z"
+ "2116-04-01T00:00:00,GMT"
];
[
- "2107-01-01T00:00:00Z"
+ "2107-01-01T00:00:00,GMT"
];
[
- "2110-01-01T00:00:00Z"
+ "2110-01-01T00:00:00,GMT"
];
[
- "2106-02-01T00:00:00Z"
+ "2106-02-01T00:00:00,GMT"
];
[
- "2106-04-01T00:00:00Z"
+ "2106-04-01T00:00:00,GMT"
];
[
- "2105-02-01T00:00:00Z"
+ "2105-02-01T00:00:00,GMT"
];
[
- "2095-10-01T00:00:00Z"
+ "2095-10-01T00:00:00,GMT"
];
[
- "2105-01-01T00:00:00Z"
+ "2105-01-01T00:00:00,GMT"
];
[
- "2102-01-01T00:00:00Z"
+ "2102-01-01T00:00:00,GMT"
];
[
- "2105-12-01T00:00:00Z"
+ "2105-12-01T00:00:00,GMT"
];
[
- "2105-10-01T00:00:00Z"
+ "2105-10-01T00:00:00,GMT"
]
];
[
[
- "2106-01-01T00:00:00Z"
+ "2106-01-01T00:00:00,GMT"
];
[
- "2116-01-01T00:00:00Z"
+ "2116-01-01T00:00:00,GMT"
];
[
- "2106-12-01T00:00:00Z"
+ "2106-12-01T00:00:00,GMT"
];
[
- "2116-04-01T00:00:00Z"
+ "2116-04-01T00:00:00,GMT"
];
[
- "2107-01-01T00:00:00Z"
+ "2107-01-01T00:00:00,GMT"
];
[
- "2110-01-01T00:00:00Z"
+ "2110-01-01T00:00:00,GMT"
];
[
- "2106-02-01T00:00:00Z"
+ "2106-02-01T00:00:00,GMT"
];
[
- "2106-04-01T00:00:00Z"
+ "2106-04-01T00:00:00,GMT"
];
[
- "2105-02-01T00:00:00Z"
+ "2105-02-01T00:00:00,GMT"
];
[
- "2095-10-01T00:00:00Z"
+ "2095-10-01T00:00:00,GMT"
];
[
- "2105-01-01T00:00:00Z"
+ "2105-01-01T00:00:00,GMT"
];
[
- "2102-01-01T00:00:00Z"
+ "2102-01-01T00:00:00,GMT"
];
[
- "2105-12-01T00:00:00Z"
+ "2105-12-01T00:00:00,GMT"
];
[
- "2105-10-01T00:00:00Z"
+ "2105-10-01T00:00:00,GMT"
]
]
];
[
[
[
- "148107-12-31T23:59:59.999999Z"
+ "148107-12-31T23:59:59.999999,GMT"
];
#;
#;
@@ -926,27 +926,27 @@
#;
#;
[
- "148107-01-31T23:59:59.999999Z"
+ "148107-01-31T23:59:59.999999,GMT"
];
[
- "148097-09-30T23:59:59.999999Z"
+ "148097-09-30T23:59:59.999999,GMT"
];
[
- "148106-12-31T23:59:59.999999Z"
+ "148106-12-31T23:59:59.999999,GMT"
];
[
- "148103-12-31T23:59:59.999999Z"
+ "148103-12-31T23:59:59.999999,GMT"
];
[
- "148107-11-30T23:59:59.999999Z"
+ "148107-11-30T23:59:59.999999,GMT"
];
[
- "148107-09-30T23:59:59.999999Z"
+ "148107-09-30T23:59:59.999999,GMT"
]
];
[
[
- "148107-12-31T23:59:59.999999Z"
+ "148107-12-31T23:59:59.999999,GMT"
];
#;
#;
@@ -956,22 +956,22 @@
#;
#;
[
- "148107-01-31T23:59:59.999999Z"
+ "148107-01-31T23:59:59.999999,GMT"
];
[
- "148097-09-30T23:59:59.999999Z"
+ "148097-09-30T23:59:59.999999,GMT"
];
[
- "148106-12-31T23:59:59.999999Z"
+ "148106-12-31T23:59:59.999999,GMT"
];
[
- "148103-12-31T23:59:59.999999Z"
+ "148103-12-31T23:59:59.999999,GMT"
];
[
- "148107-11-30T23:59:59.999999Z"
+ "148107-11-30T23:59:59.999999,GMT"
];
[
- "148107-09-30T23:59:59.999999Z"
+ "148107-09-30T23:59:59.999999,GMT"
]
]
]
diff --git a/yql/essentials/udfs/common/datetime2/test_bigdates/canondata/test.test_SplitMakeNarrow_/results.txt b/yql/essentials/udfs/common/datetime2/test_bigdates/canondata/test.test_SplitMakeNarrow_/results.txt
new file mode 100644
index 00000000000..07f84fdae04
--- /dev/null
+++ b/yql/essentials/udfs/common/datetime2/test_bigdates/canondata/test.test_SplitMakeNarrow_/results.txt
@@ -0,0 +1,217 @@
+[
+ {
+ "Write" = [
+ {
+ "Type" = [
+ "ListType";
+ [
+ "StructType";
+ [
+ [
+ "rdate32";
+ [
+ "OptionalType";
+ [
+ "DataType";
+ "Date32"
+ ]
+ ]
+ ];
+ [
+ "rdatetime64";
+ [
+ "OptionalType";
+ [
+ "DataType";
+ "Datetime64"
+ ]
+ ]
+ ];
+ [
+ "rtimestamp64";
+ [
+ "OptionalType";
+ [
+ "DataType";
+ "Timestamp64"
+ ]
+ ]
+ ];
+ [
+ "rtzpdate32";
+ [
+ "OptionalType";
+ [
+ "DataType";
+ "TzDate32"
+ ]
+ ]
+ ];
+ [
+ "rtzpdatetime64";
+ [
+ "OptionalType";
+ [
+ "DataType";
+ "TzDatetime64"
+ ]
+ ]
+ ];
+ [
+ "rtzptimestamp64";
+ [
+ "OptionalType";
+ [
+ "DataType";
+ "TzTimestamp64"
+ ]
+ ]
+ ];
+ [
+ "rtzmdate32";
+ [
+ "OptionalType";
+ [
+ "DataType";
+ "TzDate32"
+ ]
+ ]
+ ];
+ [
+ "rtzmdatetime64";
+ [
+ "OptionalType";
+ [
+ "DataType";
+ "TzDatetime64"
+ ]
+ ]
+ ];
+ [
+ "rtzmtimestamp64";
+ [
+ "OptionalType";
+ [
+ "DataType";
+ "TzTimestamp64"
+ ]
+ ]
+ ]
+ ]
+ ]
+ ];
+ "Data" = [
+ [
+ #;
+ #;
+ #;
+ #;
+ #;
+ #;
+ #;
+ [
+ "1969-12-31T23:59:59,America/Los_Angeles"
+ ];
+ [
+ "1969-12-31T23:59:59.999999,America/Los_Angeles"
+ ]
+ ];
+ [
+ [
+ "0"
+ ];
+ [
+ "0"
+ ];
+ [
+ "0"
+ ];
+ #;
+ #;
+ #;
+ [
+ "1970-01-01,America/Los_Angeles"
+ ];
+ [
+ "1970-01-01T00:00:00,America/Los_Angeles"
+ ];
+ [
+ "1970-01-01T00:00:00,America/Los_Angeles"
+ ]
+ ];
+ [
+ [
+ "20089"
+ ];
+ [
+ "1735689600"
+ ];
+ [
+ "1735689600000000"
+ ];
+ [
+ "2025-01-01,Europe/Moscow"
+ ];
+ [
+ "2025-01-01T00:00:00,Europe/Moscow"
+ ];
+ [
+ "2025-01-01T00:00:00,Europe/Moscow"
+ ];
+ [
+ "2025-01-01,America/Los_Angeles"
+ ];
+ [
+ "2025-01-01T00:00:00,America/Los_Angeles"
+ ];
+ [
+ "2025-01-01T00:00:00,America/Los_Angeles"
+ ]
+ ];
+ [
+ [
+ "49672"
+ ];
+ [
+ "4291747199"
+ ];
+ [
+ "4291747199999999"
+ ];
+ [
+ "2105-12-31,Europe/Moscow"
+ ];
+ [
+ "2105-12-31T23:59:59,Europe/Moscow"
+ ];
+ [
+ "2105-12-31T23:59:59.999999,Europe/Moscow"
+ ];
+ [
+ "2105-12-31,America/Los_Angeles"
+ ];
+ #;
+ #
+ ];
+ [
+ #;
+ #;
+ #;
+ [
+ "2106-01-01,Europe/Moscow"
+ ];
+ [
+ "2106-01-01T00:00:00,Europe/Moscow"
+ ];
+ [
+ "2106-01-01T00:00:00,Europe/Moscow"
+ ];
+ #;
+ #;
+ #
+ ]
+ ]
+ }
+ ]
+ }
+] \ No newline at end of file
diff --git a/yql/essentials/udfs/common/datetime2/test_bigdates/canondata/test.test_SplitMake_/results.txt b/yql/essentials/udfs/common/datetime2/test_bigdates/canondata/test.test_SplitMake_/results.txt
index 1adffe191a5..f8bc24241b4 100644
--- a/yql/essentials/udfs/common/datetime2/test_bigdates/canondata/test.test_SplitMake_/results.txt
+++ b/yql/essentials/udfs/common/datetime2/test_bigdates/canondata/test.test_SplitMake_/results.txt
@@ -8,129 +8,93 @@
"StructType";
[
[
- "dd";
+ "rdate32";
[
- "DataType";
- "Date32"
+ "OptionalType";
+ [
+ "DataType";
+ "Date32"
+ ]
]
];
[
- "sdd";
+ "rdatetime64";
[
- "DataType";
- "Date32"
+ "OptionalType";
+ [
+ "DataType";
+ "Datetime64"
+ ]
]
];
[
- "ddt";
+ "rtimestamp64";
[
- "DataType";
- "Date32"
+ "OptionalType";
+ [
+ "DataType";
+ "Timestamp64"
+ ]
]
];
[
- "sddt";
+ "rtzpdate32";
[
- "DataType";
- "Date32"
+ "OptionalType";
+ [
+ "DataType";
+ "TzDate32"
+ ]
]
];
[
- "dts";
+ "rtzpdatetime64";
[
- "DataType";
- "Date32"
+ "OptionalType";
+ [
+ "DataType";
+ "TzDatetime64"
+ ]
]
];
[
- "sdts";
+ "rtzptimestamp64";
[
- "DataType";
- "Date32"
+ "OptionalType";
+ [
+ "DataType";
+ "TzTimestamp64"
+ ]
]
];
[
- "dtd";
+ "rtzmdate32";
[
- "DataType";
- "Datetime64"
+ "OptionalType";
+ [
+ "DataType";
+ "TzDate32"
+ ]
]
];
[
- "sdtd";
+ "rtzmdatetime64";
[
- "DataType";
- "Datetime64"
+ "OptionalType";
+ [
+ "DataType";
+ "TzDatetime64"
+ ]
]
];
[
- "dtdt";
+ "rtzmtimestamp64";
[
- "DataType";
- "Datetime64"
- ]
- ];
- [
- "sdtdt";
- [
- "DataType";
- "Datetime64"
- ]
- ];
- [
- "dtts";
- [
- "DataType";
- "Datetime64"
- ]
- ];
- [
- "sdtts";
- [
- "DataType";
- "Datetime64"
- ]
- ];
- [
- "tsd";
- [
- "DataType";
- "Timestamp64"
- ]
- ];
- [
- "stsd";
- [
- "DataType";
- "Timestamp64"
- ]
- ];
- [
- "tsdt";
- [
- "DataType";
- "Timestamp64"
- ]
- ];
- [
- "stsdt";
- [
- "DataType";
- "Timestamp64"
- ]
- ];
- [
- "tsts";
- [
- "DataType";
- "Timestamp64"
- ]
- ];
- [
- "ststs";
- [
- "DataType";
- "Timestamp64"
+ "OptionalType";
+ [
+ "DataType";
+ "TzTimestamp64"
+ ]
]
]
]
@@ -138,346 +102,226 @@
];
"Data" = [
[
- "-53375809";
- "-53375809";
- "-53375809";
- "-53375809";
- "-53375809";
- "-53375809";
- "-4611669897600";
- "-4611669897600";
- "-4611669897600";
- "-4611669897600";
- "-4611669897600";
- "-4611669897600";
- "-4611669897600000000";
- "-4611669897600000000";
- "-4611669897600000000";
- "-4611669897600000000";
- "-4611669897600000000";
- "-4611669897600000000"
- ];
- [
- "-719163";
- "-719163";
- "-719163";
- "-719163";
- "-719163";
- "-719163";
- "-62135683200";
- "-62135683200";
- "-62135596801";
- "-62135596801";
- "-62135596801";
- "-62135596801";
- "-62135683200000000";
- "-62135683200000000";
- "-62135596801000000";
- "-62135596801000000";
- "-62135596800000001";
- "-62135596800000001"
+ [
+ "-53375809"
+ ];
+ [
+ "-4611669897600"
+ ];
+ [
+ "-4611669897600000000"
+ ];
+ #;
+ #;
+ #;
+ [
+ "-144169-01-02,America/Los_Angeles"
+ ];
+ [
+ "-144169-01-01T00:00:00,America/Los_Angeles"
+ ];
+ [
+ "-144169-01-01T00:00:00,America/Los_Angeles"
+ ]
];
[
- "-719162";
- "-719162";
- "-719162";
- "-719162";
- "-719162";
- "-719162";
- "-62135596800";
- "-62135596800";
- "-62135596800";
- "-62135596800";
- "-62135596800";
- "-62135596800";
- "-62135596800000000";
- "-62135596800000000";
- "-62135596800000000";
- "-62135596800000000";
- "-62135596800000000";
- "-62135596800000000"
+ [
+ "-719528"
+ ];
+ [
+ "-62167132801"
+ ];
+ [
+ "-62167132800000001"
+ ];
+ [
+ "-1-01-02,Europe/Moscow"
+ ];
+ [
+ "-1-01-01T23:59:59,Europe/Moscow"
+ ];
+ [
+ "-1-01-01T23:59:59.999999,Europe/Moscow"
+ ];
+ [
+ "-1-01-02,America/Los_Angeles"
+ ];
+ [
+ "-1-01-01T23:59:59,America/Los_Angeles"
+ ];
+ [
+ "-1-01-01T23:59:59.999999,America/Los_Angeles"
+ ]
];
[
- "-1";
- "-1";
- "-1";
- "-1";
- "-1";
- "-1";
- "-86400";
- "-86400";
- "-1";
- "-1";
- "-1";
- "-1";
- "-86400000000";
- "-86400000000";
- "-1000000";
- "-1000000";
- "-1";
- "-1"
+ [
+ "-719162"
+ ];
+ [
+ "-62135596800"
+ ];
+ [
+ "-62135596800000000"
+ ];
+ [
+ "1-01-02,Europe/Moscow"
+ ];
+ [
+ "1-01-01T00:00:00,Europe/Moscow"
+ ];
+ [
+ "1-01-01T00:00:00,Europe/Moscow"
+ ];
+ [
+ "1-01-02,America/Los_Angeles"
+ ];
+ [
+ "1-01-01T00:00:00,America/Los_Angeles"
+ ];
+ [
+ "1-01-01T00:00:00,America/Los_Angeles"
+ ]
];
[
- "0";
- "0";
- "0";
- "0";
- "0";
- "0";
- "0";
- "0";
- "0";
- "0";
- "0";
- "0";
- "0";
- "0";
- "0";
- "0";
- "0";
- "0"
+ [
+ "-1"
+ ];
+ [
+ "-1"
+ ];
+ [
+ "-1"
+ ];
+ [
+ "1970-01-01,Europe/Moscow"
+ ];
+ [
+ "1969-12-31T23:59:59,Europe/Moscow"
+ ];
+ [
+ "1969-12-31T23:59:59.999999,Europe/Moscow"
+ ];
+ [
+ "1970-01-01,America/Los_Angeles"
+ ];
+ [
+ "1969-12-31T23:59:59,America/Los_Angeles"
+ ];
+ [
+ "1969-12-31T23:59:59.999999,America/Los_Angeles"
+ ]
];
[
- "1";
- "1";
- "0";
- "0";
- "0";
- "0";
- "86400";
- "86400";
- "1";
- "1";
- "0";
- "0";
- "86400000000";
- "86400000000";
- "1000000";
- "1000000";
- "1";
- "1"
+ [
+ "0"
+ ];
+ [
+ "0"
+ ];
+ [
+ "0"
+ ];
+ [
+ "1970-01-02,Europe/Moscow"
+ ];
+ [
+ "1970-01-01T00:00:00,Europe/Moscow"
+ ];
+ [
+ "1970-01-01T00:00:00,Europe/Moscow"
+ ];
+ [
+ "1970-01-01,America/Los_Angeles"
+ ];
+ [
+ "1970-01-01T00:00:00,America/Los_Angeles"
+ ];
+ [
+ "1970-01-01T00:00:00,America/Los_Angeles"
+ ]
];
[
- "53375807";
- "53375807";
- "53375807";
- "53375807";
- "53375807";
- "53375807";
- "4611669724800";
- "4611669724800";
- "4611669811199";
- "4611669811199";
- "4611669811199";
- "4611669811199";
- "4611669724800000000";
- "4611669724800000000";
- "4611669811199000000";
- "4611669811199000000";
- "4611669811199999999";
- "4611669811199999999"
- ]
- ]
- }
- ]
- };
- {
- "Write" = [
- {
- "Type" = [
- "ListType";
- [
- "StructType";
[
- [
- "dd";
- [
- "DataType";
- "Date32"
- ]
- ];
- [
- "sdd";
- [
- "DataType";
- "Date32"
- ]
- ];
- [
- "ddt";
- [
- "DataType";
- "Date32"
- ]
- ];
- [
- "sddt";
- [
- "DataType";
- "Date32"
- ]
- ];
- [
- "dts";
- [
- "DataType";
- "Date32"
- ]
- ];
- [
- "sdts";
- [
- "DataType";
- "Date32"
- ]
- ];
- [
- "dtd";
- [
- "DataType";
- "Datetime64"
- ]
- ];
- [
- "sdtd";
- [
- "DataType";
- "Datetime64"
- ]
- ];
- [
- "dtdt";
- [
- "DataType";
- "Datetime64"
- ]
- ];
- [
- "sdtdt";
- [
- "DataType";
- "Datetime64"
- ]
- ];
- [
- "dtts";
- [
- "DataType";
- "Datetime64"
- ]
- ];
- [
- "sdtts";
- [
- "DataType";
- "Datetime64"
- ]
- ];
- [
- "tsd";
- [
- "DataType";
- "Timestamp64"
- ]
- ];
- [
- "stsd";
- [
- "DataType";
- "Timestamp64"
- ]
- ];
- [
- "tsdt";
- [
- "DataType";
- "Timestamp64"
- ]
- ];
- [
- "stsdt";
- [
- "DataType";
- "Timestamp64"
- ]
- ];
- [
- "tsts";
- [
- "DataType";
- "Timestamp64"
- ]
- ];
- [
- "ststs";
- [
- "DataType";
- "Timestamp64"
- ]
- ]
+ "20089"
+ ];
+ [
+ "1735689600"
+ ];
+ [
+ "1735689600000000"
+ ];
+ [
+ "2025-01-01,Europe/Moscow"
+ ];
+ [
+ "2025-01-01T00:00:00,Europe/Moscow"
+ ];
+ [
+ "2025-01-01T00:00:00,Europe/Moscow"
+ ];
+ [
+ "2025-01-01,America/Los_Angeles"
+ ];
+ [
+ "2025-01-01T00:00:00,America/Los_Angeles"
+ ];
+ [
+ "2025-01-01T00:00:00,America/Los_Angeles"
]
- ]
- ];
- "Data" = [
- [
- "0";
- "0";
- "0";
- "0";
- "0";
- "0";
- "0";
- "0";
- "0";
- "0";
- "0";
- "0";
- "0";
- "0";
- "0";
- "0";
- "0";
- "0"
];
[
- "1";
- "1";
- "0";
- "0";
- "0";
- "0";
- "86400";
- "86400";
- "1";
- "1";
- "0";
- "0";
- "86400000000";
- "86400000000";
- "1000000";
- "1000000";
- "1";
- "1"
+ [
+ "49673"
+ ];
+ [
+ "4291747200"
+ ];
+ [
+ "4291747200000000"
+ ];
+ [
+ "2106-01-01,Europe/Moscow"
+ ];
+ [
+ "2106-01-01T00:00:00,Europe/Moscow"
+ ];
+ [
+ "2106-01-01T00:00:00,Europe/Moscow"
+ ];
+ [
+ "2106-01-01,America/Los_Angeles"
+ ];
+ [
+ "2106-01-01T00:00:00,America/Los_Angeles"
+ ];
+ [
+ "2106-01-01T00:00:00,America/Los_Angeles"
+ ]
];
[
- "49672";
- "49672";
- "49672";
- "49672";
- "49672";
- "49672";
- "4291660800";
- "4291660800";
- "4291747199";
- "4291747199";
- "4291747199";
- "4291747199";
- "4291660800000000";
- "4291660800000000";
- "4291747199000000";
- "4291747199000000";
- "4291747199999999";
- "4291747199999999"
+ [
+ "53375807"
+ ];
+ [
+ "4611669811199"
+ ];
+ [
+ "4611669811199999999"
+ ];
+ [
+ "148107-12-31,Europe/Moscow"
+ ];
+ [
+ "148107-12-31T23:59:59,Europe/Moscow"
+ ];
+ [
+ "148107-12-31T23:59:59.999999,Europe/Moscow"
+ ];
+ [
+ "148107-12-31,America/Los_Angeles"
+ ];
+ #;
+ #
]
]
}
diff --git a/yql/essentials/udfs/common/datetime2/test_bigdates/canondata/test.test_StartOf_/results.txt b/yql/essentials/udfs/common/datetime2/test_bigdates/canondata/test.test_StartOf_/results.txt
index 52bd1cbf87c..e32b095fb9e 100644
--- a/yql/essentials/udfs/common/datetime2/test_bigdates/canondata/test.test_StartOf_/results.txt
+++ b/yql/essentials/udfs/common/datetime2/test_bigdates/canondata/test.test_StartOf_/results.txt
@@ -18,7 +18,7 @@
"OptionalType";
[
"DataType";
- "Timestamp64"
+ "TzTimestamp64"
]
]
];
@@ -28,7 +28,7 @@
"OptionalType";
[
"DataType";
- "Timestamp64"
+ "TzTimestamp64"
]
]
];
@@ -38,7 +38,7 @@
"OptionalType";
[
"DataType";
- "Timestamp64"
+ "TzTimestamp64"
]
]
];
@@ -48,7 +48,7 @@
"OptionalType";
[
"DataType";
- "Timestamp64"
+ "TzTimestamp64"
]
]
];
@@ -58,7 +58,7 @@
"OptionalType";
[
"DataType";
- "Timestamp64"
+ "TzTimestamp64"
]
]
];
@@ -68,7 +68,7 @@
"OptionalType";
[
"DataType";
- "Timestamp64"
+ "TzTimestamp64"
]
]
];
@@ -78,7 +78,7 @@
"OptionalType";
[
"DataType";
- "Timestamp64"
+ "TzTimestamp64"
]
]
];
@@ -88,7 +88,7 @@
"OptionalType";
[
"DataType";
- "Timestamp64"
+ "TzTimestamp64"
]
]
];
@@ -98,7 +98,7 @@
"OptionalType";
[
"DataType";
- "Timestamp64"
+ "TzTimestamp64"
]
]
];
@@ -108,7 +108,7 @@
"OptionalType";
[
"DataType";
- "Timestamp64"
+ "TzTimestamp64"
]
]
];
@@ -136,7 +136,7 @@
"OptionalType";
[
"DataType";
- "Timestamp64"
+ "TzTimestamp64"
]
]
];
@@ -146,7 +146,7 @@
"OptionalType";
[
"DataType";
- "Timestamp64"
+ "TzTimestamp64"
]
]
];
@@ -156,7 +156,7 @@
"OptionalType";
[
"DataType";
- "Timestamp64"
+ "TzTimestamp64"
]
]
];
@@ -166,7 +166,7 @@
"OptionalType";
[
"DataType";
- "Timestamp64"
+ "TzTimestamp64"
]
]
];
@@ -176,7 +176,7 @@
"OptionalType";
[
"DataType";
- "Timestamp64"
+ "TzTimestamp64"
]
]
];
@@ -186,7 +186,7 @@
"OptionalType";
[
"DataType";
- "Timestamp64"
+ "TzTimestamp64"
]
]
];
@@ -196,7 +196,7 @@
"OptionalType";
[
"DataType";
- "Timestamp64"
+ "TzTimestamp64"
]
]
];
@@ -206,7 +206,7 @@
"OptionalType";
[
"DataType";
- "Timestamp64"
+ "TzTimestamp64"
]
]
];
@@ -216,7 +216,7 @@
"OptionalType";
[
"DataType";
- "Timestamp64"
+ "TzTimestamp64"
]
]
];
@@ -226,7 +226,7 @@
"OptionalType";
[
"DataType";
- "Timestamp64"
+ "TzTimestamp64"
]
]
];
@@ -250,32 +250,32 @@
[
[
[
- "-4611669897600000000"
+ "-144169-01-01T00:00:00,GMT"
];
[
- "-4611669897600000000"
+ "-144169-01-01T00:00:00,GMT"
];
[
- "-4611669897600000000"
+ "-144169-01-01T00:00:00,GMT"
];
[
- "-4611669894000000000"
+ "-144169-01-01T01:00:00,GMT"
];
[
- "-4611669893880000000"
+ "-144169-01-01T01:02:00,GMT"
];
[
- "-4611669897600000000"
+ "-144169-01-01T00:00:00,GMT"
];
[
- "-4611669893883000000"
+ "-144169-01-01T01:01:57,GMT"
];
[
- "-4611669897600000000"
+ "-144169-01-01T00:00:00,GMT"
];
#;
[
- "-4611669897600000000"
+ "-144169-01-01T00:00:00,GMT"
];
[
"3723456789"
@@ -283,32 +283,32 @@
];
[
[
- "-4611669897600000000"
+ "-144169-01-01T00:00:00,GMT"
];
[
- "-4611669897600000000"
+ "-144169-01-01T00:00:00,GMT"
];
[
- "-4611669897600000000"
+ "-144169-01-01T00:00:00,GMT"
];
[
- "-4611669894000000000"
+ "-144169-01-01T01:00:00,GMT"
];
[
- "-4611669893880000000"
+ "-144169-01-01T01:02:00,GMT"
];
[
- "-4611669897600000000"
+ "-144169-01-01T00:00:00,GMT"
];
[
- "-4611669893883000000"
+ "-144169-01-01T01:01:57,GMT"
];
[
- "-4611669897600000000"
+ "-144169-01-01T00:00:00,GMT"
];
#;
[
- "-4611669897600000000"
+ "-144169-01-01T00:00:00,GMT"
];
[
"3723456789"
@@ -318,32 +318,32 @@
[
[
[
- "-62167219200000000"
+ "-1-01-01T00:00:00,GMT"
];
[
- "-62167219200000000"
+ "-1-01-01T00:00:00,GMT"
];
[
- "-62167172400000000"
+ "-1-01-01T13:00:00,GMT"
];
[
- "-62167133700000000"
+ "-1-01-01T23:45:00,GMT"
];
[
- "-62167132880000000"
+ "-1-01-01T23:58:40,GMT"
];
[
- "-62167147200000000"
+ "-1-01-01T20:00:00,GMT"
];
[
- "-62167132869000000"
+ "-1-01-01T23:58:51,GMT"
];
[
- "-62167219200000000"
+ "-1-01-01T00:00:00,GMT"
];
#;
[
- "-62167219200000000"
+ "-1-01-01T00:00:00,GMT"
];
[
"86337654321"
@@ -351,32 +351,32 @@
];
[
[
- "-62167219200000000"
+ "-1-01-01T00:00:00,GMT"
];
[
- "-62167219200000000"
+ "-1-01-01T00:00:00,GMT"
];
[
- "-62167172400000000"
+ "-1-01-01T13:00:00,GMT"
];
[
- "-62167133700000000"
+ "-1-01-01T23:45:00,GMT"
];
[
- "-62167132880000000"
+ "-1-01-01T23:58:40,GMT"
];
[
- "-62167147200000000"
+ "-1-01-01T20:00:00,GMT"
];
[
- "-62167132869000000"
+ "-1-01-01T23:58:51,GMT"
];
[
- "-62167219200000000"
+ "-1-01-01T00:00:00,GMT"
];
#;
[
- "-62167219200000000"
+ "-1-01-01T00:00:00,GMT"
];
[
"86337654321"
@@ -386,32 +386,32 @@
[
[
[
- "-62135596800000000"
+ "1-01-01T00:00:00,GMT"
];
[
- "-62135596800000000"
+ "1-01-01T00:00:00,GMT"
];
[
- "-62135596800000000"
+ "1-01-01T00:00:00,GMT"
];
[
- "-62135564400000000"
+ "1-01-01T09:00:00,GMT"
];
[
- "-62135563860000000"
+ "1-01-01T09:09:00,GMT"
];
[
- "-62135568000000000"
+ "1-01-01T08:00:00,GMT"
];
[
- "-62135563851000000"
+ "1-01-01T09:09:09,GMT"
];
[
- "-62135596800000000"
+ "1-01-01T00:00:00,GMT"
];
#;
[
- "-62135596800000000"
+ "1-01-01T00:00:00,GMT"
];
[
"32949000009"
@@ -419,32 +419,32 @@
];
[
[
- "-62135596800000000"
+ "1-01-01T00:00:00,GMT"
];
[
- "-62135596800000000"
+ "1-01-01T00:00:00,GMT"
];
[
- "-62135596800000000"
+ "1-01-01T00:00:00,GMT"
];
[
- "-62135564400000000"
+ "1-01-01T09:00:00,GMT"
];
[
- "-62135563860000000"
+ "1-01-01T09:09:00,GMT"
];
[
- "-62135568000000000"
+ "1-01-01T08:00:00,GMT"
];
[
- "-62135563851000000"
+ "1-01-01T09:09:09,GMT"
];
[
- "-62135596800000000"
+ "1-01-01T00:00:00,GMT"
];
#;
[
- "-62135596800000000"
+ "1-01-01T00:00:00,GMT"
];
[
"32949000009"
@@ -454,32 +454,32 @@
[
[
[
- "-86400000000"
+ "1969-12-31T00:00:00,GMT"
];
[
- "-2678400000000"
+ "1969-12-01T00:00:00,GMT"
];
[
- "-39600000000"
+ "1969-12-31T13:00:00,GMT"
];
[
- "-900000000"
+ "1969-12-31T23:45:00,GMT"
];
[
- "-80000000"
+ "1969-12-31T23:58:40,GMT"
];
[
- "-14400000000"
+ "1969-12-31T20:00:00,GMT"
];
[
- "-69000000"
+ "1969-12-31T23:58:51,GMT"
];
[
- "-7948800000000"
+ "1969-10-01T00:00:00,GMT"
];
#;
[
- "-31536000000000"
+ "1969-01-01T00:00:00,GMT"
];
[
"86337654321"
@@ -487,32 +487,32 @@
];
[
[
- "-86400000000"
+ "1969-12-31T00:00:00,GMT"
];
[
- "-2678400000000"
+ "1969-12-01T00:00:00,GMT"
];
[
- "-39600000000"
+ "1969-12-31T13:00:00,GMT"
];
[
- "-900000000"
+ "1969-12-31T23:45:00,GMT"
];
[
- "-80000000"
+ "1969-12-31T23:58:40,GMT"
];
[
- "-14400000000"
+ "1969-12-31T20:00:00,GMT"
];
[
- "-69000000"
+ "1969-12-31T23:58:51,GMT"
];
[
- "-7948800000000"
+ "1969-10-01T00:00:00,GMT"
];
#;
[
- "-31536000000000"
+ "1969-01-01T00:00:00,GMT"
];
[
"86337654321"
@@ -522,32 +522,32 @@
[
[
[
- "0"
+ "1970-01-01T00:00:00,GMT"
];
[
- "0"
+ "1970-01-01T00:00:00,GMT"
];
[
- "0"
+ "1970-01-01T00:00:00,GMT"
];
[
- "32400000000"
+ "1970-01-01T09:00:00,GMT"
];
[
- "32940000000"
+ "1970-01-01T09:09:00,GMT"
];
[
- "28800000000"
+ "1970-01-01T08:00:00,GMT"
];
[
- "32949000000"
+ "1970-01-01T09:09:09,GMT"
];
[
- "0"
+ "1970-01-01T00:00:00,GMT"
];
#;
[
- "0"
+ "1970-01-01T00:00:00,GMT"
];
[
"32949000009"
@@ -555,32 +555,32 @@
];
[
[
- "0"
+ "1970-01-01T00:00:00,GMT"
];
[
- "0"
+ "1970-01-01T00:00:00,GMT"
];
[
- "0"
+ "1970-01-01T00:00:00,GMT"
];
[
- "32400000000"
+ "1970-01-01T09:00:00,GMT"
];
[
- "32940000000"
+ "1970-01-01T09:09:00,GMT"
];
[
- "28800000000"
+ "1970-01-01T08:00:00,GMT"
];
[
- "32949000000"
+ "1970-01-01T09:09:09,GMT"
];
[
- "0"
+ "1970-01-01T00:00:00,GMT"
];
#;
[
- "0"
+ "1970-01-01T00:00:00,GMT"
];
[
"32949000009"
@@ -590,34 +590,34 @@
[
[
[
- "1738627200000000"
+ "2025-02-04T00:00:00,GMT"
];
[
- "1738368000000000"
+ "2025-02-01T00:00:00,GMT"
];
[
- "1738627200000000"
+ "2025-02-04T00:00:00,GMT"
];
[
- "1738659600000000"
+ "2025-02-04T09:00:00,GMT"
];
[
- "1738660140000000"
+ "2025-02-04T09:09:00,GMT"
];
[
- "1738656000000000"
+ "2025-02-04T08:00:00,GMT"
];
[
- "1738660149000000"
+ "2025-02-04T09:09:09,GMT"
];
[
- "1735689600000000"
+ "2025-01-01T00:00:00,GMT"
];
[
- "1738540800000000"
+ "2025-02-03T00:00:00,GMT"
];
[
- "1735689600000000"
+ "2025-01-01T00:00:00,GMT"
];
[
"32949000009"
@@ -625,34 +625,34 @@
];
[
[
- "1738627200000000"
+ "2025-02-04T00:00:00,GMT"
];
[
- "1738368000000000"
+ "2025-02-01T00:00:00,GMT"
];
[
- "1738627200000000"
+ "2025-02-04T00:00:00,GMT"
];
[
- "1738659600000000"
+ "2025-02-04T09:00:00,GMT"
];
[
- "1738660140000000"
+ "2025-02-04T09:09:00,GMT"
];
[
- "1738656000000000"
+ "2025-02-04T08:00:00,GMT"
];
[
- "1738660149000000"
+ "2025-02-04T09:09:09,GMT"
];
[
- "1735689600000000"
+ "2025-01-01T00:00:00,GMT"
];
[
- "1738540800000000"
+ "2025-02-03T00:00:00,GMT"
];
[
- "1735689600000000"
+ "2025-01-01T00:00:00,GMT"
];
[
"32949000009"
@@ -662,34 +662,34 @@
[
[
[
- "4291747200000000"
+ "2106-01-01T00:00:00,GMT"
];
[
- "4291747200000000"
+ "2106-01-01T00:00:00,GMT"
];
[
- "4291747200000000"
+ "2106-01-01T00:00:00,GMT"
];
[
- "4291779600000000"
+ "2106-01-01T09:00:00,GMT"
];
[
- "4291780140000000"
+ "2106-01-01T09:09:00,GMT"
];
[
- "4291776000000000"
+ "2106-01-01T08:00:00,GMT"
];
[
- "4291780149000000"
+ "2106-01-01T09:09:09,GMT"
];
[
- "4291747200000000"
+ "2106-01-01T00:00:00,GMT"
];
[
- "4291401600000000"
+ "2105-12-28T00:00:00,GMT"
];
[
- "4291747200000000"
+ "2106-01-01T00:00:00,GMT"
];
[
"32949000009"
@@ -697,34 +697,34 @@
];
[
[
- "4291747200000000"
+ "2106-01-01T00:00:00,GMT"
];
[
- "4291747200000000"
+ "2106-01-01T00:00:00,GMT"
];
[
- "4291747200000000"
+ "2106-01-01T00:00:00,GMT"
];
[
- "4291779600000000"
+ "2106-01-01T09:00:00,GMT"
];
[
- "4291780140000000"
+ "2106-01-01T09:09:00,GMT"
];
[
- "4291776000000000"
+ "2106-01-01T08:00:00,GMT"
];
[
- "4291780149000000"
+ "2106-01-01T09:09:09,GMT"
];
[
- "4291747200000000"
+ "2106-01-01T00:00:00,GMT"
];
[
- "4291401600000000"
+ "2105-12-28T00:00:00,GMT"
];
[
- "4291747200000000"
+ "2106-01-01T00:00:00,GMT"
];
[
"32949000009"
@@ -734,34 +734,34 @@
[
[
[
- "4611669724800000000"
+ "148107-12-31T00:00:00,GMT"
];
[
- "4611667132800000000"
+ "148107-12-01T00:00:00,GMT"
];
[
- "4611669771600000000"
+ "148107-12-31T13:00:00,GMT"
];
[
- "4611669810300000000"
+ "148107-12-31T23:45:00,GMT"
];
[
- "4611669811120000000"
+ "148107-12-31T23:58:40,GMT"
];
[
- "4611669796800000000"
+ "148107-12-31T20:00:00,GMT"
];
[
- "4611669811131000000"
+ "148107-12-31T23:58:51,GMT"
];
[
- "4611661862400000000"
+ "148107-10-01T00:00:00,GMT"
];
[
- "4611669292800000000"
+ "148107-12-26T00:00:00,GMT"
];
[
- "4611638275200000000"
+ "148107-01-01T00:00:00,GMT"
];
[
"86337654321"
@@ -769,34 +769,34 @@
];
[
[
- "4611669724800000000"
+ "148107-12-31T00:00:00,GMT"
];
[
- "4611667132800000000"
+ "148107-12-01T00:00:00,GMT"
];
[
- "4611669771600000000"
+ "148107-12-31T13:00:00,GMT"
];
[
- "4611669810300000000"
+ "148107-12-31T23:45:00,GMT"
];
[
- "4611669811120000000"
+ "148107-12-31T23:58:40,GMT"
];
[
- "4611669796800000000"
+ "148107-12-31T20:00:00,GMT"
];
[
- "4611669811131000000"
+ "148107-12-31T23:58:51,GMT"
];
[
- "4611661862400000000"
+ "148107-10-01T00:00:00,GMT"
];
[
- "4611669292800000000"
+ "148107-12-26T00:00:00,GMT"
];
[
- "4611638275200000000"
+ "148107-01-01T00:00:00,GMT"
];
[
"86337654321"
diff --git a/yql/essentials/udfs/common/datetime2/test_bigdates/canondata/test.test_Update_/results.txt b/yql/essentials/udfs/common/datetime2/test_bigdates/canondata/test.test_Update_/results.txt
index 4449395d3cf..bc6dd50d794 100644
--- a/yql/essentials/udfs/common/datetime2/test_bigdates/canondata/test.test_Update_/results.txt
+++ b/yql/essentials/udfs/common/datetime2/test_bigdates/canondata/test.test_Update_/results.txt
@@ -18,7 +18,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -28,7 +28,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -38,7 +38,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -48,7 +48,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -58,7 +58,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -68,7 +68,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -78,7 +78,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -88,7 +88,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -98,7 +98,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -108,7 +108,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -118,7 +118,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -128,7 +128,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -138,7 +138,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -148,7 +148,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -158,7 +158,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -168,7 +168,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -178,7 +178,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -188,7 +188,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -198,7 +198,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -208,7 +208,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
]
@@ -226,7 +226,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -236,7 +236,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -246,7 +246,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -256,7 +256,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -266,7 +266,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -276,7 +276,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -286,7 +286,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -296,7 +296,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -306,7 +306,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -316,7 +316,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -326,7 +326,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -336,7 +336,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -346,7 +346,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -356,7 +356,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -366,7 +366,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -376,7 +376,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -386,7 +386,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -396,7 +396,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -406,7 +406,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
];
@@ -416,7 +416,7 @@
"OptionalType";
[
"DataType";
- "String"
+ "TzTimestamp64"
]
]
]
@@ -440,32 +440,32 @@
#;
#;
[
- "-144169-01-01T19:00:00Z"
+ "-144169-01-01T19:00:00,GMT"
];
[
- "-144169-01-01T00:24:00Z"
+ "-144169-01-01T00:24:00,GMT"
];
[
- "-144169-01-01T00:00:00.123456Z"
+ "-144169-01-01T00:00:00.123456,GMT"
];
[
- "-144169-01-01T00:00:09Z"
+ "-144169-01-01T00:00:09,GMT"
];
#;
[
- "2025-02-17T00:00:00Z"
+ "2025-02-17T00:00:00,GMT"
];
[
- "-144169-01-17T00:00:00Z"
+ "-144169-01-17T00:00:00,GMT"
];
[
- "-144169-02-01T00:00:00Z"
+ "-144169-02-01T00:00:00,GMT"
];
[
- "-144169-01-01T19:24:09Z"
+ "-144169-01-01T19:24:09,GMT"
];
[
- "2025-01-01T00:00:00Z"
+ "2025-01-01T00:00:00,GMT"
]
];
[
@@ -480,32 +480,32 @@
#;
#;
[
- "-144169-01-01T19:00:00Z"
+ "-144169-01-01T19:00:00,GMT"
];
[
- "-144169-01-01T00:24:00Z"
+ "-144169-01-01T00:24:00,GMT"
];
[
- "-144169-01-01T00:00:00.123456Z"
+ "-144169-01-01T00:00:00.123456,GMT"
];
[
- "-144169-01-01T00:00:09Z"
+ "-144169-01-01T00:00:09,GMT"
];
#;
[
- "2025-02-17T00:00:00Z"
+ "2025-02-17T00:00:00,GMT"
];
[
- "-144169-01-17T00:00:00Z"
+ "-144169-01-17T00:00:00,GMT"
];
[
- "-144169-02-01T00:00:00Z"
+ "-144169-02-01T00:00:00,GMT"
];
[
- "-144169-01-01T19:24:09Z"
+ "-144169-01-01T19:24:09,GMT"
];
[
- "2025-01-01T00:00:00Z"
+ "2025-01-01T00:00:00,GMT"
]
]
];
@@ -522,34 +522,34 @@
#;
#;
[
- "-1-01-01T19:59:59.999999Z"
+ "-1-01-01T19:59:59.999999,GMT"
];
[
- "-1-01-01T23:24:59.999999Z"
+ "-1-01-01T23:24:59.999999,GMT"
];
[
- "-1-01-01T23:59:59.123456Z"
+ "-1-01-01T23:59:59.123456,GMT"
];
[
- "-1-01-01T23:59:09.999999Z"
+ "-1-01-01T23:59:09.999999,GMT"
];
[
- "-1-01-01T21:29:42.999999Z"
+ "-1-01-01T23:59:59.999999,Europe/Moscow"
];
[
- "2025-02-17T23:59:59.999999Z"
+ "2025-02-17T23:59:59.999999,GMT"
];
[
- "-1-01-17T23:59:59.999999Z"
+ "-1-01-17T23:59:59.999999,GMT"
];
[
- "-1-02-01T23:59:59.999999Z"
+ "-1-02-01T23:59:59.999999,GMT"
];
[
- "-1-01-01T19:24:09.999999Z"
+ "-1-01-01T19:24:09.999999,GMT"
];
[
- "2025-01-01T23:59:59.999999Z"
+ "2025-01-01T23:59:59.999999,GMT"
]
];
[
@@ -564,34 +564,34 @@
#;
#;
[
- "-1-01-01T19:59:59.999999Z"
+ "-1-01-01T19:59:59.999999,GMT"
];
[
- "-1-01-01T23:24:59.999999Z"
+ "-1-01-01T23:24:59.999999,GMT"
];
[
- "-1-01-01T23:59:59.123456Z"
+ "-1-01-01T23:59:59.123456,GMT"
];
[
- "-1-01-01T23:59:09.999999Z"
+ "-1-01-01T23:59:09.999999,GMT"
];
[
- "-1-01-01T21:29:42.999999Z"
+ "-1-01-01T23:59:59.999999,Europe/Moscow"
];
[
- "2025-02-17T23:59:59.999999Z"
+ "2025-02-17T23:59:59.999999,GMT"
];
[
- "-1-01-17T23:59:59.999999Z"
+ "-1-01-17T23:59:59.999999,GMT"
];
[
- "-1-02-01T23:59:59.999999Z"
+ "-1-02-01T23:59:59.999999,GMT"
];
[
- "-1-01-01T19:24:09.999999Z"
+ "-1-01-01T19:24:09.999999,GMT"
];
[
- "2025-01-01T23:59:59.999999Z"
+ "2025-01-01T23:59:59.999999,GMT"
]
]
];
@@ -608,34 +608,34 @@
#;
#;
[
- "1-01-01T19:00:00Z"
+ "1-01-01T19:00:00,GMT"
];
[
- "1-01-01T00:24:00Z"
+ "1-01-01T00:24:00,GMT"
];
[
- "1-01-01T00:00:00.123456Z"
+ "1-01-01T00:00:00.123456,GMT"
];
[
- "1-01-01T00:00:09Z"
+ "1-01-01T00:00:09,GMT"
];
[
- "-1-12-31T21:29:43Z"
+ "1-01-01T00:00:00,Europe/Moscow"
];
[
- "2025-02-17T00:00:00Z"
+ "2025-02-17T00:00:00,GMT"
];
[
- "1-01-17T00:00:00Z"
+ "1-01-17T00:00:00,GMT"
];
[
- "1-02-01T00:00:00Z"
+ "1-02-01T00:00:00,GMT"
];
[
- "1-01-01T19:24:09Z"
+ "1-01-01T19:24:09,GMT"
];
[
- "2025-01-01T00:00:00Z"
+ "2025-01-01T00:00:00,GMT"
]
];
[
@@ -650,34 +650,34 @@
#;
#;
[
- "1-01-01T19:00:00Z"
+ "1-01-01T19:00:00,GMT"
];
[
- "1-01-01T00:24:00Z"
+ "1-01-01T00:24:00,GMT"
];
[
- "1-01-01T00:00:00.123456Z"
+ "1-01-01T00:00:00.123456,GMT"
];
[
- "1-01-01T00:00:09Z"
+ "1-01-01T00:00:09,GMT"
];
[
- "-1-12-31T21:29:43Z"
+ "1-01-01T00:00:00,Europe/Moscow"
];
[
- "2025-02-17T00:00:00Z"
+ "2025-02-17T00:00:00,GMT"
];
[
- "1-01-17T00:00:00Z"
+ "1-01-17T00:00:00,GMT"
];
[
- "1-02-01T00:00:00Z"
+ "1-02-01T00:00:00,GMT"
];
[
- "1-01-01T19:24:09Z"
+ "1-01-01T19:24:09,GMT"
];
[
- "2025-01-01T00:00:00Z"
+ "2025-01-01T00:00:00,GMT"
]
]
];
@@ -694,32 +694,32 @@
#;
#;
[
- "1969-12-31T19:59:59.999999Z"
+ "1969-12-31T19:59:59.999999,GMT"
];
[
- "1969-12-31T23:24:59.999999Z"
+ "1969-12-31T23:24:59.999999,GMT"
];
[
- "1969-12-31T23:59:59.123456Z"
+ "1969-12-31T23:59:59.123456,GMT"
];
[
- "1969-12-31T23:59:09.999999Z"
+ "1969-12-31T23:59:09.999999,GMT"
];
[
- "1969-12-31T20:59:59.999999Z"
+ "1969-12-31T23:59:59.999999,Europe/Moscow"
];
[
- "2025-02-17T23:59:59.999999Z"
+ "2025-02-17T23:59:59.999999,GMT"
];
[
- "1969-12-17T23:59:59.999999Z"
+ "1969-12-17T23:59:59.999999,GMT"
];
#;
[
- "1969-12-31T19:24:09.999999Z"
+ "1969-12-31T19:24:09.999999,GMT"
];
[
- "2025-12-31T23:59:59.999999Z"
+ "2025-12-31T23:59:59.999999,GMT"
]
];
[
@@ -734,32 +734,32 @@
#;
#;
[
- "1969-12-31T19:59:59.999999Z"
+ "1969-12-31T19:59:59.999999,GMT"
];
[
- "1969-12-31T23:24:59.999999Z"
+ "1969-12-31T23:24:59.999999,GMT"
];
[
- "1969-12-31T23:59:59.123456Z"
+ "1969-12-31T23:59:59.123456,GMT"
];
[
- "1969-12-31T23:59:09.999999Z"
+ "1969-12-31T23:59:09.999999,GMT"
];
[
- "1969-12-31T20:59:59.999999Z"
+ "1969-12-31T23:59:59.999999,Europe/Moscow"
];
[
- "2025-02-17T23:59:59.999999Z"
+ "2025-02-17T23:59:59.999999,GMT"
];
[
- "1969-12-17T23:59:59.999999Z"
+ "1969-12-17T23:59:59.999999,GMT"
];
#;
[
- "1969-12-31T19:24:09.999999Z"
+ "1969-12-31T19:24:09.999999,GMT"
];
[
- "2025-12-31T23:59:59.999999Z"
+ "2025-12-31T23:59:59.999999,GMT"
]
]
];
@@ -776,34 +776,34 @@
#;
#;
[
- "1970-01-01T19:00:00Z"
+ "1970-01-01T19:00:00,GMT"
];
[
- "1970-01-01T00:24:00Z"
+ "1970-01-01T00:24:00,GMT"
];
[
- "1970-01-01T00:00:00.123456Z"
+ "1970-01-01T00:00:00.123456,GMT"
];
[
- "1970-01-01T00:00:09Z"
+ "1970-01-01T00:00:09,GMT"
];
[
- "1969-12-31T21:00:00Z"
+ "1970-01-01T00:00:00,Europe/Moscow"
];
[
- "2025-02-17T00:00:00Z"
+ "2025-02-17T00:00:00,GMT"
];
[
- "1970-01-17T00:00:00Z"
+ "1970-01-17T00:00:00,GMT"
];
[
- "1970-02-01T00:00:00Z"
+ "1970-02-01T00:00:00,GMT"
];
[
- "1970-01-01T19:24:09Z"
+ "1970-01-01T19:24:09,GMT"
];
[
- "2025-01-01T00:00:00Z"
+ "2025-01-01T00:00:00,GMT"
]
];
[
@@ -818,34 +818,34 @@
#;
#;
[
- "1970-01-01T19:00:00Z"
+ "1970-01-01T19:00:00,GMT"
];
[
- "1970-01-01T00:24:00Z"
+ "1970-01-01T00:24:00,GMT"
];
[
- "1970-01-01T00:00:00.123456Z"
+ "1970-01-01T00:00:00.123456,GMT"
];
[
- "1970-01-01T00:00:09Z"
+ "1970-01-01T00:00:09,GMT"
];
[
- "1969-12-31T21:00:00Z"
+ "1970-01-01T00:00:00,Europe/Moscow"
];
[
- "2025-02-17T00:00:00Z"
+ "2025-02-17T00:00:00,GMT"
];
[
- "1970-01-17T00:00:00Z"
+ "1970-01-17T00:00:00,GMT"
];
[
- "1970-02-01T00:00:00Z"
+ "1970-02-01T00:00:00,GMT"
];
[
- "1970-01-01T19:24:09Z"
+ "1970-01-01T19:24:09,GMT"
];
[
- "2025-01-01T00:00:00Z"
+ "2025-01-01T00:00:00,GMT"
]
]
];
@@ -862,34 +862,34 @@
#;
#;
[
- "2025-01-01T19:00:00Z"
+ "2025-01-01T19:00:00,GMT"
];
[
- "2025-01-01T00:24:00Z"
+ "2025-01-01T00:24:00,GMT"
];
[
- "2025-01-01T00:00:00.123456Z"
+ "2025-01-01T00:00:00.123456,GMT"
];
[
- "2025-01-01T00:00:09Z"
+ "2025-01-01T00:00:09,GMT"
];
[
- "2024-12-31T21:00:00Z"
+ "2025-01-01T00:00:00,Europe/Moscow"
];
[
- "2025-02-17T00:00:00Z"
+ "2025-02-17T00:00:00,GMT"
];
[
- "2025-01-17T00:00:00Z"
+ "2025-01-17T00:00:00,GMT"
];
[
- "2025-02-01T00:00:00Z"
+ "2025-02-01T00:00:00,GMT"
];
[
- "2025-01-01T19:24:09Z"
+ "2025-01-01T19:24:09,GMT"
];
[
- "2025-01-01T00:00:00Z"
+ "2025-01-01T00:00:00,GMT"
]
];
[
@@ -904,34 +904,34 @@
#;
#;
[
- "2025-01-01T19:00:00Z"
+ "2025-01-01T19:00:00,GMT"
];
[
- "2025-01-01T00:24:00Z"
+ "2025-01-01T00:24:00,GMT"
];
[
- "2025-01-01T00:00:00.123456Z"
+ "2025-01-01T00:00:00.123456,GMT"
];
[
- "2025-01-01T00:00:09Z"
+ "2025-01-01T00:00:09,GMT"
];
[
- "2024-12-31T21:00:00Z"
+ "2025-01-01T00:00:00,Europe/Moscow"
];
[
- "2025-02-17T00:00:00Z"
+ "2025-02-17T00:00:00,GMT"
];
[
- "2025-01-17T00:00:00Z"
+ "2025-01-17T00:00:00,GMT"
];
[
- "2025-02-01T00:00:00Z"
+ "2025-02-01T00:00:00,GMT"
];
[
- "2025-01-01T19:24:09Z"
+ "2025-01-01T19:24:09,GMT"
];
[
- "2025-01-01T00:00:00Z"
+ "2025-01-01T00:00:00,GMT"
]
]
];
@@ -948,34 +948,34 @@
#;
#;
[
- "2106-01-01T19:00:00Z"
+ "2106-01-01T19:00:00,GMT"
];
[
- "2106-01-01T00:24:00Z"
+ "2106-01-01T00:24:00,GMT"
];
[
- "2106-01-01T00:00:00.123456Z"
+ "2106-01-01T00:00:00.123456,GMT"
];
[
- "2106-01-01T00:00:09Z"
+ "2106-01-01T00:00:09,GMT"
];
[
- "2105-12-31T21:00:00Z"
+ "2106-01-01T00:00:00,Europe/Moscow"
];
[
- "2025-02-17T00:00:00Z"
+ "2025-02-17T00:00:00,GMT"
];
[
- "2106-01-17T00:00:00Z"
+ "2106-01-17T00:00:00,GMT"
];
[
- "2106-02-01T00:00:00Z"
+ "2106-02-01T00:00:00,GMT"
];
[
- "2106-01-01T19:24:09Z"
+ "2106-01-01T19:24:09,GMT"
];
[
- "2025-01-01T00:00:00Z"
+ "2025-01-01T00:00:00,GMT"
]
];
[
@@ -990,34 +990,34 @@
#;
#;
[
- "2106-01-01T19:00:00Z"
+ "2106-01-01T19:00:00,GMT"
];
[
- "2106-01-01T00:24:00Z"
+ "2106-01-01T00:24:00,GMT"
];
[
- "2106-01-01T00:00:00.123456Z"
+ "2106-01-01T00:00:00.123456,GMT"
];
[
- "2106-01-01T00:00:09Z"
+ "2106-01-01T00:00:09,GMT"
];
[
- "2105-12-31T21:00:00Z"
+ "2106-01-01T00:00:00,Europe/Moscow"
];
[
- "2025-02-17T00:00:00Z"
+ "2025-02-17T00:00:00,GMT"
];
[
- "2106-01-17T00:00:00Z"
+ "2106-01-17T00:00:00,GMT"
];
[
- "2106-02-01T00:00:00Z"
+ "2106-02-01T00:00:00,GMT"
];
[
- "2106-01-01T19:24:09Z"
+ "2106-01-01T19:24:09,GMT"
];
[
- "2025-01-01T00:00:00Z"
+ "2025-01-01T00:00:00,GMT"
]
]
];
@@ -1034,32 +1034,32 @@
#;
#;
[
- "148107-12-31T19:59:59.999999Z"
+ "148107-12-31T19:59:59.999999,GMT"
];
[
- "148107-12-31T23:24:59.999999Z"
+ "148107-12-31T23:24:59.999999,GMT"
];
[
- "148107-12-31T23:59:59.123456Z"
+ "148107-12-31T23:59:59.123456,GMT"
];
[
- "148107-12-31T23:59:09.999999Z"
+ "148107-12-31T23:59:09.999999,GMT"
];
[
- "148107-12-31T20:59:59.999999Z"
+ "148107-12-31T23:59:59.999999,Europe/Moscow"
];
[
- "2025-02-17T23:59:59.999999Z"
+ "2025-02-17T23:59:59.999999,GMT"
];
[
- "148107-12-17T23:59:59.999999Z"
+ "148107-12-17T23:59:59.999999,GMT"
];
#;
[
- "148107-12-31T19:24:09.999999Z"
+ "148107-12-31T19:24:09.999999,GMT"
];
[
- "2025-12-31T23:59:59.999999Z"
+ "2025-12-31T23:59:59.999999,GMT"
]
];
[
@@ -1074,32 +1074,32 @@
#;
#;
[
- "148107-12-31T19:59:59.999999Z"
+ "148107-12-31T19:59:59.999999,GMT"
];
[
- "148107-12-31T23:24:59.999999Z"
+ "148107-12-31T23:24:59.999999,GMT"
];
[
- "148107-12-31T23:59:59.123456Z"
+ "148107-12-31T23:59:59.123456,GMT"
];
[
- "148107-12-31T23:59:09.999999Z"
+ "148107-12-31T23:59:09.999999,GMT"
];
[
- "148107-12-31T20:59:59.999999Z"
+ "148107-12-31T23:59:59.999999,Europe/Moscow"
];
[
- "2025-02-17T23:59:59.999999Z"
+ "2025-02-17T23:59:59.999999,GMT"
];
[
- "148107-12-17T23:59:59.999999Z"
+ "148107-12-17T23:59:59.999999,GMT"
];
#;
[
- "148107-12-31T19:24:09.999999Z"
+ "148107-12-31T19:24:09.999999,GMT"
];
[
- "2025-12-31T23:59:59.999999Z"
+ "2025-12-31T23:59:59.999999,GMT"
]
]
]
diff --git a/yql/essentials/udfs/common/datetime2/test_bigdates/cases/EndOf.in b/yql/essentials/udfs/common/datetime2/test_bigdates/cases/EndOf.in
index e26d4cdd065..1a01f37dee8 100644
--- a/yql/essentials/udfs/common/datetime2/test_bigdates/cases/EndOf.in
+++ b/yql/essentials/udfs/common/datetime2/test_bigdates/cases/EndOf.in
@@ -1,8 +1,8 @@
-{"ftimestamp64"="-144169-01-01T01:02:03.456789Z"};
-{"ftimestamp64"="-1-01-01T23:58:57.654321Z"};
-{"ftimestamp64"="1-01-01T09:09:09.000009Z"};
-{"ftimestamp64"="1969-12-31T23:58:57.654321Z"};
-{"ftimestamp64"="1970-01-01T09:09:09.000009Z"};
-{"ftimestamp64"="2025-02-04T09:09:09.000009Z"};
-{"ftimestamp64"="2106-01-01T09:09:09.000009Z"};
-{"ftimestamp64"="148107-12-31T23:58:57.654321Z"};
+{"ftztimestamp64"="-144169-01-01T01:02:03.456789,GMT"};
+{"ftztimestamp64"="-1-01-01T23:58:57.654321,GMT"};
+{"ftztimestamp64"="1-01-01T09:09:09.000009,GMT"};
+{"ftztimestamp64"="1969-12-31T23:58:57.654321,GMT"};
+{"ftztimestamp64"="1970-01-01T09:09:09.000009,GMT"};
+{"ftztimestamp64"="2025-02-04T09:09:09.000009,GMT"};
+{"ftztimestamp64"="2106-01-01T09:09:09.000009,GMT"};
+{"ftztimestamp64"="148107-12-31T23:58:57.654321,GMT"};
diff --git a/yql/essentials/udfs/common/datetime2/test_bigdates/cases/EndOf.in.attr b/yql/essentials/udfs/common/datetime2/test_bigdates/cases/EndOf.in.attr
index 91994000ceb..4e6b0438e4a 100644
--- a/yql/essentials/udfs/common/datetime2/test_bigdates/cases/EndOf.in.attr
+++ b/yql/essentials/udfs/common/datetime2/test_bigdates/cases/EndOf.in.attr
@@ -4,7 +4,7 @@
"StructType";
[
[
- "ftimestamp64";
+ "ftztimestamp64";
[
"DataType";
"String"
diff --git a/yql/essentials/udfs/common/datetime2/test_bigdates/cases/EndOf.sql b/yql/essentials/udfs/common/datetime2/test_bigdates/cases/EndOf.sql
index c9f01f41497..2e13e3513b6 100644
--- a/yql/essentials/udfs/common/datetime2/test_bigdates/cases/EndOf.sql
+++ b/yql/essentials/udfs/common/datetime2/test_bigdates/cases/EndOf.sql
@@ -1,16 +1,16 @@
/* syntax version 1 */
$check = ($arg) -> {
return <|
- eoyear: DateTime::MakeTimestamp64(DateTime::EndOfYear($arg)),
- eoquarter: DateTime::MakeTimestamp64(DateTime::EndOfQuarter($arg)),
- eomonth: DateTime::MakeTimestamp64(DateTime::EndOfMonth($arg)),
- eoweek: DateTime::MakeTimestamp64(DateTime::EndOfWeek($arg)),
- eoday: DateTime::MakeTimestamp64(DateTime::EndOfDay($arg)),
- sopt13h: DateTime::MakeTimestamp64(DateTime::EndOf($arg, Interval("PT13H"))),
- sopt4h: DateTime::MakeTimestamp64(DateTime::EndOf($arg, Interval("PT4H"))),
- sopt15m: DateTime::MakeTimestamp64(DateTime::EndOf($arg, Interval("PT15M"))),
- sopt20s: DateTime::MakeTimestamp64(DateTime::EndOf($arg, Interval("PT20S"))),
- sopt7s: DateTime::MakeTimestamp64(DateTime::EndOf($arg, Interval("PT7S"))),
+ eoyear: DateTime::EndOfYear($arg),
+ eoquarter: DateTime::EndOfQuarter($arg),
+ eomonth: DateTime::EndOfMonth($arg),
+ eoweek: DateTime::EndOfWeek($arg),
+ eoday: DateTime::EndOfDay($arg),
+ eopt13h: DateTime::EndOf($arg, Interval("PT13H")),
+ eopt4h: DateTime::EndOf($arg, Interval("PT4H")),
+ eopt15m: DateTime::EndOf($arg, Interval("PT15M")),
+ eopt20s: DateTime::EndOf($arg, Interval("PT20S")),
+ eopt7s: DateTime::EndOf($arg, Interval("PT7S")),
|>
};
@@ -22,6 +22,6 @@ $typeDispatcher = ($row) -> {
|>;
};
-$input = SELECT CAST(ftimestamp64 as Timestamp64) as tm FROM Input;
+$input = SELECT CAST(ftztimestamp64 as TzTimestamp64) as tm FROM Input;
PROCESS $input USING $typeDispatcher(TableRow());
diff --git a/yql/essentials/udfs/common/datetime2/test_bigdates/cases/Get.in b/yql/essentials/udfs/common/datetime2/test_bigdates/cases/Get.in
index 4eb94e06a48..e87b5a010b5 100644
--- a/yql/essentials/udfs/common/datetime2/test_bigdates/cases/Get.in
+++ b/yql/essentials/udfs/common/datetime2/test_bigdates/cases/Get.in
@@ -1,8 +1,8 @@
-{"ftimestamp64"="-144169-01-01T00:00:00.000000Z"};
-{"ftimestamp64"="-1-01-01T23:59:59.999999Z"};
-{"ftimestamp64"="1-01-01T00:00:00.000000Z"};
-{"ftimestamp64"="1969-12-31T23:59:59.999999Z"};
-{"ftimestamp64"="1970-01-01T00:00:00.000000Z"};
-{"ftimestamp64"="2025-01-01T00:00:00.000000Z"};
-{"ftimestamp64"="2106-01-01T00:00:00.000000Z"};
-{"ftimestamp64"="148107-12-31T23:59:59.999999Z"};
+{"ftztimestamp64"="-144169-01-01T00:00:00.000000,GMT"};
+{"ftztimestamp64"="-1-01-01T23:59:59.999999,GMT"};
+{"ftztimestamp64"="1-01-01T00:00:00.000000,GMT"};
+{"ftztimestamp64"="1969-12-31T23:59:59.999999,GMT"};
+{"ftztimestamp64"="1970-01-01T00:00:00.000000,GMT"};
+{"ftztimestamp64"="2025-01-01T00:00:00.000000,GMT"};
+{"ftztimestamp64"="2106-01-01T00:00:00.000000,GMT"};
+{"ftztimestamp64"="148107-12-31T23:59:59.999999,GMT"};
diff --git a/yql/essentials/udfs/common/datetime2/test_bigdates/cases/Get.in.attr b/yql/essentials/udfs/common/datetime2/test_bigdates/cases/Get.in.attr
index ee84150b940..296526b1c3a 100644
--- a/yql/essentials/udfs/common/datetime2/test_bigdates/cases/Get.in.attr
+++ b/yql/essentials/udfs/common/datetime2/test_bigdates/cases/Get.in.attr
@@ -4,7 +4,7 @@
"StructType";
[
[
- "ftimestamp64";
+ "ftztimestamp64";
[
"DataType";
"String"
diff --git a/yql/essentials/udfs/common/datetime2/test_bigdates/cases/Get.sql b/yql/essentials/udfs/common/datetime2/test_bigdates/cases/Get.sql
index 934e934b2d4..43c9e0b01fa 100644
--- a/yql/essentials/udfs/common/datetime2/test_bigdates/cases/Get.sql
+++ b/yql/essentials/udfs/common/datetime2/test_bigdates/cases/Get.sql
@@ -28,6 +28,6 @@ $typeDispatcher = ($row) -> {
|>;
};
-$input = SELECT CAST(ftimestamp64 AS Timestamp64) as tm FROM Input;
+$input = SELECT CAST(ftztimestamp64 AS TzTimestamp64) as tm FROM Input;
PROCESS $input USING $typeDispatcher(TableRow());
diff --git a/yql/essentials/udfs/common/datetime2/test_bigdates/cases/Shift.in b/yql/essentials/udfs/common/datetime2/test_bigdates/cases/Shift.in
index 4eb94e06a48..e87b5a010b5 100644
--- a/yql/essentials/udfs/common/datetime2/test_bigdates/cases/Shift.in
+++ b/yql/essentials/udfs/common/datetime2/test_bigdates/cases/Shift.in
@@ -1,8 +1,8 @@
-{"ftimestamp64"="-144169-01-01T00:00:00.000000Z"};
-{"ftimestamp64"="-1-01-01T23:59:59.999999Z"};
-{"ftimestamp64"="1-01-01T00:00:00.000000Z"};
-{"ftimestamp64"="1969-12-31T23:59:59.999999Z"};
-{"ftimestamp64"="1970-01-01T00:00:00.000000Z"};
-{"ftimestamp64"="2025-01-01T00:00:00.000000Z"};
-{"ftimestamp64"="2106-01-01T00:00:00.000000Z"};
-{"ftimestamp64"="148107-12-31T23:59:59.999999Z"};
+{"ftztimestamp64"="-144169-01-01T00:00:00.000000,GMT"};
+{"ftztimestamp64"="-1-01-01T23:59:59.999999,GMT"};
+{"ftztimestamp64"="1-01-01T00:00:00.000000,GMT"};
+{"ftztimestamp64"="1969-12-31T23:59:59.999999,GMT"};
+{"ftztimestamp64"="1970-01-01T00:00:00.000000,GMT"};
+{"ftztimestamp64"="2025-01-01T00:00:00.000000,GMT"};
+{"ftztimestamp64"="2106-01-01T00:00:00.000000,GMT"};
+{"ftztimestamp64"="148107-12-31T23:59:59.999999,GMT"};
diff --git a/yql/essentials/udfs/common/datetime2/test_bigdates/cases/Shift.in.attr b/yql/essentials/udfs/common/datetime2/test_bigdates/cases/Shift.in.attr
index 91994000ceb..4e6b0438e4a 100644
--- a/yql/essentials/udfs/common/datetime2/test_bigdates/cases/Shift.in.attr
+++ b/yql/essentials/udfs/common/datetime2/test_bigdates/cases/Shift.in.attr
@@ -4,7 +4,7 @@
"StructType";
[
[
- "ftimestamp64";
+ "ftztimestamp64";
[
"DataType";
"String"
diff --git a/yql/essentials/udfs/common/datetime2/test_bigdates/cases/Shift.sql b/yql/essentials/udfs/common/datetime2/test_bigdates/cases/Shift.sql
index bfff8a6e6e2..97713c6bb92 100644
--- a/yql/essentials/udfs/common/datetime2/test_bigdates/cases/Shift.sql
+++ b/yql/essentials/udfs/common/datetime2/test_bigdates/cases/Shift.sql
@@ -1,20 +1,20 @@
/* syntax version 1 */
$check = ($arg) -> {
return <|
- sh10y: CAST(DateTime::MakeTimestamp64(DateTime::ShiftYears($arg, 10)) as String),
- sh16q: CAST(DateTime::MakeTimestamp64(DateTime::ShiftQuarters($arg, 16)) as String),
- shm16q: CAST(DateTime::MakeTimestamp64(DateTime::ShiftQuarters($arg, -16)) as String),
- sh0m: CAST(DateTime::MakeTimestamp64(DateTime::ShiftMonths($arg, 0)) as String),
- sh1m: CAST(DateTime::MakeTimestamp64(DateTime::ShiftMonths($arg, 1)) as String),
- sh3m: CAST(DateTime::MakeTimestamp64(DateTime::ShiftMonths($arg, 3)) as String),
- sh11m: CAST(DateTime::MakeTimestamp64(DateTime::ShiftMonths($arg, 11)) as String),
- sh12m: CAST(DateTime::MakeTimestamp64(DateTime::ShiftMonths($arg, 12)) as String),
- sh123m: CAST(DateTime::MakeTimestamp64(DateTime::ShiftMonths($arg, 123)) as String),
- shm1m: CAST(DateTime::MakeTimestamp64(DateTime::ShiftMonths($arg, -1)) as String),
- shm3m: CAST(DateTime::MakeTimestamp64(DateTime::ShiftMonths($arg, -3)) as String),
- shm11m: CAST(DateTime::MakeTimestamp64(DateTime::ShiftMonths($arg, -11)) as String),
- shm12m: CAST(DateTime::MakeTimestamp64(DateTime::ShiftMonths($arg, -12)) as String),
- shm123m: CAST(DateTime::MakeTimestamp64(DateTime::ShiftMonths($arg, -123)) as String),
+ sh10y: DateTime::ShiftYears($arg, 10),
+ sh16q: DateTime::ShiftQuarters($arg, 16),
+ shm16q: DateTime::ShiftQuarters($arg, -16),
+ sh0m: DateTime::ShiftMonths($arg, 0),
+ sh1m: DateTime::ShiftMonths($arg, 1),
+ sh3m: DateTime::ShiftMonths($arg, 3),
+ sh11m: DateTime::ShiftMonths($arg, 11),
+ sh12m: DateTime::ShiftMonths($arg, 12),
+ sh123m: DateTime::ShiftMonths($arg, 123),
+ shm1m: DateTime::ShiftMonths($arg, -1),
+ shm3m: DateTime::ShiftMonths($arg, -3),
+ shm11m: DateTime::ShiftMonths($arg, -11),
+ shm12m: DateTime::ShiftMonths($arg, -12),
+ shm123m: DateTime::ShiftMonths($arg, -123),
|>
};
@@ -26,6 +26,6 @@ $typeDispatcher = ($row) -> {
|>;
};
-$input = SELECT CAST(ftimestamp64 as Timestamp64) as tm FROM Input;
+$input = SELECT CAST(ftztimestamp64 as TzTimestamp64) as tm FROM Input;
PROCESS $input USING $typeDispatcher(TableRow());
diff --git a/yql/essentials/udfs/common/datetime2/test_bigdates/cases/SplitMake.cfg b/yql/essentials/udfs/common/datetime2/test_bigdates/cases/SplitMake.cfg
new file mode 100644
index 00000000000..6bd5787afa5
--- /dev/null
+++ b/yql/essentials/udfs/common/datetime2/test_bigdates/cases/SplitMake.cfg
@@ -0,0 +1 @@
+in plato.Input SplitMake.in
diff --git a/yql/essentials/udfs/common/datetime2/test_bigdates/cases/SplitMake.in b/yql/essentials/udfs/common/datetime2/test_bigdates/cases/SplitMake.in
new file mode 100644
index 00000000000..de1409e041e
--- /dev/null
+++ b/yql/essentials/udfs/common/datetime2/test_bigdates/cases/SplitMake.in
@@ -0,0 +1,88 @@
+{
+ "fdate32"="-144169-01-01";
+ "fdatetime64"="-144169-01-01T00:00:00Z";
+ "ftimestamp64"="-144169-01-01T00:00:00.000000Z";
+ "ftzpdate32"="-144169-01-01,Europe/Moscow";
+ "ftzpdatetime64"="-144169-01-01T00:00:00,Europe/Moscow";
+ "ftzptimestamp64"="-144169-01-01T00:00:00.000000,Europe/Moscow";
+ "ftzmdate32"="-144169-01-01,America/Los_Angeles";
+ "ftzmdatetime64"="-144169-01-01T00:00:00,America/Los_Angeles";
+ "ftzmtimestamp64"="-144169-01-01T00:00:00.000000,America/Los_Angeles";
+};
+{
+ "fdate32"="-1-01-01";
+ "fdatetime64"="-1-01-01T23:59:59Z";
+ "ftimestamp64"="-1-01-01T23:59:59.999999Z";
+ "ftzpdate32"="-1-01-01,Europe/Moscow";
+ "ftzpdatetime64"="-1-01-01T23:59:59,Europe/Moscow";
+ "ftzptimestamp64"="-1-01-01T23:59:59.999999,Europe/Moscow";
+ "ftzmdate32"="-1-01-01,America/Los_Angeles";
+ "ftzmdatetime64"="-1-01-01T23:59:59,America/Los_Angeles";
+ "ftzmtimestamp64"="-1-01-01T23:59:59.999999,America/Los_Angeles";
+};
+{
+ "fdate32"="1-01-01";
+ "fdatetime64"="1-01-01T00:00:00Z";
+ "ftimestamp64"="1-01-01T00:00:00.000000Z";
+ "ftzpdate32"="1-01-01,Europe/Moscow";
+ "ftzpdatetime64"="1-01-01T00:00:00,Europe/Moscow";
+ "ftzptimestamp64"="1-01-01T00:00:00.000000,Europe/Moscow";
+ "ftzmdate32"="1-01-01,America/Los_Angeles";
+ "ftzmdatetime64"="1-01-01T00:00:00,America/Los_Angeles";
+ "ftzmtimestamp64"="1-01-01T00:00:00.000000,America/Los_Angeles";
+};
+{
+ "fdate32"="1969-12-31";
+ "fdatetime64"="1969-12-31T23:59:59Z";
+ "ftimestamp64"="1969-12-31T23:59:59.999999Z";
+ "ftzpdate32"="1969-12-31,Europe/Moscow";
+ "ftzpdatetime64"="1969-12-31T23:59:59,Europe/Moscow";
+ "ftzptimestamp64"="1969-12-31T23:59:59.999999,Europe/Moscow";
+ "ftzmdate32"="1969-12-31,America/Los_Angeles";
+ "ftzmdatetime64"="1969-12-31T23:59:59,America/Los_Angeles";
+ "ftzmtimestamp64"="1969-12-31T23:59:59.999999,America/Los_Angeles";
+};
+{
+ "fdate32"="1970-01-01";
+ "fdatetime64"="1970-01-01T00:00:00Z";
+ "ftimestamp64"="1970-01-01T00:00:00.000000Z";
+ "ftzpdate32"="1970-01-01,Europe/Moscow";
+ "ftzpdatetime64"="1970-01-01T00:00:00,Europe/Moscow";
+ "ftzptimestamp64"="1970-01-01T00:00:00.000000,Europe/Moscow";
+ "ftzmdate32"="1970-01-01,America/Los_Angeles";
+ "ftzmdatetime64"="1970-01-01T00:00:00,America/Los_Angeles";
+ "ftzmtimestamp64"="1970-01-01T00:00:00.000000,America/Los_Angeles";
+};
+{
+ "fdate32"="2025-01-01";
+ "fdatetime64"="2025-01-01T00:00:00Z";
+ "ftimestamp64"="2025-01-01T00:00:00.000000Z";
+ "ftzpdate32"="2025-01-01,Europe/Moscow";
+ "ftzpdatetime64"="2025-01-01T00:00:00,Europe/Moscow";
+ "ftzptimestamp64"="2025-01-01T00:00:00.000000,Europe/Moscow";
+ "ftzmdate32"="2025-01-01,America/Los_Angeles";
+ "ftzmdatetime64"="2025-01-01T00:00:00,America/Los_Angeles";
+ "ftzmtimestamp64"="2025-01-01T00:00:00.000000,America/Los_Angeles"
+};
+{
+ "fdate32"="2106-01-01";
+ "fdatetime64"="2106-01-01T00:00:00Z";
+ "ftimestamp64"="2106-01-01T00:00:00.000000Z";
+ "ftzpdate32"="2106-01-01,Europe/Moscow";
+ "ftzpdatetime64"="2106-01-01T00:00:00,Europe/Moscow";
+ "ftzptimestamp64"="2106-01-01T00:00:00.000000,Europe/Moscow";
+ "ftzmdate32"="2106-01-01,America/Los_Angeles";
+ "ftzmdatetime64"="2106-01-01T00:00:00,America/Los_Angeles";
+ "ftzmtimestamp64"="2106-01-01T00:00:00.000000,America/Los_Angeles";
+};
+{
+ "fdate32"="148107-12-31";
+ "fdatetime64"="148107-12-31T23:59:59Z";
+ "ftimestamp64"="148107-12-31T23:59:59.999999Z";
+ "ftzpdate32"="148107-12-31,Europe/Moscow";
+ "ftzpdatetime64"="148107-12-31T23:59:59,Europe/Moscow";
+ "ftzptimestamp64"="148107-12-31T23:59:59.999999,Europe/Moscow";
+ "ftzmdate32"="148107-12-31,America/Los_Angeles";
+ "ftzmdatetime64"="148107-12-31T23:59:59,America/Los_Angeles";
+ "ftzmtimestamp64"="148107-12-31T23:59:59.999999,America/Los_Angeles";
+};
diff --git a/yql/essentials/udfs/common/datetime2/test_bigdates/cases/SplitMake.in.attr b/yql/essentials/udfs/common/datetime2/test_bigdates/cases/SplitMake.in.attr
new file mode 100644
index 00000000000..f9b354ecae1
--- /dev/null
+++ b/yql/essentials/udfs/common/datetime2/test_bigdates/cases/SplitMake.in.attr
@@ -0,0 +1,72 @@
+{
+ "_yql_row_spec" = {
+ "Type" = [
+ "StructType";
+ [
+ [
+ "fdate32";
+ [
+ "DataType";
+ "String";
+ ]
+ ];
+ [
+ "fdatetime64";
+ [
+ "DataType";
+ "String";
+ ]
+ ];
+ [
+ "ftimestamp64";
+ [
+ "DataType";
+ "String";
+ ]
+ ];
+ [
+ "ftzpdate32";
+ [
+ "DataType";
+ "String";
+ ]
+ ];
+ [
+ "ftzpdatetime64";
+ [
+ "DataType";
+ "String";
+ ]
+ ];
+ [
+ "ftzptimestamp64";
+ [
+ "DataType";
+ "String";
+ ]
+ ];
+ [
+ "ftzmdate32";
+ [
+ "DataType";
+ "String";
+ ]
+ ];
+ [
+ "ftzmdatetime64";
+ [
+ "DataType";
+ "String";
+ ]
+ ];
+ [
+ "ftzmtimestamp64";
+ [
+ "DataType";
+ "String";
+ ]
+ ];
+ ]
+ ]
+ }
+}
diff --git a/yql/essentials/udfs/common/datetime2/test_bigdates/cases/SplitMake.sql b/yql/essentials/udfs/common/datetime2/test_bigdates/cases/SplitMake.sql
index 4ae3a8962cf..46b174f8a58 100644
--- a/yql/essentials/udfs/common/datetime2/test_bigdates/cases/SplitMake.sql
+++ b/yql/essentials/udfs/common/datetime2/test_bigdates/cases/SplitMake.sql
@@ -1,27 +1,24 @@
/* syntax version 1 */
-
-select
- DateTime::MakeDate32(d32) as dd, DateTime::MakeDate32(DateTime::Split(d32)) as sdd,
- DateTime::MakeDate32(dt64) as ddt, DateTime::MakeDate32(DateTime::Split(dt64)) as sddt,
- DateTime::MakeDate32(ts64) as dts, DateTime::MakeDate32(DateTime::Split(ts64)) as sdts,
- DateTime::MakeDatetime64(d32) as dtd, DateTime::MakeDatetime64(DateTime::Split(d32)) as sdtd,
- DateTime::MakeDatetime64(dt64) as dtdt, DateTime::MakeDatetime64(DateTime::Split(dt64)) as sdtdt,
- DateTime::MakeDatetime64(ts64) as dtts, DateTime::MakeDatetime64(DateTime::Split(ts64)) as sdtts,
- DateTime::MakeTimestamp64(d32) as tsd, DateTime::MakeTimestamp64(DateTime::Split(d32)) as stsd,
- DateTime::MakeTimestamp64(dt64) as tsdt, DateTime::MakeTimestamp64(DateTime::Split(dt64)) as stsdt,
- DateTime::MakeTimestamp64(ts64) as tsts, DateTime::MakeTimestamp64(DateTime::Split(ts64)) as ststs
-from Input
-order by d32;
-
-select
- DateTime::MakeDate32(d) as dd, DateTime::MakeDate32(DateTime::Split(d)) as sdd,
- DateTime::MakeDate32(dt) as ddt, DateTime::MakeDate32(DateTime::Split(dt)) as sddt,
- DateTime::MakeDate32(ts) as dts, DateTime::MakeDate32(DateTime::Split(ts)) as sdts,
- DateTime::MakeDatetime64(d) as dtd, DateTime::MakeDatetime64(DateTime::Split(d)) as sdtd,
- DateTime::MakeDatetime64(dt) as dtdt, DateTime::MakeDatetime64(DateTime::Split(dt)) as sdtdt,
- DateTime::MakeDatetime64(ts) as dtts, DateTime::MakeDatetime64(DateTime::Split(ts)) as sdtts,
- DateTime::MakeTimestamp64(d) as tsd, DateTime::MakeTimestamp64(DateTime::Split(d)) as stsd,
- DateTime::MakeTimestamp64(dt) as tsdt, DateTime::MakeTimestamp64(DateTime::Split(dt)) as stsdt,
- DateTime::MakeTimestamp64(ts) as tsts, DateTime::MakeTimestamp64(DateTime::Split(ts)) as ststs
-from InputNarrow
-order by d;
+SELECT
+ DateTime::MakeDate32(DateTime::Split(fdate32)) AS rdate32,
+ DateTime::MakeDatetime64(DateTime::Split(fdatetime64)) AS rdatetime64,
+ DateTime::MakeTimestamp64(DateTime::Split(ftimestamp64)) AS rtimestamp64,
+ DateTime::MakeTzDate32(DateTime::Split(ftzpdate32)) AS rtzpdate32,
+ DateTime::MakeTzDatetime64(DateTime::Split(ftzpdatetime64)) AS rtzpdatetime64,
+ DateTime::MakeTzTimestamp64(DateTime::Split(ftzptimestamp64)) AS rtzptimestamp64,
+ DateTime::MakeTzDate32(DateTime::Split(ftzmdate32)) AS rtzmdate32,
+ DateTime::MakeTzDatetime64(DateTime::Split(ftzmdatetime64)) AS rtzmdatetime64,
+ DateTime::MakeTzTimestamp64(DateTime::Split(ftzmtimestamp64)) AS rtzmtimestamp64,
+FROM (
+ SELECT
+ CAST(fdate32 AS Date32) AS fdate32,
+ CAST(fdatetime64 AS Datetime64) AS fdatetime64,
+ CAST(ftimestamp64 AS Timestamp64) AS ftimestamp64,
+ CAST(ftzpdate32 AS TzDate32) AS ftzpdate32,
+ CAST(ftzpdatetime64 AS TzDatetime64) AS ftzpdatetime64,
+ CAST(ftzptimestamp64 AS TzTimestamp64) AS ftzptimestamp64,
+ CAST(ftzmdate32 AS TzDate32) AS ftzmdate32,
+ CAST(ftzmdatetime64 AS TzDatetime64) AS ftzmdatetime64,
+ CAST(ftzmtimestamp64 AS TzTimestamp64) AS ftzmtimestamp64,
+ FROM Input
+);
diff --git a/yql/essentials/udfs/common/datetime2/test_bigdates/cases/SplitMakeNarrow.cfg b/yql/essentials/udfs/common/datetime2/test_bigdates/cases/SplitMakeNarrow.cfg
new file mode 100644
index 00000000000..a80dbd609a2
--- /dev/null
+++ b/yql/essentials/udfs/common/datetime2/test_bigdates/cases/SplitMakeNarrow.cfg
@@ -0,0 +1 @@
+in plato.Input SplitMakeNarrow.in
diff --git a/yql/essentials/udfs/common/datetime2/test_bigdates/cases/SplitMakeNarrow.in b/yql/essentials/udfs/common/datetime2/test_bigdates/cases/SplitMakeNarrow.in
new file mode 100644
index 00000000000..e811c818ae5
--- /dev/null
+++ b/yql/essentials/udfs/common/datetime2/test_bigdates/cases/SplitMakeNarrow.in
@@ -0,0 +1,55 @@
+{
+ "fdate"="1969-12-31";
+ "fdatetime"="1969-12-31T23:59:59Z";
+ "ftimestamp"="1969-12-31T23:59:59.999999Z";
+ "ftzpdate"="1969-12-31,Europe/Moscow";
+ "ftzpdatetime"="1969-12-31T23:59:59,Europe/Moscow";
+ "ftzptimestamp"="1969-12-31T23:59:59.999999,Europe/Moscow";
+ "ftzmdate"="1969-12-31,America/Los_Angeles";
+ "ftzmdatetime"="1969-12-31T23:59:59,America/Los_Angeles";
+ "ftzmtimestamp"="1969-12-31T23:59:59.999999,America/Los_Angeles";
+};
+{
+ "fdate"="1970-01-01";
+ "fdatetime"="1970-01-01T00:00:00Z";
+ "ftimestamp"="1970-01-01T00:00:00.000000Z";
+ "ftzpdate"="1970-01-01,Europe/Moscow";
+ "ftzpdatetime"="1970-01-01T00:00:00,Europe/Moscow";
+ "ftzptimestamp"="1970-01-01T00:00:00.000000,Europe/Moscow";
+ "ftzmdate"="1970-01-01,America/Los_Angeles";
+ "ftzmdatetime"="1970-01-01T00:00:00,America/Los_Angeles";
+ "ftzmtimestamp"="1970-01-01T00:00:00.000000,America/Los_Angeles";
+};
+{
+ "fdate"="2025-01-01";
+ "fdatetime"="2025-01-01T00:00:00Z";
+ "ftimestamp"="2025-01-01T00:00:00.000000Z";
+ "ftzpdate"="2025-01-01,Europe/Moscow";
+ "ftzpdatetime"="2025-01-01T00:00:00,Europe/Moscow";
+ "ftzptimestamp"="2025-01-01T00:00:00.000000,Europe/Moscow";
+ "ftzmdate"="2025-01-01,America/Los_Angeles";
+ "ftzmdatetime"="2025-01-01T00:00:00,America/Los_Angeles";
+ "ftzmtimestamp"="2025-01-01T00:00:00.000000,America/Los_Angeles"
+};
+{
+ "fdate"="2105-12-31";
+ "fdatetime"="2105-12-31T23:59:59Z";
+ "ftimestamp"="2105-12-31T23:59:59.999999Z";
+ "ftzpdate"="2105-12-31,Europe/Moscow";
+ "ftzpdatetime"="2105-12-31T23:59:59,Europe/Moscow";
+ "ftzptimestamp"="2105-12-31T23:59:59.999999,Europe/Moscow";
+ "ftzmdate"="2105-12-31,America/Los_Angeles";
+ "ftzmdatetime"="2105-12-31T23:59:59,America/Los_Angeles";
+ "ftzmtimestamp"="2105-12-31T23:59:59.999999,America/Los_Angeles";
+};
+{
+ "fdate"="2106-01-01";
+ "fdatetime"="2106-01-01T00:00:00Z";
+ "ftimestamp"="2106-01-01T00:00:00.000000Z";
+ "ftzpdate"="2106-01-01,Europe/Moscow";
+ "ftzpdatetime"="2106-01-01T00:00:00,Europe/Moscow";
+ "ftzptimestamp"="2106-01-01T00:00:00.000000,Europe/Moscow";
+ "ftzmdate"="2106-01-01,America/Los_Angeles";
+ "ftzmdatetime"="2106-01-01T00:00:00,America/Los_Angeles";
+ "ftzmtimestamp"="2106-01-01T00:00:00.000000,America/Los_Angeles";
+};
diff --git a/yql/essentials/udfs/common/datetime2/test_bigdates/cases/SplitMakeNarrow.in.attr b/yql/essentials/udfs/common/datetime2/test_bigdates/cases/SplitMakeNarrow.in.attr
new file mode 100644
index 00000000000..2f243f1d5c6
--- /dev/null
+++ b/yql/essentials/udfs/common/datetime2/test_bigdates/cases/SplitMakeNarrow.in.attr
@@ -0,0 +1,72 @@
+{
+ "_yql_row_spec" = {
+ "Type" = [
+ "StructType";
+ [
+ [
+ "fdate";
+ [
+ "DataType";
+ "String";
+ ]
+ ];
+ [
+ "fdatetime";
+ [
+ "DataType";
+ "String";
+ ]
+ ];
+ [
+ "ftimestamp";
+ [
+ "DataType";
+ "String";
+ ]
+ ];
+ [
+ "ftzpdate";
+ [
+ "DataType";
+ "String";
+ ]
+ ];
+ [
+ "ftzpdatetime";
+ [
+ "DataType";
+ "String";
+ ]
+ ];
+ [
+ "ftzptimestamp";
+ [
+ "DataType";
+ "String";
+ ]
+ ];
+ [
+ "ftzmdate";
+ [
+ "DataType";
+ "String";
+ ]
+ ];
+ [
+ "ftzmdatetime";
+ [
+ "DataType";
+ "String";
+ ]
+ ];
+ [
+ "ftzmtimestamp";
+ [
+ "DataType";
+ "String";
+ ]
+ ];
+ ]
+ ]
+ }
+}
diff --git a/yql/essentials/udfs/common/datetime2/test_bigdates/cases/SplitMakeNarrow.sql b/yql/essentials/udfs/common/datetime2/test_bigdates/cases/SplitMakeNarrow.sql
new file mode 100644
index 00000000000..8017a4cadc5
--- /dev/null
+++ b/yql/essentials/udfs/common/datetime2/test_bigdates/cases/SplitMakeNarrow.sql
@@ -0,0 +1,24 @@
+/* syntax version 1 */
+SELECT
+ DateTime::MakeDate32(DateTime::Split(fdate)) AS rdate32,
+ DateTime::MakeDatetime64(DateTime::Split(fdatetime)) AS rdatetime64,
+ DateTime::MakeTimestamp64(DateTime::Split(ftimestamp)) AS rtimestamp64,
+ DateTime::MakeTzDate32(DateTime::Split(ftzpdate)) AS rtzpdate32,
+ DateTime::MakeTzDatetime64(DateTime::Split(ftzpdatetime)) AS rtzpdatetime64,
+ DateTime::MakeTzTimestamp64(DateTime::Split(ftzptimestamp)) AS rtzptimestamp64,
+ DateTime::MakeTzDate32(DateTime::Split(ftzmdate)) AS rtzmdate32,
+ DateTime::MakeTzDatetime64(DateTime::Split(ftzmdatetime)) AS rtzmdatetime64,
+ DateTime::MakeTzTimestamp64(DateTime::Split(ftzmtimestamp)) AS rtzmtimestamp64,
+FROM (
+ SELECT
+ CAST(fdate AS Date) AS fdate,
+ CAST(fdatetime AS Datetime) AS fdatetime,
+ CAST(ftimestamp AS Timestamp) AS ftimestamp,
+ CAST(ftzpdate AS TzDate) AS ftzpdate,
+ CAST(ftzpdatetime AS TzDatetime) AS ftzpdatetime,
+ CAST(ftzptimestamp AS TzTimestamp) AS ftzptimestamp,
+ CAST(ftzmdate AS TzDate) AS ftzmdate,
+ CAST(ftzmdatetime AS TzDatetime) AS ftzmdatetime,
+ CAST(ftzmtimestamp AS TzTimestamp) AS ftzmtimestamp,
+ FROM Input
+);
diff --git a/yql/essentials/udfs/common/datetime2/test_bigdates/cases/StartOf.in b/yql/essentials/udfs/common/datetime2/test_bigdates/cases/StartOf.in
index e26d4cdd065..1a01f37dee8 100644
--- a/yql/essentials/udfs/common/datetime2/test_bigdates/cases/StartOf.in
+++ b/yql/essentials/udfs/common/datetime2/test_bigdates/cases/StartOf.in
@@ -1,8 +1,8 @@
-{"ftimestamp64"="-144169-01-01T01:02:03.456789Z"};
-{"ftimestamp64"="-1-01-01T23:58:57.654321Z"};
-{"ftimestamp64"="1-01-01T09:09:09.000009Z"};
-{"ftimestamp64"="1969-12-31T23:58:57.654321Z"};
-{"ftimestamp64"="1970-01-01T09:09:09.000009Z"};
-{"ftimestamp64"="2025-02-04T09:09:09.000009Z"};
-{"ftimestamp64"="2106-01-01T09:09:09.000009Z"};
-{"ftimestamp64"="148107-12-31T23:58:57.654321Z"};
+{"ftztimestamp64"="-144169-01-01T01:02:03.456789,GMT"};
+{"ftztimestamp64"="-1-01-01T23:58:57.654321,GMT"};
+{"ftztimestamp64"="1-01-01T09:09:09.000009,GMT"};
+{"ftztimestamp64"="1969-12-31T23:58:57.654321,GMT"};
+{"ftztimestamp64"="1970-01-01T09:09:09.000009,GMT"};
+{"ftztimestamp64"="2025-02-04T09:09:09.000009,GMT"};
+{"ftztimestamp64"="2106-01-01T09:09:09.000009,GMT"};
+{"ftztimestamp64"="148107-12-31T23:58:57.654321,GMT"};
diff --git a/yql/essentials/udfs/common/datetime2/test_bigdates/cases/StartOf.in.attr b/yql/essentials/udfs/common/datetime2/test_bigdates/cases/StartOf.in.attr
index 91994000ceb..4e6b0438e4a 100644
--- a/yql/essentials/udfs/common/datetime2/test_bigdates/cases/StartOf.in.attr
+++ b/yql/essentials/udfs/common/datetime2/test_bigdates/cases/StartOf.in.attr
@@ -4,7 +4,7 @@
"StructType";
[
[
- "ftimestamp64";
+ "ftztimestamp64";
[
"DataType";
"String"
diff --git a/yql/essentials/udfs/common/datetime2/test_bigdates/cases/StartOf.sql b/yql/essentials/udfs/common/datetime2/test_bigdates/cases/StartOf.sql
index a87567e6fa9..b96a92bf80f 100644
--- a/yql/essentials/udfs/common/datetime2/test_bigdates/cases/StartOf.sql
+++ b/yql/essentials/udfs/common/datetime2/test_bigdates/cases/StartOf.sql
@@ -1,16 +1,16 @@
/* syntax version 1 */
$check = ($arg) -> {
return <|
- soyear: DateTime::MakeTimestamp64(DateTime::StartOfYear($arg)),
- soquarter: DateTime::MakeTimestamp64(DateTime::StartOfQuarter($arg)),
- somonth: DateTime::MakeTimestamp64(DateTime::StartOfMonth($arg)),
- soweek: DateTime::MakeTimestamp64(DateTime::StartOfWeek($arg)),
- soday: DateTime::MakeTimestamp64(DateTime::StartOfDay($arg)),
- sopt13h: DateTime::MakeTimestamp64(DateTime::StartOf($arg, Interval("PT13H"))),
- sopt4h: DateTime::MakeTimestamp64(DateTime::StartOf($arg, Interval("PT4H"))),
- sopt15m: DateTime::MakeTimestamp64(DateTime::StartOf($arg, Interval("PT15M"))),
- sopt20s: DateTime::MakeTimestamp64(DateTime::StartOf($arg, Interval("PT20S"))),
- sopt7s: DateTime::MakeTimestamp64(DateTime::StartOf($arg, Interval("PT7S"))),
+ soyear: DateTime::StartOfYear($arg),
+ soquarter: DateTime::StartOfQuarter($arg),
+ somonth: DateTime::StartOfMonth($arg),
+ soweek: DateTime::StartOfWeek($arg),
+ soday: DateTime::StartOfDay($arg),
+ sopt13h: DateTime::StartOf($arg, Interval("PT13H")),
+ sopt4h: DateTime::StartOf($arg, Interval("PT4H")),
+ sopt15m: DateTime::StartOf($arg, Interval("PT15M")),
+ sopt20s: DateTime::StartOf($arg, Interval("PT20S")),
+ sopt7s: DateTime::StartOf($arg, Interval("PT7S")),
timeofday: DateTime::TimeOfDay($arg),
|>
};
@@ -23,6 +23,6 @@ $typeDispatcher = ($row) -> {
|>;
};
-$input = SELECT CAST(ftimestamp64 as Timestamp64) as tm FROM Input;
+$input = SELECT CAST(ftztimestamp64 as TzTimestamp64) as tm FROM Input;
PROCESS $input USING $typeDispatcher(TableRow());
diff --git a/yql/essentials/udfs/common/datetime2/test_bigdates/cases/Update.in b/yql/essentials/udfs/common/datetime2/test_bigdates/cases/Update.in
index 4eb94e06a48..e87b5a010b5 100644
--- a/yql/essentials/udfs/common/datetime2/test_bigdates/cases/Update.in
+++ b/yql/essentials/udfs/common/datetime2/test_bigdates/cases/Update.in
@@ -1,8 +1,8 @@
-{"ftimestamp64"="-144169-01-01T00:00:00.000000Z"};
-{"ftimestamp64"="-1-01-01T23:59:59.999999Z"};
-{"ftimestamp64"="1-01-01T00:00:00.000000Z"};
-{"ftimestamp64"="1969-12-31T23:59:59.999999Z"};
-{"ftimestamp64"="1970-01-01T00:00:00.000000Z"};
-{"ftimestamp64"="2025-01-01T00:00:00.000000Z"};
-{"ftimestamp64"="2106-01-01T00:00:00.000000Z"};
-{"ftimestamp64"="148107-12-31T23:59:59.999999Z"};
+{"ftztimestamp64"="-144169-01-01T00:00:00.000000,GMT"};
+{"ftztimestamp64"="-1-01-01T23:59:59.999999,GMT"};
+{"ftztimestamp64"="1-01-01T00:00:00.000000,GMT"};
+{"ftztimestamp64"="1969-12-31T23:59:59.999999,GMT"};
+{"ftztimestamp64"="1970-01-01T00:00:00.000000,GMT"};
+{"ftztimestamp64"="2025-01-01T00:00:00.000000,GMT"};
+{"ftztimestamp64"="2106-01-01T00:00:00.000000,GMT"};
+{"ftztimestamp64"="148107-12-31T23:59:59.999999,GMT"};
diff --git a/yql/essentials/udfs/common/datetime2/test_bigdates/cases/Update.in.attr b/yql/essentials/udfs/common/datetime2/test_bigdates/cases/Update.in.attr
index 91994000ceb..4e6b0438e4a 100644
--- a/yql/essentials/udfs/common/datetime2/test_bigdates/cases/Update.in.attr
+++ b/yql/essentials/udfs/common/datetime2/test_bigdates/cases/Update.in.attr
@@ -4,7 +4,7 @@
"StructType";
[
[
- "ftimestamp64";
+ "ftztimestamp64";
[
"DataType";
"String"
diff --git a/yql/essentials/udfs/common/datetime2/test_bigdates/cases/Update.sql b/yql/essentials/udfs/common/datetime2/test_bigdates/cases/Update.sql
index 2c7e19865fe..a4933372bc9 100644
--- a/yql/essentials/udfs/common/datetime2/test_bigdates/cases/Update.sql
+++ b/yql/essentials/udfs/common/datetime2/test_bigdates/cases/Update.sql
@@ -1,26 +1,26 @@
/* syntax version 1 */
$check = ($arg) -> {
return <|
- upyear: CAST(DateTime::MakeTimestamp64(DateTime::Update($arg, 2025)) AS String),
- inyear: CAST(DateTime::MakeTimestamp64(DateTime::Update($arg, 148108 as Year)) AS String),
- upmonth: CAST(DateTime::MakeTimestamp64(DateTime::Update($arg, NULL, 2)) AS String),
- inmonth: CAST(DateTime::MakeTimestamp64(DateTime::Update($arg, 13 as Month)) AS String),
- upday: CAST(DateTime::MakeTimestamp64(DateTime::Update($arg, NULL, NULL, 17)) AS String),
- inday: CAST(DateTime::MakeTimestamp64(DateTime::Update($arg, 32 as Day)) AS String),
- update: CAST(DateTime::MakeTimestamp64(DateTime::Update($arg, 2025, 2, 17)) AS String),
- ipdate: CAST(DateTime::MakeTimestamp64(DateTime::Update($arg, 2025, 2, 29)) AS String),
- uptime: CAST(DateTime::MakeTimestamp64(DateTime::Update($arg, NULL, NULL, NULL, 19, 24, 9)) AS String),
- iptime: CAST(DateTime::MakeTimestamp64(DateTime::Update($arg, NULL, NULL, NULL, 25, 60, 61)) AS String),
- unhour: CAST(DateTime::MakeTimestamp64(DateTime::Update($arg, 19 as Hour)) AS String),
- inhour: CAST(DateTime::MakeTimestamp64(DateTime::Update($arg, 24 as Hour)) AS String),
- unminute: CAST(DateTime::MakeTimestamp64(DateTime::Update($arg, 24 as Minute)) AS String),
- inminute: CAST(DateTime::MakeTimestamp64(DateTime::Update($arg, 60 as Minute)) AS String),
- unsecond: CAST(DateTime::MakeTimestamp64(DateTime::Update($arg, 9 as Second)) AS String),
- insecond: CAST(DateTime::MakeTimestamp64(DateTime::Update($arg, 60 as Second)) AS String),
- unmsec: CAST(DateTime::MakeTimestamp64(DateTime::Update($arg, 123456 as Microsecond)) AS String),
- inmsec: CAST(DateTime::MakeTimestamp64(DateTime::Update($arg, 1234567 as Microsecond)) AS String),
- untzid: CAST(DateTime::MakeTimestamp64(DateTime::Update($arg, 1 as TimezoneId)) AS String),
- intzid: CAST(DateTime::MakeTimestamp64(DateTime::Update($arg, 1000 as TimezoneId)) AS String),
+ upyear: DateTime::Update($arg, 2025),
+ inyear: DateTime::Update($arg, 148108 as Year),
+ upmonth: DateTime::Update($arg, NULL, 2),
+ inmonth: DateTime::Update($arg, 13 as Month),
+ upday: DateTime::Update($arg, NULL, NULL, 17),
+ inday: DateTime::Update($arg, 32 as Day),
+ update: DateTime::Update($arg, 2025, 2, 17),
+ ipdate: DateTime::Update($arg, 2025, 2, 29),
+ uptime: DateTime::Update($arg, NULL, NULL, NULL, 19, 24, 9),
+ iptime: DateTime::Update($arg, NULL, NULL, NULL, 25, 60, 61),
+ unhour: DateTime::Update($arg, 19 as Hour),
+ inhour: DateTime::Update($arg, 24 as Hour),
+ unminute: DateTime::Update($arg, 24 as Minute),
+ inminute: DateTime::Update($arg, 60 as Minute),
+ unsecond: DateTime::Update($arg, 9 as Second),
+ insecond: DateTime::Update($arg, 60 as Second),
+ unmsec: DateTime::Update($arg, 123456 as Microsecond),
+ inmsec: DateTime::Update($arg, 1234567 as Microsecond),
+ untzid: DateTime::Update($arg, 1 as TimezoneId),
+ intzid: DateTime::Update($arg, 1000 as TimezoneId),
|>
};
@@ -32,6 +32,6 @@ $typeDispatcher = ($row) -> {
|>;
};
-$input = SELECT CAST(ftimestamp64 AS Timestamp64) as tm FROM Input;
+$input = SELECT CAST(ftztimestamp64 AS TzTimestamp64) as tm FROM Input;
PROCESS $input USING $typeDispatcher(TableRow());
diff --git a/yql/essentials/udfs/common/datetime2/test_bigdates/cases/default.cfg b/yql/essentials/udfs/common/datetime2/test_bigdates/cases/default.cfg
deleted file mode 100644
index 864fb2ddcb4..00000000000
--- a/yql/essentials/udfs/common/datetime2/test_bigdates/cases/default.cfg
+++ /dev/null
@@ -1,4 +0,0 @@
-in plato.Input input.txt
-in plato.InputTz input_tz.txt
-in plato.InputNarrow input_narrow.txt
-in plato.Tz tz.txt
diff --git a/yql/essentials/udfs/common/datetime2/test_bigdates/cases/input.txt b/yql/essentials/udfs/common/datetime2/test_bigdates/cases/input.txt
deleted file mode 100644
index f24562bbc6d..00000000000
--- a/yql/essentials/udfs/common/datetime2/test_bigdates/cases/input.txt
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "d32"=-53375809;
- "dt64"=-4611669897600;
- "ts64"=-4611669897600000000;
-};
-{
- "d32"=-719163;
- "dt64"=-62135596801;
- "ts64"=-62135596800000001;
-};
-{
- "d32"=-719162;
- "dt64"=-62135596800;
- "ts64"=-62135596800000000;
-};
-{
- "d32"=-1;
- "dt64"=-1;
- "ts64"=-1;
-};
-{
- "d32"=0;
- "dt64"=0;
- "ts64"=0;
-};
-{
- "d32"=1;
- "dt64"=1;
- "ts64"=1;
-};
-{
- "d32"=53375807;
- "dt64"=4611669811199;
- "ts64"=4611669811199999999;
-};
diff --git a/yql/essentials/udfs/common/datetime2/test_bigdates/cases/input.txt.attr b/yql/essentials/udfs/common/datetime2/test_bigdates/cases/input.txt.attr
deleted file mode 100644
index 773be61fbea..00000000000
--- a/yql/essentials/udfs/common/datetime2/test_bigdates/cases/input.txt.attr
+++ /dev/null
@@ -1,31 +0,0 @@
-{
- "_yql_row_spec" = {
- "Type" = [
- "StructType";
- [
- [
- "d32";
- [
- "DataType";
- "Date32"
- ]
- ];
- [
- "dt64";
- [
- "DataType";
- "Datetime64"
- ]
- ];
- [
- "ts64";
- [
- "DataType";
- "Timestamp64"
- ]
- ]
- ]
- ]
- }
-}
-
diff --git a/yql/essentials/udfs/common/datetime2/test_bigdates/cases/input_narrow.txt b/yql/essentials/udfs/common/datetime2/test_bigdates/cases/input_narrow.txt
deleted file mode 100644
index d14b15511ad..00000000000
--- a/yql/essentials/udfs/common/datetime2/test_bigdates/cases/input_narrow.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "d"=0u;
- "dt"=0u;
- "ts"=0u;
-};
-{
- "d"=1u;
- "dt"=1u;
- "ts"=1u;
-};
-{
- "d"=49672u;
- "dt"=4291747199u;
- "ts"=4291747199999999u;
-};
diff --git a/yql/essentials/udfs/common/datetime2/test_bigdates/cases/input_narrow.txt.attr b/yql/essentials/udfs/common/datetime2/test_bigdates/cases/input_narrow.txt.attr
deleted file mode 100644
index ba95961d80b..00000000000
--- a/yql/essentials/udfs/common/datetime2/test_bigdates/cases/input_narrow.txt.attr
+++ /dev/null
@@ -1,31 +0,0 @@
-{
- "_yql_row_spec" = {
- "Type" = [
- "StructType";
- [
- [
- "d";
- [
- "DataType";
- "Date"
- ]
- ];
- [
- "dt";
- [
- "DataType";
- "Datetime"
- ]
- ];
- [
- "ts";
- [
- "DataType";
- "Timestamp"
- ]
- ]
- ]
- ]
- }
-}
-
diff --git a/yql/essentials/udfs/common/datetime2/test_bigdates/cases/input_tz.txt b/yql/essentials/udfs/common/datetime2/test_bigdates/cases/input_tz.txt
deleted file mode 100644
index e113d3564aa..00000000000
--- a/yql/essentials/udfs/common/datetime2/test_bigdates/cases/input_tz.txt
+++ /dev/null
@@ -1,48 +0,0 @@
-{
- "rn"=-144169;
- "d32"="-144169-1-1";
- "dt64"="-144169-1-1T0:0:0";
- "ts64"="-144169-1-1T0:0:0";
-};
-{
- "rn"=-1;
- "d32"="-1-1-1";
- "dt64"="-1-1-1T23:59:59";
- "ts64"="-1-1-1T23:59:59.999999";
-};
-{
- "rn"=1;
- "d32"="1-1-1";
- "dt64"="1-1-1T0:0:0";
- "ts64"="1-1-1T0:0:0";
-};
-{
- "rn"=1969;
- "d32"="1969-12-31";
- "dt64"="1969-12-31T23:59:59";
- "ts64"="1969-12-31T23:59:59.999999";
-};
-{
- "rn"=1970;
- "d32"="1970-1-1";
- "dt64"="1970-1-1T0:0:0";
- "ts64"="1970-1-1T0:0:0";
-};
-{
- "rn"=2024;
- "d32"="2024-7-1";
- "dt64"="2024-7-1T0:0:0";
- "ts64"="2024-7-1T0:0:0";
-};
-{
- "rn"=2106;
- "d32"="2106-1-1";
- "dt64"="2106-1-1T0:0:0";
- "ts64"="2106-1-1T0:0:0";
-};
-{
- "rn"=148107;
- "d32"="148107-12-31";
- "dt64"="148107-12-31T23:59:59";
- "ts64"="148107-12-31T23:59:59.999999";
-};
diff --git a/yql/essentials/udfs/common/datetime2/test_bigdates/cases/input_tz.txt.attr b/yql/essentials/udfs/common/datetime2/test_bigdates/cases/input_tz.txt.attr
deleted file mode 100644
index 59fc7869772..00000000000
--- a/yql/essentials/udfs/common/datetime2/test_bigdates/cases/input_tz.txt.attr
+++ /dev/null
@@ -1,37 +0,0 @@
-{
- "_yql_row_spec" = {
- "Type" = [
- "StructType";
- [
- [
- "rn";
- [
- "DataType";
- "Int32"
- ]
- ];
- [
- "d32";
- [
- "DataType";
- "String"
- ]
- ];
- [
- "dt64";
- [
- "DataType";
- "String"
- ]
- ];
- [
- "ts64";
- [
- "DataType";
- "String"
- ]
- ]
- ]
- ]
- }
-}
diff --git a/yql/essentials/udfs/common/datetime2/test_bigdates/cases/tz.txt b/yql/essentials/udfs/common/datetime2/test_bigdates/cases/tz.txt
deleted file mode 100644
index 77d1cf3174f..00000000000
--- a/yql/essentials/udfs/common/datetime2/test_bigdates/cases/tz.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "tz"="GMT";
-};
-{
- "tz"="UTC";
-};
-{
- "tz"="Europe/London";
-};
-{
- "tz"="Europe/Moscow";
-};
-{
- "tz"="Atlantic/Azores";
-};
diff --git a/yql/essentials/udfs/common/datetime2/test_bigdates/cases/tz.txt.attr b/yql/essentials/udfs/common/datetime2/test_bigdates/cases/tz.txt.attr
deleted file mode 100644
index 847643ec33f..00000000000
--- a/yql/essentials/udfs/common/datetime2/test_bigdates/cases/tz.txt.attr
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "_yql_row_spec" = {
- "Type" = [
- "StructType";
- [
- [
- "tz";
- [
- "DataType";
- "String"
- ]
- ]
- ]
- ]
- }
-}