gitextract_mf5hhct9/ ├── .github/ │ └── ISSUE_TEMPLATE/ │ ├── bug_report.md │ ├── feature_request.md │ └── question.md ├── .gitignore ├── CODE_OF_CONDUCT.md ├── ConsoleApp1/ │ ├── ConsoleApp1.csproj │ ├── Program.cs │ └── Tools/ │ ├── Faker.Names.cs │ └── Faker.cs ├── LICENSE ├── LiteDB/ │ ├── Client/ │ │ ├── Database/ │ │ │ ├── Collections/ │ │ │ │ ├── Aggregate.cs │ │ │ │ ├── Delete.cs │ │ │ │ ├── Find.cs │ │ │ │ ├── Include.cs │ │ │ │ ├── Index.cs │ │ │ │ ├── Insert.cs │ │ │ │ ├── Update.cs │ │ │ │ └── Upsert.cs │ │ │ ├── ILiteCollection.cs │ │ │ ├── ILiteDatabase.cs │ │ │ ├── ILiteQueryable.cs │ │ │ ├── ILiteRepository.cs │ │ │ ├── LiteCollection.cs │ │ │ ├── LiteDatabase.cs │ │ │ ├── LiteQueryable.cs │ │ │ └── LiteRepository.cs │ │ ├── Mapper/ │ │ │ ├── Attributes/ │ │ │ │ ├── BsonCtorAttribute.cs │ │ │ │ ├── BsonFieldAttribute.cs │ │ │ │ ├── BsonIdAttribute.cs │ │ │ │ ├── BsonIgnoreAttribute.cs │ │ │ │ └── BsonRefAttribute.cs │ │ │ ├── BsonMapper.Deserialize.cs │ │ │ ├── BsonMapper.GetEntityMapper.cs │ │ │ ├── BsonMapper.Serialize.cs │ │ │ ├── BsonMapper.cs │ │ │ ├── EntityBuilder.cs │ │ │ ├── EntityMapper.cs │ │ │ ├── Linq/ │ │ │ │ ├── LinqExpressionVisitor.cs │ │ │ │ ├── ParameterExpressionVisitor.cs │ │ │ │ └── TypeResolver/ │ │ │ │ ├── BsonValueResolver.cs │ │ │ │ ├── ConvertResolver.cs │ │ │ │ ├── DateTimeResolver.cs │ │ │ │ ├── EnumerableResolver.cs │ │ │ │ ├── GuidResolver.cs │ │ │ │ ├── ICollectionResolver.cs │ │ │ │ ├── ITypeResolver.cs │ │ │ │ ├── MathResolver.cs │ │ │ │ ├── NullableResolver.cs │ │ │ │ ├── NumberResolver.cs │ │ │ │ ├── ObjectIdResolver.cs │ │ │ │ ├── RegexResolver.cs │ │ │ │ └── StringResolver.cs │ │ │ ├── MemberMapper.cs │ │ │ ├── Reflection/ │ │ │ │ ├── Reflection.Expression.cs │ │ │ │ └── Reflection.cs │ │ │ └── TypeNameBinder/ │ │ │ ├── DefaultTypeNameBinder.cs │ │ │ └── ITypeNameBinder.cs │ │ ├── Shared/ │ │ │ ├── SharedDataReader.cs │ │ │ └── SharedEngine.cs │ │ ├── SqlParser/ │ │ │ ├── Commands/ │ │ │ │ ├── Begin.cs │ │ │ │ ├── Checkpoint.cs │ │ │ │ ├── Commit.cs │ │ │ │ ├── Create.cs │ │ │ │ ├── Delete.cs │ │ │ │ ├── Drop.cs │ │ │ │ ├── Insert.cs │ │ │ │ ├── ParseLists.cs │ │ │ │ ├── Pragma.cs │ │ │ │ ├── Rebuild.cs │ │ │ │ ├── Rename.cs │ │ │ │ ├── Rollback.cs │ │ │ │ ├── Select.cs │ │ │ │ └── Update.cs │ │ │ └── SqlParser.cs │ │ ├── Storage/ │ │ │ ├── ILiteStorage.cs │ │ │ ├── LiteFileInfo.cs │ │ │ ├── LiteFileStream.Read.cs │ │ │ ├── LiteFileStream.Write.cs │ │ │ ├── LiteFileStream.cs │ │ │ └── LiteStorage.cs │ │ └── Structures/ │ │ ├── ConnectionString.cs │ │ ├── ConnectionType.cs │ │ ├── Query.cs │ │ └── QueryAny.cs │ ├── Document/ │ │ ├── Bson/ │ │ │ └── BsonSerializer.cs │ │ ├── BsonArray.cs │ │ ├── BsonAutoId.cs │ │ ├── BsonDocument.cs │ │ ├── BsonType.cs │ │ ├── BsonValue.cs │ │ ├── DataReader/ │ │ │ ├── BsonDataReader.cs │ │ │ ├── BsonDataReaderExtensions.cs │ │ │ └── IBsonDataReader.cs │ │ ├── Expression/ │ │ │ ├── BsonExpression.cs │ │ │ ├── Methods/ │ │ │ │ ├── Aggregate.cs │ │ │ │ ├── DataTypes.cs │ │ │ │ ├── Date.cs │ │ │ │ ├── Math.cs │ │ │ │ ├── Misc.cs │ │ │ │ └── String.cs │ │ │ └── Parser/ │ │ │ ├── BsonExpressionAttributes.cs │ │ │ ├── BsonExpressionFunctions.cs │ │ │ ├── BsonExpressionOperators.cs │ │ │ ├── BsonExpressionParser.cs │ │ │ ├── BsonExpressionType.cs │ │ │ ├── DocumentScope.cs │ │ │ └── ExpressionContext.cs │ │ ├── Json/ │ │ │ ├── JsonReader.cs │ │ │ ├── JsonSerializer.cs │ │ │ └── JsonWriter.cs │ │ └── ObjectId.cs │ ├── Engine/ │ │ ├── Disk/ │ │ │ ├── DiskReader.cs │ │ │ ├── DiskService.cs │ │ │ ├── MemoryCache.cs │ │ │ ├── Serializer/ │ │ │ │ ├── BufferReader.cs │ │ │ │ └── BufferWriter.cs │ │ │ ├── StreamFactory/ │ │ │ │ ├── FileStreamFactory.cs │ │ │ │ ├── IStreamFactory.cs │ │ │ │ ├── StreamFactory.cs │ │ │ │ └── StreamPool.cs │ │ │ └── Streams/ │ │ │ ├── AesStream.cs │ │ │ ├── ConcurrentStream.cs │ │ │ └── TempStream.cs │ │ ├── Engine/ │ │ │ ├── Collection.cs │ │ │ ├── Delete.cs │ │ │ ├── Index.cs │ │ │ ├── Insert.cs │ │ │ ├── Pragma.cs │ │ │ ├── Query.cs │ │ │ ├── Rebuild.cs │ │ │ ├── Recovery.cs │ │ │ ├── Sequence.cs │ │ │ ├── SystemCollections.cs │ │ │ ├── Transaction.cs │ │ │ ├── Update.cs │ │ │ ├── Upgrade.cs │ │ │ └── Upsert.cs │ │ ├── EnginePragmas.cs │ │ ├── EngineSettings.cs │ │ ├── EngineState.cs │ │ ├── FileReader/ │ │ │ ├── FileReaderError.cs │ │ │ ├── FileReaderV7.cs │ │ │ ├── FileReaderV8.cs │ │ │ ├── IFileReader.cs │ │ │ ├── IndexInfo.cs │ │ │ └── Legacy/ │ │ │ ├── AesEncryption.cs │ │ │ ├── BsonReader.cs │ │ │ └── ByteReader.cs │ │ ├── ILiteEngine.cs │ │ ├── LiteEngine.cs │ │ ├── Pages/ │ │ │ ├── BasePage.cs │ │ │ ├── CollectionPage.cs │ │ │ ├── DataPage.cs │ │ │ ├── HeaderPage.cs │ │ │ └── IndexPage.cs │ │ ├── Pragmas.cs │ │ ├── Query/ │ │ │ ├── IndexQuery/ │ │ │ │ ├── Index.cs │ │ │ │ ├── IndexAll.cs │ │ │ │ ├── IndexEquals.cs │ │ │ │ ├── IndexIn.cs │ │ │ │ ├── IndexLike.cs │ │ │ │ ├── IndexRange.cs │ │ │ │ ├── IndexScan.cs │ │ │ │ └── IndexVirtual.cs │ │ │ ├── Lookup/ │ │ │ │ ├── DatafileLookup.cs │ │ │ │ ├── IDocumentLookup.cs │ │ │ │ └── IndexKeyLoader.cs │ │ │ ├── Pipeline/ │ │ │ │ ├── BasePipe.cs │ │ │ │ ├── DocumentCacheEnumerable.cs │ │ │ │ ├── GroupByPipe.cs │ │ │ │ └── QueryPipe.cs │ │ │ ├── Query.cs │ │ │ ├── QueryExecutor.cs │ │ │ ├── QueryOptimization.cs │ │ │ └── Structures/ │ │ │ ├── GroupBy.cs │ │ │ ├── IndexCost.cs │ │ │ ├── OrderBy.cs │ │ │ ├── QueryPlan.cs │ │ │ └── Select.cs │ │ ├── Services/ │ │ │ ├── CollectionService.cs │ │ │ ├── DataService.cs │ │ │ ├── IndexService.cs │ │ │ ├── LockService.cs │ │ │ ├── RebuildService.cs │ │ │ ├── SnapShot.cs │ │ │ ├── TransactionMonitor.cs │ │ │ ├── TransactionService.cs │ │ │ └── WalIndexService.cs │ │ ├── Sort/ │ │ │ ├── SortContainer.cs │ │ │ ├── SortDisk.cs │ │ │ └── SortService.cs │ │ ├── Structures/ │ │ │ ├── CollectionIndex.cs │ │ │ ├── CursorInfo.cs │ │ │ ├── DataBlock.cs │ │ │ ├── Done.cs │ │ │ ├── FileOrigin.cs │ │ │ ├── IndexNode.cs │ │ │ ├── LockMode.cs │ │ │ ├── PageAddress.cs │ │ │ ├── PageBuffer.cs │ │ │ ├── PagePosition.cs │ │ │ ├── Pragma.cs │ │ │ ├── RebuildOptions.cs │ │ │ ├── TransactionPages.cs │ │ │ └── TransactionState.cs │ │ └── SystemCollections/ │ │ ├── Register.cs │ │ ├── SysCols.cs │ │ ├── SysDatabase.cs │ │ ├── SysDump.cs │ │ ├── SysFile.cs │ │ ├── SysFileCsv.cs │ │ ├── SysFileJson.cs │ │ ├── SysIndexes.cs │ │ ├── SysOpenCursors.cs │ │ ├── SysPageList.cs │ │ ├── SysQuery.cs │ │ ├── SysSequences.cs │ │ ├── SysSnapshots.cs │ │ ├── SysTransactions.cs │ │ └── SystemCollection.cs │ ├── LiteDB.csproj │ ├── LiteDB.snk │ └── Utils/ │ ├── AsyncManualResetEvent.cs │ ├── BufferSlice.cs │ ├── Collation.cs │ ├── Constants.cs │ ├── Encoding.cs │ ├── ExtendedLengthHelper.cs │ ├── Extensions/ │ │ ├── BufferExtensions.cs │ │ ├── BufferSliceExtensions.cs │ │ ├── DateExtensions.cs │ │ ├── DictionaryExtensions.cs │ │ ├── EnumerableExtensions.cs │ │ ├── ExpressionExtensions.cs │ │ ├── HashSetExtensions.cs │ │ ├── IOExceptionExtensions.cs │ │ ├── LinqExtensions.cs │ │ ├── StopWatchExtensions.cs │ │ ├── StreamExtensions.cs │ │ ├── StringExtensions.cs │ │ └── TypeInfoExtensions.cs │ ├── FileHelper.cs │ ├── LCID.cs │ ├── LiteException.cs │ ├── MimeTypeConverter.cs │ ├── Pool/ │ │ └── BucketHelper.cs │ ├── Randomizer.cs │ ├── Result.cs │ ├── Tokenizer.cs │ └── TryCatch.cs ├── LiteDB.Benchmarks/ │ ├── Benchmarks/ │ │ ├── BenchmarkBase.cs │ │ ├── Constants.cs │ │ ├── Deletion/ │ │ │ └── DeletionBenchmark.cs │ │ ├── Generator/ │ │ │ └── FileMetaDataGenerationDatabaseBenchmark.cs │ │ ├── Insertion/ │ │ │ ├── InsertionBasicBenchmark.cs │ │ │ ├── InsertionIgnoreExpressionPropertyBenchmark.cs │ │ │ └── InsertionInMemoryBenchmark.cs │ │ └── Queries/ │ │ ├── QueryAllBenchmark.cs │ │ ├── QueryCompoundIndexBenchmark.cs │ │ ├── QueryCountBenchmark.cs │ │ ├── QueryIgnoreExpressionPropertiesBenchmark.cs │ │ ├── QueryMultipleParametersBenchmark.cs │ │ ├── QuerySimpleIndexBenchmarks.cs │ │ └── QueryWithDateTimeOffsetBenchmark.cs │ ├── LiteDB.Benchmarks.csproj │ ├── Models/ │ │ ├── FileMetaBase.cs │ │ ├── FileMetaWithExclusion.cs │ │ └── Generators/ │ │ └── FileMetaGenerator.cs │ └── Program.cs ├── LiteDB.Shell/ │ ├── Commands/ │ │ ├── Close.cs │ │ ├── Ed.cs │ │ ├── Help.cs │ │ ├── IShellCommand.cs │ │ ├── Open.cs │ │ ├── Pretty.cs │ │ ├── Quit.cs │ │ ├── Run.cs │ │ ├── ShowCollections.cs │ │ └── Version.cs │ ├── LiteDB.Shell.csproj │ ├── Program.cs │ ├── Properties/ │ │ └── launchSettings.json │ ├── Shell/ │ │ ├── Display.cs │ │ ├── Env.cs │ │ ├── InputCommand.cs │ │ └── ShellProgram.cs │ └── Utils/ │ ├── OptionSet.cs │ ├── StringExtensions.cs │ └── StringScanner.cs ├── LiteDB.Stress/ │ ├── Examples/ │ │ ├── test-01.xml │ │ └── test-02.xml │ ├── LiteDB.Stress.csproj │ ├── Program.cs │ ├── Properties/ │ │ └── launchSettings.json │ └── Test/ │ ├── ITaskItem.cs │ ├── InsertField.cs │ ├── InsertTaskItem.cs │ ├── SqlTaskItem.cs │ ├── TestExecution.cs │ ├── TestFile.cs │ ├── ThreadInfo.cs │ └── TimeSpanEx.cs ├── LiteDB.Tests/ │ ├── Database/ │ │ ├── AutoId_Tests.cs │ │ ├── ConnectionString_Tests.cs │ │ ├── Contains_Tests.cs │ │ ├── Create_Database_Tests.cs │ │ ├── Crud_Tests.cs │ │ ├── Database_Pragmas_Tests.cs │ │ ├── DbRef_Include_Tests.cs │ │ ├── DbRef_Index_Tests.cs │ │ ├── DbRef_Interface_Tests.cs │ │ ├── DeleteMany_Tests.cs │ │ ├── Delete_By_Name_Tests.cs │ │ ├── DocumentUpgrade_Tests.cs │ │ ├── Document_Size_Tests.cs │ │ ├── FindAll_Tests.cs │ │ ├── IndexMultiKeyLinq_Tests.cs │ │ ├── IndexSortAndFilter_Tests.cs │ │ ├── MultiKey_Mapper_Tests.cs │ │ ├── NonIdPoco_Tests.cs │ │ ├── PredicateBuilder_Tests.cs │ │ ├── Query_Min_Max_Tests.cs │ │ ├── Site_Tests.cs │ │ ├── Snapshot_Upgrade_Tests.cs │ │ ├── Storage_Tests.cs │ │ ├── Upgrade_Tests.cs │ │ └── Writing_While_Reading_Test.cs │ ├── Document/ │ │ ├── Bson_Tests.cs │ │ ├── Case_Insensitive_Tests.cs │ │ ├── Decimal_Tests.cs │ │ ├── Implicit_Tests.cs │ │ ├── Json_Tests.cs │ │ └── ObjectId_Tests.cs │ ├── Engine/ │ │ ├── Collation_Tests.cs │ │ ├── Create_Database_Tests.cs │ │ ├── Crypto_Tests.cs │ │ ├── DropCollection_Tests.cs │ │ ├── Index_Tests.cs │ │ ├── ParallelQuery_Tests.cs │ │ ├── Rebuild_Crash_Tests.cs │ │ ├── Rebuild_Tests.cs │ │ ├── Recursion_Tests.cs │ │ ├── Transactions_Tests.cs │ │ ├── Update_Tests.cs │ │ └── UserVersion_Tests.cs │ ├── Expressions/ │ │ ├── Expressions_Exec_Tests.cs │ │ └── Expressions_Tests.cs │ ├── Internals/ │ │ ├── Aes_Tests.cs │ │ ├── BasePage_Tests.cs │ │ ├── BufferWriter_Tests.cs │ │ ├── CacheAsync_Tests.cs │ │ ├── Cache_Tests.cs │ │ ├── Disk_Tests.cs │ │ ├── Document_Tests.cs │ │ ├── ExtendedLength_Tests.cs │ │ ├── Extensions_Test.cs │ │ ├── FreePage_Tests.cs │ │ ├── FreeSlot_Tests.cs │ │ ├── HeaderPage_Tests.cs │ │ ├── Pragma_Tests.cs │ │ └── Sort_Tests.cs │ ├── Issues/ │ │ ├── Issue1585_Tests.cs │ │ ├── Issue1651_Tests.cs │ │ ├── Issue1695_Tests.cs │ │ ├── Issue1701_Tests.cs │ │ ├── Issue1838_Tests.cs │ │ ├── Issue1860_Tests.cs │ │ ├── Issue1865_Tests.cs │ │ ├── Issue2112_Tests.cs │ │ ├── Issue2127_Tests.cs │ │ ├── Issue2129_Tests.cs │ │ ├── Issue2265_Tests.cs │ │ ├── Issue2298_Tests.cs │ │ ├── Issue2417_Tests.cs │ │ ├── Issue2458_Tests.cs │ │ ├── Issue2471_Test.cs │ │ ├── Issue2487_Tests.cs │ │ ├── Issue2494_Tests.cs │ │ ├── Issue2506_Tests.cs │ │ ├── Issue2534_Tests.cs │ │ ├── Issue2570_Tests.cs │ │ └── Pull2468_Tests.cs │ ├── LiteDB.Tests.csproj │ ├── Mapper/ │ │ ├── CustomInterface_Tests.cs │ │ ├── CustomMappingCtor_Tests.cs │ │ ├── CustomMapping_Tests.cs │ │ ├── DbRefAbstract_Tests.cs │ │ ├── Dictionary_Tests.cs │ │ ├── Enum_Tests.cs │ │ ├── GenericMap_Tests.cs │ │ ├── LinqBsonExpression_Tests.cs │ │ ├── LinqEval_Tests.cs │ │ ├── Mapper_Tests.cs │ │ ├── Records_Tests.cs │ │ └── StructField_Tests.cs │ ├── Query/ │ │ ├── Aggregate_Tests.cs │ │ ├── Data/ │ │ │ ├── PersonGroupByData.cs │ │ │ └── PersonQueryData.cs │ │ ├── GroupBy_Tests.cs │ │ ├── Include_Tests.cs │ │ ├── OrderBy_Tests.cs │ │ ├── QueryApi_Tests.cs │ │ ├── Select_Tests.cs │ │ └── Where_Tests.cs │ ├── Resources/ │ │ ├── person.json │ │ └── zip.json │ ├── Utils/ │ │ ├── AssertEx.cs │ │ ├── DataGen.cs │ │ ├── Faker.Names.cs │ │ ├── Faker.cs │ │ ├── LiteEngineExtensions.cs │ │ ├── Models/ │ │ │ ├── Person.cs │ │ │ └── Zip.cs │ │ └── TempFile.cs │ └── xunit.runner.json ├── LiteDB.sln ├── README.md └── appveyor.yml