mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-22 07:31:57 +00:00
Improve test: check input/output with protobuf schema containing nested messages.
This commit is contained in:
parent
85ab57f179
commit
2e8669211a
@ -20,7 +20,27 @@ enum ZodiacSign {
|
|||||||
pisces = 11;
|
pisces = 11;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
message Nestiness
|
||||||
|
{
|
||||||
|
message SubA {
|
||||||
|
message SubB {
|
||||||
|
message SubC {
|
||||||
|
uint32 d = 1;
|
||||||
|
repeated uint32 e = 2;
|
||||||
|
};
|
||||||
|
SubC c = 1;
|
||||||
|
};
|
||||||
|
SubB b = 100;
|
||||||
|
};
|
||||||
|
SubA a = 1;
|
||||||
|
};
|
||||||
|
|
||||||
message Person {
|
message Person {
|
||||||
|
message MeasureUnit
|
||||||
|
{
|
||||||
|
string unit = 1;
|
||||||
|
float coef = 2;
|
||||||
|
};
|
||||||
string uuid = 1;
|
string uuid = 1;
|
||||||
string name = 2;
|
string name = 2;
|
||||||
string surname = 3;
|
string surname = 3;
|
||||||
@ -41,6 +61,8 @@ message Person {
|
|||||||
float someRatio = 18;
|
float someRatio = 18;
|
||||||
float temperature = 19;
|
float temperature = 19;
|
||||||
sint64 randomBigNumber = 20;
|
sint64 randomBigNumber = 20;
|
||||||
|
repeated MeasureUnit measureUnits = 21;
|
||||||
|
Nestiness nestiness = 22;
|
||||||
};
|
};
|
||||||
|
|
||||||
enum OnlineStatus {
|
enum OnlineStatus {
|
||||||
@ -53,6 +75,11 @@ message AltPerson {
|
|||||||
male = 0;
|
male = 0;
|
||||||
female = 1;
|
female = 1;
|
||||||
};
|
};
|
||||||
|
message Dummy {
|
||||||
|
message Empty {};
|
||||||
|
repeated Empty empty = 1;
|
||||||
|
float z = 2;
|
||||||
|
};
|
||||||
repeated int32 location = 101 [packed=false];
|
repeated int32 location = 101 [packed=false];
|
||||||
float pi = 103;
|
float pi = 103;
|
||||||
bytes uuid = 300;
|
bytes uuid = 300;
|
||||||
@ -65,6 +92,7 @@ message AltPerson {
|
|||||||
OnlineStatus isOnline = 1;
|
OnlineStatus isOnline = 1;
|
||||||
double someRatio = 100;
|
double someRatio = 100;
|
||||||
fixed64 visitTime = 15;
|
fixed64 visitTime = 15;
|
||||||
|
Dummy newMessage = 1000;
|
||||||
sfixed64 randomBigNumber = 140;
|
sfixed64 randomBigNumber = 140;
|
||||||
repeated int32 newFieldInt = 104;
|
repeated int32 newFieldInt = 104;
|
||||||
repeated float color = 14;
|
repeated float color = 14;
|
||||||
@ -73,9 +101,26 @@ message AltPerson {
|
|||||||
uint64 phoneNumber = 5;
|
uint64 phoneNumber = 5;
|
||||||
sint32 temperature = 41;
|
sint32 temperature = 41;
|
||||||
string newFieldStr = 21;
|
string newFieldStr = 21;
|
||||||
|
repeated string measureUnits_unit = 99;
|
||||||
|
repeated float measureUnits_coef = 88;
|
||||||
|
uint32 nestiness_a_b_c_d = 900;
|
||||||
|
repeated uint32 nestiness_a_b_c_e = 901;
|
||||||
};
|
};
|
||||||
|
|
||||||
message StrPerson {
|
message StrPerson {
|
||||||
|
message MeasureUnits
|
||||||
|
{
|
||||||
|
repeated string unit = 1;
|
||||||
|
repeated string coef = 2;
|
||||||
|
};
|
||||||
|
message NestinessA
|
||||||
|
{
|
||||||
|
message SubBC {
|
||||||
|
string d = 1;
|
||||||
|
repeated string e = 2;
|
||||||
|
};
|
||||||
|
SubBC b_c = 1;
|
||||||
|
};
|
||||||
string uuid = 1;
|
string uuid = 1;
|
||||||
string name = 2;
|
string name = 2;
|
||||||
string surname = 3;
|
string surname = 3;
|
||||||
@ -95,4 +140,6 @@ message StrPerson {
|
|||||||
string someRatio = 18;
|
string someRatio = 18;
|
||||||
string temperature = 19;
|
string temperature = 19;
|
||||||
string randomBigNumber = 20;
|
string randomBigNumber = 20;
|
||||||
|
MeasureUnits measureUnits = 21;
|
||||||
|
NestinessA nestiness_a = 22;
|
||||||
};
|
};
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
echo -ne '\xe0\x01\x0a\x24\x61\x37\x35\x32\x32\x31\x35\x38\x2d\x33\x64\x34\x31\x2d\x34\x62\x37\x37\x2d\x61\x64\x36\x39\x2d\x36\x63\x35\x39\x38\x65\x65\x35\x35\x63\x34\x39\x12\x04\x49\x76\x61\x6e\x1a\x06\x50\x65\x74\x72\x6f\x76\x20\x01\x28\xaf\x1f\x32\x03\x70\x6e\x67\x3a\x0c\x2b\x37\x34\x39\x35\x31\x32\x33\x34\x35\x36\x37\x40\x01\x4d\xfc\xd0\x30\x5c\x50\x26\x58\x09\x62\x09\x59\x65\x73\x74\x65\x72\x64\x61\x79\x62\x07\x46\x6c\x6f\x77\x65\x72\x73\x6a\x04\xff\x01\x00\x00\x72\x06\x4d\x6f\x73\x63\x6f\x77\x7a\x08\x4b\x03\x5f\x42\x72\x7d\x16\x42\x81\x01\x1f\x85\xeb\x51\xb8\x1e\x09\x40\x89\x01\x33\x33\x33\x33\x33\xc3\x6a\x40\x95\x01\xcd\xcc\xcc\x3d\x9d\x01\x9a\x99\xb9\x40\xa0\x01\x80\xc4\xd7\x8d\x7f\xaa\x01\x0c\x0a\x05\x6d\x65\x74\x65\x72\x15\x00\x00\x80\x3f\xaa\x01\x11\x0a\x0a\x63\x65\x6e\x74\x69\x6d\x65\x74\x65\x72\x15\x0a\xd7\x23\x3c\xaa\x01\x10\x0a\x09\x6b\x69\x6c\x6f\x6d\x65\x74\x65\x72\x15\x00\x00\x7a\x44\x7e\x0a\x24\x63\x36\x39\x34\x61\x64\x38\x61\x2d\x66\x37\x31\x34\x2d\x34\x65\x61\x33\x2d\x39\x30\x37\x64\x2d\x66\x64\x35\x34\x66\x62\x32\x35\x64\x39\x62\x35\x12\x07\x4e\x61\x74\x61\x6c\x69\x61\x1a\x08\x53\x6f\x6b\x6f\x6c\x6f\x76\x61\x28\xa6\x3f\x32\x03\x6a\x70\x67\x50\x1a\x58\x0b\x6a\x04\x64\xc8\x01\x32\x72\x08\x50\x6c\x79\x6d\x6f\x75\x74\x68\x7a\x08\x6a\x9d\x49\x42\x46\x8c\x84\xc0\x81\x01\x6e\x86\x1b\xf0\xf9\x21\x09\x40\x95\x01\x42\x60\xe5\x3b\x9d\x01\xcd\xcc\xac\x40\xa0\x01\xff\xff\xa9\xce\x93\x8c\x09\xb3\x01\x0a\x24\x61\x37\x64\x61\x31\x61\x61\x36\x2d\x66\x34\x32\x35\x2d\x34\x37\x38\x39\x2d\x38\x39\x34\x37\x2d\x62\x30\x33\x34\x37\x38\x36\x65\x64\x33\x37\x34\x12\x06\x56\x61\x73\x69\x6c\x79\x1a\x07\x53\x69\x64\x6f\x72\x6f\x76\x20\x01\x28\xfb\x48\x32\x03\x62\x6d\x70\x3a\x0d\x2b\x34\x34\x32\x30\x31\x32\x33\x34\x35\x36\x37\x38\x40\x01\x4d\x50\xe0\x27\x5c\x50\x17\x58\x04\x62\x05\x53\x75\x6e\x6e\x79\x6a\x05\xfa\x01\xf4\x01\x0a\x72\x08\x4d\x75\x72\x6d\x61\x6e\x73\x6b\x7a\x08\xfd\xf0\x89\x42\xc8\x4c\x04\x42\x81\x01\x11\x2d\x44\x54\xfb\x21\x09\x40\x89\x01\x00\x00\x00\xe8\x76\x48\x37\x42\x95\x01\x00\x00\x48\x44\x9d\x01\xcd\xcc\x4c\xc0\xa0\x01\x80\xd4\x9f\x93\x01\xaa\x01\x0c\x0a\x05\x70\x6f\x75\x6e\x64\x15\x00\x00\x80\x41' | $CLICKHOUSE_CLIENT --query="INSERT INTO test.table FORMAT Protobuf SETTINGS format_schema = '$CURDIR/00825_protobuf_format_with_nested:Person'"
|
echo -ne '\xf3\x01\x0a\x24\x61\x37\x35\x32\x32\x31\x35\x38\x2d\x33\x64\x34\x31\x2d\x34\x62\x37\x37\x2d\x61\x64\x36\x39\x2d\x36\x63\x35\x39\x38\x65\x65\x35\x35\x63\x34\x39\x12\x04\x49\x76\x61\x6e\x1a\x06\x50\x65\x74\x72\x6f\x76\x20\x01\x28\xaf\x1f\x32\x03\x70\x6e\x67\x3a\x0c\x2b\x37\x34\x39\x35\x31\x32\x33\x34\x35\x36\x37\x40\x01\x4d\xfc\xd0\x30\x5c\x50\x26\x58\x09\x62\x09\x59\x65\x73\x74\x65\x72\x64\x61\x79\x62\x07\x46\x6c\x6f\x77\x65\x72\x73\x6a\x04\xff\x01\x00\x00\x72\x06\x4d\x6f\x73\x63\x6f\x77\x7a\x08\x4b\x03\x5f\x42\x72\x7d\x16\x42\x81\x01\x1f\x85\xeb\x51\xb8\x1e\x09\x40\x89\x01\x33\x33\x33\x33\x33\xc3\x6a\x40\x95\x01\xcd\xcc\xcc\x3d\x9d\x01\x9a\x99\xb9\x40\xa0\x01\x80\xc4\xd7\x8d\x7f\xaa\x01\x0c\x0a\x05\x6d\x65\x74\x65\x72\x15\x00\x00\x80\x3f\xaa\x01\x11\x0a\x0a\x63\x65\x6e\x74\x69\x6d\x65\x74\x65\x72\x15\x0a\xd7\x23\x3c\xaa\x01\x10\x0a\x09\x6b\x69\x6c\x6f\x6d\x65\x74\x65\x72\x15\x00\x00\x7a\x44\xb2\x01\x10\x0a\x0e\xa2\x06\x0b\x0a\x09\x08\xf4\x03\x12\x04\xf5\x03\xf6\x03\x7e\x0a\x24\x63\x36\x39\x34\x61\x64\x38\x61\x2d\x66\x37\x31\x34\x2d\x34\x65\x61\x33\x2d\x39\x30\x37\x64\x2d\x66\x64\x35\x34\x66\x62\x32\x35\x64\x39\x62\x35\x12\x07\x4e\x61\x74\x61\x6c\x69\x61\x1a\x08\x53\x6f\x6b\x6f\x6c\x6f\x76\x61\x28\xa6\x3f\x32\x03\x6a\x70\x67\x50\x1a\x58\x0b\x6a\x04\x64\xc8\x01\x32\x72\x08\x50\x6c\x79\x6d\x6f\x75\x74\x68\x7a\x08\x6a\x9d\x49\x42\x46\x8c\x84\xc0\x81\x01\x6e\x86\x1b\xf0\xf9\x21\x09\x40\x95\x01\x42\x60\xe5\x3b\x9d\x01\xcd\xcc\xac\x40\xa0\x01\xff\xff\xa9\xce\x93\x8c\x09\xc0\x01\x0a\x24\x61\x37\x64\x61\x31\x61\x61\x36\x2d\x66\x34\x32\x35\x2d\x34\x37\x38\x39\x2d\x38\x39\x34\x37\x2d\x62\x30\x33\x34\x37\x38\x36\x65\x64\x33\x37\x34\x12\x06\x56\x61\x73\x69\x6c\x79\x1a\x07\x53\x69\x64\x6f\x72\x6f\x76\x20\x01\x28\xfb\x48\x32\x03\x62\x6d\x70\x3a\x0d\x2b\x34\x34\x32\x30\x31\x32\x33\x34\x35\x36\x37\x38\x40\x01\x4d\x50\xe0\x27\x5c\x50\x17\x58\x04\x62\x05\x53\x75\x6e\x6e\x79\x6a\x05\xfa\x01\xf4\x01\x0a\x72\x08\x4d\x75\x72\x6d\x61\x6e\x73\x6b\x7a\x08\xfd\xf0\x89\x42\xc8\x4c\x04\x42\x81\x01\x11\x2d\x44\x54\xfb\x21\x09\x40\x89\x01\x00\x00\x00\xe8\x76\x48\x37\x42\x95\x01\x00\x00\x48\x44\x9d\x01\xcd\xcc\x4c\xc0\xa0\x01\x80\xd4\x9f\x93\x01\xaa\x01\x0c\x0a\x05\x70\x6f\x75\x6e\x64\x15\x00\x00\x80\x41\xb2\x01\x0a\x0a\x08\xa2\x06\x05\x0a\x03\x08\xf7\x03' | $CLICKHOUSE_CLIENT --query="INSERT INTO test.table FORMAT Protobuf SETTINGS format_schema = '$CURDIR/00825_protobuf_format:Person'"
|
||||||
echo -ne '\xaa\x01\x12\x05\x46\x72\x69\x64\x61\x28\x99\xe1\xf3\xd1\x0b\x52\x08\x45\x72\x6d\x61\x6b\x6f\x76\x61\x72\x0c\x00\x00\xdc\x42\x00\x00\x52\x43\x00\x00\x94\x42\x79\x48\xce\x3d\x51\x00\x00\x00\x00\xc8\x02\x14\xc2\x05\x08\x00\x00\x80\x44\x00\x00\x80\x49\x9a\x06\x02\x4b\x42\x9a\x06\x02\x4d\x42\xa1\x06\x00\x00\x00\x00\x00\x00\xe0\x3f\xa8\x06\x2a\xa8\x06\xa8\xff\xff\xff\xff\xff\xff\xff\xff\x01\xb0\x06\x01\xbd\x06\x25\x06\x49\x40\xfa\x06\x02\x34\x30\x90\x08\xe2\x08\xe1\x08\x89\xe6\x6e\xdd\x01\x00\x00\x00\xb0\x09\xc3\x19\xd0\x0c\xb7\x02\xe2\x12\x24\x32\x30\x66\x63\x64\x39\x35\x61\x2d\x33\x33\x32\x64\x2d\x34\x31\x64\x62\x2d\x61\x39\x65\x63\x2d\x31\x36\x31\x66\x36\x34\x34\x64\x30\x35\x39\x63\xb0\x01\x08\x01\x12\x06\x49\x73\x6f\x6c\x64\x65\x52\x07\x4c\x61\x76\x72\x6f\x76\x61\x72\x0c\x00\x00\x7f\x43\x00\x00\x00\x00\x00\x00\x7f\x43\xaa\x01\x03\x61\x62\x63\xc8\x02\x32\xc2\x05\x08\x00\x00\x00\x41\x00\x00\x80\x3f\x9a\x06\x04\x42\x79\x74\x65\x9a\x06\x03\x42\x69\x74\xa1\x06\x00\x00\x00\x00\x00\x00\x12\x40\xa8\x06\x1a\xa8\x06\xb0\xff\xff\xff\xff\xff\xff\xff\xff\x01\xb0\x06\x01\xbd\x06\xf9\x0f\x49\x40\xc2\x06\x01\x2c\xfa\x06\x02\x33\x32\x90\x08\x78\xe1\x08\x39\x4e\x2b\xfe\xe4\xf5\xff\xff\xb0\x09\xe8\x30\xd8\x12\x01\xe2\x12\x24\x37\x63\x66\x61\x36\x38\x35\x36\x2d\x61\x35\x34\x61\x2d\x34\x37\x38\x36\x2d\x62\x38\x65\x35\x2d\x37\x34\x35\x31\x35\x39\x64\x35\x32\x32\x37\x38\xc2\x3e\x05\x15\x00\x00\xb6\x42' | $CLICKHOUSE_CLIENT --query="INSERT INTO test.table FORMAT Protobuf SETTINGS format_schema = '$CURDIR/00825_protobuf_format_with_nested:AltPerson'"
|
echo -ne '\xb3\x01\x12\x05\x46\x72\x69\x64\x61\x28\x99\xe1\xf3\xd1\x0b\x52\x08\x45\x72\x6d\x61\x6b\x6f\x76\x61\x72\x0c\x00\x00\xdc\x42\x00\x00\x52\x43\x00\x00\x94\x42\x79\x48\xce\x3d\x51\x00\x00\x00\x00\xc8\x02\x14\xc2\x05\x08\x00\x00\x80\x44\x00\x00\x80\x49\x9a\x06\x02\x4b\x42\x9a\x06\x02\x4d\x42\xa1\x06\x00\x00\x00\x00\x00\x00\xe0\x3f\xa8\x06\x2a\xa8\x06\xa8\xff\xff\xff\xff\xff\xff\xff\xff\x01\xb0\x06\x01\xbd\x06\x25\x06\x49\x40\xfa\x06\x02\x34\x30\x90\x08\xe2\x08\xe1\x08\x89\xe6\x6e\xdd\x01\x00\x00\x00\xb0\x09\xc3\x19\xd0\x0c\xb7\x02\xe2\x12\x24\x32\x30\x66\x63\x64\x39\x35\x61\x2d\x33\x33\x32\x64\x2d\x34\x31\x64\x62\x2d\x61\x39\x65\x63\x2d\x31\x36\x31\x66\x36\x34\x34\x64\x30\x35\x39\x63\xa0\x38\xbc\x05\xaa\x38\x02\xbd\x05\xb4\x01\x08\x01\x12\x06\x49\x73\x6f\x6c\x64\x65\x52\x07\x4c\x61\x76\x72\x6f\x76\x61\x72\x0c\x00\x00\x7f\x43\x00\x00\x00\x00\x00\x00\x7f\x43\xaa\x01\x03\x61\x62\x63\xc8\x02\x32\xc2\x05\x08\x00\x00\x00\x41\x00\x00\x80\x3f\x9a\x06\x04\x42\x79\x74\x65\x9a\x06\x03\x42\x69\x74\xa1\x06\x00\x00\x00\x00\x00\x00\x12\x40\xa8\x06\x1a\xa8\x06\xb0\xff\xff\xff\xff\xff\xff\xff\xff\x01\xb0\x06\x01\xbd\x06\xf9\x0f\x49\x40\xc2\x06\x01\x2c\xfa\x06\x02\x33\x32\x90\x08\x78\xe1\x08\x39\x4e\x2b\xfe\xe4\xf5\xff\xff\xb0\x09\xe8\x30\xd8\x12\x01\xe2\x12\x24\x37\x63\x66\x61\x36\x38\x35\x36\x2d\x61\x35\x34\x61\x2d\x34\x37\x38\x36\x2d\x62\x38\x65\x35\x2d\x37\x34\x35\x31\x35\x39\x64\x35\x32\x32\x37\x38\xa0\x38\xbe\x05\xc2\x3e\x05\x15\x00\x00\xb6\x42' | $CLICKHOUSE_CLIENT --query="INSERT INTO test.table FORMAT Protobuf SETTINGS format_schema = '$CURDIR/00825_protobuf_format:AltPerson'"
|
||||||
echo -ne '\x9a\x02\x0a\x24\x61\x61\x30\x65\x35\x61\x30\x36\x2d\x63\x61\x62\x32\x2d\x34\x30\x33\x34\x2d\x61\x36\x61\x32\x2d\x34\x38\x65\x38\x32\x62\x39\x31\x36\x36\x34\x65\x12\x06\x4c\x65\x6f\x6e\x69\x64\x1a\x08\x4b\x69\x72\x69\x6c\x6c\x6f\x76\x22\x04\x6d\x61\x6c\x65\x2a\x0a\x31\x39\x38\x33\x2d\x30\x36\x2d\x32\x34\x3a\x0c\x2b\x37\x34\x39\x35\x30\x32\x37\x35\x38\x36\x34\x42\x01\x31\x4a\x13\x32\x30\x31\x39\x2d\x30\x32\x2d\x30\x34\x20\x30\x39\x3a\x34\x35\x3a\x30\x30\x52\x02\x33\x35\x5a\x06\x63\x61\x6e\x63\x65\x72\x62\x07\x37\x20\x72\x69\x6e\x67\x73\x62\x08\x45\x61\x73\x74\x73\x69\x64\x65\x62\x0b\x4c\x61\x73\x74\x20\x48\x75\x72\x72\x61\x68\x6a\x01\x30\x6a\x01\x30\x6a\x03\x32\x35\x35\x72\x09\x53\x61\x6e\x20\x44\x69\x65\x67\x6f\x7a\x09\x33\x32\x2e\x38\x32\x33\x39\x34\x33\x7a\x0b\x2d\x31\x31\x37\x2e\x30\x38\x31\x33\x32\x37\x82\x01\x09\x33\x2e\x31\x34\x31\x35\x39\x32\x37\x8a\x01\x08\x31\x35\x30\x30\x30\x30\x30\x30\x92\x01\x06\x31\x38\x36\x2e\x37\x35\x9a\x01\x04\x2d\x32\x2e\x31\xa2\x01\x0b\x32\x30\x36\x35\x39\x38\x32\x39\x33\x33\x31\xaa\x01\x18\x0a\x06\x6d\x69\x6e\x75\x74\x65\x0a\x04\x68\x6f\x75\x72\x12\x02\x36\x30\x12\x04\x33\x36\x30\x30' | $CLICKHOUSE_CLIENT --query="INSERT INTO test.table FORMAT Protobuf SETTINGS format_schema = '$CURDIR/00825_protobuf_format_with_nested:StrPerson'"
|
echo -ne '\xa5\x02\x0a\x24\x61\x61\x30\x65\x35\x61\x30\x36\x2d\x63\x61\x62\x32\x2d\x34\x30\x33\x34\x2d\x61\x36\x61\x32\x2d\x34\x38\x65\x38\x32\x62\x39\x31\x36\x36\x34\x65\x12\x06\x4c\x65\x6f\x6e\x69\x64\x1a\x08\x4b\x69\x72\x69\x6c\x6c\x6f\x76\x22\x04\x6d\x61\x6c\x65\x2a\x0a\x31\x39\x38\x33\x2d\x30\x36\x2d\x32\x34\x3a\x0c\x2b\x37\x34\x39\x35\x30\x32\x37\x35\x38\x36\x34\x42\x01\x31\x4a\x13\x32\x30\x31\x39\x2d\x30\x32\x2d\x30\x34\x20\x30\x39\x3a\x34\x35\x3a\x30\x30\x52\x02\x33\x35\x5a\x06\x63\x61\x6e\x63\x65\x72\x62\x07\x37\x20\x72\x69\x6e\x67\x73\x62\x08\x45\x61\x73\x74\x73\x69\x64\x65\x62\x0b\x4c\x61\x73\x74\x20\x48\x75\x72\x72\x61\x68\x6a\x01\x30\x6a\x01\x30\x6a\x03\x32\x35\x35\x72\x09\x53\x61\x6e\x20\x44\x69\x65\x67\x6f\x7a\x09\x33\x32\x2e\x38\x32\x33\x39\x34\x33\x7a\x0b\x2d\x31\x31\x37\x2e\x30\x38\x31\x33\x32\x37\x82\x01\x09\x33\x2e\x31\x34\x31\x35\x39\x32\x37\x8a\x01\x08\x31\x35\x30\x30\x30\x30\x30\x30\x92\x01\x06\x31\x38\x36\x2e\x37\x35\x9a\x01\x04\x2d\x32\x2e\x31\xa2\x01\x0b\x32\x30\x36\x35\x39\x38\x32\x39\x33\x33\x31\xaa\x01\x18\x0a\x06\x6d\x69\x6e\x75\x74\x65\x0a\x04\x68\x6f\x75\x72\x12\x02\x36\x30\x12\x04\x33\x36\x30\x30\xb2\x01\x08\x0a\x06\x12\x04\x31\x38\x30\x30' | $CLICKHOUSE_CLIENT --query="INSERT INTO test.table FORMAT Protobuf SETTINGS format_schema = '$CURDIR/00825_protobuf_format:StrPerson'"
|
||||||
echo -ne '\xcf\x01\x0a\x24\x33\x66\x61\x65\x65\x30\x36\x34\x2d\x63\x34\x66\x37\x2d\x34\x64\x33\x34\x2d\x62\x36\x66\x33\x2d\x38\x64\x38\x31\x63\x32\x62\x36\x61\x31\x35\x64\x12\x04\x4e\x69\x63\x6b\x1a\x0a\x4b\x6f\x6c\x65\x73\x6e\x69\x6b\x6f\x76\x20\x01\x28\xda\x52\x32\x03\x62\x6d\x70\x3a\x0c\x34\x31\x32\x2d\x36\x38\x37\x2d\x35\x30\x30\x37\x40\x01\x4d\x2f\x27\xf2\x5b\x50\x14\x58\x09\x62\x06\x48\x61\x76\x61\x6e\x61\x68\x80\x01\x68\x00\x68\x80\x01\x72\x0a\x50\x69\x74\x74\x73\x62\x75\x72\x67\x68\x7a\x08\x9b\x11\x22\x42\x1f\xe6\x9f\xc2\x81\x01\x28\x2d\x44\x54\xfb\x21\x09\x40\x89\x01\x00\x00\x00\xe8\x76\x48\x27\x42\x95\x01\x00\x00\x43\x44\x9d\x01\x66\x66\x92\x41\xa0\x01\xce\xdf\xb8\xba\x01\xab\x01\x0d\xcd\xcc\xe2\x41\x0d\xcd\xcc\x4c\x3e\x0d\x00\x00\x80\x3f\x12\x05\x6f\x75\x6e\x63\x65\x12\x05\x63\x61\x72\x61\x74\x12\x04\x67\x72\x61\x6d\xac\x01' | $CLICKHOUSE_CLIENT --query="INSERT INTO test.table FORMAT Protobuf SETTINGS format_schema = '$CURDIR/00825_protobuf_format_syntax2_with_nested:Syntax2Person'"
|
echo -ne '\xdd\x01\x0a\x24\x33\x66\x61\x65\x65\x30\x36\x34\x2d\x63\x34\x66\x37\x2d\x34\x64\x33\x34\x2d\x62\x36\x66\x33\x2d\x38\x64\x38\x31\x63\x32\x62\x36\x61\x31\x35\x64\x12\x04\x4e\x69\x63\x6b\x1a\x0a\x4b\x6f\x6c\x65\x73\x6e\x69\x6b\x6f\x76\x20\x01\x28\xda\x52\x32\x03\x62\x6d\x70\x3a\x0c\x34\x31\x32\x2d\x36\x38\x37\x2d\x35\x30\x30\x37\x40\x01\x4d\x2f\x27\xf2\x5b\x50\x14\x58\x09\x62\x06\x48\x61\x76\x61\x6e\x61\x68\x80\x01\x68\x00\x68\x80\x01\x72\x0a\x50\x69\x74\x74\x73\x62\x75\x72\x67\x68\x7a\x08\x9b\x11\x22\x42\x1f\xe6\x9f\xc2\x81\x01\x28\x2d\x44\x54\xfb\x21\x09\x40\x89\x01\x00\x00\x00\xe8\x76\x48\x27\x42\x95\x01\x00\x00\x43\x44\x9d\x01\x66\x66\x92\x41\xa0\x01\xce\xdf\xb8\xba\x01\xab\x01\x0d\xcd\xcc\xe2\x41\x0d\xcd\xcc\x4c\x3e\x0d\x00\x00\x80\x3f\x12\x05\x6f\x75\x6e\x63\x65\x12\x05\x63\x61\x72\x61\x74\x12\x04\x67\x72\x61\x6d\xac\x01\xb3\x01\x0b\xa2\x06\x05\x0b\x08\x96\x4a\x0c\x0c\xb4\x01' | $CLICKHOUSE_CLIENT --query="INSERT INTO test.table FORMAT Protobuf SETTINGS format_schema = '$CURDIR/00825_protobuf_format_syntax2:Syntax2Person'"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
a7da1aa6-f425-4789-8947-b034786ed374 Vasily Sidorov male 1995-07-28 bmp +442012345678 1 2018-12-30 00:00:00 23 leo ['Sunny'] [250,244,10] Murmansk [68.970680,33.074982] 3.14159265358979 100000000000.00 800 -3.2 154400000 ['pound'] [16]
|
a7da1aa6-f425-4789-8947-b034786ed374 Vasily Sidorov male 1995-07-28 bmp +442012345678 1 2018-12-30 00:00:00 23 leo ['Sunny'] [250,244,10] Murmansk [68.970680,33.074982] 3.14159265358979 100000000000.00 800 -3.2 154400000 ['pound'] [16] 503 []
|
||||||
c694ad8a-f714-4ea3-907d-fd54fb25d9b5 Natalia Sokolova female 1992-03-08 jpg \N 0 \N 26 pisces [] [100,200,50] Plymouth [50.403724,-4.142123] 3.14159 \N 0.007 5.4 -20000000000000 [] []
|
c694ad8a-f714-4ea3-907d-fd54fb25d9b5 Natalia Sokolova female 1992-03-08 jpg \N 0 \N 26 pisces [] [100,200,50] Plymouth [50.403724,-4.142123] 3.14159 \N 0.007 5.4 -20000000000000 [] [] \N []
|
||||||
aa0e5a06-cab2-4034-a6a2-48e82b91664e Leonid Kirillov male 1983-06-24 \N +74950275864\0 1 2019-02-04 09:45:00 35 cancer ['7 rings','Eastside','Last Hurrah'] [0,0,255] San Diego [32.823943,-117.081327] 3.1415927 15000000.00 186.75 -2.1 20659829331 ['minute','hour'] [60,3600]
|
aa0e5a06-cab2-4034-a6a2-48e82b91664e Leonid Kirillov male 1983-06-24 \N +74950275864\0 1 2019-02-04 09:45:00 35 cancer ['7 rings','Eastside','Last Hurrah'] [0,0,255] San Diego [32.823943,-117.081327] 3.1415927 15000000.00 186.75 -2.1 20659829331 ['minute','hour'] [60,3600] \N [1800]
|
||||||
20fcd95a-332d-41db-a9ec-161f644d059c Frida Ermakova female 1978-12-12 \N 3124555929\0\0\0 0 2013-03-11 16:30:00 40 sagittarius [] [110,210,74] [42.000000,-88.000000] 3.1410000324249268 311.00 0.5 10.0 8010000009 ['KB','MB'] [1024,1048576]
|
20fcd95a-332d-41db-a9ec-161f644d059c Frida Ermakova female 1978-12-12 \N 3124555929\0\0\0 0 2013-03-11 16:30:00 40 sagittarius [] [110,210,74] [42.000000,-88.000000] 3.1410000324249268 311.00 0.5 10.0 8010000009 ['KB','MB'] [1024,1048576] 700 [701]
|
||||||
a7522158-3d41-4b77-ad69-6c598ee55c49 Ivan Petrov male 1980-12-29 png +74951234567\0 1 2019-01-05 18:45:00 38 capricorn ['Yesterday','Flowers'] [255,0,0] Moscow [55.753216,37.622504] 3.14 214.10 0.1 5.8 17060000000 ['meter','centimeter','kilometer'] [1,0.01,1000]
|
a7522158-3d41-4b77-ad69-6c598ee55c49 Ivan Petrov male 1980-12-29 png +74951234567\0 1 2019-01-05 18:45:00 38 capricorn ['Yesterday','Flowers'] [255,0,0] Moscow [55.753216,37.622504] 3.14 214.10 0.1 5.8 17060000000 ['meter','centimeter','kilometer'] [1,0.01,1000] 500 [501,502]
|
||||||
3faee064-c4f7-4d34-b6f3-8d81c2b6a15d Nick Kolesnikov male 1998-12-26 bmp 412-687-5007\0 1 2018-11-19 05:59:59 20 capricorn ['Havana'] [128,0,128] Pittsburgh [40.517192,-79.949456] 3.1415926535898 50000000000.00 780 18.3 195500007 ['ounce','carat','gram'] [28.35,0.2,1]
|
3faee064-c4f7-4d34-b6f3-8d81c2b6a15d Nick Kolesnikov male 1998-12-26 bmp 412-687-5007\0 1 2018-11-19 05:59:59 20 capricorn ['Havana'] [128,0,128] Pittsburgh [40.517192,-79.949456] 3.1415926535898 50000000000.00 780 18.3 195500007 ['ounce','carat','gram'] [28.35,0.2,1] 9494 []
|
||||||
7cfa6856-a54a-4786-b8e5-745159d52278 Isolde Lavrova female 1987-02-09 \N \N 1 \N 32 aquarius [] [255,0,255] [26.000000,-80.000000] 3.1415998935699463 \N 4.5 25.0 -11111111111111 ['Byte','Bit'] [8,1]
|
7cfa6856-a54a-4786-b8e5-745159d52278 Isolde Lavrova female 1987-02-09 \N \N 1 \N 32 aquarius [] [255,0,255] [26.000000,-80.000000] 3.1415998935699463 \N 4.5 25.0 -11111111111111 ['Byte','Bit'] [8,1] 702 []
|
||||||
|
@ -6,7 +6,7 @@ CURDIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
|
|||||||
set -e -o pipefail
|
set -e -o pipefail
|
||||||
|
|
||||||
# Run the client.
|
# Run the client.
|
||||||
$CLICKHOUSE_CLIENT --multiquery <<EOF
|
$CLICKHOUSE_CLIENT --multiquery <<'EOF'
|
||||||
CREATE DATABASE IF NOT EXISTS test;
|
CREATE DATABASE IF NOT EXISTS test;
|
||||||
DROP TABLE IF EXISTS test.table;
|
DROP TABLE IF EXISTS test.table;
|
||||||
|
|
||||||
@ -32,7 +32,9 @@ CREATE TABLE test.table (uuid UUID,
|
|||||||
someRatio Float32,
|
someRatio Float32,
|
||||||
temperature Decimal32(1),
|
temperature Decimal32(1),
|
||||||
randomBigNumber Int64,
|
randomBigNumber Int64,
|
||||||
measureUnits Nested (unit String, coef Float32)
|
measureUnits Nested (unit String, coef Float32),
|
||||||
|
nestiness_a_b_c_d Nullable(UInt32),
|
||||||
|
`nestiness_a_B.c_E` Array(UInt32)
|
||||||
) ENGINE = MergeTree ORDER BY tuple();
|
) ENGINE = MergeTree ORDER BY tuple();
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
Binary file not shown.
@ -35,12 +35,15 @@ CREATE TABLE test.table (uuid UUID,
|
|||||||
lotteryWin Nullable(Decimal64(2)),
|
lotteryWin Nullable(Decimal64(2)),
|
||||||
someRatio Float32,
|
someRatio Float32,
|
||||||
temperature Decimal32(1),
|
temperature Decimal32(1),
|
||||||
randomBigNumber Int64
|
randomBigNumber Int64,
|
||||||
|
measureUnits Nested(unit String, coef Float32),
|
||||||
|
nestiness_a_b_c_d Nullable(UInt32),
|
||||||
|
\`nestiness_a_B.c_E\` Array(UInt32)
|
||||||
) ENGINE = MergeTree ORDER BY tuple();
|
) ENGINE = MergeTree ORDER BY tuple();
|
||||||
|
|
||||||
INSERT INTO test.table VALUES (toUUID('a7522158-3d41-4b77-ad69-6c598ee55c49'), 'Ivan', 'Petrov', 'male', toDate('1980-12-29'), 'png', '+74951234567', 1, toDateTime('2019-01-05 18:45:00'), 38, 'capricorn', ['Yesterday', 'Flowers'], [255, 0, 0], 'Moscow', [55.753215, 37.622504], 3.14, 214.10, 0.1, 5.8, 17060000000);
|
INSERT INTO test.table VALUES (toUUID('a7522158-3d41-4b77-ad69-6c598ee55c49'), 'Ivan', 'Petrov', 'male', toDate('1980-12-29'), 'png', '+74951234567', 1, toDateTime('2019-01-05 18:45:00'), 38, 'capricorn', ['Yesterday', 'Flowers'], [255, 0, 0], 'Moscow', [55.753215, 37.622504], 3.14, 214.10, 0.1, 5.8, 17060000000, ['meter', 'centimeter', 'kilometer'], [1, 0.01, 1000], 500, [501, 502]);
|
||||||
INSERT INTO test.table VALUES (toUUID('c694ad8a-f714-4ea3-907d-fd54fb25d9b5'), 'Natalia', 'Sokolova', 'female', toDate('1992-03-08'), 'jpg', NULL, 0, NULL, 26, 'pisces', [], [100, 200, 50], 'Plymouth', [50.403724, -4.142123], 3.14159, NULL, 0.007, 5.4, -20000000000000);
|
INSERT INTO test.table VALUES (toUUID('c694ad8a-f714-4ea3-907d-fd54fb25d9b5'), 'Natalia', 'Sokolova', 'female', toDate('1992-03-08'), 'jpg', NULL, 0, NULL, 26, 'pisces', [], [100, 200, 50], 'Plymouth', [50.403724, -4.142123], 3.14159, NULL, 0.007, 5.4, -20000000000000, [], [], NULL, []);
|
||||||
INSERT INTO test.table VALUES (toUUID('a7da1aa6-f425-4789-8947-b034786ed374'), 'Vasily', 'Sidorov', 'male', toDate('1995-07-28'), 'bmp', '+442012345678', 1, toDateTime('2018-12-30 00:00:00'), 23, 'leo', ['Sunny'], [250, 244, 10], 'Murmansk', [68.970682, 33.074981], 3.14159265358979, 100000000000, 800, -3.2, 154400000);
|
INSERT INTO test.table VALUES (toUUID('a7da1aa6-f425-4789-8947-b034786ed374'), 'Vasily', 'Sidorov', 'male', toDate('1995-07-28'), 'bmp', '+442012345678', 1, toDateTime('2018-12-30 00:00:00'), 23, 'leo', ['Sunny'], [250, 244, 10], 'Murmansk', [68.970682, 33.074981], 3.14159265358979, 100000000000, 800, -3.2, 154400000, ['pound'], [16], 503, []);
|
||||||
|
|
||||||
SELECT * FROM test.table ORDER BY name FORMAT Protobuf SETTINGS format_schema = '$CURDIR/00825_protobuf_format:Person';
|
SELECT * FROM test.table ORDER BY name FORMAT Protobuf SETTINGS format_schema = '$CURDIR/00825_protobuf_format:Person';
|
||||||
SELECT 'ALTERNATIVE->';
|
SELECT 'ALTERNATIVE->';
|
||||||
|
@ -41,7 +41,23 @@ message Syntax2Person {
|
|||||||
optional float someRatio = 18;
|
optional float someRatio = 18;
|
||||||
optional float temperature = 19;
|
optional float temperature = 19;
|
||||||
optional sint64 randomBigNumber = 20;
|
optional sint64 randomBigNumber = 20;
|
||||||
optional string newFieldStr = 21 [default='abc'];
|
optional group MeasureUnits = 21 {
|
||||||
optional int32 newFieldInt = 22 [default=-11];
|
repeated float coef = 1;
|
||||||
optional bool newBool = 23 [default=true];
|
repeated string unit = 2;
|
||||||
|
};
|
||||||
|
optional group Nestiness = 22
|
||||||
|
{
|
||||||
|
optional group A = 1 {
|
||||||
|
message SubB {
|
||||||
|
optional group C = 1 {
|
||||||
|
optional uint32 d = 1;
|
||||||
|
repeated uint32 e = 2;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
optional SubB b = 100;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
optional string newFieldStr = 23 [default='abc'];
|
||||||
|
optional int32 newFieldInt = 24 [default=-11];
|
||||||
|
optional bool newBool = 25 [default=true];
|
||||||
};
|
};
|
||||||
|
@ -1,51 +0,0 @@
|
|||||||
syntax = "proto2";
|
|
||||||
|
|
||||||
message Syntax2Person {
|
|
||||||
enum Gender {
|
|
||||||
female = 0;
|
|
||||||
male = 1;
|
|
||||||
};
|
|
||||||
|
|
||||||
enum ZodiacSign {
|
|
||||||
aries = 0;
|
|
||||||
taurus = 1;
|
|
||||||
gemini = 2;
|
|
||||||
cancer = 3;
|
|
||||||
leo = 4;
|
|
||||||
virgo = 5;
|
|
||||||
libra = 6;
|
|
||||||
scorpius = 7;
|
|
||||||
sagittarius = 8;
|
|
||||||
capricorn = 9;
|
|
||||||
aquarius = 10;
|
|
||||||
pisces = 11;
|
|
||||||
};
|
|
||||||
|
|
||||||
required string uuid = 1;
|
|
||||||
required string name = 2;
|
|
||||||
required string surname = 3;
|
|
||||||
required Gender gender = 4;
|
|
||||||
required uint32 birthDate = 5;
|
|
||||||
optional bytes photo = 6;
|
|
||||||
optional string phoneNumber = 7;
|
|
||||||
optional bool isOnline = 8;
|
|
||||||
optional fixed32 visitTime = 9;
|
|
||||||
optional uint32 age = 10;
|
|
||||||
optional ZodiacSign zodiacSign = 11;
|
|
||||||
repeated string songs = 12;
|
|
||||||
repeated uint32 color = 13;
|
|
||||||
optional string hometown = 14 [default='Moscow'];
|
|
||||||
repeated float location = 15 [packed=true];
|
|
||||||
optional double pi = 16;
|
|
||||||
optional double lotteryWin = 17;
|
|
||||||
optional float someRatio = 18;
|
|
||||||
optional float temperature = 19;
|
|
||||||
optional sint64 randomBigNumber = 20;
|
|
||||||
optional group MeasureUnits = 21 {
|
|
||||||
repeated float coef = 1;
|
|
||||||
repeated string unit = 2;
|
|
||||||
};
|
|
||||||
optional string newFieldStr = 22 [default='abc'];
|
|
||||||
optional int32 newFieldInt = 23 [default=-11];
|
|
||||||
optional bool newBool = 24 [default=true];
|
|
||||||
};
|
|
@ -1,118 +0,0 @@
|
|||||||
syntax = "proto3";
|
|
||||||
|
|
||||||
enum Gender {
|
|
||||||
female = 0;
|
|
||||||
male = 1;
|
|
||||||
};
|
|
||||||
|
|
||||||
enum ZodiacSign {
|
|
||||||
aries = 0;
|
|
||||||
taurus = 1;
|
|
||||||
gemini = 2;
|
|
||||||
cancer = 3;
|
|
||||||
leo = 4;
|
|
||||||
virgo = 5;
|
|
||||||
libra = 6;
|
|
||||||
scorpius = 7;
|
|
||||||
sagittarius = 8;
|
|
||||||
capricorn = 9;
|
|
||||||
aquarius = 10;
|
|
||||||
pisces = 11;
|
|
||||||
};
|
|
||||||
|
|
||||||
message Person {
|
|
||||||
message MeasureUnit
|
|
||||||
{
|
|
||||||
string unit = 1;
|
|
||||||
float coef = 2;
|
|
||||||
};
|
|
||||||
string uuid = 1;
|
|
||||||
string name = 2;
|
|
||||||
string surname = 3;
|
|
||||||
Gender gender = 4;
|
|
||||||
uint32 birthDate = 5;
|
|
||||||
bytes photo = 6;
|
|
||||||
string phoneNumber = 7;
|
|
||||||
bool isOnline = 8;
|
|
||||||
fixed32 visitTime = 9;
|
|
||||||
uint32 age = 10;
|
|
||||||
ZodiacSign zodiacSign = 11;
|
|
||||||
repeated string songs = 12;
|
|
||||||
repeated uint32 color = 13;
|
|
||||||
string hometown = 14;
|
|
||||||
repeated float location = 15;
|
|
||||||
double pi = 16;
|
|
||||||
double lotteryWin = 17;
|
|
||||||
float someRatio = 18;
|
|
||||||
float temperature = 19;
|
|
||||||
sint64 randomBigNumber = 20;
|
|
||||||
repeated MeasureUnit measureUnits = 21;
|
|
||||||
};
|
|
||||||
|
|
||||||
enum OnlineStatus {
|
|
||||||
offline = 0;
|
|
||||||
online = 1;
|
|
||||||
};
|
|
||||||
|
|
||||||
message AltPerson {
|
|
||||||
enum Gender {
|
|
||||||
male = 0;
|
|
||||||
female = 1;
|
|
||||||
};
|
|
||||||
message Dummy {
|
|
||||||
message Empty {};
|
|
||||||
repeated Empty empty = 1;
|
|
||||||
float z = 2;
|
|
||||||
};
|
|
||||||
repeated int32 location = 101 [packed=false];
|
|
||||||
float pi = 103;
|
|
||||||
bytes uuid = 300;
|
|
||||||
bool newFieldBool = 299;
|
|
||||||
string name = 2;
|
|
||||||
Gender gender = 102;
|
|
||||||
int32 zodiacSign = 130;
|
|
||||||
int64 birthDate = 150;
|
|
||||||
bytes age = 111;
|
|
||||||
OnlineStatus isOnline = 1;
|
|
||||||
double someRatio = 100;
|
|
||||||
fixed64 visitTime = 15;
|
|
||||||
Dummy newMessage = 1000;
|
|
||||||
sfixed64 randomBigNumber = 140;
|
|
||||||
repeated int32 newFieldInt = 104;
|
|
||||||
repeated float color = 14;
|
|
||||||
uint64 lotteryWin = 202;
|
|
||||||
bytes surname = 10;
|
|
||||||
uint64 phoneNumber = 5;
|
|
||||||
sint32 temperature = 41;
|
|
||||||
string newFieldStr = 21;
|
|
||||||
repeated string measureUnits_unit = 99;
|
|
||||||
repeated float measureUnits_coef = 88;
|
|
||||||
};
|
|
||||||
|
|
||||||
message StrPerson {
|
|
||||||
message MeasureUnits
|
|
||||||
{
|
|
||||||
repeated string unit = 1;
|
|
||||||
repeated string coef = 2;
|
|
||||||
};
|
|
||||||
string uuid = 1;
|
|
||||||
string name = 2;
|
|
||||||
string surname = 3;
|
|
||||||
string gender = 4;
|
|
||||||
string birthDate = 5;
|
|
||||||
string phoneNumber = 7;
|
|
||||||
string isOnline = 8;
|
|
||||||
string visitTime = 9;
|
|
||||||
string age = 10;
|
|
||||||
string zodiacSign = 11;
|
|
||||||
repeated string songs = 12;
|
|
||||||
repeated string color = 13;
|
|
||||||
string hometown = 14;
|
|
||||||
repeated string location = 15;
|
|
||||||
string pi = 16;
|
|
||||||
string lotteryWin = 17;
|
|
||||||
string someRatio = 18;
|
|
||||||
string temperature = 19;
|
|
||||||
string randomBigNumber = 20;
|
|
||||||
MeasureUnits measureUnits = 21;
|
|
||||||
};
|
|
@ -5,8 +5,8 @@ add_executable (markov-model markov-model.cpp)
|
|||||||
target_link_libraries(markov-model PRIVATE clickhouse_common_io ${Boost_PROGRAM_OPTIONS_LIBRARY})
|
target_link_libraries(markov-model PRIVATE clickhouse_common_io ${Boost_PROGRAM_OPTIONS_LIBRARY})
|
||||||
|
|
||||||
if(USE_PROTOBUF)
|
if(USE_PROTOBUF)
|
||||||
protobuf_generate_cpp(ProtobufDelimitedMessagesSerializer_Srcs ProtobufDelimitedMessagesSerializer_Hdrs ${CMAKE_CURRENT_SOURCE_DIR}/../../dbms/tests/queries/0_stateless/00825_protobuf_format_with_nested.proto)
|
protobuf_generate_cpp(ProtobufDelimitedMessagesSerializer_Srcs ProtobufDelimitedMessagesSerializer_Hdrs ${CMAKE_CURRENT_SOURCE_DIR}/../../dbms/tests/queries/0_stateless/00825_protobuf_format.proto)
|
||||||
protobuf_generate_cpp(ProtobufDelimitedMessagesSerializer_Srcs2 ProtobufDelimitedMessagesSerializer_Hdrs2 ${CMAKE_CURRENT_SOURCE_DIR}/../../dbms/tests/queries/0_stateless/00825_protobuf_format_syntax2_with_nested.proto)
|
protobuf_generate_cpp(ProtobufDelimitedMessagesSerializer_Srcs2 ProtobufDelimitedMessagesSerializer_Hdrs2 ${CMAKE_CURRENT_SOURCE_DIR}/../../dbms/tests/queries/0_stateless/00825_protobuf_format_syntax2.proto)
|
||||||
add_executable (ProtobufDelimitedMessagesSerializer ProtobufDelimitedMessagesSerializer.cpp ${ProtobufDelimitedMessagesSerializer_Srcs} ${ProtobufDelimitedMessagesSerializer_Hdrs} ${ProtobufDelimitedMessagesSerializer_Srcs2} ${ProtobufDelimitedMessagesSerializer_Hdrs2})
|
add_executable (ProtobufDelimitedMessagesSerializer ProtobufDelimitedMessagesSerializer.cpp ${ProtobufDelimitedMessagesSerializer_Srcs} ${ProtobufDelimitedMessagesSerializer_Hdrs} ${ProtobufDelimitedMessagesSerializer_Srcs2} ${ProtobufDelimitedMessagesSerializer_Hdrs2})
|
||||||
target_include_directories (ProtobufDelimitedMessagesSerializer SYSTEM BEFORE PRIVATE ${Protobuf_INCLUDE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
|
target_include_directories (ProtobufDelimitedMessagesSerializer SYSTEM BEFORE PRIVATE ${Protobuf_INCLUDE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
|
||||||
target_link_libraries (ProtobufDelimitedMessagesSerializer PRIVATE ${Protobuf_LIBRARY} ${Boost_PROGRAM_OPTIONS_LIBRARY})
|
target_link_libraries (ProtobufDelimitedMessagesSerializer PRIVATE ${Protobuf_LIBRARY} ${Boost_PROGRAM_OPTIONS_LIBRARY})
|
||||||
|
@ -5,8 +5,8 @@
|
|||||||
#include <fstream>
|
#include <fstream>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <google/protobuf/util/delimited_message_util.h>
|
#include <google/protobuf/util/delimited_message_util.h>
|
||||||
#include "00825_protobuf_format_with_nested.pb.h"
|
#include "00825_protobuf_format.pb.h"
|
||||||
#include "00825_protobuf_format_syntax2_with_nested.pb.h"
|
#include "00825_protobuf_format_syntax2.pb.h"
|
||||||
|
|
||||||
|
|
||||||
void writeInsertQueryCommand(std::ostream & out, const std::string & format_schema, std::stringstream & delimited_messages)
|
void writeInsertQueryCommand(std::ostream & out, const std::string & format_schema, std::stringstream & delimited_messages)
|
||||||
@ -63,6 +63,9 @@ void writeInputInsertQueries(std::ostream & out)
|
|||||||
mu = person.add_measureunits();
|
mu = person.add_measureunits();
|
||||||
mu->set_unit("kilometer");
|
mu->set_unit("kilometer");
|
||||||
mu->set_coef(1000);
|
mu->set_coef(1000);
|
||||||
|
person.mutable_nestiness()->mutable_a()->mutable_b()->mutable_c()->set_d(500);
|
||||||
|
person.mutable_nestiness()->mutable_a()->mutable_b()->mutable_c()->add_e(501);
|
||||||
|
person.mutable_nestiness()->mutable_a()->mutable_b()->mutable_c()->add_e(502);
|
||||||
google::protobuf::util::SerializeDelimitedToOstream(person, &ss);
|
google::protobuf::util::SerializeDelimitedToOstream(person, &ss);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -118,10 +121,11 @@ void writeInputInsertQueries(std::ostream & out)
|
|||||||
auto* mu = person.add_measureunits();
|
auto* mu = person.add_measureunits();
|
||||||
mu->set_unit("pound");
|
mu->set_unit("pound");
|
||||||
mu->set_coef(16);
|
mu->set_coef(16);
|
||||||
|
person.mutable_nestiness()->mutable_a()->mutable_b()->mutable_c()->set_d(503);
|
||||||
google::protobuf::util::SerializeDelimitedToOstream(person, &ss);
|
google::protobuf::util::SerializeDelimitedToOstream(person, &ss);
|
||||||
}
|
}
|
||||||
|
|
||||||
writeInsertQueryCommand(out, "00825_protobuf_format_with_nested:Person", ss);
|
writeInsertQueryCommand(out, "00825_protobuf_format:Person", ss);
|
||||||
|
|
||||||
{
|
{
|
||||||
AltPerson person;
|
AltPerson person;
|
||||||
@ -149,6 +153,8 @@ void writeInputInsertQueries(std::ostream & out)
|
|||||||
person.add_measureunits_coef(1024);
|
person.add_measureunits_coef(1024);
|
||||||
person.add_measureunits_unit("MB");
|
person.add_measureunits_unit("MB");
|
||||||
person.add_measureunits_coef(1048576);
|
person.add_measureunits_coef(1048576);
|
||||||
|
person.set_nestiness_a_b_c_d(700);
|
||||||
|
person.add_nestiness_a_b_c_e(701);
|
||||||
google::protobuf::util::SerializeDelimitedToOstream(person, &ss);
|
google::protobuf::util::SerializeDelimitedToOstream(person, &ss);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -179,10 +185,11 @@ void writeInputInsertQueries(std::ostream & out)
|
|||||||
person.add_measureunits_unit("Bit");
|
person.add_measureunits_unit("Bit");
|
||||||
person.add_measureunits_coef(1);
|
person.add_measureunits_coef(1);
|
||||||
person.mutable_newmessage()->set_z(91);
|
person.mutable_newmessage()->set_z(91);
|
||||||
|
person.set_nestiness_a_b_c_d(702);
|
||||||
google::protobuf::util::SerializeDelimitedToOstream(person, &ss);
|
google::protobuf::util::SerializeDelimitedToOstream(person, &ss);
|
||||||
}
|
}
|
||||||
|
|
||||||
writeInsertQueryCommand(out, "00825_protobuf_format_with_nested:AltPerson", ss);
|
writeInsertQueryCommand(out, "00825_protobuf_format:AltPerson", ss);
|
||||||
|
|
||||||
{
|
{
|
||||||
StrPerson person;
|
StrPerson person;
|
||||||
@ -214,10 +221,11 @@ void writeInputInsertQueries(std::ostream & out)
|
|||||||
person.mutable_measureunits()->add_coef("60");
|
person.mutable_measureunits()->add_coef("60");
|
||||||
person.mutable_measureunits()->add_unit("hour");
|
person.mutable_measureunits()->add_unit("hour");
|
||||||
person.mutable_measureunits()->add_coef("3600");
|
person.mutable_measureunits()->add_coef("3600");
|
||||||
|
person.mutable_nestiness_a()->mutable_b_c()->add_e("1800");
|
||||||
google::protobuf::util::SerializeDelimitedToOstream(person, &ss);
|
google::protobuf::util::SerializeDelimitedToOstream(person, &ss);
|
||||||
}
|
}
|
||||||
|
|
||||||
writeInsertQueryCommand(out, "00825_protobuf_format_with_nested:StrPerson", ss);
|
writeInsertQueryCommand(out, "00825_protobuf_format:StrPerson", ss);
|
||||||
|
|
||||||
{
|
{
|
||||||
Syntax2Person person;
|
Syntax2Person person;
|
||||||
@ -250,10 +258,11 @@ void writeInputInsertQueries(std::ostream & out)
|
|||||||
person.mutable_measureunits()->add_coef(0.2);
|
person.mutable_measureunits()->add_coef(0.2);
|
||||||
person.mutable_measureunits()->add_unit("gram");
|
person.mutable_measureunits()->add_unit("gram");
|
||||||
person.mutable_measureunits()->add_coef(1);
|
person.mutable_measureunits()->add_coef(1);
|
||||||
|
person.mutable_nestiness()->mutable_a()->mutable_b()->mutable_c()->set_d(9494);
|
||||||
google::protobuf::util::SerializeDelimitedToOstream(person, &ss);
|
google::protobuf::util::SerializeDelimitedToOstream(person, &ss);
|
||||||
}
|
}
|
||||||
|
|
||||||
writeInsertQueryCommand(out, "00825_protobuf_format_syntax2_with_nested:Syntax2Person", ss);
|
writeInsertQueryCommand(out, "00825_protobuf_format_syntax2:Syntax2Person", ss);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -285,6 +294,18 @@ void writeOutputReference(std::ostream & out)
|
|||||||
person.set_someratio(0.1);
|
person.set_someratio(0.1);
|
||||||
person.set_temperature(5.8);
|
person.set_temperature(5.8);
|
||||||
person.set_randombignumber(17060000000);
|
person.set_randombignumber(17060000000);
|
||||||
|
auto* mu = person.add_measureunits();
|
||||||
|
mu->set_unit("meter");
|
||||||
|
mu->set_coef(1);
|
||||||
|
mu = person.add_measureunits();
|
||||||
|
mu->set_unit("centimeter");
|
||||||
|
mu->set_coef(0.01);
|
||||||
|
mu = person.add_measureunits();
|
||||||
|
mu->set_unit("kilometer");
|
||||||
|
mu->set_coef(1000);
|
||||||
|
person.mutable_nestiness()->mutable_a()->mutable_b()->mutable_c()->set_d(500);
|
||||||
|
person.mutable_nestiness()->mutable_a()->mutable_b()->mutable_c()->add_e(501);
|
||||||
|
person.mutable_nestiness()->mutable_a()->mutable_b()->mutable_c()->add_e(502);
|
||||||
google::protobuf::util::SerializeDelimitedToOstream(person, &out);
|
google::protobuf::util::SerializeDelimitedToOstream(person, &out);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -337,6 +358,10 @@ void writeOutputReference(std::ostream & out)
|
|||||||
person.set_someratio(800);
|
person.set_someratio(800);
|
||||||
person.set_temperature(-3.2);
|
person.set_temperature(-3.2);
|
||||||
person.set_randombignumber(154400000);
|
person.set_randombignumber(154400000);
|
||||||
|
auto* mu = person.add_measureunits();
|
||||||
|
mu->set_unit("pound");
|
||||||
|
mu->set_coef(16);
|
||||||
|
person.mutable_nestiness()->mutable_a()->mutable_b()->mutable_c()->set_d(503);
|
||||||
google::protobuf::util::SerializeDelimitedToOstream(person, &out);
|
google::protobuf::util::SerializeDelimitedToOstream(person, &out);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -364,6 +389,15 @@ void writeOutputReference(std::ostream & out)
|
|||||||
person.set_surname("Petrov");
|
person.set_surname("Petrov");
|
||||||
person.set_phonenumber(+74951234567);
|
person.set_phonenumber(+74951234567);
|
||||||
person.set_temperature(5);
|
person.set_temperature(5);
|
||||||
|
person.add_measureunits_unit("meter");
|
||||||
|
person.add_measureunits_coef(1);
|
||||||
|
person.add_measureunits_unit("centimeter");
|
||||||
|
person.add_measureunits_coef(0.01);
|
||||||
|
person.add_measureunits_unit("kilometer");
|
||||||
|
person.add_measureunits_coef(1000);
|
||||||
|
person.set_nestiness_a_b_c_d(500);
|
||||||
|
person.add_nestiness_a_b_c_e(501);
|
||||||
|
person.add_nestiness_a_b_c_e(502);
|
||||||
google::protobuf::util::SerializeDelimitedToOstream(person, &out);
|
google::protobuf::util::SerializeDelimitedToOstream(person, &out);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -411,6 +445,9 @@ void writeOutputReference(std::ostream & out)
|
|||||||
person.set_surname("Sidorov");
|
person.set_surname("Sidorov");
|
||||||
person.set_phonenumber(+442012345678);
|
person.set_phonenumber(+442012345678);
|
||||||
person.set_temperature(-3);
|
person.set_temperature(-3);
|
||||||
|
person.add_measureunits_unit("pound");
|
||||||
|
person.add_measureunits_coef(16);
|
||||||
|
person.set_nestiness_a_b_c_d(503);
|
||||||
google::protobuf::util::SerializeDelimitedToOstream(person, &out);
|
google::protobuf::util::SerializeDelimitedToOstream(person, &out);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -441,6 +478,15 @@ void writeOutputReference(std::ostream & out)
|
|||||||
person.set_someratio("0.1");
|
person.set_someratio("0.1");
|
||||||
person.set_temperature("5.8");
|
person.set_temperature("5.8");
|
||||||
person.set_randombignumber("17060000000");
|
person.set_randombignumber("17060000000");
|
||||||
|
person.mutable_measureunits()->add_unit("meter");
|
||||||
|
person.mutable_measureunits()->add_coef("1");
|
||||||
|
person.mutable_measureunits()->add_unit("centimeter");
|
||||||
|
person.mutable_measureunits()->add_coef("0.01");
|
||||||
|
person.mutable_measureunits()->add_unit("kilometer");
|
||||||
|
person.mutable_measureunits()->add_coef("1000");
|
||||||
|
person.mutable_nestiness_a()->mutable_b_c()->set_d("500");
|
||||||
|
person.mutable_nestiness_a()->mutable_b_c()->add_e("501");
|
||||||
|
person.mutable_nestiness_a()->mutable_b_c()->add_e("502");
|
||||||
google::protobuf::util::SerializeDelimitedToOstream(person, &out);
|
google::protobuf::util::SerializeDelimitedToOstream(person, &out);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -491,6 +537,9 @@ void writeOutputReference(std::ostream & out)
|
|||||||
person.set_someratio("800");
|
person.set_someratio("800");
|
||||||
person.set_temperature("-3.2");
|
person.set_temperature("-3.2");
|
||||||
person.set_randombignumber("154400000");
|
person.set_randombignumber("154400000");
|
||||||
|
person.mutable_measureunits()->add_unit("pound");
|
||||||
|
person.mutable_measureunits()->add_coef("16");
|
||||||
|
person.mutable_nestiness_a()->mutable_b_c()->set_d("503");
|
||||||
google::protobuf::util::SerializeDelimitedToOstream(person, &out);
|
google::protobuf::util::SerializeDelimitedToOstream(person, &out);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -522,6 +571,15 @@ void writeOutputReference(std::ostream & out)
|
|||||||
person.set_someratio(0.1);
|
person.set_someratio(0.1);
|
||||||
person.set_temperature(5.8);
|
person.set_temperature(5.8);
|
||||||
person.set_randombignumber(17060000000);
|
person.set_randombignumber(17060000000);
|
||||||
|
person.mutable_measureunits()->add_unit("meter");
|
||||||
|
person.mutable_measureunits()->add_coef(1);
|
||||||
|
person.mutable_measureunits()->add_unit("centimeter");
|
||||||
|
person.mutable_measureunits()->add_coef(0.01);
|
||||||
|
person.mutable_measureunits()->add_unit("kilometer");
|
||||||
|
person.mutable_measureunits()->add_coef(1000);
|
||||||
|
person.mutable_nestiness()->mutable_a()->mutable_b()->mutable_c()->set_d(500);
|
||||||
|
person.mutable_nestiness()->mutable_a()->mutable_b()->mutable_c()->add_e(501);
|
||||||
|
person.mutable_nestiness()->mutable_a()->mutable_b()->mutable_c()->add_e(502);
|
||||||
google::protobuf::util::SerializeDelimitedToOstream(person, &out);
|
google::protobuf::util::SerializeDelimitedToOstream(person, &out);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -574,6 +632,9 @@ void writeOutputReference(std::ostream & out)
|
|||||||
person.set_someratio(800);
|
person.set_someratio(800);
|
||||||
person.set_temperature(-3.2);
|
person.set_temperature(-3.2);
|
||||||
person.set_randombignumber(154400000);
|
person.set_randombignumber(154400000);
|
||||||
|
person.mutable_measureunits()->add_unit("pound");
|
||||||
|
person.mutable_measureunits()->add_coef(16);
|
||||||
|
person.mutable_nestiness()->mutable_a()->mutable_b()->mutable_c()->set_d(503);
|
||||||
google::protobuf::util::SerializeDelimitedToOstream(person, &out);
|
google::protobuf::util::SerializeDelimitedToOstream(person, &out);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user