aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/clickhouse/src/Parsers/ParserAttachAccessEntity.cpp
blob: c6d1448d0e98b7ce41e2979ec234a36b53abbacd (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <Parsers/ParserAttachAccessEntity.h>
#include <Parsers/Access/ParserCreateQuotaQuery.h>
#include <Parsers/Access/ParserCreateRoleQuery.h>
#include <Parsers/Access/ParserCreateRowPolicyQuery.h>
#include <Parsers/Access/ParserCreateSettingsProfileQuery.h>
#include <Parsers/Access/ParserCreateUserQuery.h>
#include <Parsers/Access/ParserGrantQuery.h>

namespace DB
{

bool ParserAttachAccessEntity::parseImpl(Pos & pos, ASTPtr & node, Expected & expected)
{
    ParserCreateUserQuery create_user_p;
    ParserCreateRoleQuery create_role_p;
    ParserCreateRowPolicyQuery create_policy_p;
    ParserCreateQuotaQuery create_quota_p;
    ParserCreateSettingsProfileQuery create_profile_p;
    ParserGrantQuery grant_p;

    create_user_p.useAttachMode();
    create_role_p.useAttachMode();
    create_policy_p.useAttachMode();
    create_quota_p.useAttachMode();
    create_profile_p.useAttachMode();
    grant_p.useAttachMode();

    return create_user_p.parse(pos, node, expected) || create_role_p.parse(pos, node, expected)
        || create_policy_p.parse(pos, node, expected) || create_quota_p.parse(pos, node, expected)
        || create_profile_p.parse(pos, node, expected) || grant_p.parse(pos, node, expected);
}

}