#!/usr/bin/env bash # Tags: no-ubsan, no-msan, no-fasttest set -e CURDIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd) # shellcheck source=../shell_config.sh . "$CURDIR"/../shell_config.sh #create the schema file echo " @0x803231eaa402b968; struct NestedNestedOne { nestednestednumber @0 : UInt64; } struct NestedNestedTwo { nestednestedtext @0 : Text; } struct NestedOne { nestednestedone @0 : NestedNestedOne; nestednestedtwo @1 : NestedNestedTwo; nestednumber @2: UInt64; } struct NestedTwo { nestednestedone @0 : NestedNestedOne; nestednestedtwo @1 : NestedNestedTwo; nestedtext @2 : Text; } struct CapnProto { number @0 : UInt64; string @1 : Text; nestedone @2 : NestedOne; nestedtwo @3 : NestedTwo; nestedthree @4 : NestedNestedTwo; }" > "${CLICKHOUSE_TMP}"/test.capnp $CLICKHOUSE_CLIENT -q "DROP TABLE IF EXISTS capnproto_input" $CLICKHOUSE_CLIENT -q "CREATE TABLE capnproto_input ( number UInt64, string String, nestedone_nestednumber UInt64, nestedone_nestednestedone_nestednestednumber UInt64, nestedone_nestednestedtwo_nestednestedtext String, nestedtwo_nestednestedtwo_nestednestedtext String, nestedtwo_nestednestedone_nestednestednumber UInt64, nestedtwo_nestedtext String ) ENGINE = Memory" echo -ne '\x00\x00\x00\x00\x15\x00\x00\x00\x00\x00\x00\x00\x01\x00\x04\x00\x01\x00\x00\x00\x00\x00\x00\x00\x0d\x00\x00\x00\x12\x00\x00\x00\x0c\x00\x00\x00\x01\x00\x02\x00\x20\x00\x00\x00\x00\x00\x03\x00\x34\x00\x00\x00\x00\x00\x01\x00\x32\x00\x00\x00\x00\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x01\x00\x00\x00\x04\x00\x00\x00\x00\x00\x01\x00\x03\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x12\x00\x00\x00\x34\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x01\x00\x00\x00\x08\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x12\x00\x00\x00\x37\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x12\x00\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00' | $CLICKHOUSE_CLIENT --stacktrace --format_schema="${CLICKHOUSE_TMP}/test:CapnProto" --query="INSERT INTO capnproto_input FORMAT CapnProto"; $CLICKHOUSE_CLIENT -q "SELECT * FROM capnproto_input" $CLICKHOUSE_CLIENT -q "DROP TABLE capnproto_input" # remove the schema file rm "${CLICKHOUSE_TMP}"/test.capnp