Skip to main content

支持的 protobuf 类型

RisingWave 支持各种 protobuf 数据类型,这些类型在 RisingWave 中会被转换为等效类型。本页概述了支持的 protobuf 类型及其对应的 RisingWave 类型。

转换

RisingWave 可将 protobuf 库中的已知类型转换为 RisingWave 中的特定类型。转换过程如下:

Protobuf 类型RisingWave 类型
anyJSONB
doubledouble precision
floatreal
int32int
int64bigint
uint32bigint
uint64decimal
sint32int
sint64bigint
fixed32bigint
fixed64decimal
sfixed32int
sfixed64bigint
boolboolean
stringvarchar
bytesbytea
enumvarchar
messagestruct。详见嵌套消息
repeatedarray
map不支持
google.protobuf.Struct不支持
google.protobuf.Timestampstruct<seconds bigint, nanos int>
google.protobuf.Durationstruct<seconds bigint, nanos int>
google.protobuf.Anystruct<type_url varchar, value bytea>
google.protobuf.Int32Valuestruct<value int>
google.protobuf.StringValuestruct<value varchar>

嵌套消息

嵌套字段会被转换为 struct 类型内的列。例如,具有以下结构的 Protobuf 消息:

message NestedMessage {
int32 id = 1;
string name = 2;
}

将在 RisingWave 中转换为 struct<id int, name varchar>

相关内容