ClickHouse/tests/queries/0_stateless/02817_structure_to_schema.reference
2023-12-12 14:13:15 +00:00

459 lines
7.7 KiB
Plaintext

CapnProto
Numbers
struct Message
{
int8 @0 : Int8;
uint8 @1 : UInt8;
int16 @2 : Int16;
uint16 @3 : UInt16;
int32 @4 : Int32;
uint32 @5 : UInt32;
int64 @6 : Int64;
uint64 @7 : UInt64;
int128 @8 : Data;
uint128 @9 : Data;
int256 @10 : Data;
uint256 @11 : Data;
float32 @12 : Float32;
float64 @13 : Float64;
decimal32 @14 : Int32;
decimal64 @15 : Int64;
decimal128 @16 : Data;
decimal256 @17 : Data;
}
Dates
struct Message
{
data @0 : UInt16;
date32 @1 : Int32;
datetime @2 : UInt32;
datatime64 @3 : Int64;
}
Strings
struct Message
{
string @0 : Data;
fixedstring @1 : Data;
}
Special
struct Message
{
ipv4 @0 : UInt32;
ipv6 @1 : Data;
uuid @2 : Data;
}
Nullable
struct Message
{
struct Nullable
{
union
{
value @0 : UInt32;
null @1 : Void;
}
}
nullable @0 : Nullable;
}
Enums
struct Message
{
enum Enum8
{
v1 @0;
v2 @1;
v3 @2;
v4 @3;
}
enum8 @0 : Enum8;
enum Enum16
{
v5 @0;
v6 @1;
v7 @2;
v8 @3;
v9 @4;
}
enum16 @1 : Enum16;
}
Arrays
struct Message
{
arr1 @0 : List(UInt32);
arr2 @1 : List(List(List(UInt32)));
}
Tuples
struct Message
{
struct Tuple1
{
e1 @0 : UInt32;
e2 @1 : Data;
e3 @2 : UInt32;
}
tuple1 @0 : Tuple1;
struct Tuple2
{
struct E1
{
e1 @0 : UInt32;
struct E2
{
e1 @0 : Data;
e2 @1 : UInt32;
}
e2 @1 : E2;
e3 @2 : Data;
}
e1 @0 : E1;
struct E2
{
e1 @0 : Data;
e2 @1 : UInt32;
}
e2 @1 : E2;
}
tuple2 @1 : Tuple2;
}
Maps
struct Message
{
struct Map1
{
struct Entry
{
key @0 : Data;
value @1 : UInt32;
}
entries @0 : List(Entry);
}
map1 @0 : Map1;
struct Map2
{
struct Entry
{
struct Value
{
struct Entry
{
struct Value
{
struct Entry
{
key @0 : Data;
value @1 : UInt32;
}
entries @0 : List(Entry);
}
key @0 : Data;
value @1 : Value;
}
entries @0 : List(Entry);
}
key @0 : Data;
value @1 : Value;
}
entries @0 : List(Entry);
}
map2 @1 : Map2;
}
Complex
struct Message
{
struct C1
{
struct E1
{
struct Entry
{
struct Value
{
union
{
value @0 : UInt32;
null @1 : Void;
}
}
key @0 : Data;
value @1 : List(List(Value));
}
entries @0 : List(Entry);
}
e1 @0 : E1;
struct E2
{
struct Entry
{
struct Value
{
struct E1
{
union
{
value @0 : Data;
null @1 : Void;
}
}
e1 @0 : List(List(E1));
struct E2
{
e1 @0 : UInt32;
struct E2
{
struct E1
{
union
{
value @0 : Data;
null @1 : Void;
}
}
e1 @0 : List(List(E1));
e2 @1 : UInt32;
}
e2 @1 : E2;
}
e2 @1 : List(E2);
}
key @0 : Data;
value @1 : Value;
}
entries @0 : List(Entry);
}
e2 @1 : E2;
}
c1 @0 : List(C1);
}
Read/write with no schema
0
1
2
3
4
5
6
7
8
9
Output schema
struct Message
{
number @0 : UInt64;
}
Bad output schema path
2
2
Protobuf
Numbers
message Message
{
int32 int8 = 1;
uint32 uint8 = 2;
int32 int16 = 3;
uint32 uint16 = 4;
int32 int32 = 5;
uint32 uint32 = 6;
int64 int64 = 7;
uint64 uint64 = 8;
bytes int128 = 9;
bytes uint128 = 10;
bytes int256 = 11;
bytes uint256 = 12;
float float32 = 13;
double float64 = 14;
bytes decimal32 = 15;
bytes decimal64 = 16;
bytes decimal128 = 17;
bytes decimal256 = 18;
}
Dates
message Message
{
uint32 data = 1;
int32 date32 = 2;
uint32 datetime = 3;
uint64 datatime64 = 4;
}
Strings
message Message
{
bytes string = 1;
bytes fixedstring = 2;
}
Special
message Message
{
uint32 ipv4 = 1;
bytes ipv6 = 2;
bytes uuid = 3;
}
Nullable
message Message
{
uint32 nullable = 1;
}
Enums
message Message
{
enum Enum8
{
v1 = 0;
v2 = 1;
v3 = 2;
v4 = 3;
}
Enum8 enum8 = 1;
enum Enum16
{
v5 = 0;
v6 = 1;
v7 = 2;
v8 = 3;
v9 = 4;
}
Enum16 enum16 = 2;
}
Arrays
message Message
{
repeated uint32 arr1 = 1;
message Arr2
{
message Arr2
{
repeated uint32 arr2 = 1;
}
repeated Arr2 arr2 = 1;
}
repeated Arr2 arr2 = 2;
}
Tuples
message Message
{
message Tuple1
{
uint32 e1 = 1;
bytes e2 = 2;
uint32 e3 = 3;
}
Tuple1 tuple1 = 1;
message Tuple2
{
message E1
{
uint32 e1 = 1;
message E2
{
bytes e1 = 1;
uint32 e2 = 2;
}
E2 e2 = 2;
bytes e3 = 3;
}
E1 e1 = 1;
message E2
{
bytes e1 = 1;
uint32 e2 = 2;
}
E2 e2 = 2;
}
Tuple2 tuple2 = 2;
}
Maps
message Message
{
map<string, uint32> map1 = 1;
message Map2Value
{
message Map2ValueValue
{
map<string, uint32> map2ValueValue = 1;
}
map<string, Map2ValueValue> map2Value = 1;
}
map<string, Map2Value> map2 = 2;
}
Complex
message Message
{
message C1
{
message E1Value
{
message E1Value
{
repeated uint32 e1Value = 1;
}
repeated E1Value e1Value = 1;
}
map<string, E1Value> e1 = 1;
message E2Value
{
message E1
{
repeated bytes e1 = 1;
}
repeated E1 e1 = 1;
message E2
{
uint32 e1 = 1;
message E2
{
message E1
{
repeated bytes e1 = 1;
}
repeated E1 e1 = 1;
uint32 e2 = 2;
}
E2 e2 = 2;
}
repeated E2 e2 = 2;
}
map<string, E2Value> e2 = 2;
}
repeated C1 c1 = 1;
}
Read/write with no schema
0
1
2
3
4
5
6
7
8
9
Output schema
message Message
{
uint64 number = 1;
}
Bad output schema path
2
2