Skip to content

Commit

Permalink
Add xcframework support
Browse files Browse the repository at this point in the history
  • Loading branch information
0xpablo committed Jan 18, 2024
1 parent 315e45d commit 5f72bf0
Show file tree
Hide file tree
Showing 13 changed files with 81 additions and 440 deletions.
6 changes: 0 additions & 6 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,6 +0,0 @@
[submodule "rocksdb"]
path = rocksdb
url = https://github.com/facebook/rocksdb.git
[submodule "lz4"]
path = lz4
url = [email protected]:lz4/lz4.git
4 changes: 2 additions & 2 deletions Code/RocksDBBackupEngine.mm
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
#import "RocksDBBackupInfo.h"

#include <rocksdb/db.h>
#include <rocksdb/utilities/backupable_db.h>
#include <rocksdb/utilities/backup_engine.h>

#pragma mark - Informal Protocols

Expand Down Expand Up @@ -45,7 +45,7 @@ - (instancetype)initWithPath:(NSString *)path
if (self) {
_path = [path copy];
rocksdb::Status status = rocksdb::BackupEngine::Open(rocksdb::Env::Default(),
rocksdb::BackupableDBOptions(_path.UTF8String),
rocksdb::BackupEngineOptions(_path.UTF8String),
&_backupEngine);
if (!status.ok()) {
NSLog(@"Error opening database backup: %@", [RocksDBError errorWithRocksStatus:status]);
Expand Down
4 changes: 2 additions & 2 deletions Code/RocksDBComparator.mm
Original file line number Diff line number Diff line change
Expand Up @@ -42,14 +42,14 @@ + (instancetype)comaparatorWithType:(RocksDBComparatorType)type
return [[self alloc] initWithName:@"objectiverocks.string.compare.asc" andBlock:^int(NSData *key1, NSData *key2) {
NSString *str1 = [[NSString alloc] initWithData:key1 encoding:NSUTF8StringEncoding];
NSString *str2 = [[NSString alloc] initWithData:key2 encoding:NSUTF8StringEncoding];
return [str1 compare:str2];
return (int)[str1 compare:str2];
}];

case RocksDBComparatorStringCompareDescending:
return [[self alloc] initWithName:@"objectiverocks.string.compare.desc" andBlock:^int(NSData *key1, NSData *key2) {
NSString *str1 = [[NSString alloc] initWithData:key1 encoding:NSUTF8StringEncoding];
NSString *str2 = [[NSString alloc] initWithData:key2 encoding:NSUTF8StringEncoding];
return -1 * [str1 compare:str2];
return -1 * (int)[str1 compare:str2];
}];
}
}
Expand Down
368 changes: 40 additions & 328 deletions Package.swift

Large diffs are not rendered by default.

67 changes: 0 additions & 67 deletions Patches/build_version.cc

This file was deleted.

1 change: 0 additions & 1 deletion Tests/RocksDBBasicTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@

import XCTest
import ObjectiveRocks

