MCPcopy Create free account
hub / github.com/AfterShip/clickhouse-sql-parser / parsePrivilegeAlter

Method parsePrivilegeAlter

parser/parse_system.go:991–1052  ·  view source on GitHub ↗
(pos Pos)

Source from the content-addressed store, hash-verified

989}
990
991func (p *Parser) parsePrivilegeAlter(pos Pos) (*PrivilegeClause, error) {
992 keywords := []string{KeywordAlter}
993 switch {
994 case p.tryConsumeKeywords(KeywordIndex):
995 keywords = append(keywords, KeywordIndex)
996 case p.matchOneOfKeywords(KeywordUpdate, KeywordDelete, KeywordUser, KeywordRole, KeywordQuota):
997 keyword := p.last().String
998 _ = p.lexer.consumeToken()
999 keywords = append(keywords, keyword)
1000 case p.matchOneOfKeywords(KeywordAdd, KeywordDrop, KeywordModify, KeywordClear, KeywordComment, KeywordRename, KeywordMaterialized):
1001 keyword := p.last().String
1002 _ = p.lexer.consumeToken()
1003 keywords = append(keywords, keyword)
1004 switch {
1005 case p.tryConsumeKeywords(KeywordColumn):
1006 keywords = append(keywords, KeywordColumn)
1007 case p.tryConsumeKeywords(KeywordIndex):
1008 keywords = append(keywords, KeywordIndex)
1009 keywords = append(keywords, KeywordConstraint)
1010 case p.tryConsumeKeywords(KeywordTtl):
1011 keywords = append(keywords, KeywordTtl)
1012 default:
1013 return nil, fmt.Errorf("expected COLUMN|INDEX")
1014 }
1015 case p.tryConsumeKeywords(KeywordOrder):
1016 if err := p.expectKeyword(KeywordBy); err != nil {
1017 return nil, err
1018 }
1019 keywords = append(keywords, KeywordOrder, KeywordBy)
1020 case p.tryConsumeKeywords(KeywordSample):
1021 if err := p.expectKeyword(KeywordBy); err != nil {
1022 return nil, err
1023 }
1024 keywords = append(keywords, KeywordSample, KeywordBy)
1025 case p.tryConsumeKeywords(KeywordSettings):
1026 keywords = append(keywords, KeywordSettings)
1027 case p.tryConsumeKeywords(KeywordView):
1028 keywords = append(keywords, KeywordView)
1029 switch {
1030 case p.tryConsumeKeywords(KeywordModify):
1031 keywords = append(keywords, KeywordModify)
1032 case p.tryConsumeKeywords(KeywordRefresh):
1033 keywords = append(keywords, KeywordRefresh)
1034 default:
1035 return nil, fmt.Errorf("expected MODIFY|REFRESH")
1036 }
1037 case p.matchOneOfKeywords(KeywordMove, KeywordFreeze):
1038 keyword := p.last().String
1039 _ = p.lexer.consumeToken()
1040 keywords = append(keywords, keyword)
1041 if err := p.expectKeyword(KeywordPartition); err != nil {
1042 return nil, err
1043 }
1044 keywords = append(keywords, KeywordPartition)
1045 default:
1046 return nil, fmt.Errorf("expected UPDATE|DELETE|ADD|DROP|MODIFY|CLEAR|COMMENT|RENAME|MATERIALIZED|ORDER|SAMPLE|SETTINGS|VIEW|MOVE|FREEZE")
1047 }
1048 return &PrivilegeClause{

Callers 1

parsePrivilegeClauseMethod · 0.95

Calls 5

tryConsumeKeywordsMethod · 0.95
matchOneOfKeywordsMethod · 0.95
lastMethod · 0.95
expectKeywordMethod · 0.95
consumeTokenMethod · 0.80

Tested by

no test coverage detected