@@ -396,7 +396,13 @@ struct TGetTimeComponent {
396
396
}
397
397
398
398
if (!userType) {
399
- builder.SetError (" User type is missing" );
399
+ // XXX: Function became polymorphic when overload for
400
+ // wide resources was implemented. Hence, to make it
401
+ // backward compatible with previous versions, the
402
+ // absence of the userType is considered as using the
403
+ // old version (i.e. without type awareness) that
404
+ // provides implementation only for narrow dates.
405
+ BuildSignature<TFieldStorage, TMResourceName, Accessor>(builder, typesOnly);
400
406
return true ;
401
407
}
402
408
@@ -1314,7 +1320,13 @@ class TGetDateComponent: public ::NYql::NUdf::TBoxedValue {
1314
1320
}
1315
1321
1316
1322
if (!userType) {
1317
- builder.SetError (" User type is missing" );
1323
+ // XXX: Function became polymorphic when overload for
1324
+ // wide resources was implemented. Hence, to make it
1325
+ // backward compatible with previous versions, the
1326
+ // absence of the userType is considered as using the
1327
+ // old version (i.e. without type awareness) that
1328
+ // provides implementation only for narrow dates.
1329
+ BuildSignature<TResultType, TMResourceName, Accessor>(builder, typesOnly);
1318
1330
return true ;
1319
1331
}
1320
1332
@@ -1417,7 +1429,13 @@ class TGetDateComponentName: public ::NYql::NUdf::TBoxedValue {
1417
1429
}
1418
1430
1419
1431
if (!userType) {
1420
- builder.SetError (" User type is missing" );
1432
+ // XXX: Function became polymorphic when overload for
1433
+ // wide resources was implemented. Hence, to make it
1434
+ // backward compatible with previous versions, the
1435
+ // absence of the userType is considered as using the
1436
+ // old version (i.e. without type awareness) that
1437
+ // provides implementation only for narrow dates.
1438
+ BuildSignature<TMResourceName, Accessor>(builder, typesOnly);
1421
1439
return true ;
1422
1440
}
1423
1441
@@ -1637,7 +1655,13 @@ TUnboxedValue GetTimezoneName(const IValueBuilder* valueBuilder, const TUnboxedV
1637
1655
}
1638
1656
1639
1657
if (!userType) {
1640
- builder.SetError (" User type is missing" );
1658
+ // XXX: Function became polymorphic when overload for
1659
+ // wide resources was implemented. Hence, to make it
1660
+ // backward compatible with previous versions, the
1661
+ // absence of the userType is considered as using the
1662
+ // old version (i.e. without type awareness) that
1663
+ // provides implementation only for narrow dates.
1664
+ BuildSignature<TMResourceName>(builder, typesOnly);
1641
1665
return true ;
1642
1666
}
1643
1667
@@ -1869,7 +1893,13 @@ class TToConverter : public TBoxedValue {
1869
1893
}
1870
1894
1871
1895
if (!userType) {
1872
- builder.SetError (" User type is missing" );
1896
+ // XXX: Function became polymorphic when overload for
1897
+ // wide resources was implemented. Hence, to make it
1898
+ // backward compatible with previous versions, the
1899
+ // absence of the userType is considered as using the
1900
+ // old version (i.e. without type awareness) that
1901
+ // provides implementation only for narrow dates.
1902
+ BuildSignature<TInterval, TResult>(builder, typesOnly);
1873
1903
return true ;
1874
1904
}
1875
1905
@@ -1987,7 +2017,13 @@ class TBoundaryOf: public ::NYql::NUdf::TBoxedValue {
1987
2017
}
1988
2018
1989
2019
if (!userType) {
1990
- builder.SetError (" User type is missing" );
2020
+ // XXX: Function became polymorphic when overload for
2021
+ // wide resources was implemented. Hence, to make it
2022
+ // backward compatible with previous versions, the
2023
+ // absence of the userType is considered as using the
2024
+ // old version (i.e. without type awareness) that
2025
+ // provides implementation only for narrow dates.
2026
+ BuildSignature<TMResourceName, Boundary>(builder, typesOnly);
1991
2027
return true ;
1992
2028
}
1993
2029
@@ -2309,7 +2345,13 @@ class TBoundaryOfInterval: public ::NYql::NUdf::TBoxedValue {
2309
2345
}
2310
2346
2311
2347
if (!userType) {
2312
- builder.SetError (" User type is missing" );
2348
+ // XXX: Function became polymorphic when overload for
2349
+ // wide resources was implemented. Hence, to make it
2350
+ // backward compatible with previous versions, the
2351
+ // absence of the userType is considered as using the
2352
+ // old version (i.e. without type awareness) that
2353
+ // provides implementation only for narrow dates.
2354
+ BuildSignature<TMResourceName, Boundary>(builder, typesOnly);
2313
2355
return true ;
2314
2356
}
2315
2357
@@ -2425,7 +2467,13 @@ class TTimeOfDay: public ::NYql::NUdf::TBoxedValue {
2425
2467
}
2426
2468
2427
2469
if (!userType) {
2428
- builder.SetError (" User type is missing" );
2470
+ // XXX: Function became polymorphic when overload for
2471
+ // wide resources was implemented. Hence, to make it
2472
+ // backward compatible with previous versions, the
2473
+ // absence of the userType is considered as using the
2474
+ // old version (i.e. without type awareness) that
2475
+ // provides implementation only for narrow dates.
2476
+ BuildSignature<TMResourceName>(builder, typesOnly);
2429
2477
return true ;
2430
2478
}
2431
2479
@@ -2546,7 +2594,13 @@ class TShift : public TBoxedValue {
2546
2594
}
2547
2595
2548
2596
if (!userType) {
2549
- builder.SetError (" User type is missing" );
2597
+ // XXX: Function became polymorphic when overload for
2598
+ // wide resources was implemented. Hence, to make it
2599
+ // backward compatible with previous versions, the
2600
+ // absence of the userType is considered as using the
2601
+ // old version (i.e. without type awareness) that
2602
+ // provides implementation only for narrow dates.
2603
+ BuildSignature<TMResourceName, Shifter>(builder, typesOnly);
2550
2604
return true ;
2551
2605
}
2552
2606
0 commit comments