class RocksDBBasicTests : RocksDBTests {

func testSwift_DB_Open_ErrorIfExists() throws {
Expand Down
4 changes: 2 additions & 2 deletions Tests/RocksDBColumnFamilyTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -258,7 +258,7 @@ class RocksDBColumnFamilyTests : RocksDBTests {
try! newColumnFamily.setData("cf_value1", forKey: "cf_key1")
try! newColumnFamily.setData("cf_value2", forKey: "cf_key2")

let dfIterator = defaultColumnFamily.iterator()
let dfIterator = defaultColumnFamily.iterator()!

var actual = [String]()

Expand All @@ -274,7 +274,7 @@ class RocksDBColumnFamilyTests : RocksDBTests {

dfIterator.close()

let cfIterator = newColumnFamily.iterator()
let cfIterator = newColumnFamily.iterator()!

actual.removeAll()

Expand Down
8 changes: 4 additions & 4 deletions Tests/RocksDBComparatorTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ class RocksDBComparatorTests : RocksDBTests {
try! rocks.setData("abc2", forKey: "abc2")
try! rocks.setData("abc3", forKey: "abc3")

let iterator = rocks.iterator()
let iterator = rocks.iterator()!

iterator.seekToFirst()

Expand Down Expand Up @@ -70,7 +70,7 @@ class RocksDBComparatorTests : RocksDBTests {
try! rocks.setData("abc2", forKey: "abc2")
try! rocks.setData("abc3", forKey: "abc3")

let iterator = rocks.iterator()
let iterator = rocks.iterator()!

iterator.seekToFirst()

Expand Down Expand Up @@ -130,7 +130,7 @@ class RocksDBComparatorTests : RocksDBTests {
/* Expected Array: [A0, A1, A10, A100, A1000, A1001, A1019, A102, A1020, ...] */
expected.sort()

let iterator = rocks.iterator()
let iterator = rocks.iterator()!
var idx = 0

iterator.enumerateKeys { (key, stop) -> Void in
Expand All @@ -156,7 +156,7 @@ class RocksDBComparatorTests : RocksDBTests {
/* Expected Array: [A9999, A9998 .. A9990, A999, A9989, ...] */
expected.sort()

let iterator = rocks.iterator()
let iterator = rocks.iterator()!
var idx = 9999

iterator.enumerateKeys { (key, stop) -> Void in
Expand Down
24 changes: 12 additions & 12 deletions Tests/RocksDBIteratorTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ class RocksDBIteratorTests : RocksDBTests {
try! rocks.setData("value 3", forKey: "key 3")

var actual = [String]()
let iterator = rocks.iterator()
let iterator = rocks.iterator()!

iterator.seekToFirst()
while iterator.isValid() {
Expand All @@ -43,7 +43,7 @@ class RocksDBIteratorTests : RocksDBTests {
try! rocks.setData("value 1", forKey: "key 1")
try! rocks.setData("value 2", forKey: "key 2")

let iterator = rocks.iterator()
let iterator = rocks.iterator()!

iterator.seekToFirst()

Expand Down Expand Up @@ -88,7 +88,7 @@ class RocksDBIteratorTests : RocksDBTests {
try! rocks.setData("value 3", forKey: "key 3")

var actual = [String]()
let iterator = rocks.iterator()
let iterator = rocks.iterator()!

iterator.enumerateKeys { (key, stop) -> Void in
actual.append(String(data: key, encoding: .utf8)!)
Expand All @@ -110,7 +110,7 @@ class RocksDBIteratorTests : RocksDBTests {
try! rocks.setData("value 3", forKey: "key 3")

var actual = [String]()
let iterator = rocks.iterator()
let iterator = rocks.iterator()!

iterator.enumerateKeys(inReverse: true, using: { (key, stop) -> Void in
actual.append(String(data: key, encoding: .utf8)!)
Expand All @@ -133,7 +133,7 @@ class RocksDBIteratorTests : RocksDBTests {
try! rocks.setData("value 4", forKey: "key 4")

var actual = [String]()
let iterator = rocks.iterator()
let iterator = rocks.iterator()!

iterator.enumerateKeys(in: RocksDBMakeKeyRange("key 2", nil), reverse: false) { (key, stop) -> Void in
actual.append(String(data: key, encoding: .utf8)!)
Expand All @@ -156,7 +156,7 @@ class RocksDBIteratorTests : RocksDBTests {
try! rocks.setData("value 4", forKey: "key 4")

var actual = [String]()
let iterator = rocks.iterator()
let iterator = rocks.iterator()!

iterator.enumerateKeys(in: RocksDBMakeKeyRange(nil, "key 4"), reverse: false) { (key, stop) -> Void in
actual.append(String(data: key, encoding: .utf8)!)
Expand All @@ -179,7 +179,7 @@ class RocksDBIteratorTests : RocksDBTests {
try! rocks.setData("value 4", forKey: "key 4")

var actual = [String]()
let iterator = rocks.iterator()
let iterator = rocks.iterator()!

iterator.enumerateKeys(in: RocksDBMakeKeyRange("key 2", "key 4"), reverse: false) { (key, stop) -> Void in
actual.append(String(data: key, encoding: .utf8)!)
Expand All @@ -201,7 +201,7 @@ class RocksDBIteratorTests : RocksDBTests {
try! rocks.setData("value 3", forKey: "key 3")

var actual = [String]()
let iterator = rocks.iterator()
let iterator = rocks.iterator()!

iterator.enumerateKeysAndValues { (key, value, stop) -> Void in
actual.append(String(data: key, encoding: .utf8)!)
Expand All @@ -224,7 +224,7 @@ class RocksDBIteratorTests : RocksDBTests {
try! rocks.setData("value 3", forKey: "key 3")

var actual = [String]()
let iterator = rocks.iterator()
let iterator = rocks.iterator()!

iterator.enumerateKeysAndValues(inReverse: true, using: { (key, value, stop) -> Void in
actual.append(String(data: key, encoding: .utf8)!)
Expand All @@ -248,7 +248,7 @@ class RocksDBIteratorTests : RocksDBTests {
try! rocks.setData("value 4", forKey: "key 4")

var actual = [String]()
let iterator = rocks.iterator()
let iterator = rocks.iterator()!

iterator.enumerateKeysAndValues(in: RocksDBMakeKeyRange("key 2", nil), reverse: false) { (key, value, stop) -> Void in
actual.append(String(data: key, encoding: .utf8)!)
Expand All @@ -272,7 +272,7 @@ class RocksDBIteratorTests : RocksDBTests {
try! rocks.setData("value 4", forKey: "key 4")

var actual = [String]()
let iterator = rocks.iterator()
let iterator = rocks.iterator()!

iterator.enumerateKeysAndValues(in: RocksDBMakeKeyRange(nil, "key 4"), reverse: false) { (key, value, stop) -> Void in
actual.append(String(data: key, encoding: .utf8)!)
Expand All @@ -296,7 +296,7 @@ class RocksDBIteratorTests : RocksDBTests {
try! rocks.setData("value 4", forKey: "key 4")

var actual = [String]()
let iterator = rocks.iterator()
let iterator = rocks.iterator()!

iterator.enumerateKeysAndValues(in: RocksDBMakeKeyRange("key 2", "key 4"), reverse: false) { (key, value, stop) -> Void in
actual.append(String(data: key, encoding: .utf8)!)
Expand Down
16 changes: 10 additions & 6 deletions Tests/RocksDBMergeOperatorTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,18 @@ protocol DataConvertible {

extension DataConvertible {
init?(data: Data) {
guard data.count == MemoryLayout<Self>.size else {
return nil
}
self = data.withUnsafeBytes { $0.pointee }
guard data.count == MemoryLayout<Self>.size else {
return nil
}
self = data.withUnsafeBytes { rawBufferPointer in
guard let pointer = rawBufferPointer.baseAddress?.assumingMemoryBound(to: Self.self) else {
fatalError()
}
return pointer.pointee
}
}
var data: Data {
var value = self
return Data(buffer: UnsafeBufferPointer(start: &value, count: 1))
withUnsafeBytes(of: self) { Data($0) }
}
}

Expand Down
4 changes: 2 additions & 2 deletions Tests/RocksDBPrefixExtractorTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ class RocksDBPrefixExtractorTests : RocksDBTests {
try! rocks.setData("x", forKey: "101A")
try! rocks.setData("x", forKey: "101B")

let iterator = rocks.iterator()
let iterator = rocks.iterator()!
var keys = [String]()

iterator.enumerateKeys(withPrefix: "100", using: { (key, stop) -> Void in
Expand Down Expand Up @@ -97,7 +97,7 @@ class RocksDBPrefixExtractorTests : RocksDBTests {
try! rocks.setData("x", forKey: "1022")
try! rocks.setData("x", forKey: "5323")

let iterator = rocks.iterator()
let iterator = rocks.iterator()!
var keys = [String]()

iterator.enumerateKeys(withPrefix: "10", using: { (key, stop) -> Void in
Expand Down
14 changes: 7 additions & 7 deletions Tests/RocksDBSnapshotTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ class RocksDBSnapshotTests : RocksDBTests {
try! rocks.setData("value 2", forKey: "key 2")
try! rocks.setData("value 3", forKey: "key 3")

let snapshot = rocks.snapshot()
let snapshot = rocks.snapshot()!

try! rocks.deleteData(forKey: "key 1")
try! rocks.setData("value 4", forKey: "key 4")
Expand All @@ -45,13 +45,13 @@ class RocksDBSnapshotTests : RocksDBTests {
try! rocks.setData("value 2", forKey: "key 2")
try! rocks.setData("value 3", forKey: "key 3")

let snapshot = rocks.snapshot()
let snapshot = rocks.snapshot()!

try! rocks.deleteData(forKey: "key 1")
try! rocks.setData("value 4", forKey: "key 4")

var actual = [String]()
var iterator = snapshot.iterator()
var iterator = snapshot.iterator()!
iterator.enumerateKeys { (key, stop) -> Void in
actual.append(String(data: key, encoding: .utf8)!)
}
Expand All @@ -63,7 +63,7 @@ class RocksDBSnapshotTests : RocksDBTests {

actual.removeAll()

iterator = snapshot.iterator()
iterator = snapshot.iterator()!
iterator.enumerateKeys { (key, stop) -> Void in
actual.append(String(data: key, encoding: .utf8)!)
}
Expand All @@ -78,13 +78,13 @@ class RocksDBSnapshotTests : RocksDBTests {
})

try! rocks.setData("value 1", forKey: "key 1")
let snapshot1 = rocks.snapshot()
let snapshot1 = rocks.snapshot()!

try! rocks.setData("value 2", forKey: "key 2")
let snapshot2 = rocks.snapshot()
let snapshot2 = rocks.snapshot()!

try! rocks.setData("value 3", forKey: "key 3")
let snapshot3 = rocks.snapshot()
let snapshot3 = rocks.snapshot()!

XCTAssertEqual(snapshot1.sequenceNumber(), 1 as UInt64)
XCTAssertEqual(snapshot2.sequenceNumber(), 2 as UInt64)
Expand Down
1 change: 0 additions & 1 deletion rocksdb
Submodule rocksdb deleted from 145a50

0 comments on commit 5f72bf0

Please sign in to comment.