@@ -3533,6 +3533,85 @@ Y_UNIT_TEST_SUITE(KqpQueryService) {
3533
3533
}
3534
3534
}
3535
3535
3536
+ Y_UNIT_TEST (ReadDatashardAndColumnshard) {
3537
+ NKikimrConfig::TAppConfig appConfig;
3538
+ appConfig.MutableTableServiceConfig ()->SetEnableOlapSink (false );
3539
+ appConfig.MutableTableServiceConfig ()->SetEnableOltpSink (false );
3540
+ auto settings = TKikimrSettings ()
3541
+ .SetAppConfig (appConfig)
3542
+ .SetWithSampleTables (false );
3543
+
3544
+ TKikimrRunner kikimr (settings);
3545
+ Tests::NCommon::TLoggerInit (kikimr).Initialize ();
3546
+
3547
+ // auto session = kikimr.GetTableClient().CreateSession().GetValueSync().GetSession();
3548
+ auto client = kikimr.GetQueryClient ();
3549
+
3550
+ {
3551
+ auto createTable = client.ExecuteQuery (R"sql(
3552
+ CREATE TABLE `/Root/DataShard` (
3553
+ Col1 Uint64 NOT NULL,
3554
+ Col2 Int32,
3555
+ Col3 String,
3556
+ PRIMARY KEY (Col1)
3557
+ ) WITH (
3558
+ STORE = ROW,
3559
+ AUTO_PARTITIONING_MIN_PARTITIONS_COUNT = 10
3560
+ );
3561
+ CREATE TABLE `/Root/ColumnShard` (
3562
+ Col1 Uint64 NOT NULL,
3563
+ Col2 Int32,
3564
+ Col3 String,
3565
+ PRIMARY KEY (Col1)
3566
+ ) WITH (
3567
+ STORE = COLUMN,
3568
+ AUTO_PARTITIONING_MIN_PARTITIONS_COUNT = 10
3569
+ );
3570
+ )sql" , NYdb::NQuery::TTxControl::NoTx ()).ExtractValueSync ();
3571
+ UNIT_ASSERT_C (createTable.IsSuccess (), createTable.GetIssues ().ToString ());
3572
+ }
3573
+
3574
+ {
3575
+ auto replaceValues = client.ExecuteQuery (R"sql(
3576
+ REPLACE INTO `/Root/DataShard` (Col1, Col2, Col3) VALUES
3577
+ (1u, "row", 1);
3578
+ )sql" , NYdb::NQuery::TTxControl::BeginTx ().CommitTx ()).ExtractValueSync ();
3579
+ UNIT_ASSERT_C (replaceValues.IsSuccess (), replaceValues.GetIssues ().ToString ());
3580
+ }
3581
+
3582
+ {
3583
+ auto replaceValues = client.ExecuteQuery (R"sql(
3584
+ REPLACE INTO `/Root/ColumnShard` (Col1, Col2, Col3) VALUES
3585
+ (2u, "column", 2);
3586
+ )sql" , NYdb::NQuery::TTxControl::BeginTx ().CommitTx ()).ExtractValueSync ();
3587
+ UNIT_ASSERT_C (replaceValues.IsSuccess (), replaceValues.GetIssues ().ToString ());
3588
+ }
3589
+
3590
+ {
3591
+ auto it = client.StreamExecuteQuery (R"sql(
3592
+ SELECT * FROM `/Root/ColumnShard`;
3593
+ )sql" , NYdb::NQuery::TTxControl::BeginTx ().CommitTx ()).ExtractValueSync ();
3594
+ UNIT_ASSERT_VALUES_EQUAL_C (it.GetStatus (), EStatus::SUCCESS, it.GetIssues ().ToString ());
3595
+ TString output = StreamResultToYson (it);
3596
+ CompareYson (
3597
+ output,
3598
+ R"( [])" );
3599
+ }
3600
+
3601
+ {
3602
+ auto it = client.StreamExecuteQuery (R"sql(
3603
+ SELECT * FROM `/Root/DataShard`;
3604
+ UNION
3605
+ SELECT * FROM `/Root/ColumnShard`;
3606
+ )sql" , NYdb::NQuery::TTxControl::BeginTx ().CommitTx ()).ExtractValueSync ();
3607
+ UNIT_ASSERT_VALUES_EQUAL_C (it.GetStatus (), EStatus::SUCCESS, it.GetIssues ().ToString ());
3608
+ TString output = StreamResultToYson (it);
3609
+ CompareYson (
3610
+ output,
3611
+ R"( [])" );
3612
+ }
3613
+ }
3614
+
3536
3615
Y_UNIT_TEST (ReplaceIntoWithDefaultValue) {
3537
3616
NKikimrConfig::TAppConfig appConfig;
3538
3617
appConfig.MutableTableServiceConfig ()->SetEnableOlapSink (false );
0 commit comments