public override void ExplicitVisit(AlterTableDropTableElementStatement node) { PgExpressionVisitor expressionVisitor = new PgExpressionVisitor(_buffer); for (int index = 0, count = node.AlterTableDropTableElements.Count - 1; index <= count; ++index) { _buffer.Append("alter table "); node.SchemaObjectName.Accept(expressionVisitor); AlterTableDropTableElement element = node.AlterTableDropTableElements[index]; _buffer.Append(" drop "); if (element.IsIfExists) { _buffer.Append("if exists "); } switch (element.TableElementType) { case TableElementType.Constraint: _buffer.Append("constraint "); element.Name.Accept(expressionVisitor); _buffer.AppendLine(";"); break; default: throw new InvalidOperationException("unsupported table element name"); } } }
public override void Visit(AlterTableDropTableElement node) { this.action(node); }
public override void ExplicitVisit(AlterTableDropTableElement fragment) { _fragments.Add(fragment); }
private WAlterTableDropTableElement ParseTableDropTableElement(AlterTableDropTableElement tableElement) { if (tableElement == null) return null; var wTableElement = new WAlterTableDropTableElement { FirstTokenIndex = tableElement.FirstTokenIndex, LastTokenIndex = tableElement.LastTokenIndex, Name = tableElement.Name, TableElementType = tableElement.TableElementType, }; return wTableElement; }