/// <summary>
            /// This visitor looks for ALTER TABLE...ALTER COLUMN statements and overrides by adding ONLINE = ON attribute
            /// </summary>
            public override void ExplicitVisit(AlterTableAlterColumnStatement node)
            {
                bool isAlreadyOnline = false;

                // check if the statement already has ONLINE = ON
                foreach (var option in node.Options)
                {
                    if (option is OnlineIndexOption)
                    {
                        isAlreadyOnline = true;
                    }
                }

                if (!isAlreadyOnline)
                {
                    node.Options.Add(new OnlineIndexOption()
                    {
                        OptionKind  = IndexOptionKind.Online,
                        OptionState = OptionState.On
                    });
                }
            }
Beispiel #2
0
 public override void Visit(AlterTableAlterColumnStatement node) { this.action(node); }
 public override void ExplicitVisit(AlterTableAlterColumnStatement fragment)
 {
     _fragments.Add(fragment);
 }