Skip to content

Commit 38bbb77

Browse files
committed
Merge branch 'release/0.6.0'
2 parents 6745ca9 + 39897a4 commit 38bbb77

File tree

166 files changed

+7324
-4651
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

166 files changed

+7324
-4651
lines changed

.gitignore

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
1-
# OS X
2-
.DS_Store
3-
41
# Xcode
2+
#
3+
# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
4+
5+
## Build generated
56
build/
7+
DerivedData
8+
9+
## Various settings
610
*.pbxuser
711
!default.pbxuser
812
*.mode1v3
@@ -12,13 +16,28 @@ build/
1216
*.perspectivev3
1317
!default.perspectivev3
1418
xcuserdata
19+
20+
## Other
1521
*.xccheckout
16-
profile
1722
*.moved-aside
18-
DerivedData
23+
*.xcuserstate
24+
*.xcscmblueprint
25+
26+
## Obj-C/Swift specific
1927
*.hmap
2028
*.ipa
2129

2230
# CocoaPods
23-
Pods
31+
#
32+
# We recommend against adding the Pods directory to your .gitignore. However
33+
# you should judge for yourself, the pros and cons are mentioned at:
34+
# http://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
35+
#
36+
#Pods/
37+
38+
# Carthage
39+
#
40+
# Add this line if you want to avoid checking in source code from Carthage dependencies.
41+
# Carthage/Checkouts
2442

43+
Carthage/Build

.travis.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
language: objective-c
2+
osx_image: xcode7.3
3+
script:
4+
- xcodebuild -project ObjectiveRocks.xcodeproj -scheme ObjectiveRocks -sdk macosx ONLY_ACTIVE_ARCH=NO
5+
- xcodebuild test -project ObjectiveRocks.xcodeproj -scheme ObjectiveRocksTests -sdk macosx ONLY_ACTIVE_ARCH=NO
6+
- xcodebuild -project ObjectiveRocks.xcodeproj -scheme ObjectiveRocks-iOS -sdk iphonesimulator ONLY_ACTIVE_ARCH=NO
7+
- xcodebuild test -project ObjectiveRocks.xcodeproj -scheme ObjectiveRocksTests-iOS -sdk iphonesimulator ONLY_ACTIVE_ARCH=NO

CHANGELOG.md

