Skip to content

Commit 41512c0

Browse files
authored
Wrap prop names into a PropName type offering free conversion to str (rust-rocksdb#780)
1 parent f8906c3 commit 41512c0

File tree

9 files changed

+402
-98
lines changed

9 files changed

+402
-98
lines changed

.github/workflows/rust.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ name: RocksDB CI
22

33
on: [push, pull_request]
44
env:
5-
RUST_VERSION: 1.60.0
5+
RUST_VERSION: 1.63.0
66

77
jobs:
88
fmt:

CHANGELOG.md

+11-7
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
## [Unreleased]
44

5+
* Bump MSRV to 1.63.0 (mina86)
6+
* Convert properties to `&PropName` which can be converted at no cost to `&CStr`
7+
and `&str` (mina86)
8+
59
## 0.21.0 (2023-05-09)
610

711
* Add doc-check to CI with fix warnings in docs (YuraKotov)
@@ -109,10 +113,10 @@
109113
* Bump `librocksdb-sys` up to 6.20.3 (olegnn, akrylysov)
110114
* Add `DB::key_may_exist_cf_opt` method (stanislav-tkach)
111115
* Add `Options::set_zstd_max_train_bytes` method (stanislav-tkach)
112-
* Mark Cache and Env as Send and Sync (akrylysov)
116+
* Mark Cache and Env as Send and Sync (akrylysov)
113117
* Allow cloning the Cache and Env (duarten)
114-
* Make SSE inclusion conditional for target features (mbargull)
115-
* Use Self where possible (adamnemecek)
118+
* Make SSE inclusion conditional for target features (mbargull)
119+
* Use Self where possible (adamnemecek)
116120
* Don't leak dropped column families (ryoqun)
117121

118122
## 0.16.0 (2021-04-18)
@@ -169,23 +173,23 @@
169173
* Add `set_max_total_wal_size` to the `Options` (wqfish)
170174
* Simplify conversion on iterator item (zhangsoledad)
171175
* Add `flush_cf` method to the `DB` (wqfish)
172-
* Fix potential segfault when calling `next` on the `DBIterator` that is at the end of the range (wqfish)
176+
* Fix potential segfault when calling `next` on the `DBIterator` that is at the end of the range (wqfish)
173177
* Move to Rust 2018 (wqfish)
174178
* Fix doc for `WriteBatch::delete` (wqfish)
175179
* Bump `uuid` and `bindgen` dependencies (jonhoo)
176180
* Change APIs that never return error to not return `Result` (wqfish)
177181
* Fix lifetime parameter for iterators (wqfish)
178-
* Add a doc for `optimize_level_style_compaction` method (NikVolf)
182+
* Add a doc for `optimize_level_style_compaction` method (NikVolf)
179183
* Make `DBPath` use `tempfile` (jder)
180184
* Refactor `db.rs` and `lib.rs` into smaller pieces (jder)
181185
* Check if we're on a big endian system and act upon it (knarz)
182186
* Bump internal snappy version up to 1.1.8 (aleksuss)
183187
* Bump rocksdb version up to 6.7.3 (aleksuss)
184-
* Atomic flush option (mappum)
188+
* Atomic flush option (mappum)
185189
* Make `set_iterate_upper_bound` method safe (wqfish)
186190
* Add support for data block hash index (dvdplm)
187191
* Add some extra config options (casualjim)
188-
* Add support for range delete APIs (wqfish)
192+
* Add support for range delete APIs (wqfish)
189193
* Improve building `librocksdb-sys` with system libraries (basvandijk)
190194
* Add support for `open_for_read_only` APIs (wqfish)
191195
* Fix doc for `DBRawIterator::prev` and `next` methods (wqfish)

Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ name = "rocksdb"
33
description = "Rust wrapper for Facebook's RocksDB embeddable database"
44
version = "0.21.0"
55
edition = "2018"
6-
rust-version = "1.60"
6+
rust-version = "1.63"
77
authors = ["Tyler Neely <[email protected]>", "David Greenberg <[email protected]>"]
88
repository = "https://github.com/rust-rocksdb/rust-rocksdb"
99
license = "Apache-2.0"

README.md

+11-11
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ rust-rocksdb
55
[![documentation](https://docs.rs/rocksdb/badge.svg)](https://docs.rs/rocksdb)
66
[![license](https://img.shields.io/crates/l/rocksdb.svg)](https://github.com/rust-rocksdb/rust-rocksdb/blob/master/LICENSE)
77
[![Gitter chat](https://badges.gitter.im/rust-rocksdb/gitter.png)](https://gitter.im/rust-rocksdb/lobby)
8-
![rust 1.60.0 required](https://img.shields.io/badge/rust-1.60.0-blue.svg?label=MSRV)
8+
![rust 1.63.0 required](https://img.shields.io/badge/rust-1.63.0-blue.svg?label=MSRV)
99

1010

1111
![GitHub commits (since latest release)](https://img.shields.io/github/commits-since/rust-rocksdb/rust-rocksdb/latest.svg)
@@ -16,25 +16,25 @@ rust-rocksdb
1616

1717
## Contributing
1818

19-
Feedback and pull requests welcome! If a particular feature of RocksDB is
20-
important to you, please let me know by opening an issue, and I'll
19+
Feedback and pull requests welcome! If a particular feature of RocksDB is
20+
important to you, please let me know by opening an issue, and I'll
2121
prioritize it.
2222

2323
## Usage
2424

25-
This binding is statically linked with a specific version of RocksDB. If you
26-
want to build it yourself, make sure you've also cloned the RocksDB and
25+
This binding is statically linked with a specific version of RocksDB. If you
26+
want to build it yourself, make sure you've also cloned the RocksDB and
2727
compression submodules:
2828

2929
git submodule update --init --recursive
3030

3131
## Compression Support
32-
By default, support for the [Snappy](https://github.com/google/snappy),
33-
[LZ4](https://github.com/lz4/lz4), [Zstd](https://github.com/facebook/zstd),
34-
[Zlib](https://zlib.net), and [Bzip2](http://www.bzip.org) compression
35-
is enabled through crate features. If support for all of these compression
36-
algorithms is not needed, default features can be disabled and specific
37-
compression algorithms can be enabled. For example, to enable only LZ4
32+
By default, support for the [Snappy](https://github.com/google/snappy),
33+
[LZ4](https://github.com/lz4/lz4), [Zstd](https://github.com/facebook/zstd),
34+
[Zlib](https://zlib.net), and [Bzip2](http://www.bzip.org) compression
35+
is enabled through crate features. If support for all of these compression
36+
algorithms is not needed, default features can be disabled and specific
37+
compression algorithms can be enabled. For example, to enable only LZ4
3838
compression support, make these changes to your Cargo.toml:
3939

4040
```

librocksdb-sys/Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
name = "librocksdb-sys"
33
version = "0.11.0+8.3.2"
44
edition = "2018"
5-
rust-version = "1.60"
5+
rust-version = "1.63"
66
authors = ["Karl Hobley <[email protected]>", "Arkadiy Paronyan <[email protected]>"]
77
license = "MIT/Apache-2.0/BSD-3-Clause"
88
description = "Native bindings to librocksdb"

src/lib.rs

+1
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ mod env;
8989
mod iter_range;
9090
pub mod merge_operator;
9191
pub mod perf;
92+
mod prop_name;
9293
pub mod properties;
9394
mod slice_transform;
9495
mod snapshot;

0 commit comments

Comments
 (0)