Changing architecture to be able to pass rowId's to the extensions. The extensions can then use the raw rowId instead of the key.
YapDatabaseView now stores rowId's(int64_t) instead of keys(NSString). This means it will take up less space. Plus it can use "integer primary key" lookups for improved performance in certain places.
Bug fix - rowId access methods weren't using the cache
WIP - Changing YapCollectionsDatabase to be able to pass rowId's to the extensions. The extensions can then use the raw rowId instead of the key.
Adding additional primitive access methods.
A few optimizations for primitive access method
WIP - Changing YapCollectionsDatabase to be able to pass rowId's to the extensions. The extensions can then use the raw rowId instead of the key.
Minor change: Changing from alloc/initWithBytesNoCopy to simply dataWithBytesNoCopy
Minor change to removeObjectsForKeys: the extensions are now invoked in-sync with the batch modifications. And the database isn't marked as mutated if nothing is deleted.
Minor performance improvement: switching to a do/while system to skip multiple needsMarkSqlLevelSharedReadLock checks.
Minor performance improvement: switching to a do/while system to skip multiple needsMarkSqlLevelSharedReadLock checks.
Completing transition of YapCollectionsDatabase to pass rowId's to extensions
Dropping getCountForKeyStatement. It should be as fast to use the existing getRowid:forKey: method.
Dropping getCountForKeyStatement. It should be as fast to use the existing getRowid:forKey: method.
A bit of code cleanup
Bug fix (duplicate declaration of lastKey variable)
Bug fixes for new methods in YapCollectionsDatabaseTransaction
YapCollectionsDatabaseView now stores rowId's(int64_t) instead of collection/key tuples. This means it will take up less space. Plus it can use "integer primary key" lookups for improved performance in certain places.
Switching from generic NSMutableArray to dedicated page class to store int64_t rowId's. This should improve performance, and reduce the size of pages on disk.
Improving unit test coverage for YapDatabaseView