@@ -262,7 +262,13 @@ struct TGetTimeComponent {
262
262
}
263
263
264
264
if (!userType) {
265
- builder.SetError (" User type is missing" );
265
+ // XXX: Function became polymorphic when overload for
266
+ // wide resources was implemented. Hence, to make it
267
+ // backward compatible with previous versions, the
268
+ // absence of the userType is considered as using the
269
+ // old version (i.e. without type awareness) that
270
+ // provides implementation only for narrow dates.
271
+ BuildSignature<TFieldStorage, TMResourceName, Accessor>(builder, typesOnly);
266
272
return true ;
267
273
}
268
274
@@ -1099,7 +1105,13 @@ class TGetDateComponent: public ::NYql::NUdf::TBoxedValue {
1099
1105
}
1100
1106
1101
1107
if (!userType) {
1102
- builder.SetError (" User type is missing" );
1108
+ // XXX: Function became polymorphic when overload for
1109
+ // wide resources was implemented. Hence, to make it
1110
+ // backward compatible with previous versions, the
1111
+ // absence of the userType is considered as using the
1112
+ // old version (i.e. without type awareness) that
1113
+ // provides implementation only for narrow dates.
1114
+ BuildSignature<TResultType, TMResourceName, Accessor>(builder, typesOnly);
1103
1115
return true ;
1104
1116
}
1105
1117
@@ -1207,7 +1219,13 @@ class TGetDateComponentName: public ::NYql::NUdf::TBoxedValue {
1207
1219
}
1208
1220
1209
1221
if (!userType) {
1210
- builder.SetError (" User type is missing" );
1222
+ // XXX: Function became polymorphic when overload for
1223
+ // wide resources was implemented. Hence, to make it
1224
+ // backward compatible with previous versions, the
1225
+ // absence of the userType is considered as using the
1226
+ // old version (i.e. without type awareness) that
1227
+ // provides implementation only for narrow dates.
1228
+ BuildSignature<TMResourceName, Accessor>(builder, typesOnly);
1211
1229
return true ;
1212
1230
}
1213
1231
@@ -1441,7 +1459,13 @@ TUnboxedValue GetTimezoneName(const IValueBuilder* valueBuilder, const TUnboxedV
1441
1459
}
1442
1460
1443
1461
if (!userType) {
1444
- builder.SetError (" User type is missing" );
1462
+ // XXX: Function became polymorphic when overload for
1463
+ // wide resources was implemented. Hence, to make it
1464
+ // backward compatible with previous versions, the
1465
+ // absence of the userType is considered as using the
1466
+ // old version (i.e. without type awareness) that
1467
+ // provides implementation only for narrow dates.
1468
+ BuildSignature<TMResourceName>(builder, typesOnly);
1445
1469
return true ;
1446
1470
}
1447
1471
@@ -1737,7 +1761,13 @@ class TBoundaryOf: public ::NYql::NUdf::TBoxedValue {
1737
1761
}
1738
1762
1739
1763
if (!userType) {
1740
- builder.SetError (" User type is missing" );
1764
+ // XXX: Function became polymorphic when overload for
1765
+ // wide resources was implemented. Hence, to make it
1766
+ // backward compatible with previous versions, the
1767
+ // absence of the userType is considered as using the
1768
+ // old version (i.e. without type awareness) that
1769
+ // provides implementation only for narrow dates.
1770
+ BuildSignature<TMResourceName, Boundary>(builder, typesOnly);
1741
1771
return true ;
1742
1772
}
1743
1773
@@ -2112,7 +2142,13 @@ class TShift : public TBoxedValue {
2112
2142
}
2113
2143
2114
2144
if (!userType) {
2115
- builder.SetError (" User type is missing" );
2145
+ // XXX: Function became polymorphic when overload for
2146
+ // wide resources was implemented. Hence, to make it
2147
+ // backward compatible with previous versions, the
2148
+ // absence of the userType is considered as using the
2149
+ // old version (i.e. without type awareness) that
2150
+ // provides implementation only for narrow dates.
2151
+ BuildSignature<TMResourceName, Shifter>(builder, typesOnly);
2116
2152
return true ;
2117
2153
}
2118
2154
0 commit comments