@@ -152,11 +152,11 @@ Y_UNIT_TEST_SUITE(KqpKv) {
152152 auto res = FormatResultSetYson (selectResult.GetResultSet ());
153153 CompareYson (R"(
154154 [
155- [1858343823u;0u; "abcde"];
156- [1921763476782200957u;1u; "abcde"];
157- [3843526951706058091u;2u; "abcde"];
158- [5765290426629915225u;3u; "abcde"];
159- [7687053901553772359u;4u; "abcde"]
155+ [[ 1858343823u];[0u];[ "abcde"] ];
156+ [[ 1921763476782200957u];[1u];[ "abcde"] ];
157+ [[ 3843526951706058091u];[2u];[ "abcde"] ];
158+ [[ 5765290426629915225u];[3u];[ "abcde"] ];
159+ [[ 7687053901553772359u];[4u];[ "abcde"] ]
160160 ]
161161 )" , TString{res});
162162 }
@@ -263,11 +263,11 @@ Y_UNIT_TEST_SUITE(KqpKv) {
263263 UNIT_ASSERT_C (selectResult.IsSuccess (), selectResult.GetIssues ().ToString ());
264264 auto res = FormatResultSetYson (selectResult.GetResultSet ());
265265 CompareYson (R"( [
266- [10u;0u; "abcde"];
267- [11u;1u; "abcde"];
268- [12u;2u; "abcde"];
269- [13u;3u; "abcde"];
270- [14u;4u; "abcde"]
266+ [[ 10u];[0u];[ "abcde"] ];
267+ [[ 11u];[1u];[ "abcde"] ];
268+ [[ 12u];[2u];[ "abcde"] ];
269+ [[ 13u];[3u];[ "abcde"] ];
270+ [[ 14u];[4u];[ "abcde"] ]
271271 ])" , TString{res});
272272 }
273273 {
@@ -364,7 +364,7 @@ Y_UNIT_TEST_SUITE(KqpKv) {
364364 UNIT_ASSERT_C (selectResult.IsSuccess (), selectResult.GetIssues ().ToString ());
365365
366366 auto res = FormatResultSetYson (selectResult.GetResultSet ());
367- CompareYson (Sprintf (" [[%du; %du]]" , valueToReturn_1, valueToReturn_2), TString{res});
367+ CompareYson (Sprintf (" [[[ %du];[ %du] ]]" , valueToReturn_1, valueToReturn_2), TString{res});
368368 }
369369
370370 Y_UNIT_TEST_TWIN (ReadRows_ExternalBlobs, NewPrecharge) {
@@ -813,9 +813,9 @@ Y_UNIT_TEST_SUITE(KqpKv) {
813813 auto res = FormatResultSetYson (selectResult.GetResultSet ());
814814 CompareYson (R"(
815815 [
816- ["0.123456789"; "0.123456789"; "0.123456789"; "0.123456789";0u ];
817- ["1.123456789"; "1000.123456789"; "10.123456789"; "1000000.123456789";1u ];
818- ["2.123456789"; "2000.123456789"; "20.123456789"; "2000000.123456789";2u ]
816+ [[ "0.123456789"];[ "0.123456789"];[ "0.123456789"];[ "0.123456789"];[0u] ];
817+ [[ "1.123456789"];[ "1000.123456789"];[ "10.123456789"];[ "1000000.123456789"];[1u] ];
818+ [[ "2.123456789"];[ "2000.123456789"];[ "20.123456789"];[ "2000000.123456789"];[2u] ]
819819 ]
820820 )" , TString{res});
821821 }
@@ -833,10 +833,64 @@ Y_UNIT_TEST_SUITE(KqpKv) {
833833 auto selectResult = db.ReadRows (" /Root/TestTable" , keys.Build ()).GetValueSync ();
834834 UNIT_ASSERT_C (selectResult.IsSuccess (), selectResult.GetIssues ().ToString ());
835835 auto res = FormatResultSetYson (selectResult.GetResultSet ());
836- CompareYson (R"( [["inf"; "inf"; "inf"; "inf"; 999999999u];])" , TString{res});
836+ CompareYson (R"( [[[ "inf"];[ "inf"];[ "inf"];[ "inf"];[ 999999999u] ];])" , TString{res});
837837 }
838838 }
839839
840+ Y_UNIT_TEST (ReadRows_Nulls) {
841+ auto settings = TKikimrSettings ()
842+ .SetWithSampleTables (false );
843+ auto kikimr = TKikimrRunner{settings};
844+ auto db = kikimr.GetTableClient ();
845+ auto session = db.CreateSession ().GetValueSync ().GetSession ();
846+
847+ auto schemeResult = session.ExecuteSchemeQuery (R"(
848+ CREATE TABLE TestTable (
849+ Key Uint64,
850+ Data Uint32,
851+ Value Utf8,
852+ PRIMARY KEY (Key)
853+ );
854+ )" ).GetValueSync ();
855+ UNIT_ASSERT_C (schemeResult.IsSuccess (), schemeResult.GetIssues ().ToString ());
856+
857+ NYdb::TValueBuilder rows;
858+ rows.BeginList ();
859+ for (size_t i = 0 ; i < 5 ; ++i) {
860+ rows.AddListItem ()
861+ .BeginStruct ()
862+ .AddMember (" Key" ).Uint64 (i * 1921763474923857134ull + 1858343823 )
863+ .EndStruct ();
864+ }
865+ rows.EndList ();
866+
867+ auto upsertResult = db.BulkUpsert (" /Root/TestTable" , rows.Build ()).GetValueSync ();
868+ UNIT_ASSERT_C (upsertResult.IsSuccess (), upsertResult.GetIssues ().ToString ());
869+
870+ NYdb::TValueBuilder keys;
871+ keys.BeginList ();
872+ for (size_t i = 0 ; i < 5 ; ++i) {
873+ keys.AddListItem ()
874+ .BeginStruct ()
875+ .AddMember (" Key" ).Uint64 (i * 1921763474923857134ull + 1858343823 )
876+ .EndStruct ();
877+ }
878+ keys.EndList ();
879+ auto selectResult = db.ReadRows (" /Root/TestTable" , keys.Build ()).GetValueSync ();
880+ Cerr << " IsSuccess(): " << selectResult.IsSuccess () << " GetStatus(): " << selectResult.GetStatus () << Endl;
881+ UNIT_ASSERT_C (selectResult.IsSuccess (), selectResult.GetIssues ().ToString ());
882+ auto res = FormatResultSetYson (selectResult.GetResultSet ());
883+ CompareYson (R"(
884+ [
885+ [[1858343823u];#;#];
886+ [[1921763476782200957u];#;#];
887+ [[3843526951706058091u];#;#];
888+ [[5765290426629915225u];#;#];
889+ [[7687053901553772359u];#;#]
890+ ]
891+ )" , TString{res});
892+ }
893+
840894
841895}
842896
0 commit comments