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); }
public SQLStatementWriter WriteDropIndexStatement(JMXIndex index, JMXSchema fromSchema = null) { if (fromSchema == null) { fromSchema = _schema; } Write($"drop index {index.IndexName} on {fromSchema.DbObjectName}\n"); return(this); }