Hi @vitlibar,
In http implementation, ClickHouse will return format of query result in header `X-ClickHouse-Format`. Can we return format in gRPC response as well? This helps client like JDBC driver for deserialization(without the need for parsing the query).
if (context != query_context)
                throw Exception("Unexpected context in external tables initializer", ErrorCodes::LOGICAL_ERROR);
            createExternalTables();
        });
        
        query_context->setInputInitializer([this] (ContextPtr context, const StoragePtr & input_storage)
        {
            if (context != query_context)
                throw Exception("Unexpected context in Input initializer", ErrorCodes::LOGICAL_ERROR);
            input_function_is_used = true;
            initializeBlockInputStream(input_storage->getInMemoryMetadataPtr()->getSampleBlock());
        });
        query_context->setInputBlocksReaderCallback([this](ContextPtr context) -> Block
        {
            if (context != query_context)
                throw Exception("Unexpected context in InputBlocksReader", ErrorCodes::LOGICAL_ERROR);
            Block block;
            while (!block && pipeline_executor->pull(block));
            return block;
        });
        
        const auto * query_end = end;
        if (insert_query && insert_query->data)
        {
            query_end = insert_query->data;
        }
        String query(begin, query_end);
        io = ::DB::executeQuery(true, query, query_context);
    }
    void Call::processInput()