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

Method parseDeduplicateClause

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

Source from the content-addressed store, hash-verified

220}
221
222func (p *Parser) parseDeduplicateClause(pos Pos) (*DeduplicateClause, error) {
223 if err := p.expectKeyword(KeywordDeduplicate); err != nil {
224 return nil, err
225 }
226 if !p.tryConsumeKeywords(KeywordBy) {
227 return &DeduplicateClause{
228 DeduplicatePos: pos,
229 }, nil
230 }
231
232 by, err := p.parseColumnExprList(p.Pos())
233 if err != nil {
234 return nil, err
235 }
236 var except *ColumnExprList
237 if p.tryConsumeKeywords(KeywordExcept) {
238 except, err = p.parseColumnExprList(p.Pos())
239 if err != nil {
240 return nil, err
241 }
242 }
243 return &DeduplicateClause{
244 DeduplicatePos: pos,
245 By: by,
246 Except: except,
247 }, nil
248}
249
250func (p *Parser) parseOptimizeStmt(pos Pos) (*OptimizeStmt, error) {
251 if err := p.expectKeyword(KeywordOptimize); err != nil {

Callers 1

Calls 4

expectKeywordMethod · 0.95
tryConsumeKeywordsMethod · 0.95
parseColumnExprListMethod · 0.95
PosMethod · 0.95

Tested by

no test coverage detected