(createUser *CreateUser)
| 780 | } |
| 781 | |
| 782 | func (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 | |
| 815 | func (p *Parser) parseOptionalClauses(createUser *CreateUser) error { |
| 816 | continueParsing := true |
no test coverage detected