Skip to content

Commit 0d0ec20

Browse files
committed
NKikimr::NScheme::TTypeDesc
1 parent b0587ef commit 0d0ec20

File tree

15 files changed

+90
-77
lines changed

15 files changed

+90
-77
lines changed

ydb/core/io_formats/cell_maker/cell_maker.cpp

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -107,17 +107,7 @@ namespace {
107107
return result.Defined();
108108
}
109109

110-
template <typename T>
111-
bool TryParse(TStringBuf value, T& result, TString& err, const void* parseParam) {
112-
Y_UNUSED(value);
113-
Y_UNUSED(result);
114-
Y_UNUSED(err);
115-
Y_UNUSED(parseParam);
116-
Y_ABORT("TryParse with parseParam is unimplemented");
117-
}
118-
119-
template <>
120-
bool TryParse(TStringBuf value, NPg::TConvertResult& result, TString& err, const void* typeDesc) {
110+
bool TryParse(TStringBuf value, NPg::TConvertResult& result, TString& err, const NScheme::TTypeDesc* typeDesc) {
121111
TString unescaped;
122112
if (!CheckedUnescape(value, unescaped)) {
123113
err = MakeError<NPg::TConvertResult>();
@@ -233,9 +223,9 @@ namespace {
233223
return Conv(c, v, pool, conv);
234224
}
235225

236-
static bool Make(TCell& c, TStringBuf v, TMemoryPool& pool, TString& err, TConverter<T, TStringBuf> conv, const void* parseParam) {
226+
static bool Make(TCell& c, TStringBuf v, TMemoryPool& pool, TString& err, TConverter<T, TStringBuf> conv, const NScheme::TTypeDesc* parseParam) {
237227
T t;
238-
if (!TryParse<T>(v, t, err, parseParam)) {
228+
if (!TryParse(v, t, err, parseParam)) {
239229
return false;
240230
}
241231

ydb/core/kqp/query_compiler/kqp_mkql_compiler.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ TVector<TKqpTableColumn> GetKqpColumns(const TKikimrTableMetadata& table, const
2525
ui32 columnId = 0;
2626
ui32 columnType = 0;
2727
bool notNull = false;
28-
const void* columnTypeDesc = nullptr;
28+
const NScheme::TTypeDesc* columnTypeDesc = nullptr;
2929

3030
auto columnData = table.Columns.FindPtr(name);
3131
if (columnData) {

ydb/core/kqp/runtime/kqp_program_builder.h

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
#pragma once
22

3+
#include <ydb/core/scheme_types/scheme_type_desc.h>
4+
35
#include <ydb/library/yql/minikql/mkql_program_builder.h>
46

57
namespace NKikimr {
@@ -13,9 +15,9 @@ struct TKqpTableColumn {
1315
TString Name;
1416
NUdf::TDataTypeId Type;
1517
bool NotNull;
16-
const void* TypeDesc;
18+
const NScheme::TTypeDesc* TypeDesc;
1719

18-
TKqpTableColumn(ui32 id, const TStringBuf& name, NUdf::TDataTypeId type, bool notNull, const void* typeDesc)
20+
TKqpTableColumn(ui32 id, const TStringBuf& name, NUdf::TDataTypeId type, bool notNull, const NScheme::TTypeDesc* typeDesc)
1921
: Id(id)
2022
, Name(name)
2123
, Type(type)

ydb/core/kqp/ut/common/columnshard.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,7 @@ namespace NKqp {
193193
return JoinStrings(columnStr, ", ");
194194
}
195195

196-
std::shared_ptr<arrow::Field> TTestHelper::TColumnTableBase::BuildField(const TString name, const NScheme::TTypeId typeId, const void* typeDesc, bool nullable) const {
196+
std::shared_ptr<arrow::Field> TTestHelper::TColumnTableBase::BuildField(const TString name, const NScheme::TTypeId typeId, const NScheme::TTypeDesc* typeDesc, bool nullable) const {
197197
switch (typeId) {
198198
case NScheme::NTypeIds::Bool:
199199
return arrow::field(name, arrow::boolean(), nullable);

ydb/core/kqp/ut/common/columnshard.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ namespace NKqp {
1818
class TTestHelper {
1919
public:
2020
class TColumnSchema {
21-
using TTypeDesc = const void*;
21+
using TTypeDesc = const NKikimr::NScheme::TTypeDesc*;
2222
YDB_ACCESSOR_DEF(TString, Name);
2323
YDB_ACCESSOR_DEF(NScheme::TTypeId, Type);
2424
YDB_ACCESSOR_DEF(TTypeDesc, TypeDesc);
@@ -49,7 +49,7 @@ namespace NKqp {
4949
private:
5050
virtual TString GetObjectType() const = 0;
5151
TString BuildColumnsStr(const TVector<TColumnSchema>& clumns) const;
52-
std::shared_ptr<arrow::Field> BuildField(const TString name, const NScheme::TTypeId typeId, const void* typeDesc, bool nullable) const;
52+
std::shared_ptr<arrow::Field> BuildField(const TString name, const NScheme::TTypeId typeId, const NScheme::TTypeDesc* typeDesc, bool nullable) const;
5353
};
5454

5555
class TColumnTable : public TColumnTableBase {

ydb/core/scheme/scheme_type_order.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ struct TTypeInfoOrder {
5555
TTypeInfoOrder()
5656
{}
5757

58-
TTypeInfoOrder(TTypeIdOrder typeIdOrder, void* typeDesc = {})
58+
TTypeInfoOrder(TTypeIdOrder typeIdOrder, const TTypeDesc* typeDesc = {})
5959
: TypeIdOrder(typeIdOrder)
6060
, TypeDesc(typeDesc)
6161
{}
@@ -81,7 +81,7 @@ struct TTypeInfoOrder {
8181
return TypeIdOrder.IsDescending();
8282
}
8383

84-
const void* GetTypeDesc() const {
84+
const TTypeDesc* GetTypeDesc() const {
8585
return TypeDesc;
8686
}
8787

@@ -91,7 +91,7 @@ struct TTypeInfoOrder {
9191

9292
private:
9393
TTypeIdOrder TypeIdOrder;
94-
const void* TypeDesc = {};
94+
const TTypeDesc* TypeDesc = {};
9595
};
9696

9797
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
#pragma once
2+
3+
namespace NKikimr::NScheme {
4+
5+
struct TTypeDesc;
6+
7+
}

ydb/core/scheme_types/scheme_type_info.h

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,19 @@
11
#pragma once
22

3+
#include "scheme_type_desc.h"
4+
35
#include <ydb/public/lib/scheme_types/scheme_type_id.h>
46

57
namespace NKikimr::NScheme {
68

9+
struct TTypeDesc;
10+
711
class TTypeInfo {
812
public:
913
constexpr TTypeInfo()
1014
{}
1115

12-
explicit constexpr TTypeInfo(TTypeId typeId, const void* typeDesc = {})
16+
explicit constexpr TTypeInfo(TTypeId typeId, const TTypeDesc* typeDesc = {})
1317
: TypeId(typeId)
1418
, TypeDesc(typeDesc)
1519
{
@@ -30,13 +34,13 @@ class TTypeInfo {
3034
return TypeId;
3135
}
3236

33-
const void* GetTypeDesc() const {
37+
const TTypeDesc* GetTypeDesc() const {
3438
return TypeDesc;
3539
}
3640

3741
private:
3842
TTypeId TypeId = 0;
39-
const void* TypeDesc = {};
43+
const TTypeDesc* TypeDesc = {};
4044
};
4145

4246
} // namespace NKikimr::NScheme

ydb/core/tx/columnshard/transactions/operators/schema.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ NKikimr::TConclusionStatus TSchemaTransactionOperator::ValidateTableSchema(const
124124
TVector<TString> columnErrors;
125125
for (const NKikimrSchemeOp::TOlapColumnDescription& column : schema.GetColumns()) {
126126
TString name = column.GetName();
127-
const void* typeDescr = nullptr;
127+
const NScheme::TTypeDesc* typeDescr = nullptr;
128128
if (column.GetTypeId() == NTypeIds::Pg && column.HasTypeInfo()) {
129129
typeDescr = NPg::TypeDescFromPgTypeId(column.GetTypeInfo().GetPgTypeId());
130130
}

ydb/core/tx/datashard/export_common.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ bool DyNumberToStream(TStringBuf data, IOutputStream& out, TString& err) {
132132
return true;
133133
}
134134

135-
bool PgToStream(TStringBuf data, const void* typeDesc, IOutputStream& out, TString& err) {
135+
bool PgToStream(TStringBuf data, const NScheme::TTypeDesc* typeDesc, IOutputStream& out, TString& err) {
136136
const NPg::TConvertResult& pgResult = NPg::PgNativeTextFromNativeBinary(data, typeDesc);
137137
if (pgResult.Error) {
138138
err = *pgResult.Error;

0 commit comments

Comments
 (0)