/// <summary>Used to rebuild an index</summary> public virtual void RebuildIndex(string className, string indexName, bool verbose ) { if (verbose) { NeoDatis.Tool.DLogger.Info("Rebuilding index " + indexName + " on class " + className ); } NeoDatis.Odb.Core.Layers.Layer2.Meta.ClassInfo classInfo = GetMetaModel().GetClassInfo (className, true); if (!classInfo.HasIndex(indexName)) { throw new NeoDatis.Odb.ODBRuntimeException(NeoDatis.Odb.Core.NeoDatisError.IndexDoesNotExist .AddParameter(indexName).AddParameter(className)); } NeoDatis.Odb.Core.Layers.Layer2.Meta.ClassInfoIndex cii = classInfo.GetIndexWithName (indexName); DeleteIndex(className, indexName, verbose); AddIndexOn(className, indexName, classInfo.GetAttributeNames(cii.GetAttributeIds( )), verbose, !cii.IsUnique()); }
public virtual void DeleteIndex(string className, string indexName, bool verbose) { NeoDatis.Odb.Core.Layers.Layer2.Meta.ClassInfo classInfo = GetMetaModel().GetClassInfo (className, true); if (!classInfo.HasIndex(indexName)) { throw new NeoDatis.Odb.ODBRuntimeException(NeoDatis.Odb.Core.NeoDatisError.IndexDoesNotExist .AddParameter(indexName).AddParameter(className)); } NeoDatis.Odb.Core.Layers.Layer2.Meta.ClassInfoIndex cii = classInfo.GetIndexWithName (indexName); if (verbose) { NeoDatis.Tool.DLogger.Info("Deleting index " + indexName + " on class " + className ); } Delete(cii); classInfo.RemoveIndex(cii); if (verbose) { NeoDatis.Tool.DLogger.Info("Index " + indexName + " deleted"); } }