@@ -131,6 +131,49 @@ NKikimrConfig::TAppConfig GetAppConfig() {
131
131
return appConfig;
132
132
}
133
133
134
+ void CreateExtTable (const TServerSettings& settings, ui32 shards = 2 ,
135
+ const TString& storeName = TTestOlap::StoreName, const TString& tableName = TTestOlap::TableName) {
136
+ TString tableDescr = Sprintf (R"(
137
+ Name: "%s"
138
+ ColumnShardCount: 4
139
+ SchemaPresets {
140
+ Name: "default"
141
+ Schema {
142
+ Columns { Name: "timestamp" Type: "Timestamp" NotNull : true }
143
+ Columns { Name: "resource_type" Type: "Utf8" }
144
+ Columns { Name: "resource_id" Type: "Utf8" }
145
+ Columns { Name: "uid" Type: "Utf8" NotNull : true }
146
+ Columns { Name: "level" Type: "Int32" }
147
+ Columns { Name: "message" Type: "Utf8" }
148
+ Columns { Name: "json_payload" Type: "JsonDocument" }
149
+ Columns { Name: "ingested_at" Type: "Timestamp" }
150
+ Columns { Name: "saved_at" Type: "Timestamp" }
151
+ Columns { Name: "request_id" Type: "Utf8" }
152
+ Columns { Name: "flt" Type: "Float" }
153
+ Columns { Name: "dbl" Type: "Double" }
154
+ KeyColumnNames: "timestamp"
155
+ KeyColumnNames: "uid"
156
+ }
157
+ }
158
+ )" , storeName.c_str ());
159
+
160
+ TClient annoyingClient (settings);
161
+ annoyingClient.SetSecurityToken (" root@builtin" );
162
+ NMsgBusProxy::EResponseStatus status = annoyingClient.CreateOlapStore (" /Root" , tableDescr);
163
+ UNIT_ASSERT_VALUES_EQUAL (status, NMsgBusProxy::EResponseStatus::MSTATUS_OK);
164
+ status = annoyingClient.CreateColumnTable (" /Root" , Sprintf (R"(
165
+ Name: "%s/%s"
166
+ ColumnShardCount : %d
167
+ Sharding {
168
+ HashSharding {
169
+ Function: HASH_FUNCTION_CLOUD_LOGS
170
+ Columns: ["timestamp", "uid"]
171
+ }
172
+ }
173
+ )" , storeName.c_str (), tableName.c_str (), shards));
174
+ UNIT_ASSERT_VALUES_EQUAL (status, NMsgBusProxy::EResponseStatus::MSTATUS_OK);
175
+ }
176
+
134
177
}
135
178
136
179
Y_UNIT_TEST_SUITE (YdbTableBulkUpsertOlap) {
@@ -580,7 +623,7 @@ Y_UNIT_TEST_SUITE(YdbTableBulkUpsertOlap) {
580
623
TKikimrWithGrpcAndRootSchema server (GetAppConfig ());
581
624
server.Server_ ->GetRuntime ()->SetLogPriority (NKikimrServices::TX_COLUMNSHARD, NActors::NLog::PRI_DEBUG);
582
625
583
- TTestOlap::CreateTable (*server.ServerSettings );
626
+ TTestOlap::CreateTable (*server.ServerSettings ); // 2 shards
584
627
585
628
ui16 grpc = server.GetPort ();
586
629
TString location = TStringBuilder () << " localhost:" << grpc;
@@ -953,7 +996,7 @@ Y_UNIT_TEST_SUITE(YdbTableBulkUpsertOlap) {
953
996
TKikimrWithGrpcAndRootSchema server (GetAppConfig ());
954
997
server.Server_ ->GetRuntime ()->SetLogPriority (NKikimrServices::TX_COLUMNSHARD, NActors::NLog::PRI_DEBUG);
955
998
956
- TTestOlap::CreateTable (*server.ServerSettings );
999
+ CreateExtTable (*server.ServerSettings );
957
1000
958
1001
ui16 grpc = server.GetPort ();
959
1002
TString location = TStringBuilder () << " localhost:" << grpc;
@@ -965,8 +1008,8 @@ Y_UNIT_TEST_SUITE(YdbTableBulkUpsertOlap) {
965
1008
966
1009
{
967
1010
TString csv =
968
- " timestamp|resource_type|resource_id|uid|level|message|json_payload|ingested_at|saved_at|request_id\n "
969
- " 1970-01-01T00:00:00Z|OBJECT|123|guid|5|data|{}|1970-01-01T00:00:00Z|1970-01-01T00:00:00Z|125 " ;
1011
+ " timestamp|resource_type|resource_id|uid|level|message|json_payload|ingested_at|saved_at|request_id|flt|dbl \n "
1012
+ " 1970-01-01T00:00:00Z|OBJECT|123|guid|5|data|{\" key \" : \" value \" }|1970-01-01T00:00:00Z|1970-01-01T00:00:00Z|1250|1e-17|1e-80 " ;
970
1013
971
1014
Ydb::Formats::CsvSettings csvSettings;
972
1015
csvSettings.set_header (true );
@@ -991,14 +1034,16 @@ Y_UNIT_TEST_SUITE(YdbTableBulkUpsertOlap) {
991
1034
.BeginStruct ()
992
1035
.AddMember (" timestamp" ).OptionalTimestamp (TInstant::Now ())
993
1036
.AddMember (" resource_type" ).OptionalUtf8 (" FILE" )
994
- .AddMember (" resource_id" ).OptionalUtf8 (" 124 " )
1037
+ .AddMember (" resource_id" ).OptionalUtf8 (" 12 " )
995
1038
.AddMember (" uid" ).OptionalUtf8 (" guid7" )
996
- .AddMember (" level" ).OptionalInt32 (6 )
1039
+ .AddMember (" level" ).OptionalInt32 (687 )
997
1040
.AddMember (" message" ).OptionalUtf8 (" data2" )
998
- .AddMember (" json_payload" ).OptionalJsonDocument (" {}" )
1041
+ .AddMember (" json_payload" ).OptionalJsonDocument (" {\" key1 \" : \" value1 \" }" )
999
1042
.AddMember (" ingested_at" ).OptionalTimestamp (TInstant::Now ())
1000
1043
.AddMember (" saved_at" ).OptionalTimestamp (TInstant::Now ())
1001
1044
.AddMember (" request_id" ).OptionalUtf8 (" 126" )
1045
+ .AddMember (" flt" ).OptionalFloat (23.0 )
1046
+ .AddMember (" dbl" ).OptionalDouble (1e+113 )
1002
1047
.EndStruct ();
1003
1048
rowsBuilder.EndList ();
1004
1049
0 commit comments