MCPcopy
hub / github.com/sqldef/sqldef / parseAlterTableStmt

Method parseAlterTableStmt

database/postgres/parser.go:999–1015  ·  view source on GitHub ↗
(stmt *pgquery.AlterTableStmt)

Source from the content-addressed store, hash-verified

997}
998
999func (p PostgresParser) parseAlterTableStmt(stmt *pgquery.AlterTableStmt) (parser.Statement, error) {
1000 tableName, err := p.parseTableName(stmt.Relation)
1001 if err != nil {
1002 return nil, err
1003 }
1004
1005 if len(stmt.Cmds) > 1 {
1006 return nil, fmt.Errorf("multiple actions are not supported in parseAlterTableStmt")
1007 }
1008
1009 switch node := stmt.Cmds[0].Node.(*pgquery.Node_AlterTableCmd).AlterTableCmd.Def.Node.(type) {
1010 case *pgquery.Node_Constraint:
1011 return p.parseConstraint(node.Constraint, tableName)
1012 default:
1013 return nil, fmt.Errorf("unhandled node in parseAlterTableStmt: %#v", node)
1014 }
1015}
1016
1017func (p PostgresParser) parseConstraint(constraint *pgquery.Constraint, tableName parser.TableName) (parser.Statement, error) {
1018 switch constraint.Contype {

Callers 1

parseStmtMethod · 0.95

Calls 3

parseTableNameMethod · 0.95
parseConstraintMethod · 0.95
ErrorfMethod · 0.65

Tested by

no test coverage detected