@@ -151,11 +151,11 @@ Y_UNIT_TEST_SUITE(KqpKv) {
151
151
auto res = FormatResultSetYson (selectResult.GetResultSet ());
152
152
CompareYson (R"(
153
153
[
154
- [1858343823u;0u; "abcde"];
155
- [1921763476782200957u;1u; "abcde"];
156
- [3843526951706058091u;2u; "abcde"];
157
- [5765290426629915225u;3u; "abcde"];
158
- [7687053901553772359u;4u; "abcde"]
154
+ [[ 1858343823u];[0u];[ "abcde"] ];
155
+ [[ 1921763476782200957u];[1u];[ "abcde"] ];
156
+ [[ 3843526951706058091u];[2u];[ "abcde"] ];
157
+ [[ 5765290426629915225u];[3u];[ "abcde"] ];
158
+ [[ 7687053901553772359u];[4u];[ "abcde"] ]
159
159
]
160
160
)" , TString{res});
161
161
}
@@ -262,11 +262,11 @@ Y_UNIT_TEST_SUITE(KqpKv) {
262
262
UNIT_ASSERT_C (selectResult.IsSuccess (), selectResult.GetIssues ().ToString ());
263
263
auto res = FormatResultSetYson (selectResult.GetResultSet ());
264
264
CompareYson (R"( [
265
- [10u;0u; "abcde"];
266
- [11u;1u; "abcde"];
267
- [12u;2u; "abcde"];
268
- [13u;3u; "abcde"];
269
- [14u;4u; "abcde"]
265
+ [[ 10u];[0u];[ "abcde"] ];
266
+ [[ 11u];[1u];[ "abcde"] ];
267
+ [[ 12u];[2u];[ "abcde"] ];
268
+ [[ 13u];[3u];[ "abcde"] ];
269
+ [[ 14u];[4u];[ "abcde"] ]
270
270
])" , TString{res});
271
271
}
272
272
{
@@ -363,7 +363,7 @@ Y_UNIT_TEST_SUITE(KqpKv) {
363
363
UNIT_ASSERT_C (selectResult.IsSuccess (), selectResult.GetIssues ().ToString ());
364
364
365
365
auto res = FormatResultSetYson (selectResult.GetResultSet ());
366
- CompareYson (Sprintf (" [[%du; %du]]" , valueToReturn_1, valueToReturn_2), TString{res});
366
+ CompareYson (Sprintf (" [[[ %du];[ %du] ]]" , valueToReturn_1, valueToReturn_2), TString{res});
367
367
}
368
368
369
369
TVector<::ReadRowsPgParam> readRowsPgParams
@@ -729,9 +729,9 @@ Y_UNIT_TEST_SUITE(KqpKv) {
729
729
auto res = FormatResultSetYson (selectResult.GetResultSet ());
730
730
CompareYson (R"(
731
731
[
732
- ["0.123456789"; "0.123456789"; "0.123456789"; "0.123456789";0u ];
733
- ["1.123456789"; "1000.123456789"; "10.123456789"; "1000000.123456789";1u ];
734
- ["2.123456789"; "2000.123456789"; "20.123456789"; "2000000.123456789";2u ]
732
+ [[ "0.123456789"];[ "0.123456789"];[ "0.123456789"];[ "0.123456789"];[0u] ];
733
+ [[ "1.123456789"];[ "1000.123456789"];[ "10.123456789"];[ "1000000.123456789"];[1u] ];
734
+ [[ "2.123456789"];[ "2000.123456789"];[ "20.123456789"];[ "2000000.123456789"];[2u] ]
735
735
]
736
736
)" , TString{res});
737
737
}
@@ -749,10 +749,64 @@ Y_UNIT_TEST_SUITE(KqpKv) {
749
749
auto selectResult = db.ReadRows (" /Root/TestTable" , keys.Build ()).GetValueSync ();
750
750
UNIT_ASSERT_C (selectResult.IsSuccess (), selectResult.GetIssues ().ToString ());
751
751
auto res = FormatResultSetYson (selectResult.GetResultSet ());
752
- CompareYson (R"( [["inf"; "inf"; "inf"; "inf"; 999999999u];])" , TString{res});
752
+ CompareYson (R"( [[[ "inf"];[ "inf"];[ "inf"];[ "inf"];[ 999999999u] ];])" , TString{res});
753
753
}
754
754
}
755
755
756
+ Y_UNIT_TEST (ReadRows_Nulls) {
757
+ auto settings = TKikimrSettings ()
758
+ .SetWithSampleTables (false );
759
+ auto kikimr = TKikimrRunner{settings};
760
+ auto db = kikimr.GetTableClient ();
761
+ auto session = db.CreateSession ().GetValueSync ().GetSession ();
762
+
763
+ auto schemeResult = session.ExecuteSchemeQuery (R"(
764
+ CREATE TABLE TestTable (
765
+ Key Uint64,
766
+ Data Uint32,
767
+ Value Utf8,
768
+ PRIMARY KEY (Key)
769
+ );
770
+ )" ).GetValueSync ();
771
+ UNIT_ASSERT_C (schemeResult.IsSuccess (), schemeResult.GetIssues ().ToString ());
772
+
773
+ NYdb::TValueBuilder rows;
774
+ rows.BeginList ();
775
+ for (size_t i = 0 ; i < 5 ; ++i) {
776
+ rows.AddListItem ()
777
+ .BeginStruct ()
778
+ .AddMember (" Key" ).Uint64 (i * 1921763474923857134ull + 1858343823 )
779
+ .EndStruct ();
780
+ }
781
+ rows.EndList ();
782
+
783
+ auto upsertResult = db.BulkUpsert (" /Root/TestTable" , rows.Build ()).GetValueSync ();
784
+ UNIT_ASSERT_C (upsertResult.IsSuccess (), upsertResult.GetIssues ().ToString ());
785
+
786
+ NYdb::TValueBuilder keys;
787
+ keys.BeginList ();
788
+ for (size_t i = 0 ; i < 5 ; ++i) {
789
+ keys.AddListItem ()
790
+ .BeginStruct ()
791
+ .AddMember (" Key" ).Uint64 (i * 1921763474923857134ull + 1858343823 )
792
+ .EndStruct ();
793
+ }
794
+ keys.EndList ();
795
+ auto selectResult = db.ReadRows (" /Root/TestTable" , keys.Build ()).GetValueSync ();
796
+ Cerr << " IsSuccess(): " << selectResult.IsSuccess () << " GetStatus(): " << selectResult.GetStatus () << Endl;
797
+ UNIT_ASSERT_C (selectResult.IsSuccess (), selectResult.GetIssues ().ToString ());
798
+ auto res = FormatResultSetYson (selectResult.GetResultSet ());
799
+ CompareYson (R"(
800
+ [
801
+ [[1858343823u];#;#];
802
+ [[1921763476782200957u];#;#];
803
+ [[3843526951706058091u];#;#];
804
+ [[5765290426629915225u];#;#];
805
+ [[7687053901553772359u];#;#]
806
+ ]
807
+ )" , TString{res});
808
+ }
809
+
756
810
757
811
}
758
812
0 commit comments