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");
                }
            }
        }
Example #2
0
 public override void Visit(AlterTableDropTableElement node) { this.action(node); }
 public override void ExplicitVisit(AlterTableDropTableElement fragment)
 {
     _fragments.Add(fragment);
 }
Example #4
0
        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;
        }