From fe69b93ed52756322309033632822cb28c92506e Mon Sep 17 00:00:00 2001 From: Vitaly Isaev Date: Tue, 12 Nov 2024 17:47:26 +0300 Subject: [PATCH] YDB: map into (#211) --- app/server/datasource/rdbms/ydb/type_mapper.go | 7 ++++--- tests/infra/datasource/ydb/tables.go | 8 ++++---- tools/ydb/query_service_negative/main.go | 6 ++++-- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/app/server/datasource/rdbms/ydb/type_mapper.go b/app/server/datasource/rdbms/ydb/type_mapper.go index b9ac2e45..0fb42bab 100644 --- a/app/server/datasource/rdbms/ydb/type_mapper.go +++ b/app/server/datasource/rdbms/ydb/type_mapper.go @@ -143,7 +143,8 @@ func makePrimitiveTypeFromString(typeName string) (*Ydb.Type, error) { case typeTimestamp: return common.MakePrimitiveType(Ydb.Type_TIMESTAMP), nil case typeJSONDocument: - return common.MakePrimitiveType(Ydb.Type_JSON_DOCUMENT), nil + // This inconsistency is due to KIKIMR-22201 + return common.MakePrimitiveType(Ydb.Type_JSON), nil default: return nil, fmt.Errorf("convert type '%s': %w", typeName, common.ErrDataTypeNotSupported) } @@ -258,9 +259,9 @@ func makeAcceptorAppender( return makeAcceptorAppenderCheckOptional[float32, float32, *array.Float32Builder](optional, cc.Float32()) case typeDouble: return makeAcceptorAppenderCheckOptional[float64, float64, *array.Float64Builder](optional, cc.Float64()) - case typeString, typeJSONDocument: + case typeString: return makeAcceptorAppenderCheckOptional[[]byte, []byte, *array.BinaryBuilder](optional, cc.Bytes()) - case typeUtf8, typeJSON: + case typeUtf8, typeJSON, typeJSONDocument: return makeAcceptorAppenderCheckOptional[string, string, *array.StringBuilder](optional, cc.String()) case typeDate: switch ydbTypeID { diff --git a/tests/infra/datasource/ydb/tables.go b/tests/infra/datasource/ydb/tables.go index cd98c3fd..e672bcaf 100644 --- a/tests/infra/datasource/ydb/tables.go +++ b/tests/infra/datasource/ydb/tables.go @@ -487,16 +487,16 @@ var tables = map[string]*test_utils.Table[int32, *array.Int32Builder]{ Schema: &test_utils.TableSchema{ Columns: map[string]*Ydb.Type{ "id": common.MakePrimitiveType(Ydb.Type_INT32), - "data": common.MakePrimitiveType(Ydb.Type_JSON_DOCUMENT), + "data": common.MakePrimitiveType(Ydb.Type_JSON), }, }, Records: []*test_utils.Record[int32, *array.Int32Builder]{ { Columns: map[string]any{ "id": []int32{1, 2}, - "data": [][]byte{ - []byte("{\"key1\":\"value1\"}"), - []byte("{\"key2\":\"value2\"}"), + "data": []string{ + "{\"key1\":\"value1\"}", + "{\"key2\":\"value2\"}", }, }, }, diff --git a/tools/ydb/query_service_negative/main.go b/tools/ydb/query_service_negative/main.go index ab8e8bf3..5e5cedb9 100644 --- a/tools/ydb/query_service_negative/main.go +++ b/tools/ydb/query_service_negative/main.go @@ -29,8 +29,10 @@ const ( func main() { // Define flags for login and password - var login string - var password string + var ( + login string + password string + ) flag.StringVar(&login, "login", "", "Username for login") flag.StringVar(&password, "password", "", "Password for login")