Skip to content

Commit 602f669

Browse files
committed
YQL-18303: Purge BigDateType data type flag
commit_hash:e8348aa080ebfa6e598642c564e06b807cb8e4dd (cherry picked from commit a72aaab)
1 parent 6471feb commit 602f669

File tree

5 files changed

+20
-27
lines changed

5 files changed

+20
-27
lines changed

yql/essentials/core/yql_expr_type_annotation.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4313,7 +4313,7 @@ bool IsDataTypeTzDate(EDataSlot dataSlot) {
43134313
}
43144314

43154315
bool IsDataTypeBigDate(EDataSlot dataSlot) {
4316-
return (NUdf::GetDataTypeInfo(dataSlot).Features & NUdf::BigDateType);
4316+
return (NUdf::GetDataTypeInfo(dataSlot).Features & NUdf::ExtDateType);
43174317
}
43184318

43194319
EDataSlot WithTzDate(EDataSlot dataSlot) {

yql/essentials/minikql/invoke_builtins/mkql_builtins_datetime.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ NUdf::TDataType<NUdf::TInterval64>::TLayout FromScaledDate<NUdf::TDataType<NUdf:
160160
template<typename TDateType>
161161
inline bool IsBadDateTime(TScaledDate val) {
162162
static_assert(TDateType::Features & (NYql::NUdf::DateType | NYql::NUdf::TzDateType), "Date type expected");
163-
if constexpr (TDateType::Features & NYql::NUdf::BigDateType) {
163+
if constexpr (TDateType::Features & NYql::NUdf::ExtDateType) {
164164
return val < NUdf::MIN_TIMESTAMP64 || val > NUdf::MAX_TIMESTAMP64;
165165
} else {
166166
return val < 0 || val >= TScaledDate(NUdf::MAX_TIMESTAMP);
@@ -170,7 +170,7 @@ inline bool IsBadDateTime(TScaledDate val) {
170170
template<typename TDateType>
171171
inline bool IsBadInterval(TScaledDate val) {
172172
static_assert(TDateType::Features & NYql::NUdf::TimeIntervalType, "Interval type expected");
173-
if constexpr (TDateType::Features & NYql::NUdf::BigDateType) {
173+
if constexpr (TDateType::Features & NYql::NUdf::ExtDateType) {
174174
return val < -NUdf::MAX_INTERVAL64 || val > NUdf::MAX_INTERVAL64;
175175
} else {
176176
return val <= -TScaledDate(NUdf::MAX_TIMESTAMP) || val >= TScaledDate(NUdf::MAX_TIMESTAMP);
@@ -201,7 +201,7 @@ inline Value* GenIsInt64Overflow(Value* value, LLVMContext &context, BasicBlock*
201201
template<typename TDateType>
202202
inline Value* GenIsBadDateTime(Value* val, LLVMContext &context, BasicBlock* block) {
203203
static_assert(TDateType::Features & (NYql::NUdf::DateType | NYql::NUdf::TzDateType), "Date type expected");
204-
if constexpr (TDateType::Features & NYql::NUdf::BigDateType) {
204+
if constexpr (TDateType::Features & NYql::NUdf::ExtDateType) {
205205
auto lt = CmpInst::Create(Instruction::ICmp, ICmpInst::ICMP_SLT, val, ConstantInt::get(Type::getInt64Ty(context), NUdf::MIN_TIMESTAMP64), "lt", block);
206206
auto ge = CmpInst::Create(Instruction::ICmp, ICmpInst::ICMP_SGT, val, ConstantInt::get(Type::getInt64Ty(context), NUdf::MAX_TIMESTAMP64), "ge", block);
207207
return BinaryOperator::CreateOr(lt, ge, "or", block);
@@ -215,10 +215,10 @@ inline Value* GenIsBadDateTime(Value* val, LLVMContext &context, BasicBlock* blo
215215
template<typename TDateType>
216216
inline Value* GenIsBadInterval(Value* val, LLVMContext &context, BasicBlock* block) {
217217
static_assert(TDateType::Features & NYql::NUdf::TimeIntervalType, "Interval type expected");
218-
constexpr i64 lowerBound = (TDateType::Features & NYql::NUdf::BigDateType)
218+
constexpr i64 lowerBound = (TDateType::Features & NYql::NUdf::ExtDateType)
219219
? (-NUdf::MAX_INTERVAL64 - 1)
220220
: -(i64)NUdf::MAX_TIMESTAMP;
221-
constexpr i64 upperBound = (TDateType::Features & NYql::NUdf::BigDateType)
221+
constexpr i64 upperBound = (TDateType::Features & NYql::NUdf::ExtDateType)
222222
? (NUdf::MAX_INTERVAL64 + 1)
223223
: (i64)NUdf::MAX_TIMESTAMP;
224224
auto le = CmpInst::Create(Instruction::ICmp, ICmpInst::ICMP_SLE, val, ConstantInt::get(Type::getInt64Ty(context), lowerBound), "le", block);

yql/essentials/minikql/mkql_program_builder.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -375,7 +375,7 @@ TType* TProgramBuilder::BuildArithmeticCommonType(TType* type1, TType* type2) {
375375
const auto features2 = NUdf::GetDataTypeInfo(*data2->GetDataSlot()).Features;
376376
const bool isOptional = isOptional1 || isOptional2;
377377
if (features1 & features2 & NUdf::EDataTypeFeatures::TimeIntervalType) {
378-
return NewOptionalType(features1 & NUdf::EDataTypeFeatures::BigDateType ? data1 : data2);
378+
return NewOptionalType(features1 & NUdf::EDataTypeFeatures::ExtDateType ? data1 : data2);
379379
} else if (features1 & NUdf::EDataTypeFeatures::TimeIntervalType) {
380380
return NewOptionalType(features2 & NUdf::EDataTypeFeatures::IntegralType ? data1 : data2);
381381
} else if (features2 & NUdf::EDataTypeFeatures::TimeIntervalType) {
@@ -384,7 +384,7 @@ TType* TProgramBuilder::BuildArithmeticCommonType(TType* type1, TType* type2) {
384384
features1 & (NUdf::EDataTypeFeatures::DateType | NUdf::EDataTypeFeatures::TzDateType) &&
385385
features2 & (NUdf::EDataTypeFeatures::DateType | NUdf::EDataTypeFeatures::TzDateType)
386386
) {
387-
const auto used = ((features1 | features2) & NUdf::EDataTypeFeatures::BigDateType)
387+
const auto used = ((features1 | features2) & NUdf::EDataTypeFeatures::ExtDateType)
388388
? NewDataType(NUdf::EDataSlot::Interval64)
389389
: NewDataType(NUdf::EDataSlot::Interval);
390390
return isOptional ? NewOptionalType(used) : used;

yql/essentials/public/udf/udf_data_type.h

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -45,16 +45,9 @@ enum EDataTypeFeatures : ui32 {
4545
TzDateType = 1u << 27,
4646
DecimalType = 1u << 28,
4747
TimeIntervalType = 1u << 29,
48-
// FIXME: Remove, when no entries in the code are left.
49-
BigDateType = 1u << 30,
5048
ExtDateType = 1u << 30,
5149
};
5250

53-
// FIXME: This static assert is vital for renaming BigDateType
54-
// flag into ExtDateType to be in sync with naming in docs.
55-
// Remove this assert, only when BigDateType flags is removed.
56-
static_assert(ExtDateType == BigDateType);
57-
5851
template <typename T>
5952
struct TDataType;
6053

yql/essentials/udfs/common/datetime2/datetime_udf.cpp

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -268,7 +268,7 @@ class TToUnits {
268268

269269
builder.Args()->Add(argsTuple.GetElementType(0));
270270
const TType* retType;
271-
if (features & NUdf::BigDateType) {
271+
if (features & NUdf::ExtDateType) {
272272
retType = builder.SimpleType<TWResult>();
273273
} else if (features & NUdf::TimeIntervalType) {
274274
retType = builder.SimpleType<TSignedResult>();
@@ -286,7 +286,7 @@ class TToUnits {
286286
}
287287

288288
builder.Returns(retType);
289-
if (!(features & NUdf::BigDateType)) {
289+
if (!(features & NUdf::ExtDateType)) {
290290
// FIXME: Only non-wide overloads support block rewrite now.
291291
builder.SupportsBlocks();
292292
}
@@ -449,7 +449,7 @@ struct TGetTimeComponent {
449449
}
450450

451451
const auto features = NUdf::GetDataTypeInfo(NUdf::GetDataSlot(data.GetTypeId())).Features;
452-
if (features & NUdf::BigDateType) {
452+
if (features & NUdf::ExtDateType) {
453453
// FIXME: The condition below is required to untie the
454454
// Gordian knot with the upgrade, when two MiniKQL
455455
// runtimes with different versions are being used.
@@ -856,7 +856,7 @@ TUnboxedValuePod DoAddYears(const TUnboxedValuePod& date, i64 years, const NUdf:
856856
}
857857
} else {
858858
builder.Args()->Add<TUserDataType>().Flags(ICallablePayload::TArgumentFlags::AutoMap);
859-
if constexpr (NUdf::TDataType<TUserDataType>::Features & NYql::NUdf::BigDateType) {
859+
if constexpr (NUdf::TDataType<TUserDataType>::Features & NYql::NUdf::ExtDateType) {
860860
builder.Returns(builder.Resource(TM64ResourceName));
861861
} else {
862862
builder.Returns(builder.Resource(TMResourceName));
@@ -1384,7 +1384,7 @@ class TGetDateComponent: public ::NYql::NUdf::TBoxedValue {
13841384
}
13851385

13861386
const auto features = NUdf::GetDataTypeInfo(NUdf::GetDataSlot(data.GetTypeId())).Features;
1387-
if (features & NUdf::BigDateType) {
1387+
if (features & NUdf::ExtDateType) {
13881388
// FIXME: The condition below is required to untie the
13891389
// Gordian knot with the upgrade, when two MiniKQL
13901390
// runtimes with different versions are being used.
@@ -1515,7 +1515,7 @@ class TGetDateComponentName: public ::NYql::NUdf::TBoxedValue {
15151515
}
15161516

15171517
const auto features = NUdf::GetDataTypeInfo(NUdf::GetDataSlot(data.GetTypeId())).Features;
1518-
if (features & NUdf::BigDateType) {
1518+
if (features & NUdf::ExtDateType) {
15191519
// FIXME: The condition below is required to untie the
15201520
// Gordian knot with the upgrade, when two MiniKQL
15211521
// runtimes with different versions are being used.
@@ -1763,7 +1763,7 @@ TUnboxedValue GetTimezoneName(const IValueBuilder* valueBuilder, const TUnboxedV
17631763
}
17641764

17651765
const auto features = NUdf::GetDataTypeInfo(NUdf::GetDataSlot(data.GetTypeId())).Features;
1766-
if (features & NUdf::BigDateType) {
1766+
if (features & NUdf::ExtDateType) {
17671767
// FIXME: The condition below is required to untie the
17681768
// Gordian knot with the upgrade, when two MiniKQL
17691769
// runtimes with different versions are being used.
@@ -2022,7 +2022,7 @@ class TToConverter : public TBoxedValue {
20222022

20232023
const auto features = NUdf::GetDataTypeInfo(NUdf::GetDataSlot(data.GetTypeId())).Features;
20242024
if (features & NUdf::TimeIntervalType) {
2025-
if (features & NUdf::BigDateType) {
2025+
if (features & NUdf::ExtDateType) {
20262026
BuildSignature<TInterval64, TWResult>(builder, typesOnly);
20272027
} else {
20282028
BuildSignature<TInterval, TResult>(builder, typesOnly);
@@ -2147,7 +2147,7 @@ class TBoundaryOf: public ::NYql::NUdf::TBoxedValue {
21472147
}
21482148

21492149
const auto features = NUdf::GetDataTypeInfo(NUdf::GetDataSlot(data.GetTypeId())).Features;
2150-
if (features & NUdf::BigDateType) {
2150+
if (features & NUdf::ExtDateType) {
21512151
// FIXME: The condition below is required to untie the
21522152
// Gordian knot with the upgrade, when two MiniKQL
21532153
// runtimes with different versions are being used.
@@ -2497,7 +2497,7 @@ class TBoundaryOfInterval: public ::NYql::NUdf::TBoxedValue {
24972497
}
24982498

24992499
const auto features = NUdf::GetDataTypeInfo(NUdf::GetDataSlot(data.GetTypeId())).Features;
2500-
if (features & NUdf::BigDateType) {
2500+
if (features & NUdf::ExtDateType) {
25012501
BuildSignature<TM64ResourceName, WBoundary>(builder, typesOnly);
25022502
return true;
25032503
}
@@ -2619,7 +2619,7 @@ class TTimeOfDay: public ::NYql::NUdf::TBoxedValue {
26192619
}
26202620

26212621
const auto features = NUdf::GetDataTypeInfo(NUdf::GetDataSlot(data.GetTypeId())).Features;
2622-
if (features & NUdf::BigDateType) {
2622+
if (features & NUdf::ExtDateType) {
26232623
BuildSignature<TM64ResourceName>(builder, typesOnly);
26242624
return true;
26252625
}
@@ -2746,7 +2746,7 @@ class TShift : public TBoxedValue {
27462746
}
27472747

27482748
const auto features = NUdf::GetDataTypeInfo(NUdf::GetDataSlot(data.GetTypeId())).Features;
2749-
if (features & NUdf::BigDateType) {
2749+
if (features & NUdf::ExtDateType) {
27502750
// FIXME: The condition below is required to untie the
27512751
// Gordian knot with the upgrade, when two MiniKQL
27522752
// runtimes with different versions are being used.

0 commit comments

Comments
 (0)