/// <summary> /// Visits the given <paramref name="removeIndexNode"/>. /// </summary> /// <param name="removeIndexNode"></param> public override void Visit(IRemoveIndexNode removeIndexNode) { if(IsImmediateChildOf<IAlterColumnNode>(removeIndexNode)) MoveNodeTo(removeIndexNode, removeIndexNode.Parent.Parent.Parent); else if(IsImmediateChildOf<IAlterTableNode>(removeIndexNode)) MoveNodeTo(removeIndexNode, removeIndexNode.Parent.Parent); }
/// <summary> /// Visits the given <paramref name="removeIndexNode"/>. /// </summary> /// <param name="removeIndexNode"></param> public override void Visit(IRemoveIndexNode removeIndexNode) { Visit(removeIndexNode.ChildNodes); }
/// <summary> /// Visits the given <paramref name="removeIndexNode"/>. /// </summary> /// <param name="removeIndexNode"></param> public override void Visit(IRemoveIndexNode removeIndexNode) { TextWriter.WriteLine("drop index {0} on {1};", Platform.Dialect.EscapeIdentifier(removeIndexNode.Name), Platform.Dialect.EscapeIdentifier(removeIndexNode.Table)); }
/// <summary> /// Visits the given <paramref name="removeIndexNode" />. /// </summary> /// <param name="removeIndexNode"></param> public override void Visit(IRemoveIndexNode removeIndexNode) { textWriter.Write("remove index {0}", GetIdentifier(removeIndexNode.Name)); WriteProperties(removeIndexNode); VisitBlock(removeIndexNode); }
protected void ResolveRemoveIndex(IRemoveIndexNode removeIndexNode) { // // Resolve table name if(removeIndexNode.Properties[MdlSyntax.Table] != null) { removeIndexNode.Table = AstNodePropertyUtil.AsString(removeIndexNode.Properties[MdlSyntax.Table].Value); } // if else if(removeIndexNode.Parent is IAlterTableNode) { removeIndexNode.Table = ((ITableNode)removeIndexNode.Parent).Name; } // else if else throw CreateMdlCompilerException( MdlCompilerResources.CouldNotResolveTableForRemoveIndex, removeIndexNode.Name); }
/// <summary> /// Visits the given <paramref name="removeIndexNode"/>. /// </summary> /// <param name="removeIndexNode"></param> public override void Visit(IRemoveIndexNode removeIndexNode) { ResolveRemoveIndex(removeIndexNode); ITableDefinition table = Environment.Schema.GetTable(removeIndexNode.Table); table.RemoveIndex(removeIndexNode.Name); }