Example #1
0
        public SQLStatementWriter WriteCreateIndexStatement(JMXIndex index, JMXSchema fromSchema = null)
        {
            if (fromSchema == null)
            {
                fromSchema = _schema;
            }
            //CREATE UNIQUE NONCLUSTERED INDEX [AK1_SysSchemas] ON [SysCat].[SysSchemas] ([SysAreaID] ASC, [ObjectName] ASC)
            Write("create " + (index.IsUnique ? "unique " : "") + (index.ClusteredOption == 1 ? "clustered " : "nonclustered ") +
                  $"index [{index.IndexName}] " +
                  $"on {fromSchema.DbObjectName} (");
            int count = index.KeyMembers.Count;

            for (int i = 0; i < count; i++)
            {
                var m = index.KeyMembers[i];
                Write($"[{m.FieldName}] " + (m.IsDescending ? "DESC" : "ASC"));
                if (i != count - 1)
                {
                    Write(", ");
                }
                else
                {
                    Write(")\n");
                }
            }
            return(this);
        }
Example #2
0
 public SQLStatementWriter WriteDropIndexStatement(JMXIndex index, JMXSchema fromSchema = null)
 {
     if (fromSchema == null)
     {
         fromSchema = _schema;
     }
     Write($"drop index {index.IndexName} on {fromSchema.DbObjectName}\n");
     return(this);
 }