rocksdb-native 0.0.0 → 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/binding.gyp +23 -0
- package/binding.js +1 -1
- package/package.json +19 -1
- package/vendor/rocksdb.cc +79 -0
- package/vendor/rocksdb.gyp +414 -0
- package/.clang-format +0 -15
- package/.github/workflows/test-node.yml +0 -23
- package/.gitmodules +0 -4
- package/NOTICE +0 -13
- package/vendor/rocksdb/.circleci/config.yml +0 -892
- package/vendor/rocksdb/.circleci/ubsan_suppression_list.txt +0 -6
- package/vendor/rocksdb/.clang-format +0 -5
- package/vendor/rocksdb/.github/workflows/sanity_check.yml +0 -47
- package/vendor/rocksdb/.lgtm.yml +0 -4
- package/vendor/rocksdb/AUTHORS +0 -12
- package/vendor/rocksdb/CODE_OF_CONDUCT.md +0 -77
- package/vendor/rocksdb/CONTRIBUTING.md +0 -17
- package/vendor/rocksdb/DEFAULT_OPTIONS_HISTORY.md +0 -24
- package/vendor/rocksdb/DUMP_FORMAT.md +0 -16
- package/vendor/rocksdb/HISTORY.md +0 -2399
- package/vendor/rocksdb/INSTALL.md +0 -220
- package/vendor/rocksdb/LANGUAGE-BINDINGS.md +0 -26
- package/vendor/rocksdb/Makefile +0 -2579
- package/vendor/rocksdb/PLUGINS.md +0 -8
- package/vendor/rocksdb/TARGETS +0 -5599
- package/vendor/rocksdb/USERS.md +0 -165
- package/vendor/rocksdb/Vagrantfile +0 -39
- package/vendor/rocksdb/WINDOWS_PORT.md +0 -228
- package/vendor/rocksdb/buckifier/bench-slow.json +0 -6163
- package/vendor/rocksdb/buckifier/bench.json +0 -1594
- package/vendor/rocksdb/buckifier/buckify_rocksdb.py +0 -333
- package/vendor/rocksdb/buckifier/check_buck_targets.sh +0 -32
- package/vendor/rocksdb/buckifier/rocks_test_runner.sh +0 -6
- package/vendor/rocksdb/buckifier/targets_builder.py +0 -150
- package/vendor/rocksdb/buckifier/targets_cfg.py +0 -41
- package/vendor/rocksdb/buckifier/util.py +0 -118
- package/vendor/rocksdb/build_tools/amalgamate.py +0 -168
- package/vendor/rocksdb/build_tools/benchmark_log_tool.py +0 -238
- package/vendor/rocksdb/build_tools/build_detect_platform +0 -804
- package/vendor/rocksdb/build_tools/check-sources.sh +0 -48
- package/vendor/rocksdb/build_tools/dependencies_platform010.sh +0 -22
- package/vendor/rocksdb/build_tools/dockerbuild.sh +0 -3
- package/vendor/rocksdb/build_tools/error_filter.py +0 -181
- package/vendor/rocksdb/build_tools/fb_compile_mongo.sh +0 -55
- package/vendor/rocksdb/build_tools/fbcode_config.sh +0 -175
- package/vendor/rocksdb/build_tools/fbcode_config_platform010.sh +0 -175
- package/vendor/rocksdb/build_tools/format-diff.sh +0 -203
- package/vendor/rocksdb/build_tools/gnu_parallel +0 -7971
- package/vendor/rocksdb/build_tools/make_package.sh +0 -129
- package/vendor/rocksdb/build_tools/ps_with_stack +0 -38
- package/vendor/rocksdb/build_tools/regression_build_test.sh +0 -396
- package/vendor/rocksdb/build_tools/run_ci_db_test.ps1 +0 -493
- package/vendor/rocksdb/build_tools/setup_centos7.sh +0 -45
- package/vendor/rocksdb/build_tools/ubuntu20_image/Dockerfile +0 -57
- package/vendor/rocksdb/build_tools/update_dependencies.sh +0 -106
- package/vendor/rocksdb/build_tools/version.sh +0 -23
- package/vendor/rocksdb/common.mk +0 -30
- package/vendor/rocksdb/crash_test.mk +0 -107
- package/vendor/rocksdb/db/c_test.c +0 -3609
- package/vendor/rocksdb/docs/CNAME +0 -1
- package/vendor/rocksdb/docs/CONTRIBUTING.md +0 -115
- package/vendor/rocksdb/docs/Gemfile +0 -4
- package/vendor/rocksdb/docs/LICENSE-DOCUMENTATION +0 -385
- package/vendor/rocksdb/docs/TEMPLATE-INFORMATION.md +0 -17
- package/vendor/rocksdb/docs/_config.yml +0 -85
- package/vendor/rocksdb/docs/_data/authors.yml +0 -81
- package/vendor/rocksdb/docs/_data/features.yml +0 -19
- package/vendor/rocksdb/docs/_data/nav.yml +0 -30
- package/vendor/rocksdb/docs/_data/nav_docs.yml +0 -3
- package/vendor/rocksdb/docs/_data/powered_by.yml +0 -1
- package/vendor/rocksdb/docs/_data/powered_by_highlight.yml +0 -1
- package/vendor/rocksdb/docs/_data/promo.yml +0 -6
- package/vendor/rocksdb/docs/_docs/faq.md +0 -48
- package/vendor/rocksdb/docs/_docs/getting-started.md +0 -78
- package/vendor/rocksdb/docs/_includes/blog_pagination.html +0 -28
- package/vendor/rocksdb/docs/_includes/content/gridblocks.html +0 -5
- package/vendor/rocksdb/docs/_includes/content/items/gridblock.html +0 -37
- package/vendor/rocksdb/docs/_includes/doc.html +0 -25
- package/vendor/rocksdb/docs/_includes/doc_paging.html +0 -0
- package/vendor/rocksdb/docs/_includes/footer.html +0 -34
- package/vendor/rocksdb/docs/_includes/head.html +0 -23
- package/vendor/rocksdb/docs/_includes/header.html +0 -19
- package/vendor/rocksdb/docs/_includes/hero.html +0 -0
- package/vendor/rocksdb/docs/_includes/home_header.html +0 -22
- package/vendor/rocksdb/docs/_includes/katex_import.html +0 -3
- package/vendor/rocksdb/docs/_includes/katex_render.html +0 -210
- package/vendor/rocksdb/docs/_includes/nav/collection_nav.html +0 -64
- package/vendor/rocksdb/docs/_includes/nav/collection_nav_group.html +0 -19
- package/vendor/rocksdb/docs/_includes/nav/collection_nav_group_item.html +0 -1
- package/vendor/rocksdb/docs/_includes/nav/header_nav.html +0 -30
- package/vendor/rocksdb/docs/_includes/nav.html +0 -37
- package/vendor/rocksdb/docs/_includes/nav_search.html +0 -15
- package/vendor/rocksdb/docs/_includes/plugins/all_share.html +0 -3
- package/vendor/rocksdb/docs/_includes/plugins/ascii_cinema.html +0 -2
- package/vendor/rocksdb/docs/_includes/plugins/button.html +0 -6
- package/vendor/rocksdb/docs/_includes/plugins/github_star.html +0 -4
- package/vendor/rocksdb/docs/_includes/plugins/github_watch.html +0 -4
- package/vendor/rocksdb/docs/_includes/plugins/google_share.html +0 -5
- package/vendor/rocksdb/docs/_includes/plugins/iframe.html +0 -6
- package/vendor/rocksdb/docs/_includes/plugins/like_button.html +0 -18
- package/vendor/rocksdb/docs/_includes/plugins/plugin_row.html +0 -5
- package/vendor/rocksdb/docs/_includes/plugins/post_social_plugins.html +0 -41
- package/vendor/rocksdb/docs/_includes/plugins/slideshow.html +0 -88
- package/vendor/rocksdb/docs/_includes/plugins/twitter_follow.html +0 -12
- package/vendor/rocksdb/docs/_includes/plugins/twitter_share.html +0 -11
- package/vendor/rocksdb/docs/_includes/post.html +0 -40
- package/vendor/rocksdb/docs/_includes/powered_by.html +0 -28
- package/vendor/rocksdb/docs/_includes/social_plugins.html +0 -31
- package/vendor/rocksdb/docs/_includes/ui/button.html +0 -1
- package/vendor/rocksdb/docs/_layouts/basic.html +0 -12
- package/vendor/rocksdb/docs/_layouts/blog.html +0 -11
- package/vendor/rocksdb/docs/_layouts/blog_default.html +0 -14
- package/vendor/rocksdb/docs/_layouts/default.html +0 -12
- package/vendor/rocksdb/docs/_layouts/doc_default.html +0 -14
- package/vendor/rocksdb/docs/_layouts/doc_page.html +0 -10
- package/vendor/rocksdb/docs/_layouts/docs.html +0 -5
- package/vendor/rocksdb/docs/_layouts/home.html +0 -26
- package/vendor/rocksdb/docs/_layouts/page.html +0 -3
- package/vendor/rocksdb/docs/_layouts/plain.html +0 -10
- package/vendor/rocksdb/docs/_layouts/post.html +0 -8
- package/vendor/rocksdb/docs/_layouts/redirect.html +0 -6
- package/vendor/rocksdb/docs/_layouts/top-level.html +0 -10
- package/vendor/rocksdb/docs/_posts/2014-03-27-how-to-backup-rocksdb.markdown +0 -135
- package/vendor/rocksdb/docs/_posts/2014-03-27-how-to-persist-in-memory-rocksdb-database.markdown +0 -54
- package/vendor/rocksdb/docs/_posts/2014-04-02-the-1st-rocksdb-local-meetup-held-on-march-27-2014.markdown +0 -53
- package/vendor/rocksdb/docs/_posts/2014-04-07-rocksdb-2-8-release.markdown +0 -40
- package/vendor/rocksdb/docs/_posts/2014-04-21-indexing-sst-files-for-better-lookup-performance.markdown +0 -28
- package/vendor/rocksdb/docs/_posts/2014-05-14-lock.markdown +0 -88
- package/vendor/rocksdb/docs/_posts/2014-05-19-rocksdb-3-0-release.markdown +0 -24
- package/vendor/rocksdb/docs/_posts/2014-05-22-rocksdb-3-1-release.markdown +0 -20
- package/vendor/rocksdb/docs/_posts/2014-06-23-plaintable-a-new-file-format.markdown +0 -47
- package/vendor/rocksdb/docs/_posts/2014-06-27-avoid-expensive-locks-in-get.markdown +0 -89
- package/vendor/rocksdb/docs/_posts/2014-06-27-rocksdb-3-2-release.markdown +0 -30
- package/vendor/rocksdb/docs/_posts/2014-07-29-rocksdb-3-3-release.markdown +0 -34
- package/vendor/rocksdb/docs/_posts/2014-09-12-cuckoo.markdown +0 -74
- package/vendor/rocksdb/docs/_posts/2014-09-12-new-bloom-filter-format.markdown +0 -52
- package/vendor/rocksdb/docs/_posts/2014-09-15-rocksdb-3-5-release.markdown +0 -38
- package/vendor/rocksdb/docs/_posts/2015-01-16-migrating-from-leveldb-to-rocksdb-2.markdown +0 -112
- package/vendor/rocksdb/docs/_posts/2015-02-24-reading-rocksdb-options-from-a-file.markdown +0 -41
- package/vendor/rocksdb/docs/_posts/2015-02-27-write-batch-with-index.markdown +0 -20
- package/vendor/rocksdb/docs/_posts/2015-04-22-integrating-rocksdb-with-mongodb-2.markdown +0 -16
- package/vendor/rocksdb/docs/_posts/2015-06-12-rocksdb-in-osquery.markdown +0 -10
- package/vendor/rocksdb/docs/_posts/2015-07-15-rocksdb-2015-h2-roadmap.markdown +0 -92
- package/vendor/rocksdb/docs/_posts/2015-07-17-spatial-indexing-in-rocksdb.markdown +0 -78
- package/vendor/rocksdb/docs/_posts/2015-07-22-rocksdb-is-now-available-in-windows-platform.markdown +0 -30
- package/vendor/rocksdb/docs/_posts/2015-07-23-dynamic-level.markdown +0 -29
- package/vendor/rocksdb/docs/_posts/2015-10-27-getthreadlist.markdown +0 -193
- package/vendor/rocksdb/docs/_posts/2015-11-10-use-checkpoints-for-efficient-snapshots.markdown +0 -45
- package/vendor/rocksdb/docs/_posts/2015-11-16-analysis-file-read-latency-by-level.markdown +0 -244
- package/vendor/rocksdb/docs/_posts/2016-01-29-compaction_pri.markdown +0 -51
- package/vendor/rocksdb/docs/_posts/2016-02-24-rocksdb-4-2-release.markdown +0 -41
- package/vendor/rocksdb/docs/_posts/2016-02-25-rocksdb-ama.markdown +0 -20
- package/vendor/rocksdb/docs/_posts/2016-03-07-rocksdb-options-file.markdown +0 -24
- package/vendor/rocksdb/docs/_posts/2016-04-26-rocksdb-4-5-1-released.markdown +0 -60
- package/vendor/rocksdb/docs/_posts/2016-07-26-rocksdb-4-8-released.markdown +0 -48
- package/vendor/rocksdb/docs/_posts/2016-09-28-rocksdb-4-11-2-released.markdown +0 -49
- package/vendor/rocksdb/docs/_posts/2017-01-06-rocksdb-5-0-1-released.markdown +0 -26
- package/vendor/rocksdb/docs/_posts/2017-02-07-rocksdb-5-1-2-released.markdown +0 -15
- package/vendor/rocksdb/docs/_posts/2017-02-17-bulkoad-ingest-sst-file.markdown +0 -50
- package/vendor/rocksdb/docs/_posts/2017-03-02-rocksdb-5-2-1-released.markdown +0 -22
- package/vendor/rocksdb/docs/_posts/2017-05-12-partitioned-index-filter.markdown +0 -34
- package/vendor/rocksdb/docs/_posts/2017-05-14-core-local-stats.markdown +0 -106
- package/vendor/rocksdb/docs/_posts/2017-05-26-rocksdb-5-4-5-released.markdown +0 -39
- package/vendor/rocksdb/docs/_posts/2017-06-26-17-level-based-changes.markdown +0 -60
- package/vendor/rocksdb/docs/_posts/2017-06-29-rocksdb-5-5-1-released.markdown +0 -22
- package/vendor/rocksdb/docs/_posts/2017-07-25-rocksdb-5-6-1-released.markdown +0 -22
- package/vendor/rocksdb/docs/_posts/2017-08-24-pinnableslice.markdown +0 -37
- package/vendor/rocksdb/docs/_posts/2017-08-25-flushwal.markdown +0 -26
- package/vendor/rocksdb/docs/_posts/2017-09-28-rocksdb-5-8-released.markdown +0 -25
- package/vendor/rocksdb/docs/_posts/2017-12-18-17-auto-tuned-rate-limiter.markdown +0 -28
- package/vendor/rocksdb/docs/_posts/2017-12-19-write-prepared-txn.markdown +0 -41
- package/vendor/rocksdb/docs/_posts/2018-02-05-rocksdb-5-10-2-released.markdown +0 -22
- package/vendor/rocksdb/docs/_posts/2018-08-01-rocksdb-tuning-advisor.markdown +0 -58
- package/vendor/rocksdb/docs/_posts/2018-08-23-data-block-hash-index.markdown +0 -118
- package/vendor/rocksdb/docs/_posts/2018-11-21-delete-range.markdown +0 -292
- package/vendor/rocksdb/docs/_posts/2019-03-08-format-version-4.markdown +0 -36
- package/vendor/rocksdb/docs/_posts/2019-08-15-unordered-write.markdown +0 -56
- package/vendor/rocksdb/docs/_posts/2021-04-12-universal-improvements.markdown +0 -46
- package/vendor/rocksdb/docs/_posts/2021-05-26-integrated-blob-db.markdown +0 -101
- package/vendor/rocksdb/docs/_posts/2021-05-26-online-validation.markdown +0 -17
- package/vendor/rocksdb/docs/_posts/2021-05-27-rocksdb-secondary-cache.markdown +0 -195
- package/vendor/rocksdb/docs/_posts/2021-05-31-dictionary-compression.markdown +0 -157
- package/vendor/rocksdb/docs/_posts/2021-12-29-ribbon-filter.markdown +0 -281
- package/vendor/rocksdb/docs/_posts/2022-07-18-per-key-value-checksum.markdown +0 -142
- package/vendor/rocksdb/docs/_posts/2022-10-05-lost-buffered-write-recovery.markdown +0 -123
- package/vendor/rocksdb/docs/_posts/2022-10-07-asynchronous-io-in-rocksdb.markdown +0 -133
- package/vendor/rocksdb/docs/_posts/2022-10-31-align-compaction-output-file.markdown +0 -107
- package/vendor/rocksdb/docs/_posts/2022-11-09-time-aware-tiered-storage.markdown +0 -121
- package/vendor/rocksdb/docs/_sass/_base.scss +0 -492
- package/vendor/rocksdb/docs/_sass/_blog.scss +0 -47
- package/vendor/rocksdb/docs/_sass/_buttons.scss +0 -47
- package/vendor/rocksdb/docs/_sass/_footer.scss +0 -82
- package/vendor/rocksdb/docs/_sass/_gridBlock.scss +0 -115
- package/vendor/rocksdb/docs/_sass/_header.scss +0 -139
- package/vendor/rocksdb/docs/_sass/_poweredby.scss +0 -69
- package/vendor/rocksdb/docs/_sass/_promo.scss +0 -55
- package/vendor/rocksdb/docs/_sass/_react_docs_nav.scss +0 -332
- package/vendor/rocksdb/docs/_sass/_react_header_nav.scss +0 -141
- package/vendor/rocksdb/docs/_sass/_reset.scss +0 -43
- package/vendor/rocksdb/docs/_sass/_search.scss +0 -142
- package/vendor/rocksdb/docs/_sass/_slideshow.scss +0 -48
- package/vendor/rocksdb/docs/_sass/_syntax-highlighting.scss +0 -129
- package/vendor/rocksdb/docs/_sass/_tables.scss +0 -47
- package/vendor/rocksdb/docs/_top-level/support.md +0 -22
- package/vendor/rocksdb/docs/blog/all.html +0 -20
- package/vendor/rocksdb/docs/blog/index.html +0 -12
- package/vendor/rocksdb/docs/css/main.scss +0 -159
- package/vendor/rocksdb/docs/doc-type-examples/2016-04-07-blog-post-example.md +0 -21
- package/vendor/rocksdb/docs/doc-type-examples/docs-hello-world.md +0 -12
- package/vendor/rocksdb/docs/doc-type-examples/top-level-example.md +0 -8
- package/vendor/rocksdb/docs/docs/index.html +0 -6
- package/vendor/rocksdb/docs/feed.xml +0 -30
- package/vendor/rocksdb/docs/index.md +0 -9
- package/vendor/rocksdb/docs/static/favicon.png +0 -0
- package/vendor/rocksdb/docs/static/fonts/LatoLatin-Black.woff +0 -0
- package/vendor/rocksdb/docs/static/fonts/LatoLatin-Black.woff2 +0 -0
- package/vendor/rocksdb/docs/static/fonts/LatoLatin-BlackItalic.woff +0 -0
- package/vendor/rocksdb/docs/static/fonts/LatoLatin-BlackItalic.woff2 +0 -0
- package/vendor/rocksdb/docs/static/fonts/LatoLatin-Italic.woff +0 -0
- package/vendor/rocksdb/docs/static/fonts/LatoLatin-Italic.woff2 +0 -0
- package/vendor/rocksdb/docs/static/fonts/LatoLatin-Light.woff +0 -0
- package/vendor/rocksdb/docs/static/fonts/LatoLatin-Light.woff2 +0 -0
- package/vendor/rocksdb/docs/static/fonts/LatoLatin-Regular.woff +0 -0
- package/vendor/rocksdb/docs/static/fonts/LatoLatin-Regular.woff2 +0 -0
- package/vendor/rocksdb/docs/static/images/Resize-of-20140327_200754-300x225.jpg +0 -0
- package/vendor/rocksdb/docs/static/images/align-compaction-output/compaction_output_file_size_compare.png +0 -0
- package/vendor/rocksdb/docs/static/images/align-compaction-output/file_cut_align.png +0 -0
- package/vendor/rocksdb/docs/static/images/align-compaction-output/file_cut_normal.png +0 -0
- package/vendor/rocksdb/docs/static/images/align-compaction-output/file_cut_trival_move.png +0 -0
- package/vendor/rocksdb/docs/static/images/align-compaction-output/file_size_compare.png +0 -0
- package/vendor/rocksdb/docs/static/images/align-compaction-output/write_amp_compare.png +0 -0
- package/vendor/rocksdb/docs/static/images/asynchronous-io/mget_async.png +0 -0
- package/vendor/rocksdb/docs/static/images/asynchronous-io/scan_async.png +0 -0
- package/vendor/rocksdb/docs/static/images/binaryseek.png +0 -0
- package/vendor/rocksdb/docs/static/images/bloom_fp_vs_bpk.png +0 -0
- package/vendor/rocksdb/docs/static/images/compaction/full-range.png +0 -0
- package/vendor/rocksdb/docs/static/images/compaction/l0-l1-contend.png +0 -0
- package/vendor/rocksdb/docs/static/images/compaction/l1-l2-contend.png +0 -0
- package/vendor/rocksdb/docs/static/images/compaction/part-range-old.png +0 -0
- package/vendor/rocksdb/docs/static/images/data-block-hash-index/block-format-binary-seek.png +0 -0
- package/vendor/rocksdb/docs/static/images/data-block-hash-index/block-format-hash-index.png +0 -0
- package/vendor/rocksdb/docs/static/images/data-block-hash-index/hash-index-data-structure.png +0 -0
- package/vendor/rocksdb/docs/static/images/data-block-hash-index/perf-cache-miss.png +0 -0
- package/vendor/rocksdb/docs/static/images/data-block-hash-index/perf-throughput.png +0 -0
- package/vendor/rocksdb/docs/static/images/delrange/delrange_collapsed.png +0 -0
- package/vendor/rocksdb/docs/static/images/delrange/delrange_key_schema.png +0 -0
- package/vendor/rocksdb/docs/static/images/delrange/delrange_sst_blocks.png +0 -0
- package/vendor/rocksdb/docs/static/images/delrange/delrange_uncollapsed.png +0 -0
- package/vendor/rocksdb/docs/static/images/delrange/delrange_write_path.png +0 -0
- package/vendor/rocksdb/docs/static/images/dictcmp/dictcmp_raw_sampled.png +0 -0
- package/vendor/rocksdb/docs/static/images/dictcmp/dictcmp_sst_blocks.png +0 -0
- package/vendor/rocksdb/docs/static/images/dictcmp/dictcmp_zstd_trained.png +0 -0
- package/vendor/rocksdb/docs/static/images/integrated-blob-db/BlobDB_Benchmarks_Legacy_Vs_Integrated.png +0 -0
- package/vendor/rocksdb/docs/static/images/integrated-blob-db/BlobDB_Benchmarks_RW_RO_Perf.png +0 -0
- package/vendor/rocksdb/docs/static/images/integrated-blob-db/BlobDB_Benchmarks_Write_Amp.png +0 -0
- package/vendor/rocksdb/docs/static/images/integrated-blob-db/BlobDB_Benchmarks_Write_Perf.png +0 -0
- package/vendor/rocksdb/docs/static/images/kv-checksum/Memtable-entry.png +0 -0
- package/vendor/rocksdb/docs/static/images/kv-checksum/Memtable-write.png +0 -0
- package/vendor/rocksdb/docs/static/images/kv-checksum/ProtInfo-Memtable.png +0 -0
- package/vendor/rocksdb/docs/static/images/kv-checksum/ProtInfo-Writebatch-to-Memtable.png +0 -0
- package/vendor/rocksdb/docs/static/images/kv-checksum/ProtInfo-Writebatch.png +0 -0
- package/vendor/rocksdb/docs/static/images/kv-checksum/WAL-fragment.png +0 -0
- package/vendor/rocksdb/docs/static/images/kv-checksum/WAL-read.png +0 -0
- package/vendor/rocksdb/docs/static/images/kv-checksum/WAL-write.png +0 -0
- package/vendor/rocksdb/docs/static/images/kv-checksum/Write-batch.png +0 -0
- package/vendor/rocksdb/docs/static/images/kv-checksum/Writebatch-write.png +0 -0
- package/vendor/rocksdb/docs/static/images/lost-buffered-write-recovery/angry-cat.png +0 -0
- package/vendor/rocksdb/docs/static/images/lost-buffered-write-recovery/basic-setup.png +0 -0
- package/vendor/rocksdb/docs/static/images/lost-buffered-write-recovery/happy-cat.png +0 -0
- package/vendor/rocksdb/docs/static/images/lost-buffered-write-recovery/replay-extension.png +0 -0
- package/vendor/rocksdb/docs/static/images/lost-buffered-write-recovery/test-fs-writable-file.png +0 -0
- package/vendor/rocksdb/docs/static/images/lost-buffered-write-recovery/trace-extension.png +0 -0
- package/vendor/rocksdb/docs/static/images/pcache-blockindex.jpg +0 -0
- package/vendor/rocksdb/docs/static/images/pcache-fileindex.jpg +0 -0
- package/vendor/rocksdb/docs/static/images/pcache-filelayout.jpg +0 -0
- package/vendor/rocksdb/docs/static/images/pcache-readiopath.jpg +0 -0
- package/vendor/rocksdb/docs/static/images/pcache-tieredstorage.jpg +0 -0
- package/vendor/rocksdb/docs/static/images/pcache-writeiopath.jpg +0 -0
- package/vendor/rocksdb/docs/static/images/promo-adapt.svg +0 -8
- package/vendor/rocksdb/docs/static/images/promo-flash.svg +0 -28
- package/vendor/rocksdb/docs/static/images/promo-operations.svg +0 -6
- package/vendor/rocksdb/docs/static/images/promo-performance.svg +0 -134
- package/vendor/rocksdb/docs/static/images/rate-limiter/auto-tuned-write-KBps-series.png +0 -0
- package/vendor/rocksdb/docs/static/images/rate-limiter/write-KBps-cdf.png +0 -0
- package/vendor/rocksdb/docs/static/images/rate-limiter/write-KBps-series.png +0 -0
- package/vendor/rocksdb/docs/static/images/rocksdb-secondary-cache/Mixgraph_hit_rate.png +0 -0
- package/vendor/rocksdb/docs/static/images/rocksdb-secondary-cache/Mixgraph_throughput.png +0 -0
- package/vendor/rocksdb/docs/static/images/rocksdb-secondary-cache/arch_diagram.png +0 -0
- package/vendor/rocksdb/docs/static/images/rocksdb-secondary-cache/insert_flow.png +0 -0
- package/vendor/rocksdb/docs/static/images/rocksdb-secondary-cache/lookup_flow.png +0 -0
- package/vendor/rocksdb/docs/static/images/time-aware-tiered-storage/compaction_moving_up_conflict.png +0 -0
- package/vendor/rocksdb/docs/static/images/time-aware-tiered-storage/per_key_placement_compaction.png +0 -0
- package/vendor/rocksdb/docs/static/images/time-aware-tiered-storage/tiered_storage_design.png +0 -0
- package/vendor/rocksdb/docs/static/images/time-aware-tiered-storage/tiered_storage_overview.png +0 -0
- package/vendor/rocksdb/docs/static/images/time-aware-tiered-storage/tiered_storage_problem.png +0 -0
- package/vendor/rocksdb/docs/static/images/tree_example1.png +0 -0
- package/vendor/rocksdb/docs/static/logo.svg +0 -76
- package/vendor/rocksdb/docs/static/og_image.png +0 -0
- package/vendor/rocksdb/examples/Makefile +0 -58
- package/vendor/rocksdb/examples/c_simple_example.c +0 -96
- package/vendor/rocksdb/examples/rocksdb_option_file_example.ini +0 -142
- package/vendor/rocksdb/fuzz/Makefile +0 -67
- package/vendor/rocksdb/fuzz/proto/db_operation.proto +0 -28
- package/vendor/rocksdb/issue_template.md +0 -7
- package/vendor/rocksdb/java/GetBenchmarks.md +0 -161
- package/vendor/rocksdb/java/HISTORY-JAVA.md +0 -86
- package/vendor/rocksdb/java/Makefile +0 -453
- package/vendor/rocksdb/java/RELEASE.md +0 -59
- package/vendor/rocksdb/java/benchmark/src/main/java/org/rocksdb/benchmark/DbBenchmark.java +0 -1640
- package/vendor/rocksdb/java/crossbuild/Vagrantfile +0 -51
- package/vendor/rocksdb/java/crossbuild/build-linux-alpine.sh +0 -70
- package/vendor/rocksdb/java/crossbuild/build-linux-centos.sh +0 -38
- package/vendor/rocksdb/java/crossbuild/build-linux.sh +0 -15
- package/vendor/rocksdb/java/crossbuild/docker-build-linux-alpine.sh +0 -17
- package/vendor/rocksdb/java/crossbuild/docker-build-linux-centos.sh +0 -38
- package/vendor/rocksdb/java/jdb_bench.sh +0 -13
- package/vendor/rocksdb/java/jmh/LICENSE-HEADER.txt +0 -5
- package/vendor/rocksdb/java/jmh/pom.xml +0 -138
- package/vendor/rocksdb/java/jmh/src/main/java/org/rocksdb/jmh/ComparatorBenchmarks.java +0 -139
- package/vendor/rocksdb/java/jmh/src/main/java/org/rocksdb/jmh/GetBenchmarks.java +0 -215
- package/vendor/rocksdb/java/jmh/src/main/java/org/rocksdb/jmh/MultiGetBenchmarks.java +0 -214
- package/vendor/rocksdb/java/jmh/src/main/java/org/rocksdb/jmh/PutBenchmarks.java +0 -112
- package/vendor/rocksdb/java/jmh/src/main/java/org/rocksdb/util/FileUtils.java +0 -59
- package/vendor/rocksdb/java/jmh/src/main/java/org/rocksdb/util/KVUtils.java +0 -72
- package/vendor/rocksdb/java/pom.xml.template +0 -178
- package/vendor/rocksdb/java/samples/src/main/java/OptimisticTransactionSample.java +0 -184
- package/vendor/rocksdb/java/samples/src/main/java/RocksDBColumnFamilySample.java +0 -78
- package/vendor/rocksdb/java/samples/src/main/java/RocksDBSample.java +0 -295
- package/vendor/rocksdb/java/samples/src/main/java/TransactionSample.java +0 -183
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractCompactionFilter.java +0 -59
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractCompactionFilterFactory.java +0 -77
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractComparator.java +0 -124
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractComparatorJniBridge.java +0 -119
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractEventListener.java +0 -334
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractImmutableNativeReference.java +0 -65
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractMutableOptions.java +0 -368
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractNativeReference.java +0 -49
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractRocksIterator.java +0 -146
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractSlice.java +0 -191
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractTableFilter.java +0 -20
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractTraceWriter.java +0 -70
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractTransactionNotifier.java +0 -54
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractWalFilter.java +0 -49
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/AbstractWriteBatch.java +0 -203
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/AccessHint.java +0 -53
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/AdvancedColumnFamilyOptionsInterface.java +0 -463
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/AdvancedMutableColumnFamilyOptionsInterface.java +0 -830
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/BackgroundErrorReason.java +0 -46
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/BackupEngine.java +0 -259
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/BackupEngineOptions.java +0 -458
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/BackupInfo.java +0 -76
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/BlockBasedTableConfig.java +0 -951
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/BloomFilter.java +0 -73
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/BuiltinComparator.java +0 -20
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/ByteBufferGetStatus.java +0 -50
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/Cache.java +0 -40
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/CassandraCompactionFilter.java +0 -20
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/CassandraValueMergeOperator.java +0 -25
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/Checkpoint.java +0 -62
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/ChecksumType.java +0 -45
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/ClockCache.java +0 -59
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/ColumnFamilyDescriptor.java +0 -84
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/ColumnFamilyHandle.java +0 -151
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/ColumnFamilyMetaData.java +0 -70
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/ColumnFamilyOptions.java +0 -1543
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/ColumnFamilyOptionsInterface.java +0 -536
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/CompactRangeOptions.java +0 -245
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/CompactionJobInfo.java +0 -161
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/CompactionJobStats.java +0 -295
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/CompactionOptions.java +0 -121
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/CompactionOptionsFIFO.java +0 -87
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/CompactionOptionsUniversal.java +0 -273
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/CompactionPriority.java +0 -81
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/CompactionReason.java +0 -141
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/CompactionStopStyle.java +0 -55
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/CompactionStyle.java +0 -81
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/ComparatorOptions.java +0 -133
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/ComparatorType.java +0 -48
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/CompressionOptions.java +0 -150
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/CompressionType.java +0 -121
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/ConcurrentTaskLimiter.java +0 -44
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/ConcurrentTaskLimiterImpl.java +0 -48
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/ConfigOptions.java +0 -53
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/DBOptions.java +0 -1496
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/DBOptionsInterface.java +0 -1756
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/DataBlockIndexType.java +0 -32
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/DbPath.java +0 -47
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/DirectSlice.java +0 -136
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/EncodingType.java +0 -55
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/Env.java +0 -167
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/EnvOptions.java +0 -366
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/EventListener.java +0 -335
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/Experimental.java +0 -23
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/ExternalFileIngestionInfo.java +0 -103
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/FileOperationInfo.java +0 -112
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/Filter.java +0 -36
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/FlushJobInfo.java +0 -186
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/FlushOptions.java +0 -90
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/FlushReason.java +0 -53
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/HashLinkedListMemTableConfig.java +0 -174
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/HashSkipListMemTableConfig.java +0 -106
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/HistogramData.java +0 -75
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/HistogramType.java +0 -214
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/Holder.java +0 -46
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/IndexShorteningMode.java +0 -60
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/IndexType.java +0 -55
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/InfoLogLevel.java +0 -49
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/IngestExternalFileOptions.java +0 -227
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/KeyMayExist.java +0 -35
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/LRUCache.java +0 -106
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/LevelMetaData.java +0 -56
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/LiveFileMetaData.java +0 -55
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/LogFile.java +0 -75
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/Logger.java +0 -121
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/MemTableConfig.java +0 -29
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/MemTableInfo.java +0 -103
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/MemoryUsageType.java +0 -72
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/MemoryUtil.java +0 -60
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/MergeOperator.java +0 -18
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/MutableColumnFamilyOptions.java +0 -621
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/MutableColumnFamilyOptionsInterface.java +0 -156
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/MutableDBOptions.java +0 -292
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/MutableDBOptionsInterface.java +0 -440
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/MutableOptionKey.java +0 -16
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/MutableOptionValue.java +0 -368
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/NativeComparatorWrapper.java +0 -59
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/NativeLibraryLoader.java +0 -172
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/OperationStage.java +0 -59
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/OperationType.java +0 -55
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/OptimisticTransactionDB.java +0 -224
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/OptimisticTransactionOptions.java +0 -53
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/OptionString.java +0 -261
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/Options.java +0 -2574
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/OptionsUtil.java +0 -101
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/PersistentCache.java +0 -26
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/PlainTableConfig.java +0 -251
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/PrepopulateBlobCache.java +0 -117
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/Priority.java +0 -49
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/Range.java +0 -19
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/RateLimiter.java +0 -227
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/RateLimiterMode.java +0 -52
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/ReadOptions.java +0 -822
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/ReadTier.java +0 -49
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/RemoveEmptyValueCompactionFilter.java +0 -18
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/RestoreOptions.java +0 -32
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/ReusedSynchronisationType.java +0 -65
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/RocksCallbackObject.java +0 -73
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/RocksDB.java +0 -4688
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/RocksDBException.java +0 -44
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/RocksEnv.java +0 -31
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/RocksIterator.java +0 -140
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/RocksIteratorInterface.java +0 -127
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/RocksMemEnv.java +0 -31
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/RocksMutableObject.java +0 -87
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/RocksObject.java +0 -45
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/SanityLevel.java +0 -47
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/SizeApproximationFlag.java +0 -31
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/SkipListMemTableConfig.java +0 -51
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/Slice.java +0 -135
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/Snapshot.java +0 -41
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/SstFileManager.java +0 -249
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/SstFileMetaData.java +0 -162
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/SstFileReader.java +0 -82
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/SstFileReaderIterator.java +0 -140
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/SstFileWriter.java +0 -237
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/SstPartitionerFactory.java +0 -15
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/SstPartitionerFixedPrefixFactory.java +0 -19
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/StateType.java +0 -53
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/Statistics.java +0 -153
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/StatisticsCollector.java +0 -102
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/StatisticsCollectorCallback.java +0 -32
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/StatsCollectorInput.java +0 -35
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/StatsLevel.java +0 -65
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/Status.java +0 -155
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/StringAppendOperator.java +0 -29
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/TableFileCreationBriefInfo.java +0 -107
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/TableFileCreationInfo.java +0 -86
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/TableFileCreationReason.java +0 -46
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/TableFileDeletionInfo.java +0 -86
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/TableFilter.java +0 -21
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/TableFormatConfig.java +0 -22
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/TableProperties.java +0 -426
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/ThreadStatus.java +0 -224
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/ThreadType.java +0 -65
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/TickerType.java +0 -802
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/TimedEnv.java +0 -30
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/TraceOptions.java +0 -32
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/TraceWriter.java +0 -36
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/Transaction.java +0 -2162
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/TransactionDB.java +0 -401
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/TransactionDBOptions.java +0 -216
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/TransactionLogIterator.java +0 -112
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/TransactionOptions.java +0 -189
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/TransactionalDB.java +0 -65
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/TransactionalOptions.java +0 -31
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/TtlDB.java +0 -242
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/TxnDBWritePolicy.java +0 -62
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/UInt64AddOperator.java +0 -19
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/VectorMemTableConfig.java +0 -46
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/WALRecoveryMode.java +0 -82
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/WBWIRocksIterator.java +0 -203
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/WalFileType.java +0 -55
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/WalFilter.java +0 -86
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/WalProcessingOption.java +0 -54
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/WriteBatch.java +0 -394
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/WriteBatchInterface.java +0 -283
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/WriteBatchWithIndex.java +0 -358
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/WriteBufferManager.java +0 -50
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/WriteOptions.java +0 -255
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/WriteStallCondition.java +0 -44
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/WriteStallInfo.java +0 -75
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/util/ByteUtil.java +0 -52
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/util/BytewiseComparator.java +0 -121
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/util/Environment.java +0 -245
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/util/IntComparator.java +0 -67
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/util/ReverseBytewiseComparator.java +0 -88
- package/vendor/rocksdb/java/src/main/java/org/rocksdb/util/SizeUnit.java +0 -16
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/AbstractTransactionTest.java +0 -979
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/BackupEngineOptionsTest.java +0 -297
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/BackupEngineTest.java +0 -261
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/BlobOptionsTest.java +0 -353
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/BlockBasedTableConfigTest.java +0 -415
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/BuiltinComparatorTest.java +0 -145
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/ByteBufferUnsupportedOperationTest.java +0 -132
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/BytewiseComparatorRegressionTest.java +0 -132
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/CheckPointTest.java +0 -82
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/ClockCacheTest.java +0 -25
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/ColumnFamilyOptionsTest.java +0 -712
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/ColumnFamilyTest.java +0 -562
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/CompactRangeOptionsTest.java +0 -102
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/CompactionFilterFactoryTest.java +0 -61
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/CompactionJobInfoTest.java +0 -114
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/CompactionJobStatsTest.java +0 -196
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/CompactionOptionsFIFOTest.java +0 -35
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/CompactionOptionsTest.java +0 -52
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/CompactionOptionsUniversalTest.java +0 -80
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/CompactionPriorityTest.java +0 -31
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/CompactionStopStyleTest.java +0 -31
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/ComparatorOptionsTest.java +0 -58
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/CompressionOptionsTest.java +0 -71
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/CompressionTypesTest.java +0 -25
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/ConcurrentTaskLimiterTest.java +0 -56
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/DBOptionsTest.java +0 -902
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/DefaultEnvTest.java +0 -113
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/DirectSliceTest.java +0 -93
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/EnvOptionsTest.java +0 -145
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/EventListenerTest.java +0 -725
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/FilterTest.java +0 -39
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/FlushOptionsTest.java +0 -31
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/FlushTest.java +0 -49
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/InfoLogLevelTest.java +0 -109
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/IngestExternalFileOptionsTest.java +0 -107
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/KeyMayExistTest.java +0 -528
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/LRUCacheTest.java +0 -32
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/LoggerTest.java +0 -235
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/MemTableTest.java +0 -108
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/MemoryUtilTest.java +0 -136
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/MergeTest.java +0 -465
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/MixedOptionsTest.java +0 -85
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/MultiColumnRegressionTest.java +0 -145
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/MultiGetManyKeysTest.java +0 -241
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/MultiGetTest.java +0 -530
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/MutableColumnFamilyOptionsTest.java +0 -167
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/MutableDBOptionsTest.java +0 -85
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/MutableOptionsGetSetTest.java +0 -429
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/NativeComparatorWrapperTest.java +0 -90
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/NativeLibraryLoaderTest.java +0 -41
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/OptimisticTransactionDBTest.java +0 -131
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/OptimisticTransactionOptionsTest.java +0 -38
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/OptimisticTransactionTest.java +0 -446
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/OptionsTest.java +0 -1488
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/OptionsUtilTest.java +0 -129
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/PlainTableConfigTest.java +0 -89
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/PlatformRandomHelper.java +0 -58
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/PutMultiplePartsTest.java +0 -164
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/RateLimiterTest.java +0 -65
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/ReadOnlyTest.java +0 -222
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/ReadOptionsTest.java +0 -374
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/RocksDBExceptionTest.java +0 -115
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/RocksDBTest.java +0 -1692
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/RocksIteratorTest.java +0 -289
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/RocksMemEnvTest.java +0 -137
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/RocksNativeLibraryResource.java +0 -18
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/SecondaryDBTest.java +0 -135
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/SliceTest.java +0 -80
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/SnapshotTest.java +0 -169
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/SstFileManagerTest.java +0 -66
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/SstFileReaderTest.java +0 -222
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/SstFileWriterTest.java +0 -239
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/SstPartitionerTest.java +0 -72
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/StatisticsCollectorTest.java +0 -55
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/StatisticsTest.java +0 -168
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/StatsCallbackMock.java +0 -19
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/TableFilterTest.java +0 -106
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/TimedEnvTest.java +0 -40
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/TransactionDBOptionsTest.java +0 -64
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/TransactionDBTest.java +0 -177
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/TransactionLogIteratorTest.java +0 -139
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/TransactionOptionsTest.java +0 -72
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/TransactionTest.java +0 -488
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/TtlDBTest.java +0 -112
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/Types.java +0 -43
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/VerifyChecksumsTest.java +0 -213
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/WALRecoveryModeTest.java +0 -22
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/WalFilterTest.java +0 -165
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/WriteBatchHandlerTest.java +0 -76
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/WriteBatchTest.java +0 -528
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/WriteBatchThreadedTest.java +0 -101
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/WriteBatchWithIndexTest.java +0 -1068
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/WriteOptionsTest.java +0 -75
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/test/RemoveEmptyValueCompactionFilterFactory.java +0 -21
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/test/RocksJunitRunner.java +0 -174
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/test/TestableEventListener.java +0 -23
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/ByteBufferAllocator.java +0 -16
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/BytewiseComparatorIntTest.java +0 -267
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/BytewiseComparatorTest.java +0 -531
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/CapturingWriteBatchHandler.java +0 -190
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/DirectByteBufferAllocator.java +0 -18
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/EnvironmentTest.java +0 -304
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/HeapByteBufferAllocator.java +0 -18
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/IntComparatorTest.java +0 -266
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/JNIComparatorTest.java +0 -180
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/ReverseBytewiseComparatorIntTest.java +0 -270
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/SizeUnitTest.java +0 -27
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/TestUtil.java +0 -72
- package/vendor/rocksdb/java/src/test/java/org/rocksdb/util/WriteBatchGetter.java +0 -139
- package/vendor/rocksdb/java/understanding_options.md +0 -79
- package/vendor/rocksdb/src.mk +0 -713
- package/vendor/rocksdb/thirdparty.inc +0 -268
- package/vendor/rocksdb/tools/Dockerfile +0 -5
- package/vendor/rocksdb/tools/advisor/advisor/__init__.py +0 -0
- package/vendor/rocksdb/tools/advisor/advisor/bench_runner.py +0 -39
- package/vendor/rocksdb/tools/advisor/advisor/config_optimizer_example.py +0 -140
- package/vendor/rocksdb/tools/advisor/advisor/db_bench_runner.py +0 -237
- package/vendor/rocksdb/tools/advisor/advisor/db_config_optimizer.py +0 -293
- package/vendor/rocksdb/tools/advisor/advisor/db_log_parser.py +0 -134
- package/vendor/rocksdb/tools/advisor/advisor/db_options_parser.py +0 -348
- package/vendor/rocksdb/tools/advisor/advisor/db_stats_fetcher.py +0 -346
- package/vendor/rocksdb/tools/advisor/advisor/db_timeseries_parser.py +0 -203
- package/vendor/rocksdb/tools/advisor/advisor/ini_parser.py +0 -76
- package/vendor/rocksdb/tools/advisor/advisor/rule_parser.py +0 -510
- package/vendor/rocksdb/tools/advisor/advisor/rule_parser_example.py +0 -98
- package/vendor/rocksdb/tools/advisor/advisor/rules.ini +0 -214
- package/vendor/rocksdb/tools/advisor/test/__init__.py +0 -0
- package/vendor/rocksdb/tools/advisor/test/input_files/LOG-0 +0 -30
- package/vendor/rocksdb/tools/advisor/test/input_files/LOG-1 +0 -25
- package/vendor/rocksdb/tools/advisor/test/input_files/OPTIONS-000005 +0 -49
- package/vendor/rocksdb/tools/advisor/test/input_files/log_stats_parser_keys_ts +0 -3
- package/vendor/rocksdb/tools/advisor/test/input_files/rules_err1.ini +0 -56
- package/vendor/rocksdb/tools/advisor/test/input_files/rules_err2.ini +0 -15
- package/vendor/rocksdb/tools/advisor/test/input_files/rules_err3.ini +0 -15
- package/vendor/rocksdb/tools/advisor/test/input_files/rules_err4.ini +0 -15
- package/vendor/rocksdb/tools/advisor/test/input_files/test_rules.ini +0 -47
- package/vendor/rocksdb/tools/advisor/test/input_files/triggered_rules.ini +0 -83
- package/vendor/rocksdb/tools/advisor/test/test_db_bench_runner.py +0 -141
- package/vendor/rocksdb/tools/advisor/test/test_db_log_parser.py +0 -96
- package/vendor/rocksdb/tools/advisor/test/test_db_options_parser.py +0 -214
- package/vendor/rocksdb/tools/advisor/test/test_db_stats_fetcher.py +0 -121
- package/vendor/rocksdb/tools/advisor/test/test_rule_parser.py +0 -226
- package/vendor/rocksdb/tools/analyze_txn_stress_test.sh +0 -77
- package/vendor/rocksdb/tools/auto_sanity_test.sh +0 -93
- package/vendor/rocksdb/tools/backup_db.sh +0 -15
- package/vendor/rocksdb/tools/benchmark.sh +0 -1173
- package/vendor/rocksdb/tools/benchmark_ci.py +0 -182
- package/vendor/rocksdb/tools/benchmark_compare.sh +0 -342
- package/vendor/rocksdb/tools/benchmark_leveldb.sh +0 -187
- package/vendor/rocksdb/tools/block_cache_analyzer/__init__.py +0 -2
- package/vendor/rocksdb/tools/block_cache_analyzer/block_cache_pysim.py +0 -2000
- package/vendor/rocksdb/tools/block_cache_analyzer/block_cache_pysim.sh +0 -156
- package/vendor/rocksdb/tools/block_cache_analyzer/block_cache_pysim_test.py +0 -734
- package/vendor/rocksdb/tools/block_cache_analyzer/block_cache_trace_analyzer_plot.py +0 -729
- package/vendor/rocksdb/tools/check_all_python.py +0 -22
- package/vendor/rocksdb/tools/check_format_compatible.sh +0 -379
- package/vendor/rocksdb/tools/db_crashtest.py +0 -1018
- package/vendor/rocksdb/tools/dbench_monitor +0 -102
- package/vendor/rocksdb/tools/generate_random_db.sh +0 -31
- package/vendor/rocksdb/tools/ingest_external_sst.sh +0 -18
- package/vendor/rocksdb/tools/ldb_test.py +0 -955
- package/vendor/rocksdb/tools/pflag +0 -217
- package/vendor/rocksdb/tools/regression_test.sh +0 -525
- package/vendor/rocksdb/tools/restore_db.sh +0 -15
- package/vendor/rocksdb/tools/rocksdb_dump_test.sh +0 -9
- package/vendor/rocksdb/tools/run_blob_bench.sh +0 -223
- package/vendor/rocksdb/tools/run_flash_bench.sh +0 -359
- package/vendor/rocksdb/tools/run_leveldb.sh +0 -175
- package/vendor/rocksdb/tools/sample-dump.dmp +0 -0
- package/vendor/rocksdb/tools/verify_random_db.sh +0 -41
- package/vendor/rocksdb/tools/write_external_sst.sh +0 -26
- package/vendor/rocksdb/tools/write_stress_runner.py +0 -83
- package/vendor/rocksdb/util/crc32c_ppc.c +0 -94
- package/vendor/rocksdb/util/crc32c_ppc_asm.S +0 -756
|
@@ -1,1068 +0,0 @@
|
|
|
1
|
-
// Copyright (c) 2011-present, Facebook, Inc. All rights reserved.
|
|
2
|
-
// This source code is licensed under both the GPLv2 (found in the
|
|
3
|
-
// COPYING file in the root directory) and Apache 2.0 License
|
|
4
|
-
// (found in the LICENSE.Apache file in the root directory).
|
|
5
|
-
//
|
|
6
|
-
// Copyright (c) 2011 The LevelDB Authors. All rights reserved.
|
|
7
|
-
// Use of this source code is governed by a BSD-style license that can be
|
|
8
|
-
// found in the LICENSE file. See the AUTHORS file for names of contributors.
|
|
9
|
-
|
|
10
|
-
package org.rocksdb;
|
|
11
|
-
|
|
12
|
-
import static java.nio.charset.StandardCharsets.UTF_8;
|
|
13
|
-
import static org.assertj.core.api.Assertions.assertThat;
|
|
14
|
-
|
|
15
|
-
import java.nio.ByteBuffer;
|
|
16
|
-
import java.util.ArrayList;
|
|
17
|
-
import java.util.Arrays;
|
|
18
|
-
import java.util.List;
|
|
19
|
-
import org.junit.ClassRule;
|
|
20
|
-
import org.junit.Rule;
|
|
21
|
-
import org.junit.Test;
|
|
22
|
-
import org.junit.rules.TemporaryFolder;
|
|
23
|
-
import org.rocksdb.util.ByteBufferAllocator;
|
|
24
|
-
|
|
25
|
-
public class WriteBatchWithIndexTest {
|
|
26
|
-
|
|
27
|
-
@ClassRule
|
|
28
|
-
public static final RocksNativeLibraryResource ROCKS_NATIVE_LIBRARY_RESOURCE =
|
|
29
|
-
new RocksNativeLibraryResource();
|
|
30
|
-
|
|
31
|
-
@Rule
|
|
32
|
-
public TemporaryFolder dbFolder = new TemporaryFolder();
|
|
33
|
-
|
|
34
|
-
@Test
|
|
35
|
-
public void readYourOwnWrites() throws RocksDBException {
|
|
36
|
-
try (final Options options = new Options().setCreateIfMissing(true);
|
|
37
|
-
final RocksDB db = RocksDB.open(options,
|
|
38
|
-
dbFolder.getRoot().getAbsolutePath())) {
|
|
39
|
-
|
|
40
|
-
final byte[] k1 = "key1".getBytes();
|
|
41
|
-
final byte[] v1 = "value1".getBytes();
|
|
42
|
-
final byte[] k2 = "key2".getBytes();
|
|
43
|
-
final byte[] v2 = "value2".getBytes();
|
|
44
|
-
|
|
45
|
-
db.put(k1, v1);
|
|
46
|
-
db.put(k2, v2);
|
|
47
|
-
|
|
48
|
-
try (final WriteBatchWithIndex wbwi = new WriteBatchWithIndex(true);
|
|
49
|
-
final RocksIterator base = db.newIterator();
|
|
50
|
-
final RocksIterator it = wbwi.newIteratorWithBase(base)) {
|
|
51
|
-
it.seek(k1);
|
|
52
|
-
assertThat(it.isValid()).isTrue();
|
|
53
|
-
assertThat(it.key()).isEqualTo(k1);
|
|
54
|
-
assertThat(it.value()).isEqualTo(v1);
|
|
55
|
-
|
|
56
|
-
it.seek(k2);
|
|
57
|
-
assertThat(it.isValid()).isTrue();
|
|
58
|
-
assertThat(it.key()).isEqualTo(k2);
|
|
59
|
-
assertThat(it.value()).isEqualTo(v2);
|
|
60
|
-
|
|
61
|
-
//put data to the write batch and make sure we can read it.
|
|
62
|
-
final byte[] k3 = "key3".getBytes();
|
|
63
|
-
final byte[] v3 = "value3".getBytes();
|
|
64
|
-
wbwi.put(k3, v3);
|
|
65
|
-
it.seek(k3);
|
|
66
|
-
assertThat(it.isValid()).isTrue();
|
|
67
|
-
assertThat(it.key()).isEqualTo(k3);
|
|
68
|
-
assertThat(it.value()).isEqualTo(v3);
|
|
69
|
-
|
|
70
|
-
//update k2 in the write batch and check the value
|
|
71
|
-
final byte[] v2Other = "otherValue2".getBytes();
|
|
72
|
-
wbwi.put(k2, v2Other);
|
|
73
|
-
it.seek(k2);
|
|
74
|
-
assertThat(it.isValid()).isTrue();
|
|
75
|
-
assertThat(it.key()).isEqualTo(k2);
|
|
76
|
-
assertThat(it.value()).isEqualTo(v2Other);
|
|
77
|
-
|
|
78
|
-
//delete k1 and make sure we can read back the write
|
|
79
|
-
wbwi.delete(k1);
|
|
80
|
-
it.seek(k1);
|
|
81
|
-
assertThat(it.key()).isNotEqualTo(k1);
|
|
82
|
-
|
|
83
|
-
//reinsert k1 and make sure we see the new value
|
|
84
|
-
final byte[] v1Other = "otherValue1".getBytes();
|
|
85
|
-
wbwi.put(k1, v1Other);
|
|
86
|
-
it.seek(k1);
|
|
87
|
-
assertThat(it.isValid()).isTrue();
|
|
88
|
-
assertThat(it.key()).isEqualTo(k1);
|
|
89
|
-
assertThat(it.value()).isEqualTo(v1Other);
|
|
90
|
-
|
|
91
|
-
//single remove k3 and make sure we can read back the write
|
|
92
|
-
wbwi.singleDelete(k3);
|
|
93
|
-
it.seek(k3);
|
|
94
|
-
assertThat(it.isValid()).isEqualTo(false);
|
|
95
|
-
|
|
96
|
-
//reinsert k3 and make sure we see the new value
|
|
97
|
-
final byte[] v3Other = "otherValue3".getBytes();
|
|
98
|
-
wbwi.put(k3, v3Other);
|
|
99
|
-
it.seek(k3);
|
|
100
|
-
assertThat(it.isValid()).isTrue();
|
|
101
|
-
assertThat(it.key()).isEqualTo(k3);
|
|
102
|
-
assertThat(it.value()).isEqualTo(v3Other);
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
@Test
|
|
108
|
-
public void readYourOwnWritesCf() throws RocksDBException {
|
|
109
|
-
final List<ColumnFamilyDescriptor> cfNames =
|
|
110
|
-
Arrays.asList(new ColumnFamilyDescriptor(RocksDB.DEFAULT_COLUMN_FAMILY),
|
|
111
|
-
new ColumnFamilyDescriptor("new_cf".getBytes()));
|
|
112
|
-
|
|
113
|
-
final List<ColumnFamilyHandle> columnFamilyHandleList = new ArrayList<>();
|
|
114
|
-
|
|
115
|
-
// Test open database with column family names
|
|
116
|
-
try (final DBOptions options =
|
|
117
|
-
new DBOptions().setCreateIfMissing(true).setCreateMissingColumnFamilies(true);
|
|
118
|
-
final RocksDB db = RocksDB.open(
|
|
119
|
-
options, dbFolder.getRoot().getAbsolutePath(), cfNames, columnFamilyHandleList)) {
|
|
120
|
-
final ColumnFamilyHandle newCf = columnFamilyHandleList.get(1);
|
|
121
|
-
|
|
122
|
-
try {
|
|
123
|
-
final byte[] k1 = "key1".getBytes();
|
|
124
|
-
final byte[] v1 = "value1".getBytes();
|
|
125
|
-
final byte[] k2 = "key2".getBytes();
|
|
126
|
-
final byte[] v2 = "value2".getBytes();
|
|
127
|
-
|
|
128
|
-
db.put(newCf, k1, v1);
|
|
129
|
-
db.put(newCf, k2, v2);
|
|
130
|
-
|
|
131
|
-
try (final WriteBatchWithIndex wbwi = new WriteBatchWithIndex(true);
|
|
132
|
-
final ReadOptions readOptions = new ReadOptions();
|
|
133
|
-
final RocksIterator base = db.newIterator(newCf, readOptions);
|
|
134
|
-
final RocksIterator it = wbwi.newIteratorWithBase(newCf, base, readOptions)) {
|
|
135
|
-
it.seek(k1);
|
|
136
|
-
assertThat(it.isValid()).isTrue();
|
|
137
|
-
assertThat(it.key()).isEqualTo(k1);
|
|
138
|
-
assertThat(it.value()).isEqualTo(v1);
|
|
139
|
-
|
|
140
|
-
it.seek(k2);
|
|
141
|
-
assertThat(it.isValid()).isTrue();
|
|
142
|
-
assertThat(it.key()).isEqualTo(k2);
|
|
143
|
-
assertThat(it.value()).isEqualTo(v2);
|
|
144
|
-
|
|
145
|
-
// put data to the write batch and make sure we can read it.
|
|
146
|
-
final byte[] k3 = "key3".getBytes();
|
|
147
|
-
final byte[] v3 = "value3".getBytes();
|
|
148
|
-
wbwi.put(newCf, k3, v3);
|
|
149
|
-
it.seek(k3);
|
|
150
|
-
assertThat(it.isValid()).isTrue();
|
|
151
|
-
assertThat(it.key()).isEqualTo(k3);
|
|
152
|
-
assertThat(it.value()).isEqualTo(v3);
|
|
153
|
-
|
|
154
|
-
// update k2 in the write batch and check the value
|
|
155
|
-
final byte[] v2Other = "otherValue2".getBytes();
|
|
156
|
-
wbwi.put(newCf, k2, v2Other);
|
|
157
|
-
it.seek(k2);
|
|
158
|
-
assertThat(it.isValid()).isTrue();
|
|
159
|
-
assertThat(it.key()).isEqualTo(k2);
|
|
160
|
-
assertThat(it.value()).isEqualTo(v2Other);
|
|
161
|
-
|
|
162
|
-
// delete k1 and make sure we can read back the write
|
|
163
|
-
wbwi.delete(newCf, k1);
|
|
164
|
-
it.seek(k1);
|
|
165
|
-
assertThat(it.key()).isNotEqualTo(k1);
|
|
166
|
-
|
|
167
|
-
// reinsert k1 and make sure we see the new value
|
|
168
|
-
final byte[] v1Other = "otherValue1".getBytes();
|
|
169
|
-
wbwi.put(newCf, k1, v1Other);
|
|
170
|
-
it.seek(k1);
|
|
171
|
-
assertThat(it.isValid()).isTrue();
|
|
172
|
-
assertThat(it.key()).isEqualTo(k1);
|
|
173
|
-
assertThat(it.value()).isEqualTo(v1Other);
|
|
174
|
-
|
|
175
|
-
// single remove k3 and make sure we can read back the write
|
|
176
|
-
wbwi.singleDelete(newCf, k3);
|
|
177
|
-
it.seek(k3);
|
|
178
|
-
assertThat(it.isValid()).isEqualTo(false);
|
|
179
|
-
|
|
180
|
-
// reinsert k3 and make sure we see the new value
|
|
181
|
-
final byte[] v3Other = "otherValue3".getBytes();
|
|
182
|
-
wbwi.put(newCf, k3, v3Other);
|
|
183
|
-
it.seek(k3);
|
|
184
|
-
assertThat(it.isValid()).isTrue();
|
|
185
|
-
assertThat(it.key()).isEqualTo(k3);
|
|
186
|
-
assertThat(it.value()).isEqualTo(v3Other);
|
|
187
|
-
}
|
|
188
|
-
} finally {
|
|
189
|
-
for (final ColumnFamilyHandle columnFamilyHandle : columnFamilyHandleList) {
|
|
190
|
-
columnFamilyHandle.close();
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
@Test
|
|
197
|
-
public void readYourOwnWritesCfIterDirectBB() throws RocksDBException {
|
|
198
|
-
readYourOwnWritesCfIterDirect(ByteBufferAllocator.DIRECT);
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
@Test
|
|
202
|
-
public void readYourOwnWritesCfIterIndirectBB() throws RocksDBException {
|
|
203
|
-
readYourOwnWritesCfIterDirect(ByteBufferAllocator.HEAP);
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
public void readYourOwnWritesCfIterDirect(final ByteBufferAllocator byteBufferAllocator)
|
|
207
|
-
throws RocksDBException {
|
|
208
|
-
final List<ColumnFamilyDescriptor> cfNames =
|
|
209
|
-
Arrays.asList(new ColumnFamilyDescriptor(RocksDB.DEFAULT_COLUMN_FAMILY),
|
|
210
|
-
new ColumnFamilyDescriptor("new_cf".getBytes()));
|
|
211
|
-
|
|
212
|
-
final List<ColumnFamilyHandle> columnFamilyHandleList = new ArrayList<>();
|
|
213
|
-
|
|
214
|
-
// Test open database with column family names
|
|
215
|
-
try (final DBOptions options =
|
|
216
|
-
new DBOptions().setCreateIfMissing(true).setCreateMissingColumnFamilies(true);
|
|
217
|
-
final RocksDB db = RocksDB.open(
|
|
218
|
-
options, dbFolder.getRoot().getAbsolutePath(), cfNames, columnFamilyHandleList)) {
|
|
219
|
-
final ColumnFamilyHandle newCf = columnFamilyHandleList.get(1);
|
|
220
|
-
|
|
221
|
-
try {
|
|
222
|
-
final byte[] kv1 = "key1".getBytes();
|
|
223
|
-
final byte[] vv1 = "value1".getBytes();
|
|
224
|
-
final ByteBuffer k1 = byteBufferAllocator.allocate(12);
|
|
225
|
-
k1.put(kv1);
|
|
226
|
-
final byte[] kv2 = "key2".getBytes();
|
|
227
|
-
final byte[] vv2 = "value2".getBytes();
|
|
228
|
-
final ByteBuffer k2 = byteBufferAllocator.allocate(12);
|
|
229
|
-
k2.put(kv2);
|
|
230
|
-
|
|
231
|
-
db.put(newCf, kv1, vv1);
|
|
232
|
-
db.put(newCf, kv2, vv2);
|
|
233
|
-
|
|
234
|
-
try (final WriteBatchWithIndex wbwi = new WriteBatchWithIndex(true);
|
|
235
|
-
final ReadOptions readOptions = new ReadOptions();
|
|
236
|
-
final RocksIterator base = db.newIterator(newCf, readOptions);
|
|
237
|
-
final RocksIterator it = wbwi.newIteratorWithBase(newCf, base, readOptions)) {
|
|
238
|
-
k1.flip();
|
|
239
|
-
it.seek(k1);
|
|
240
|
-
assertThat(it.isValid()).isTrue();
|
|
241
|
-
assertThat(it.key()).isEqualTo(kv1);
|
|
242
|
-
assertThat(it.value()).isEqualTo(vv1);
|
|
243
|
-
|
|
244
|
-
k2.flip();
|
|
245
|
-
it.seek(k2);
|
|
246
|
-
assertThat(it.isValid()).isTrue();
|
|
247
|
-
assertThat(it.key()).isEqualTo(kv2);
|
|
248
|
-
assertThat(it.value()).isEqualTo(vv2);
|
|
249
|
-
|
|
250
|
-
final byte[] kv1point5 = "key1point5".getBytes();
|
|
251
|
-
final ByteBuffer k1point5 = byteBufferAllocator.allocate(12);
|
|
252
|
-
k1point5.put(kv1point5);
|
|
253
|
-
|
|
254
|
-
k1point5.flip();
|
|
255
|
-
it.seek(k1point5);
|
|
256
|
-
assertThat(it.isValid()).isTrue();
|
|
257
|
-
assertThat(it.key()).isEqualTo(kv2);
|
|
258
|
-
assertThat(it.value()).isEqualTo(vv2);
|
|
259
|
-
|
|
260
|
-
k1point5.flip();
|
|
261
|
-
it.seekForPrev(k1point5);
|
|
262
|
-
assertThat(it.isValid()).isTrue();
|
|
263
|
-
assertThat(it.key()).isEqualTo(kv1);
|
|
264
|
-
assertThat(it.value()).isEqualTo(vv1);
|
|
265
|
-
|
|
266
|
-
// put data to the write batch and make sure we can read it.
|
|
267
|
-
final byte[] kv3 = "key3".getBytes();
|
|
268
|
-
final ByteBuffer k3 = byteBufferAllocator.allocate(12);
|
|
269
|
-
k3.put(kv3);
|
|
270
|
-
final byte[] vv3 = "value3".getBytes();
|
|
271
|
-
wbwi.put(newCf, kv3, vv3);
|
|
272
|
-
k3.flip();
|
|
273
|
-
it.seek(k3);
|
|
274
|
-
assertThat(it.isValid()).isTrue();
|
|
275
|
-
assertThat(it.key()).isEqualTo(kv3);
|
|
276
|
-
assertThat(it.value()).isEqualTo(vv3);
|
|
277
|
-
|
|
278
|
-
// update k2 in the write batch and check the value
|
|
279
|
-
final byte[] v2Other = "otherValue2".getBytes();
|
|
280
|
-
wbwi.put(newCf, kv2, v2Other);
|
|
281
|
-
k2.flip();
|
|
282
|
-
it.seek(k2);
|
|
283
|
-
assertThat(it.isValid()).isTrue();
|
|
284
|
-
assertThat(it.key()).isEqualTo(kv2);
|
|
285
|
-
assertThat(it.value()).isEqualTo(v2Other);
|
|
286
|
-
|
|
287
|
-
// delete k1 and make sure we can read back the write
|
|
288
|
-
wbwi.delete(newCf, kv1);
|
|
289
|
-
k1.flip();
|
|
290
|
-
it.seek(k1);
|
|
291
|
-
assertThat(it.key()).isNotEqualTo(kv1);
|
|
292
|
-
|
|
293
|
-
// reinsert k1 and make sure we see the new value
|
|
294
|
-
final byte[] v1Other = "otherValue1".getBytes();
|
|
295
|
-
wbwi.put(newCf, kv1, v1Other);
|
|
296
|
-
k1.flip();
|
|
297
|
-
it.seek(k1);
|
|
298
|
-
assertThat(it.isValid()).isTrue();
|
|
299
|
-
assertThat(it.key()).isEqualTo(kv1);
|
|
300
|
-
assertThat(it.value()).isEqualTo(v1Other);
|
|
301
|
-
|
|
302
|
-
// single remove k3 and make sure we can read back the write
|
|
303
|
-
wbwi.singleDelete(newCf, kv3);
|
|
304
|
-
k3.flip();
|
|
305
|
-
it.seek(k3);
|
|
306
|
-
assertThat(it.isValid()).isEqualTo(false);
|
|
307
|
-
|
|
308
|
-
// reinsert k3 and make sure we see the new value
|
|
309
|
-
final byte[] v3Other = "otherValue3".getBytes();
|
|
310
|
-
wbwi.put(newCf, kv3, v3Other);
|
|
311
|
-
k3.flip();
|
|
312
|
-
it.seek(k3);
|
|
313
|
-
assertThat(it.isValid()).isTrue();
|
|
314
|
-
assertThat(it.key()).isEqualTo(kv3);
|
|
315
|
-
assertThat(it.value()).isEqualTo(v3Other);
|
|
316
|
-
}
|
|
317
|
-
} finally {
|
|
318
|
-
for (final ColumnFamilyHandle columnFamilyHandle : columnFamilyHandleList) {
|
|
319
|
-
columnFamilyHandle.close();
|
|
320
|
-
}
|
|
321
|
-
}
|
|
322
|
-
}
|
|
323
|
-
}
|
|
324
|
-
|
|
325
|
-
@Test
|
|
326
|
-
public void readYourOwnWritesCfIterIndirect() throws RocksDBException {
|
|
327
|
-
final List<ColumnFamilyDescriptor> cfNames =
|
|
328
|
-
Arrays.asList(new ColumnFamilyDescriptor(RocksDB.DEFAULT_COLUMN_FAMILY),
|
|
329
|
-
new ColumnFamilyDescriptor("new_cf".getBytes()));
|
|
330
|
-
|
|
331
|
-
final List<ColumnFamilyHandle> columnFamilyHandleList = new ArrayList<>();
|
|
332
|
-
|
|
333
|
-
// Test open database with column family names
|
|
334
|
-
try (final DBOptions options =
|
|
335
|
-
new DBOptions().setCreateIfMissing(true).setCreateMissingColumnFamilies(true);
|
|
336
|
-
final RocksDB db = RocksDB.open(
|
|
337
|
-
options, dbFolder.getRoot().getAbsolutePath(), cfNames, columnFamilyHandleList)) {
|
|
338
|
-
final ColumnFamilyHandle newCf = columnFamilyHandleList.get(1);
|
|
339
|
-
|
|
340
|
-
try {
|
|
341
|
-
final byte[] kv1 = "key1".getBytes();
|
|
342
|
-
final byte[] vv1 = "value1".getBytes();
|
|
343
|
-
final ByteBuffer k1 = ByteBuffer.allocate(12);
|
|
344
|
-
k1.put(kv1).flip();
|
|
345
|
-
final byte[] kv2 = "key2".getBytes();
|
|
346
|
-
final byte[] vv2 = "value2".getBytes();
|
|
347
|
-
final ByteBuffer k2 = ByteBuffer.allocate(12);
|
|
348
|
-
k2.put(kv2).flip();
|
|
349
|
-
|
|
350
|
-
db.put(newCf, kv1, vv1);
|
|
351
|
-
db.put(newCf, kv2, vv2);
|
|
352
|
-
|
|
353
|
-
try (final WriteBatchWithIndex wbwi = new WriteBatchWithIndex(true);
|
|
354
|
-
final ReadOptions readOptions = new ReadOptions();
|
|
355
|
-
final RocksIterator base = db.newIterator(newCf, readOptions);
|
|
356
|
-
final RocksIterator it = wbwi.newIteratorWithBase(newCf, base, readOptions)) {
|
|
357
|
-
it.seek(k1);
|
|
358
|
-
assertThat(it.isValid()).isTrue();
|
|
359
|
-
assertThat(it.key()).isEqualTo(kv1);
|
|
360
|
-
assertThat(it.value()).isEqualTo(vv1);
|
|
361
|
-
|
|
362
|
-
it.seek(k2);
|
|
363
|
-
assertThat(it.isValid()).isTrue();
|
|
364
|
-
assertThat(it.key()).isEqualTo(kv2);
|
|
365
|
-
assertThat(it.value()).isEqualTo(vv2);
|
|
366
|
-
|
|
367
|
-
// put data to the write batch and make sure we can read it.
|
|
368
|
-
final byte[] kv3 = "key3".getBytes();
|
|
369
|
-
final ByteBuffer k3 = ByteBuffer.allocate(12);
|
|
370
|
-
k3.put(kv3);
|
|
371
|
-
final byte[] vv3 = "value3".getBytes();
|
|
372
|
-
wbwi.put(newCf, kv3, vv3);
|
|
373
|
-
k3.flip();
|
|
374
|
-
it.seek(k3);
|
|
375
|
-
assertThat(it.isValid()).isTrue();
|
|
376
|
-
assertThat(it.key()).isEqualTo(kv3);
|
|
377
|
-
assertThat(it.value()).isEqualTo(vv3);
|
|
378
|
-
|
|
379
|
-
// update k2 in the write batch and check the value
|
|
380
|
-
final byte[] v2Other = "otherValue2".getBytes();
|
|
381
|
-
wbwi.put(newCf, kv2, v2Other);
|
|
382
|
-
k2.flip();
|
|
383
|
-
it.seek(k2);
|
|
384
|
-
assertThat(it.isValid()).isTrue();
|
|
385
|
-
assertThat(it.key()).isEqualTo(kv2);
|
|
386
|
-
assertThat(it.value()).isEqualTo(v2Other);
|
|
387
|
-
|
|
388
|
-
// delete k1 and make sure we can read back the write
|
|
389
|
-
wbwi.delete(newCf, kv1);
|
|
390
|
-
k1.flip();
|
|
391
|
-
it.seek(k1);
|
|
392
|
-
assertThat(it.key()).isNotEqualTo(kv1);
|
|
393
|
-
|
|
394
|
-
// reinsert k1 and make sure we see the new value
|
|
395
|
-
final byte[] v1Other = "otherValue1".getBytes();
|
|
396
|
-
wbwi.put(newCf, kv1, v1Other);
|
|
397
|
-
k1.flip();
|
|
398
|
-
it.seek(k1);
|
|
399
|
-
assertThat(it.isValid()).isTrue();
|
|
400
|
-
assertThat(it.key()).isEqualTo(kv1);
|
|
401
|
-
assertThat(it.value()).isEqualTo(v1Other);
|
|
402
|
-
|
|
403
|
-
// single remove k3 and make sure we can read back the write
|
|
404
|
-
wbwi.singleDelete(newCf, kv3);
|
|
405
|
-
k3.flip();
|
|
406
|
-
it.seek(k3);
|
|
407
|
-
assertThat(it.isValid()).isEqualTo(false);
|
|
408
|
-
|
|
409
|
-
// reinsert k3 and make sure we see the new value
|
|
410
|
-
final byte[] v3Other = "otherValue3".getBytes();
|
|
411
|
-
wbwi.put(newCf, kv3, v3Other);
|
|
412
|
-
k3.flip();
|
|
413
|
-
it.seek(k3);
|
|
414
|
-
assertThat(it.isValid()).isTrue();
|
|
415
|
-
assertThat(it.key()).isEqualTo(kv3);
|
|
416
|
-
assertThat(it.value()).isEqualTo(v3Other);
|
|
417
|
-
}
|
|
418
|
-
} finally {
|
|
419
|
-
for (final ColumnFamilyHandle columnFamilyHandle : columnFamilyHandleList) {
|
|
420
|
-
columnFamilyHandle.close();
|
|
421
|
-
}
|
|
422
|
-
}
|
|
423
|
-
}
|
|
424
|
-
}
|
|
425
|
-
|
|
426
|
-
@Test
|
|
427
|
-
public void writeBatchWithIndex() throws RocksDBException {
|
|
428
|
-
try (final Options options = new Options().setCreateIfMissing(true);
|
|
429
|
-
final RocksDB db = RocksDB.open(options,
|
|
430
|
-
dbFolder.getRoot().getAbsolutePath())) {
|
|
431
|
-
|
|
432
|
-
final byte[] k1 = "key1".getBytes();
|
|
433
|
-
final byte[] v1 = "value1".getBytes();
|
|
434
|
-
final byte[] k2 = "key2".getBytes();
|
|
435
|
-
final byte[] v2 = "value2".getBytes();
|
|
436
|
-
|
|
437
|
-
try (final WriteBatchWithIndex wbwi = new WriteBatchWithIndex();
|
|
438
|
-
final WriteOptions wOpt = new WriteOptions()) {
|
|
439
|
-
wbwi.put(k1, v1);
|
|
440
|
-
wbwi.put(k2, v2);
|
|
441
|
-
|
|
442
|
-
db.write(wOpt, wbwi);
|
|
443
|
-
}
|
|
444
|
-
|
|
445
|
-
assertThat(db.get(k1)).isEqualTo(v1);
|
|
446
|
-
assertThat(db.get(k2)).isEqualTo(v2);
|
|
447
|
-
}
|
|
448
|
-
}
|
|
449
|
-
|
|
450
|
-
@Test
|
|
451
|
-
public void write_writeBatchWithIndexDirect() throws RocksDBException {
|
|
452
|
-
try (final Options options = new Options().setCreateIfMissing(true);
|
|
453
|
-
final RocksDB db = RocksDB.open(options, dbFolder.getRoot().getAbsolutePath())) {
|
|
454
|
-
final ByteBuffer k1 = ByteBuffer.allocateDirect(16);
|
|
455
|
-
final ByteBuffer v1 = ByteBuffer.allocateDirect(16);
|
|
456
|
-
final ByteBuffer k2 = ByteBuffer.allocateDirect(16);
|
|
457
|
-
final ByteBuffer v2 = ByteBuffer.allocateDirect(16);
|
|
458
|
-
k1.put("key1".getBytes()).flip();
|
|
459
|
-
v1.put("value1".getBytes()).flip();
|
|
460
|
-
k2.put("key2".getBytes()).flip();
|
|
461
|
-
v2.put("value2".getBytes()).flip();
|
|
462
|
-
|
|
463
|
-
try (final WriteBatchWithIndex wbwi = new WriteBatchWithIndex()) {
|
|
464
|
-
wbwi.put(k1, v1);
|
|
465
|
-
assertThat(k1.position()).isEqualTo(4);
|
|
466
|
-
assertThat(k1.limit()).isEqualTo(4);
|
|
467
|
-
assertThat(v1.position()).isEqualTo(6);
|
|
468
|
-
assertThat(v1.limit()).isEqualTo(6);
|
|
469
|
-
|
|
470
|
-
wbwi.put(k2, v2);
|
|
471
|
-
|
|
472
|
-
db.write(new WriteOptions(), wbwi);
|
|
473
|
-
}
|
|
474
|
-
|
|
475
|
-
assertThat(db.get("key1".getBytes())).isEqualTo("value1".getBytes());
|
|
476
|
-
assertThat(db.get("key2".getBytes())).isEqualTo("value2".getBytes());
|
|
477
|
-
}
|
|
478
|
-
}
|
|
479
|
-
|
|
480
|
-
@Test
|
|
481
|
-
public void iterator() throws RocksDBException {
|
|
482
|
-
try (final WriteBatchWithIndex wbwi = new WriteBatchWithIndex(true)) {
|
|
483
|
-
|
|
484
|
-
final String k1 = "key1";
|
|
485
|
-
final String v1 = "value1";
|
|
486
|
-
final String k2 = "key2";
|
|
487
|
-
final String v2 = "value2";
|
|
488
|
-
final String k3 = "key3";
|
|
489
|
-
final String v3 = "value3";
|
|
490
|
-
final String k4 = "key4";
|
|
491
|
-
final String k5 = "key5";
|
|
492
|
-
final String v8 = "value8";
|
|
493
|
-
final byte[] k1b = k1.getBytes(UTF_8);
|
|
494
|
-
final byte[] v1b = v1.getBytes(UTF_8);
|
|
495
|
-
final byte[] k2b = k2.getBytes(UTF_8);
|
|
496
|
-
final byte[] v2b = v2.getBytes(UTF_8);
|
|
497
|
-
final byte[] k3b = k3.getBytes(UTF_8);
|
|
498
|
-
final byte[] v3b = v3.getBytes(UTF_8);
|
|
499
|
-
final byte[] k4b = k4.getBytes(UTF_8);
|
|
500
|
-
final byte[] k5b = k5.getBytes(UTF_8);
|
|
501
|
-
final byte[] v8b = v8.getBytes(UTF_8);
|
|
502
|
-
|
|
503
|
-
final String k1point5 = "key1point5";
|
|
504
|
-
final String k2point5 = "key2point5";
|
|
505
|
-
|
|
506
|
-
// add put records
|
|
507
|
-
wbwi.put(k1b, v1b);
|
|
508
|
-
wbwi.put(k2b, v2b);
|
|
509
|
-
wbwi.put(k3b, v3b);
|
|
510
|
-
|
|
511
|
-
// add a deletion record
|
|
512
|
-
wbwi.delete(k4b);
|
|
513
|
-
|
|
514
|
-
// add a single deletion record
|
|
515
|
-
wbwi.singleDelete(k5b);
|
|
516
|
-
|
|
517
|
-
// add a log record
|
|
518
|
-
wbwi.putLogData(v8b);
|
|
519
|
-
|
|
520
|
-
final WBWIRocksIterator.WriteEntry[] expected = {
|
|
521
|
-
new WBWIRocksIterator.WriteEntry(WBWIRocksIterator.WriteType.PUT,
|
|
522
|
-
new DirectSlice(k1), new DirectSlice(v1)),
|
|
523
|
-
new WBWIRocksIterator.WriteEntry(WBWIRocksIterator.WriteType.PUT,
|
|
524
|
-
new DirectSlice(k2), new DirectSlice(v2)),
|
|
525
|
-
new WBWIRocksIterator.WriteEntry(WBWIRocksIterator.WriteType.PUT,
|
|
526
|
-
new DirectSlice(k3), new DirectSlice(v3)),
|
|
527
|
-
new WBWIRocksIterator.WriteEntry(WBWIRocksIterator.WriteType.DELETE,
|
|
528
|
-
new DirectSlice(k4), DirectSlice.NONE),
|
|
529
|
-
new WBWIRocksIterator.WriteEntry(WBWIRocksIterator.WriteType.SINGLE_DELETE,
|
|
530
|
-
new DirectSlice(k5), DirectSlice.NONE),
|
|
531
|
-
};
|
|
532
|
-
|
|
533
|
-
try (final WBWIRocksIterator it = wbwi.newIterator()) {
|
|
534
|
-
//direct access - seek to key offsets
|
|
535
|
-
final int[] testOffsets = {2, 0, 3, 4, 1};
|
|
536
|
-
for (final int testOffset : testOffsets) {
|
|
537
|
-
final byte[] key = toArray(expected[testOffset].getKey().data());
|
|
538
|
-
|
|
539
|
-
it.seek(key);
|
|
540
|
-
assertThat(it.isValid()).isTrue();
|
|
541
|
-
|
|
542
|
-
final WBWIRocksIterator.WriteEntry entry = it.entry();
|
|
543
|
-
assertThat(entry).isEqualTo(expected[testOffset]);
|
|
544
|
-
}
|
|
545
|
-
|
|
546
|
-
for (final int testOffset : testOffsets) {
|
|
547
|
-
final byte[] key = toArray(expected[testOffset].getKey().data());
|
|
548
|
-
|
|
549
|
-
// Direct buffer seek
|
|
550
|
-
final ByteBuffer db = expected[testOffset].getKey().data();
|
|
551
|
-
it.seek(db);
|
|
552
|
-
assertThat(db.position()).isEqualTo(key.length);
|
|
553
|
-
assertThat(it.isValid()).isTrue();
|
|
554
|
-
|
|
555
|
-
final WBWIRocksIterator.WriteEntry entry = it.entry();
|
|
556
|
-
assertThat(entry).isEqualTo(expected[testOffset]);
|
|
557
|
-
}
|
|
558
|
-
|
|
559
|
-
for (final int testOffset : testOffsets) {
|
|
560
|
-
final byte[] key = toArray(expected[testOffset].getKey().data());
|
|
561
|
-
|
|
562
|
-
// Direct buffer seek
|
|
563
|
-
final ByteBuffer db = expected[testOffset].getKey().data();
|
|
564
|
-
it.seekForPrev(db);
|
|
565
|
-
assertThat(db.position()).isEqualTo(key.length);
|
|
566
|
-
assertThat(it.isValid()).isTrue();
|
|
567
|
-
|
|
568
|
-
final WBWIRocksIterator.WriteEntry entry = it.entry();
|
|
569
|
-
assertThat(entry).isEqualTo(expected[testOffset]);
|
|
570
|
-
}
|
|
571
|
-
|
|
572
|
-
for (final int testOffset : testOffsets) {
|
|
573
|
-
final byte[] key = toArray(expected[testOffset].getKey().data());
|
|
574
|
-
|
|
575
|
-
// Indirect buffer seek
|
|
576
|
-
final ByteBuffer db = ByteBuffer.allocate(key.length);
|
|
577
|
-
System.arraycopy(key, 0, db.array(), 0, key.length);
|
|
578
|
-
it.seek(db);
|
|
579
|
-
assertThat(db.position()).isEqualTo(key.length);
|
|
580
|
-
assertThat(it.isValid()).isTrue();
|
|
581
|
-
|
|
582
|
-
final WBWIRocksIterator.WriteEntry entry = it.entry();
|
|
583
|
-
assertThat(entry).isEqualTo(expected[testOffset]);
|
|
584
|
-
}
|
|
585
|
-
|
|
586
|
-
for (final int testOffset : testOffsets) {
|
|
587
|
-
final byte[] key = toArray(expected[testOffset].getKey().data());
|
|
588
|
-
|
|
589
|
-
// Indirect buffer seek for prev
|
|
590
|
-
final ByteBuffer db = ByteBuffer.allocate(key.length);
|
|
591
|
-
System.arraycopy(key, 0, db.array(), 0, key.length);
|
|
592
|
-
it.seekForPrev(db);
|
|
593
|
-
assertThat(db.position()).isEqualTo(key.length);
|
|
594
|
-
assertThat(it.isValid()).isTrue();
|
|
595
|
-
|
|
596
|
-
final WBWIRocksIterator.WriteEntry entry = it.entry();
|
|
597
|
-
assertThat(entry).isEqualTo(expected[testOffset]);
|
|
598
|
-
}
|
|
599
|
-
|
|
600
|
-
{
|
|
601
|
-
it.seekForPrev(k2point5.getBytes());
|
|
602
|
-
assertThat(it.isValid()).isTrue();
|
|
603
|
-
final WBWIRocksIterator.WriteEntry entry = it.entry();
|
|
604
|
-
assertThat(entry).isEqualTo(expected[1]);
|
|
605
|
-
}
|
|
606
|
-
|
|
607
|
-
{
|
|
608
|
-
it.seekForPrev(k1point5.getBytes());
|
|
609
|
-
assertThat(it.isValid()).isTrue();
|
|
610
|
-
final WBWIRocksIterator.WriteEntry entry = it.entry();
|
|
611
|
-
assertThat(entry).isEqualTo(expected[0]);
|
|
612
|
-
}
|
|
613
|
-
|
|
614
|
-
{
|
|
615
|
-
final ByteBuffer db = ByteBuffer.allocate(k2point5.length());
|
|
616
|
-
db.put(k2point5.getBytes());
|
|
617
|
-
db.flip();
|
|
618
|
-
it.seekForPrev(db);
|
|
619
|
-
assertThat(it.isValid()).isTrue();
|
|
620
|
-
final WBWIRocksIterator.WriteEntry entry = it.entry();
|
|
621
|
-
assertThat(entry).isEqualTo(expected[1]);
|
|
622
|
-
}
|
|
623
|
-
|
|
624
|
-
{
|
|
625
|
-
final ByteBuffer db = ByteBuffer.allocate(k1point5.length());
|
|
626
|
-
db.put(k1point5.getBytes());
|
|
627
|
-
db.flip();
|
|
628
|
-
it.seekForPrev(db);
|
|
629
|
-
assertThat(it.isValid()).isTrue();
|
|
630
|
-
final WBWIRocksIterator.WriteEntry entry = it.entry();
|
|
631
|
-
assertThat(entry).isEqualTo(expected[0]);
|
|
632
|
-
}
|
|
633
|
-
|
|
634
|
-
//forward iterative access
|
|
635
|
-
int i = 0;
|
|
636
|
-
for (it.seekToFirst(); it.isValid(); it.next()) {
|
|
637
|
-
assertThat(it.entry()).isEqualTo(expected[i++]);
|
|
638
|
-
}
|
|
639
|
-
|
|
640
|
-
//reverse iterative access
|
|
641
|
-
i = expected.length - 1;
|
|
642
|
-
for (it.seekToLast(); it.isValid(); it.prev()) {
|
|
643
|
-
assertThat(it.entry()).isEqualTo(expected[i--]);
|
|
644
|
-
}
|
|
645
|
-
}
|
|
646
|
-
}
|
|
647
|
-
}
|
|
648
|
-
|
|
649
|
-
@Test
|
|
650
|
-
public void zeroByteTests() throws RocksDBException {
|
|
651
|
-
try (final WriteBatchWithIndex wbwi = new WriteBatchWithIndex(true)) {
|
|
652
|
-
final byte[] zeroByteValue = new byte[]{0, 0};
|
|
653
|
-
//add zero byte value
|
|
654
|
-
wbwi.put(zeroByteValue, zeroByteValue);
|
|
655
|
-
|
|
656
|
-
final ByteBuffer buffer = ByteBuffer.allocateDirect(zeroByteValue.length);
|
|
657
|
-
buffer.put(zeroByteValue);
|
|
658
|
-
|
|
659
|
-
final WBWIRocksIterator.WriteEntry expected =
|
|
660
|
-
new WBWIRocksIterator.WriteEntry(WBWIRocksIterator.WriteType.PUT,
|
|
661
|
-
new DirectSlice(buffer, zeroByteValue.length),
|
|
662
|
-
new DirectSlice(buffer, zeroByteValue.length));
|
|
663
|
-
|
|
664
|
-
try (final WBWIRocksIterator it = wbwi.newIterator()) {
|
|
665
|
-
it.seekToFirst();
|
|
666
|
-
final WBWIRocksIterator.WriteEntry actual = it.entry();
|
|
667
|
-
assertThat(actual.equals(expected)).isTrue();
|
|
668
|
-
assertThat(it.entry().hashCode() == expected.hashCode()).isTrue();
|
|
669
|
-
}
|
|
670
|
-
}
|
|
671
|
-
}
|
|
672
|
-
|
|
673
|
-
@Test
|
|
674
|
-
public void savePoints() throws RocksDBException {
|
|
675
|
-
try (final Options options = new Options().setCreateIfMissing(true);
|
|
676
|
-
final RocksDB db = RocksDB.open(options,
|
|
677
|
-
dbFolder.getRoot().getAbsolutePath())) {
|
|
678
|
-
try (final WriteBatchWithIndex wbwi = new WriteBatchWithIndex(true);
|
|
679
|
-
final ReadOptions readOptions = new ReadOptions()) {
|
|
680
|
-
wbwi.put("k1".getBytes(), "v1".getBytes());
|
|
681
|
-
wbwi.put("k2".getBytes(), "v2".getBytes());
|
|
682
|
-
wbwi.put("k3".getBytes(), "v3".getBytes());
|
|
683
|
-
|
|
684
|
-
assertThat(getFromWriteBatchWithIndex(db, readOptions, wbwi, "k1"))
|
|
685
|
-
.isEqualTo("v1");
|
|
686
|
-
assertThat(getFromWriteBatchWithIndex(db, readOptions, wbwi, "k2"))
|
|
687
|
-
.isEqualTo("v2");
|
|
688
|
-
assertThat(getFromWriteBatchWithIndex(db, readOptions, wbwi, "k3"))
|
|
689
|
-
.isEqualTo("v3");
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
wbwi.setSavePoint();
|
|
693
|
-
|
|
694
|
-
wbwi.delete("k2".getBytes());
|
|
695
|
-
wbwi.put("k3".getBytes(), "v3-2".getBytes());
|
|
696
|
-
|
|
697
|
-
assertThat(getFromWriteBatchWithIndex(db, readOptions, wbwi, "k2"))
|
|
698
|
-
.isNull();
|
|
699
|
-
assertThat(getFromWriteBatchWithIndex(db, readOptions, wbwi, "k3"))
|
|
700
|
-
.isEqualTo("v3-2");
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
wbwi.setSavePoint();
|
|
704
|
-
|
|
705
|
-
wbwi.put("k3".getBytes(), "v3-3".getBytes());
|
|
706
|
-
wbwi.put("k4".getBytes(), "v4".getBytes());
|
|
707
|
-
|
|
708
|
-
assertThat(getFromWriteBatchWithIndex(db, readOptions, wbwi, "k3"))
|
|
709
|
-
.isEqualTo("v3-3");
|
|
710
|
-
assertThat(getFromWriteBatchWithIndex(db, readOptions, wbwi, "k4"))
|
|
711
|
-
.isEqualTo("v4");
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
wbwi.rollbackToSavePoint();
|
|
715
|
-
|
|
716
|
-
assertThat(getFromWriteBatchWithIndex(db, readOptions, wbwi, "k2"))
|
|
717
|
-
.isNull();
|
|
718
|
-
assertThat(getFromWriteBatchWithIndex(db, readOptions, wbwi, "k3"))
|
|
719
|
-
.isEqualTo("v3-2");
|
|
720
|
-
assertThat(getFromWriteBatchWithIndex(db, readOptions, wbwi, "k4"))
|
|
721
|
-
.isNull();
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
wbwi.rollbackToSavePoint();
|
|
725
|
-
|
|
726
|
-
assertThat(getFromWriteBatchWithIndex(db, readOptions, wbwi, "k1"))
|
|
727
|
-
.isEqualTo("v1");
|
|
728
|
-
assertThat(getFromWriteBatchWithIndex(db, readOptions, wbwi, "k2"))
|
|
729
|
-
.isEqualTo("v2");
|
|
730
|
-
assertThat(getFromWriteBatchWithIndex(db, readOptions, wbwi, "k3"))
|
|
731
|
-
.isEqualTo("v3");
|
|
732
|
-
assertThat(getFromWriteBatchWithIndex(db, readOptions, wbwi, "k4"))
|
|
733
|
-
.isNull();
|
|
734
|
-
}
|
|
735
|
-
}
|
|
736
|
-
}
|
|
737
|
-
|
|
738
|
-
@Test
|
|
739
|
-
public void restorePoints() throws RocksDBException {
|
|
740
|
-
try (final WriteBatchWithIndex wbwi = new WriteBatchWithIndex()) {
|
|
741
|
-
|
|
742
|
-
wbwi.put("k1".getBytes(UTF_8), "v1".getBytes(UTF_8));
|
|
743
|
-
wbwi.put("k2".getBytes(UTF_8), "v2".getBytes(UTF_8));
|
|
744
|
-
|
|
745
|
-
wbwi.setSavePoint();
|
|
746
|
-
|
|
747
|
-
wbwi.put("k1".getBytes(UTF_8), "123456789".getBytes(UTF_8));
|
|
748
|
-
wbwi.delete("k2".getBytes(UTF_8));
|
|
749
|
-
|
|
750
|
-
wbwi.rollbackToSavePoint();
|
|
751
|
-
|
|
752
|
-
try(final DBOptions options = new DBOptions()) {
|
|
753
|
-
assertThat(wbwi.getFromBatch(options,"k1".getBytes(UTF_8))).isEqualTo("v1".getBytes());
|
|
754
|
-
assertThat(wbwi.getFromBatch(options,"k2".getBytes(UTF_8))).isEqualTo("v2".getBytes());
|
|
755
|
-
}
|
|
756
|
-
}
|
|
757
|
-
}
|
|
758
|
-
|
|
759
|
-
@Test(expected = RocksDBException.class)
|
|
760
|
-
public void restorePoints_withoutSavePoints() throws RocksDBException {
|
|
761
|
-
try (final WriteBatchWithIndex wbwi = new WriteBatchWithIndex()) {
|
|
762
|
-
wbwi.rollbackToSavePoint();
|
|
763
|
-
}
|
|
764
|
-
}
|
|
765
|
-
|
|
766
|
-
@Test(expected = RocksDBException.class)
|
|
767
|
-
public void restorePoints_withoutSavePoints_nested() throws RocksDBException {
|
|
768
|
-
try (final WriteBatchWithIndex wbwi = new WriteBatchWithIndex()) {
|
|
769
|
-
|
|
770
|
-
wbwi.setSavePoint();
|
|
771
|
-
wbwi.rollbackToSavePoint();
|
|
772
|
-
|
|
773
|
-
// without previous corresponding setSavePoint
|
|
774
|
-
wbwi.rollbackToSavePoint();
|
|
775
|
-
}
|
|
776
|
-
}
|
|
777
|
-
|
|
778
|
-
@Test
|
|
779
|
-
public void popSavePoint() throws RocksDBException {
|
|
780
|
-
try (final WriteBatchWithIndex wbwi = new WriteBatchWithIndex()) {
|
|
781
|
-
|
|
782
|
-
wbwi.put("k1".getBytes(), "v1".getBytes());
|
|
783
|
-
wbwi.put("k2".getBytes(), "v2".getBytes());
|
|
784
|
-
|
|
785
|
-
wbwi.setSavePoint();
|
|
786
|
-
|
|
787
|
-
wbwi.put("k1".getBytes(), "123456789".getBytes());
|
|
788
|
-
wbwi.delete("k2".getBytes());
|
|
789
|
-
|
|
790
|
-
wbwi.setSavePoint();
|
|
791
|
-
|
|
792
|
-
wbwi.popSavePoint();
|
|
793
|
-
|
|
794
|
-
wbwi.rollbackToSavePoint();
|
|
795
|
-
|
|
796
|
-
try(final DBOptions options = new DBOptions()) {
|
|
797
|
-
assertThat(wbwi.getFromBatch(options,"k1".getBytes(UTF_8))).isEqualTo("v1".getBytes());
|
|
798
|
-
assertThat(wbwi.getFromBatch(options,"k2".getBytes(UTF_8))).isEqualTo("v2".getBytes());
|
|
799
|
-
}
|
|
800
|
-
}
|
|
801
|
-
}
|
|
802
|
-
|
|
803
|
-
@Test(expected = RocksDBException.class)
|
|
804
|
-
public void popSavePoint_withoutSavePoints() throws RocksDBException {
|
|
805
|
-
try (final WriteBatchWithIndex wbwi = new WriteBatchWithIndex()) {
|
|
806
|
-
wbwi.popSavePoint();
|
|
807
|
-
}
|
|
808
|
-
}
|
|
809
|
-
|
|
810
|
-
@Test(expected = RocksDBException.class)
|
|
811
|
-
public void popSavePoint_withoutSavePoints_nested() throws RocksDBException {
|
|
812
|
-
try (final WriteBatchWithIndex wbwi = new WriteBatchWithIndex()) {
|
|
813
|
-
|
|
814
|
-
wbwi.setSavePoint();
|
|
815
|
-
wbwi.popSavePoint();
|
|
816
|
-
|
|
817
|
-
// without previous corresponding setSavePoint
|
|
818
|
-
wbwi.popSavePoint();
|
|
819
|
-
}
|
|
820
|
-
}
|
|
821
|
-
|
|
822
|
-
@Test
|
|
823
|
-
public void maxBytes() throws RocksDBException {
|
|
824
|
-
try (final WriteBatchWithIndex wbwi = new WriteBatchWithIndex()) {
|
|
825
|
-
wbwi.setMaxBytes(19);
|
|
826
|
-
|
|
827
|
-
wbwi.put("k1".getBytes(), "v1".getBytes());
|
|
828
|
-
}
|
|
829
|
-
}
|
|
830
|
-
|
|
831
|
-
@Test(expected = RocksDBException.class)
|
|
832
|
-
public void maxBytes_over() throws RocksDBException {
|
|
833
|
-
try (final WriteBatchWithIndex wbwi = new WriteBatchWithIndex()) {
|
|
834
|
-
wbwi.setMaxBytes(1);
|
|
835
|
-
|
|
836
|
-
wbwi.put("k1".getBytes(), "v1".getBytes());
|
|
837
|
-
}
|
|
838
|
-
}
|
|
839
|
-
|
|
840
|
-
@Test
|
|
841
|
-
public void getWriteBatch() {
|
|
842
|
-
try (final WriteBatchWithIndex wbwi = new WriteBatchWithIndex()) {
|
|
843
|
-
|
|
844
|
-
final WriteBatch wb = wbwi.getWriteBatch();
|
|
845
|
-
assertThat(wb).isNotNull();
|
|
846
|
-
assertThat(wb.isOwningHandle()).isFalse();
|
|
847
|
-
}
|
|
848
|
-
}
|
|
849
|
-
|
|
850
|
-
private static String getFromWriteBatchWithIndex(final RocksDB db,
|
|
851
|
-
final ReadOptions readOptions, final WriteBatchWithIndex wbwi,
|
|
852
|
-
final String skey) {
|
|
853
|
-
final byte[] key = skey.getBytes();
|
|
854
|
-
try (final RocksIterator baseIterator = db.newIterator(readOptions);
|
|
855
|
-
final RocksIterator iterator = wbwi.newIteratorWithBase(baseIterator)) {
|
|
856
|
-
iterator.seek(key);
|
|
857
|
-
|
|
858
|
-
// Arrays.equals(key, iterator.key()) ensures an exact match in Rocks,
|
|
859
|
-
// instead of a nearest match
|
|
860
|
-
return iterator.isValid() &&
|
|
861
|
-
Arrays.equals(key, iterator.key()) ?
|
|
862
|
-
new String(iterator.value()) : null;
|
|
863
|
-
}
|
|
864
|
-
}
|
|
865
|
-
|
|
866
|
-
@Test
|
|
867
|
-
public void getFromBatch() throws RocksDBException {
|
|
868
|
-
final byte[] k1 = "k1".getBytes();
|
|
869
|
-
final byte[] k2 = "k2".getBytes();
|
|
870
|
-
final byte[] k3 = "k3".getBytes();
|
|
871
|
-
final byte[] k4 = "k4".getBytes();
|
|
872
|
-
|
|
873
|
-
final byte[] v1 = "v1".getBytes();
|
|
874
|
-
final byte[] v2 = "v2".getBytes();
|
|
875
|
-
final byte[] v3 = "v3".getBytes();
|
|
876
|
-
|
|
877
|
-
try (final WriteBatchWithIndex wbwi = new WriteBatchWithIndex(true);
|
|
878
|
-
final DBOptions dbOptions = new DBOptions()) {
|
|
879
|
-
wbwi.put(k1, v1);
|
|
880
|
-
wbwi.put(k2, v2);
|
|
881
|
-
wbwi.put(k3, v3);
|
|
882
|
-
|
|
883
|
-
assertThat(wbwi.getFromBatch(dbOptions, k1)).isEqualTo(v1);
|
|
884
|
-
assertThat(wbwi.getFromBatch(dbOptions, k2)).isEqualTo(v2);
|
|
885
|
-
assertThat(wbwi.getFromBatch(dbOptions, k3)).isEqualTo(v3);
|
|
886
|
-
assertThat(wbwi.getFromBatch(dbOptions, k4)).isNull();
|
|
887
|
-
|
|
888
|
-
wbwi.delete(k2);
|
|
889
|
-
|
|
890
|
-
assertThat(wbwi.getFromBatch(dbOptions, k2)).isNull();
|
|
891
|
-
}
|
|
892
|
-
}
|
|
893
|
-
|
|
894
|
-
@Test
|
|
895
|
-
public void getFromBatchAndDB() throws RocksDBException {
|
|
896
|
-
final byte[] k1 = "k1".getBytes();
|
|
897
|
-
final byte[] k2 = "k2".getBytes();
|
|
898
|
-
final byte[] k3 = "k3".getBytes();
|
|
899
|
-
final byte[] k4 = "k4".getBytes();
|
|
900
|
-
|
|
901
|
-
final byte[] v1 = "v1".getBytes();
|
|
902
|
-
final byte[] v2 = "v2".getBytes();
|
|
903
|
-
final byte[] v3 = "v3".getBytes();
|
|
904
|
-
final byte[] v4 = "v4".getBytes();
|
|
905
|
-
|
|
906
|
-
try (final Options options = new Options().setCreateIfMissing(true);
|
|
907
|
-
final RocksDB db = RocksDB.open(options,
|
|
908
|
-
dbFolder.getRoot().getAbsolutePath())) {
|
|
909
|
-
|
|
910
|
-
db.put(k1, v1);
|
|
911
|
-
db.put(k2, v2);
|
|
912
|
-
db.put(k4, v4);
|
|
913
|
-
|
|
914
|
-
try (final WriteBatchWithIndex wbwi = new WriteBatchWithIndex(true);
|
|
915
|
-
final DBOptions dbOptions = new DBOptions();
|
|
916
|
-
final ReadOptions readOptions = new ReadOptions()) {
|
|
917
|
-
|
|
918
|
-
assertThat(wbwi.getFromBatch(dbOptions, k1)).isNull();
|
|
919
|
-
assertThat(wbwi.getFromBatch(dbOptions, k2)).isNull();
|
|
920
|
-
assertThat(wbwi.getFromBatch(dbOptions, k4)).isNull();
|
|
921
|
-
|
|
922
|
-
wbwi.put(k3, v3);
|
|
923
|
-
|
|
924
|
-
assertThat(wbwi.getFromBatch(dbOptions, k3)).isEqualTo(v3);
|
|
925
|
-
|
|
926
|
-
assertThat(wbwi.getFromBatchAndDB(db, readOptions, k1)).isEqualTo(v1);
|
|
927
|
-
assertThat(wbwi.getFromBatchAndDB(db, readOptions, k2)).isEqualTo(v2);
|
|
928
|
-
assertThat(wbwi.getFromBatchAndDB(db, readOptions, k3)).isEqualTo(v3);
|
|
929
|
-
assertThat(wbwi.getFromBatchAndDB(db, readOptions, k4)).isEqualTo(v4);
|
|
930
|
-
|
|
931
|
-
wbwi.delete(k4);
|
|
932
|
-
|
|
933
|
-
assertThat(wbwi.getFromBatchAndDB(db, readOptions, k4)).isNull();
|
|
934
|
-
}
|
|
935
|
-
}
|
|
936
|
-
}
|
|
937
|
-
private byte[] toArray(final ByteBuffer buf) {
|
|
938
|
-
final byte[] ary = new byte[buf.remaining()];
|
|
939
|
-
buf.get(ary);
|
|
940
|
-
return ary;
|
|
941
|
-
}
|
|
942
|
-
|
|
943
|
-
@Test
|
|
944
|
-
public void deleteRange() throws RocksDBException {
|
|
945
|
-
try (final RocksDB db = RocksDB.open(dbFolder.getRoot().getAbsolutePath());
|
|
946
|
-
final WriteBatch batch = new WriteBatch();
|
|
947
|
-
final WriteOptions wOpt = new WriteOptions()) {
|
|
948
|
-
db.put("key1".getBytes(), "value".getBytes());
|
|
949
|
-
db.put("key2".getBytes(), "12345678".getBytes());
|
|
950
|
-
db.put("key3".getBytes(), "abcdefg".getBytes());
|
|
951
|
-
db.put("key4".getBytes(), "xyz".getBytes());
|
|
952
|
-
assertThat(db.get("key1".getBytes())).isEqualTo("value".getBytes());
|
|
953
|
-
assertThat(db.get("key2".getBytes())).isEqualTo("12345678".getBytes());
|
|
954
|
-
assertThat(db.get("key3".getBytes())).isEqualTo("abcdefg".getBytes());
|
|
955
|
-
assertThat(db.get("key4".getBytes())).isEqualTo("xyz".getBytes());
|
|
956
|
-
|
|
957
|
-
batch.deleteRange("key2".getBytes(), "key4".getBytes());
|
|
958
|
-
db.write(wOpt, batch);
|
|
959
|
-
|
|
960
|
-
assertThat(db.get("key1".getBytes())).isEqualTo("value".getBytes());
|
|
961
|
-
assertThat(db.get("key2".getBytes())).isNull();
|
|
962
|
-
assertThat(db.get("key3".getBytes())).isNull();
|
|
963
|
-
assertThat(db.get("key4".getBytes())).isEqualTo("xyz".getBytes());
|
|
964
|
-
}
|
|
965
|
-
}
|
|
966
|
-
|
|
967
|
-
@Test
|
|
968
|
-
public void iteratorWithBaseOverwriteTrue() throws RocksDBException {
|
|
969
|
-
try (final Options options = new Options().setCreateIfMissing(true);
|
|
970
|
-
final RocksDB db = RocksDB.open(options, dbFolder.getRoot().getAbsolutePath())) {
|
|
971
|
-
try (final WriteBatchWithIndex wbwi = new WriteBatchWithIndex(true);
|
|
972
|
-
final RocksIterator baseIter = db.newIterator();
|
|
973
|
-
final RocksIterator wbwiIter = wbwi.newIteratorWithBase(baseIter)) {
|
|
974
|
-
assertThat(wbwiIter).isNotNull();
|
|
975
|
-
assertThat(wbwiIter.nativeHandle_).isGreaterThan(0);
|
|
976
|
-
wbwiIter.status();
|
|
977
|
-
}
|
|
978
|
-
|
|
979
|
-
try (final WriteBatchWithIndex wbwi = new WriteBatchWithIndex(true);
|
|
980
|
-
final RocksIterator baseIter = db.newIterator();
|
|
981
|
-
final ReadOptions readOptions = new ReadOptions();
|
|
982
|
-
final RocksIterator wbwiIter = wbwi.newIteratorWithBase(baseIter, readOptions)) {
|
|
983
|
-
assertThat(wbwiIter).isNotNull();
|
|
984
|
-
assertThat(wbwiIter.nativeHandle_).isGreaterThan(0);
|
|
985
|
-
wbwiIter.status();
|
|
986
|
-
}
|
|
987
|
-
}
|
|
988
|
-
|
|
989
|
-
final List<ColumnFamilyDescriptor> cfNames =
|
|
990
|
-
Arrays.asList(new ColumnFamilyDescriptor(RocksDB.DEFAULT_COLUMN_FAMILY),
|
|
991
|
-
new ColumnFamilyDescriptor("new_cf".getBytes()));
|
|
992
|
-
final List<ColumnFamilyHandle> columnFamilyHandleList = new ArrayList<>();
|
|
993
|
-
try (final DBOptions options =
|
|
994
|
-
new DBOptions().setCreateIfMissing(true).setCreateMissingColumnFamilies(true);
|
|
995
|
-
final RocksDB db = RocksDB.open(
|
|
996
|
-
options, dbFolder.getRoot().getAbsolutePath(), cfNames, columnFamilyHandleList)) {
|
|
997
|
-
try (final WriteBatchWithIndex wbwi = new WriteBatchWithIndex(true);
|
|
998
|
-
final RocksIterator baseIter = db.newIterator();
|
|
999
|
-
final RocksIterator wbwiIter =
|
|
1000
|
-
wbwi.newIteratorWithBase(columnFamilyHandleList.get(1), baseIter)) {
|
|
1001
|
-
assertThat(wbwiIter).isNotNull();
|
|
1002
|
-
assertThat(wbwiIter.nativeHandle_).isGreaterThan(0);
|
|
1003
|
-
wbwiIter.status();
|
|
1004
|
-
}
|
|
1005
|
-
|
|
1006
|
-
try (final WriteBatchWithIndex wbwi = new WriteBatchWithIndex(true);
|
|
1007
|
-
final RocksIterator baseIter = db.newIterator();
|
|
1008
|
-
final ReadOptions readOptions = new ReadOptions();
|
|
1009
|
-
final RocksIterator wbwiIter =
|
|
1010
|
-
wbwi.newIteratorWithBase(columnFamilyHandleList.get(1), baseIter, readOptions)) {
|
|
1011
|
-
assertThat(wbwiIter).isNotNull();
|
|
1012
|
-
assertThat(wbwiIter.nativeHandle_).isGreaterThan(0);
|
|
1013
|
-
wbwiIter.status();
|
|
1014
|
-
}
|
|
1015
|
-
}
|
|
1016
|
-
}
|
|
1017
|
-
|
|
1018
|
-
@Test
|
|
1019
|
-
public void iteratorWithBaseOverwriteFalse() throws RocksDBException {
|
|
1020
|
-
try (final Options options = new Options().setCreateIfMissing(true);
|
|
1021
|
-
final RocksDB db = RocksDB.open(options, dbFolder.getRoot().getAbsolutePath())) {
|
|
1022
|
-
try (final WriteBatchWithIndex wbwi = new WriteBatchWithIndex(false);
|
|
1023
|
-
final RocksIterator baseIter = db.newIterator();
|
|
1024
|
-
final RocksIterator wbwiIter = wbwi.newIteratorWithBase(baseIter)) {
|
|
1025
|
-
assertThat(wbwiIter).isNotNull();
|
|
1026
|
-
assertThat(wbwiIter.nativeHandle_).isGreaterThan(0);
|
|
1027
|
-
wbwiIter.status();
|
|
1028
|
-
}
|
|
1029
|
-
|
|
1030
|
-
try (final WriteBatchWithIndex wbwi = new WriteBatchWithIndex(false);
|
|
1031
|
-
final RocksIterator baseIter = db.newIterator();
|
|
1032
|
-
final ReadOptions readOptions = new ReadOptions();
|
|
1033
|
-
final RocksIterator wbwiIter = wbwi.newIteratorWithBase(baseIter, readOptions)) {
|
|
1034
|
-
assertThat(wbwiIter).isNotNull();
|
|
1035
|
-
assertThat(wbwiIter.nativeHandle_).isGreaterThan(0);
|
|
1036
|
-
wbwiIter.status();
|
|
1037
|
-
}
|
|
1038
|
-
}
|
|
1039
|
-
|
|
1040
|
-
final List<ColumnFamilyDescriptor> cfNames =
|
|
1041
|
-
Arrays.asList(new ColumnFamilyDescriptor(RocksDB.DEFAULT_COLUMN_FAMILY),
|
|
1042
|
-
new ColumnFamilyDescriptor("new_cf".getBytes()));
|
|
1043
|
-
final List<ColumnFamilyHandle> columnFamilyHandleList = new ArrayList<>();
|
|
1044
|
-
try (final DBOptions options =
|
|
1045
|
-
new DBOptions().setCreateIfMissing(true).setCreateMissingColumnFamilies(true);
|
|
1046
|
-
final RocksDB db = RocksDB.open(
|
|
1047
|
-
options, dbFolder.getRoot().getAbsolutePath(), cfNames, columnFamilyHandleList)) {
|
|
1048
|
-
try (final WriteBatchWithIndex wbwi = new WriteBatchWithIndex(false);
|
|
1049
|
-
final RocksIterator baseIter = db.newIterator();
|
|
1050
|
-
final RocksIterator wbwiIter =
|
|
1051
|
-
wbwi.newIteratorWithBase(columnFamilyHandleList.get(1), baseIter)) {
|
|
1052
|
-
assertThat(wbwiIter).isNotNull();
|
|
1053
|
-
assertThat(wbwiIter.nativeHandle_).isGreaterThan(0);
|
|
1054
|
-
wbwiIter.status();
|
|
1055
|
-
}
|
|
1056
|
-
|
|
1057
|
-
try (final WriteBatchWithIndex wbwi = new WriteBatchWithIndex(false);
|
|
1058
|
-
final RocksIterator baseIter = db.newIterator();
|
|
1059
|
-
final ReadOptions readOptions = new ReadOptions();
|
|
1060
|
-
final RocksIterator wbwiIter =
|
|
1061
|
-
wbwi.newIteratorWithBase(columnFamilyHandleList.get(1), baseIter, readOptions)) {
|
|
1062
|
-
assertThat(wbwiIter).isNotNull();
|
|
1063
|
-
assertThat(wbwiIter.nativeHandle_).isGreaterThan(0);
|
|
1064
|
-
wbwiIter.status();
|
|
1065
|
-
}
|
|
1066
|
-
}
|
|
1067
|
-
}
|
|
1068
|
-
}
|