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).
{
        LOG_INFO(log, "Handling call {}", getCallName(call_type));
        readQueryInfo();
        if (query_info.cancel())
            throw Exception("Initial query info cannot set the 'cancel' field", ErrorCodes::INVALID_GRPC_QUERY_INFO);
        LOG_DEBUG(log, "Received initial QueryInfo: {}", getQueryDescription(query_info));
    }
    void Call::executeQuery()
    {
        
        std::string user = query_info.user_name();
        std::string password = query_info.password();
        std::string quota_key = query_info.quota();
        Poco::Net::SocketAddress user_address = responder->getClientAddress();
        if (user.empty())
        {
            user = "default";
            password = "";
        }
        
        session.emplace(iserver.context(), ClientInfo::Interface::GRPC);
        session->authenticate(user, password, user_address);
        session->getClientInfo().quota_key = quota_key;