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

Method parseDefaultClause

parser/parse_system.go:782–813  ·  view source on GitHub ↗
(createUser *CreateUser)

Source from the content-addressed store, hash-verified

780}
781
782func (p *Parser) parseDefaultClause(createUser *CreateUser) (bool, error) {
783 nextToken, err := p.lexer.peekToken()
784 if err != nil {
785 return false, err
786 }
787
788 if nextToken.String == KeywordRole {
789 defaultRole, err := p.parseDefaultRoleClause(p.Pos())
790 if err != nil {
791 return false, err
792 }
793 createUser.DefaultRole = defaultRole
794 createUser.StatementEnd = defaultRole.End()
795 return true, nil
796 } else if nextToken.String == KeywordDatabase {
797 _ = p.lexer.consumeToken() // consume DEFAULT
798 _ = p.lexer.consumeToken() // consume DATABASE
799 if p.tryConsumeKeywords(KeywordNone) {
800 createUser.DefaultDbNone = true
801 createUser.StatementEnd = p.last().End
802 } else {
803 db, err := p.parseIdent()
804 if err != nil {
805 return false, err
806 }
807 createUser.DefaultDatabase = db
808 createUser.StatementEnd = db.End()
809 }
810 return true, nil
811 }
812 return false, nil
813}
814
815func (p *Parser) parseOptionalClauses(createUser *CreateUser) error {
816 continueParsing := true

Callers 1

parseOptionalClausesMethod · 0.95

Calls 8

PosMethod · 0.95
tryConsumeKeywordsMethod · 0.95
lastMethod · 0.95
parseIdentMethod · 0.95
peekTokenMethod · 0.80
consumeTokenMethod · 0.80
EndMethod · 0.65

Tested by

no test coverage detected