mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-09-21 09:10:48 +00:00
Add a test with multiple wrappers used in a single message
This commit is contained in:
parent
5c34585a00
commit
67c368ddfb
@ -36,3 +36,8 @@ with disabled format_protobuf_google_wrappers_special_treatment:
|
||||
('') 1
|
||||
('') 2
|
||||
('str') 3
|
||||
|
||||
Insert (0,1,2) and reinsert using Google wrappers into:
|
||||
Table (Nullable(Int32), Nullable(Int32), Int32):
|
||||
0 1 2
|
||||
0 1 2
|
@ -17,6 +17,7 @@ MESSAGE_FILE_PATH=$(mktemp "$CURDIR/${PROTOBUF_FILE_NAME}_message.XXXXXX.binary"
|
||||
MAIN_TABLE="google_wrappers_02266"
|
||||
ROUNDTRIP_TABLE="roundtrip_google_wrappers_02266"
|
||||
COMPATIBILITY_TABLE="compatibility_google_wrappers_02266"
|
||||
MULTI_TABLE="multi_google_wrappers_02266"
|
||||
|
||||
# takes ClickHouse format and protobuf class as arguments
|
||||
format_settings() {
|
||||
@ -29,6 +30,7 @@ $CLICKHOUSE_CLIENT -n --query "
|
||||
DROP TABLE IF EXISTS $MAIN_TABLE;
|
||||
DROP TABLE IF EXISTS $ROUNDTRIP_TABLE;
|
||||
DROP TABLE IF EXISTS $COMPATIBILITY_TABLE;
|
||||
DROP TABLE IF EXISTS $MULTI_TABLE;
|
||||
|
||||
CREATE TABLE $MAIN_TABLE
|
||||
(
|
||||
@ -43,6 +45,13 @@ $CLICKHOUSE_CLIENT -n --query "
|
||||
str Tuple(value String),
|
||||
ref Int32
|
||||
) ENGINE = MergeTree ORDER BY tuple();
|
||||
|
||||
CREATE TABLE $MULTI_TABLE
|
||||
(
|
||||
x0 Nullable(Int32),
|
||||
x1 Nullable(Int32),
|
||||
x2 Int32
|
||||
) ENGINE = MergeTree ORDER BY tuple();
|
||||
"
|
||||
|
||||
INITIAL_INSERT_VALUES="('str1',1),('',2),('str2',3)"
|
||||
@ -93,6 +102,15 @@ $CLICKHOUSE_CLIENT -n --query "
|
||||
" < "$MESSAGE_FILE_PATH"
|
||||
$CLICKHOUSE_CLIENT --query "SELECT * FROM $COMPATIBILITY_TABLE"
|
||||
|
||||
MULTI_WRAPPER_VALUES="(0,1,2)"
|
||||
echo
|
||||
echo "Insert $MULTI_WRAPPER_VALUES and reinsert using Google wrappers into:"
|
||||
echo "Table (Nullable(Int32), Nullable(Int32), Int32):"
|
||||
$CLICKHOUSE_CLIENT --query "INSERT INTO $MULTI_TABLE VALUES $MULTI_WRAPPER_VALUES"
|
||||
$CLICKHOUSE_CLIENT --query "SELECT * FROM $MULTI_TABLE $(format_settings Protobuf MessageMultiWrapper)" > "$BINARY_FILE_PATH"
|
||||
$CLICKHOUSE_CLIENT --query "INSERT INTO $MULTI_TABLE $(format_settings Protobuf MessageMultiWrapper)" < "$BINARY_FILE_PATH"
|
||||
$CLICKHOUSE_CLIENT --query "SELECT * FROM $MULTI_TABLE"
|
||||
|
||||
rm "$BINARY_FILE_PATH"
|
||||
rm "$MESSAGE_FILE_PATH"
|
||||
|
||||
@ -100,4 +118,5 @@ $CLICKHOUSE_CLIENT -n --query "
|
||||
DROP TABLE $MAIN_TABLE;
|
||||
DROP TABLE $ROUNDTRIP_TABLE;
|
||||
DROP TABLE $COMPATIBILITY_TABLE;
|
||||
DROP TABLE $MULTI_TABLE;
|
||||
"
|
||||
|
@ -10,4 +10,10 @@ message Message {
|
||||
message MessageNoWrapper {
|
||||
string str = 1;
|
||||
int32 ref = 2;
|
||||
}
|
||||
|
||||
message MessageMultiWrapper {
|
||||
google.protobuf.Int32Value x0 = 1;
|
||||
google.protobuf.Int32Value x1 = 2;
|
||||
google.protobuf.Int32Value x2 = 3;
|
||||
}
|
Loading…
Reference in New Issue
Block a user