@@ -623,6 +623,10 @@ Y_UNIT_TEST_SUITE(KqpParams) {
623
623
.AddParam (" $ParamTzDate" ).TzDate (" 2022-03-14,GMT" ).Build ()
624
624
.AddParam (" $ParamTzDateTime" ).TzDatetime (" 2022-03-14T00:00:00,GMT" ).Build ()
625
625
.AddParam (" $ParamTzTimestamp" ).TzTimestamp (" 2022-03-14T00:00:00.123,GMT" ).Build ()
626
+ .AddParam (" $ParamDate32" ).Date32 (-17158 ).Build ()
627
+ .AddParam (" $ParamDatetime64" ).Datetime64 (TInstant::ParseIso8601 (" 2020-01-11 15:04:53" ).Seconds ()).Build ()
628
+ .AddParam (" $ParamTimestamp64" ).Timestamp64 (TInstant::ParseIso8601 (" 2020-01-12 21:18:37" ).MicroSeconds ()).Build ()
629
+ .AddParam (" $ParamInterval64" ).Interval64 (3600 ).Build ()
626
630
.AddParam (" $ParamOpt" ).OptionalString (" Opt" ).Build ()
627
631
.AddParam (" $ParamTuple" )
628
632
.BeginTuple ()
@@ -685,6 +689,10 @@ Y_UNIT_TEST_SUITE(KqpParams) {
685
689
DECLARE $ParamTzDate AS TzDate;
686
690
DECLARE $ParamTzDateTime AS TzDateTime;
687
691
DECLARE $ParamTzTimestamp AS TzTimestamp;
692
+ DECLARE $ParamDate32 AS Date32;
693
+ DECLARE $ParamDatetime64 AS Datetime64;
694
+ DECLARE $ParamTimestamp64 AS Timestamp64;
695
+ DECLARE $ParamInterval64 AS Interval64;
688
696
DECLARE $ParamOpt AS String?;
689
697
DECLARE $ParamTuple AS Tuple<Utf8, Int32>;
690
698
DECLARE $ParamList AS List<Uint64>;
@@ -717,6 +725,10 @@ Y_UNIT_TEST_SUITE(KqpParams) {
717
725
$ParamDatetime AS ValueDatetime,
718
726
$ParamTimestamp AS ValueTimestamp,
719
727
$ParamInterval AS ValueInterval,
728
+ $ParamDate32 AS ValueDate32,
729
+ $ParamDatetime64 AS ValueDatetime64,
730
+ $ParamTimestamp64 AS ValueTimestamp64,
731
+ $ParamInterval64 AS ValueInterval64,
720
732
$ParamTzDate AS ValueTzDate,
721
733
$ParamTzDateTime AS ValueTzDateTime,
722
734
$ParamTzTimestamp AS ValueTzTimestamp,
@@ -726,20 +738,19 @@ Y_UNIT_TEST_SUITE(KqpParams) {
726
738
$ParamEmptyList AS ValueEmptyList,
727
739
$ParamStruct AS ValueStruct,
728
740
$ParamDict AS ValueDict;
729
- )" ), TTxControl::BeginTx (TTxSettings::SerializableRW ()).CommitTx (), params).ExtractValueSync ();
730
-
741
+ )" ), TTxControl::BeginTx ().CommitTx (), params).ExtractValueSync ();
731
742
UNIT_ASSERT_VALUES_EQUAL_C (result.GetStatus (), EStatus::SUCCESS, result.GetIssues ().ToString ());
732
743
733
744
auto actual = ReformatYson (FormatResultSetYson (result.GetResultSet (0 )));
734
745
auto expected1 = ReformatYson (R"( [[
735
746
%true;-5;5u;-8;8u;-10;10u;-20;20u;30.5;40.5;"50.5";"655555555555555.5";"9";".605e2";"StringValue";"Utf8Value";"[{Value=50}]";
736
- "[{\"Value\":60}]";"[{\"Value\":70}]";18271u;1578755093u;1578863917000000u;3600;"2022-03-14,GMT";
747
+ "[{\"Value\":60}]";"[{\"Value\":70}]";18271u;1578755093u;1578863917000000u;3600;-17158;1578755093;1578863917000000;3600; "2022-03-14,GMT";
737
748
"2022-03-14T00:00:00,GMT";"2022-03-14T00:00:00.123000,GMT";["Opt"];["Tuple0";1];[17u;19u];[];["Paul";-5];
738
749
[["Key2";20u];["Key1";10u]]
739
750
]])" );
740
751
auto expected2 = ReformatYson (R"( [[
741
752
%true;-5;5u;-8;8u;-10;10u;-20;20u;30.5;40.5;"50.5";"655555555555555.5";"9";".605e2";"StringValue";"Utf8Value";"[{Value=50}]";
742
- "[{\"Value\":60}]";"[{\"Value\":70}]";18271u;1578755093u;1578863917000000u;3600;"2022-03-14,GMT";
753
+ "[{\"Value\":60}]";"[{\"Value\":70}]";18271u;1578755093u;1578863917000000u;3600;-17158;1578755093;1578863917000000;3600; "2022-03-14,GMT";
743
754
"2022-03-14T00:00:00,GMT";"2022-03-14T00:00:00.123000,GMT";["Opt"];["Tuple0";1];[17u;19u];[];["Paul";-5];
744
755
[["Key1";10u];["Key2";20u]]
745
756
]])" );
@@ -864,7 +875,7 @@ Y_UNIT_TEST_SUITE(KqpParams) {
864
875
($key, $key1, $key22, $key35, $value1, $value22, $value35);
865
876
)" ), upsertParams);
866
877
UNIT_ASSERT_VALUES_EQUAL_C (status, EStatus::SUCCESS, issues);
867
- }
878
+ }
868
879
869
880
TString expected = R"( [[[1];["2"];["1234.4321"];["1555555555555555.123456789"];["9"];["123.321"];["555555555555555.123456789"]]])" ;
870
881
auto selectParams = tableClient.GetParamsBuilder ()
@@ -934,7 +945,7 @@ Y_UNIT_TEST_SUITE(KqpParams) {
934
945
UNIT_ASSERT_VALUES_EQUAL_C (status, EStatus::SUCCESS, issues);
935
946
CompareYson (expected, FormatResultSetYson (resultSet));
936
947
}
937
- }
948
+ }
938
949
939
950
// Declare wrong decimal params
940
951
{
@@ -1062,7 +1073,7 @@ Y_UNIT_TEST_SUITE(KqpParams) {
1062
1073
($key, $key1, $key22, $key35, $value1, $value22, $value35);
1063
1074
)" ), upsertParams);
1064
1075
UNIT_ASSERT_VALUES_EQUAL_C (status, EStatus::SUCCESS, issues);
1065
- }
1076
+ }
1066
1077
// Good case: select overflowed and inf decimal
1067
1078
{
1068
1079
auto emptyParams = tableClient.GetParamsBuilder ().Build ();
0 commit comments