internal RegexIndexImpl(StorageImpl db, Type cls, string fieldName, bool caseInsensitive, int nGrams)
            : base(cls, fieldName, false)
#endif
        {
            if (type != ClassDescriptor.FieldType.tpString)
            {
                throw new StorageError(StorageError.ErrorCode.INCOMPATIBLE_KEY_TYPE);
            }
            this.caseInsensitive = caseInsensitive;
            this.nGrams          = nGrams;
            AssignOid(db, 0, false);
#if USE_GENERICS
            inverseIndex = db.CreateIndex <string, Perst.ISet <T> >(true);
#else
            inverseIndex = db.CreateIndex(typeof(string), true);
#endif
        }
 internal ThickIndex(StorageImpl db, Type keyType)
     : base(db)
 {
     index = db.CreateIndex(keyType, true);
 }
 internal ThickIndex(StorageImpl db)
     : base(db)
 {
     index = db.CreateIndex <K, object>(true);
 }