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

Method parseAlterTableModifyColumn

parser/parser_alter.go:700–731  ·  view source on GitHub ↗

syntax: MODIFY COLUMN (IF EXISTS)? tableColumnDfnt

(pos Pos)

Source from the content-addressed store, hash-verified

698
699// syntax: MODIFY COLUMN (IF EXISTS)? tableColumnDfnt
700func (p *Parser) parseAlterTableModifyColumn(pos Pos) (AlterTableClause, error) {
701 if err := p.expectKeyword(KeywordColumn); err != nil {
702 return nil, err
703 }
704
705 ifExists, err := p.tryParseIfExists()
706 if err != nil {
707 return nil, err
708 }
709
710 // at least parse out column name
711 column, err := p.parseTableColumnExpr(p.Pos())
712 if err != nil {
713 return nil, err
714 }
715
716 alterTableModifyColumn := &AlterTableModifyColumn{
717 ModifyPos: pos,
718 StatementEnd: column.End(),
719 IfExists: ifExists,
720 Column: column,
721 }
722
723 // syntax: MODIFY COLUMN (IF EXISTS)? nestedIdentifier REMOVE tableColumnPropertyType
724 removePropertyType, err := p.tryParseRemovePropertyTypeExpr(p.Pos())
725 if err != nil {
726 return nil, err
727 }
728 alterTableModifyColumn.RemovePropertyType = removePropertyType
729
730 return alterTableModifyColumn, nil
731}
732
733func (p *Parser) tryParseRemovePropertyTypeExpr(pos Pos) (*RemovePropertyType, error) {
734 if !p.matchKeyword(KeywordRemove) {

Callers 1

parseAlterTableModifyMethod · 0.95

Calls 6

expectKeywordMethod · 0.95
tryParseIfExistsMethod · 0.95
parseTableColumnExprMethod · 0.95
PosMethod · 0.95
EndMethod · 0.65

Tested by

no test coverage detected