Lines changed: 127 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,127 @@
1+
# Change Log
2+
3+
## [0.6.0](https://github.com/iabudiab/ObjectiveRocks/releases/tag/0.6.0)
4+
5+
Released on 2016.06.12
6+
7+
- RocksDB Version: `4.6.1`: [facebook/rocksdb@8d7926a](https://github.com/facebook/rocksdb/commit/8d7926a766f2ab9bd6e7aa8cba80b5d3ff26c52b)
8+
9+
### Added
10+
11+
- Support for opening the database in read-only mode
12+
- Support for `Write Batch with Index` and `Write Batch Iterator`
13+
- Support for `Range Compaction` operations
14+
- Nullability annotations
15+
- Better compatibility with Swift
16+
- New statistics and counters
17+
- Cocoapods Podspec
18+
- Travis integration
19+
20+
### Breaking Changes
21+
22+
- RocksDB initializers were changed to class instead of instance methods
23+
- Removed RocksDB methods without error parameter
24+
- Better compatibility with Swift's error-handling model
25+
- Refactored all RocksDB methods so that the error parameter is the last
26+
- Better compatibility with Swift's error-handling model
27+
- Removed `Column Family Metadata` from iOS target
28+
- `RocksDBIteratorKeyRange` is refactored to `RocksDBKeyRange`
29+
- Key ranges are used not only for iterations but also for compaction jobs
30+
- Empty-range constant is refactored to open-range, since it represents a range containing all the keys
31+
- ObjectiveRocks builds frameworks now instead of static libraries
32+
33+
## [0.5.0](https://github.com/iabudiab/ObjectiveRocks/releases/tag/0.5.0)
34+
35+
Released on 2016.07.30
36+
37+
- RocksDB Version: `3.11`: [facebook/rocksdb@812c461](https://github.com/facebook/rocksdb/commit/812c461c96869ebcd8e629da8f01e1cea01c00ca)
38+
39+
### Added
40+
41+
- Source code documentation
42+
43+
### Removed
44+
45+
- Removed `+ (instancetype)LRUCacheWithCapacity:numShardsBits:removeScanCountLimit:` RocksDB Cache initializer
46+
- No longer available since: [facebook/rocksdb@c88ff4c](https://github.com/facebook/rocksdb/commit/c88ff4ca76a6a24632cbdd834f621952a251d7a1)
47+
48+
## [0.4.0](https://github.com/iabudiab/ObjectiveRocks/releases/tag/0.4.0)
49+
50+
Released on 2015.01.17
51+
52+
- RocksDB Version: `3.9`: [facebook/rocksdb@b89d58d](https://github.com/facebook/rocksdb/commit/b89d58dfa3887d561bd772421fb92ef01bd26fc4)
53+
54+
All headers are refactored in this release to provide a pure Objective-C interface for Swift compatibility.
55+
56+
### Added
57+
58+
- Basic support for RocksDB `Env` for configuring priority thread pools
59+
- Support for querying the `Threads Status`
60+
- Options for `Background Compactions` and `Background Flushes`
61+
- Iterator methods for key-value iteration
62+
- Support for Column Family Metadata
63+
- Swift tests
64+
65+
### Fixed
66+
67+
- Typo in method name in Filter Policy class
68+
- Typo in method name to retrieve column families in RocksDB class
69+
70+
### Changed
71+
72+
- Updated `Thread Status` API
73+
- Adapted according to the changes introduces in: [facebook/rocksdb@bf287b7](https://github.com/facebook/rocksdb/commit/bf287b76e0e7b5998de49e3ceaa2b34d1f3c13ae)
74+
75+
## [0.3.0](https://github.com/iabudiab/ObjectiveRocks/releases/tag/0.3.0)
76+
77+
Released on 2015.01.05
78+
79+
- RocksDB Version: `3.9`: [facebook/rocksdb@a801c1f](https://github.com/facebook/rocksdb/commit/a801c1fb099167cf48a714483163061062e3dcb7)
80+
81+
This is the first public release of ObjectiveRocks.
82+
83+
### Added
84+
85+
- Database backup and backup-info support
86+
- Database `Checkpoints`
87+
- Support for collecting database statistics, histograms and properties
88+
- Column Family options
89+
- Support for Column Family `memtable rep` factories
90+
- Support for `Block-based`, `Plain-Table` and `Cuckoo-Table` factories
91+
- Support for RocksDB `Cache`
92+
- Support for RocksDB `Filter Policy`
93+
94+
## [0.2.0](https://github.com/iabudiab/ObjectiveRocks/releases/tag/0.2.0)
95+
96+
Released on 2015.02.01
97+
98+
- RocksDB Version: `3.9`: [facebook/rocksdb@a801c1f](https://github.com/facebook/rocksdb/commit/a801c1fb099167cf48a714483163061062e3dcb7)
99+
100+
### Added
101+
102+
- `Column Families` implementation
103+
- Implementation for `Generic Merge Operators`
104+
- Built-In comparator types for `NSString`, `NSNumber`, and RocksDB's own native byte-wise comparator
105+
- Built-In Key-Value encoders and decoders for `NSString` and `NSJSONSerializable` types
106+
- `Write Batch` methods for `merge` operations
107+
- Prefix-based seek iterations
108+
- Tests
109+
110+
## [0.1.0](https://github.com/iabudiab/ObjectiveRocks/releases/tag/0.1.0)
111+
112+
Released on 2015.12.23
113+
114+
- RocksDB Version: `3.9`: [facebook/rocksdb@9cda7cb](https://github.com/facebook/rocksdb/commit/9cda7cb77b0c7208a63579c7e79252f23db92f67)
115+
116+
First release of ObjectiveRocks featuring basic RocksDB functionality:
117+
118+
- [x] Opening and closing RocksDB instances
119+
- [x] Basic DB options
120+
- [x] `Put`, `Get` and `Delete` operations
121+
- [x] `Read` and `Write` options that are specific to single operations
122+
- [x] `Atomic` updates via `Write Batches`
123+
- [x] Key-Value encoders and decoders for converting arbitrary objects to and from `NSData`
124+
- [x] Database iteration support
125+
- [x] Database `Snapshots` - Read-only view over the entire DB
126+
- [x] `Key Comparators` support - For custom key-ordering in the DB
127+
- [x] `Associative Merge Operators` support - Atomic read-modify-write operations

ObjectiveRocks/ObjectiveRocks.h renamed to Code/ObjectiveRocks.h

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,18 @@
22
// ObjectiveRocks.h
33
// ObjectiveRocks
44
//
5-
// Created by Iska on 20/11/14.
6-
// Copyright (c) 2014 BrainCookie. All rights reserved.
5+
// Created by Iska on 06/11/15.
6+
// Copyright © 2015 BrainCookie. All rights reserved.
77
//
88

9+
//! Project version number for ObjectiveRocks.
10+
extern double ObjectiveRocksVersionNumber;
11+
12+
//! Project version string for ObjectiveRocks.
13+
extern const unsigned char ObjectiveRocksVersionString[];
14+
15+
#import <TargetConditionals.h>
16+
917
#import "RocksDB.h"
1018

1119
#import "RocksDBColumnFamily.h"
@@ -37,7 +45,7 @@
3745

3846
#import "RocksDBTypes.h"
3947

40-
#ifndef ROCKSDB_LITE
48+
#if !(defined(ROCKSDB_LITE) && defined(TARGET_OS_IPHONE))
4149

4250
#import "RocksDBColumnFamilyMetadata.h"
4351

File renamed without changes.

0 commit comments

Comments
 (0)