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,955 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env python3
|
|
2
|
-
# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
|
|
3
|
-
from __future__ import absolute_import, division, print_function, unicode_literals
|
|
4
|
-
|
|
5
|
-
import glob
|
|
6
|
-
|
|
7
|
-
import os
|
|
8
|
-
import os.path
|
|
9
|
-
import re
|
|
10
|
-
import shutil
|
|
11
|
-
import subprocess
|
|
12
|
-
import tempfile
|
|
13
|
-
import time
|
|
14
|
-
import unittest
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
def my_check_output(*popenargs, **kwargs):
|
|
18
|
-
"""
|
|
19
|
-
If we had python 2.7, we should simply use subprocess.check_output.
|
|
20
|
-
This is a stop-gap solution for python 2.6
|
|
21
|
-
"""
|
|
22
|
-
if "stdout" in kwargs:
|
|
23
|
-
raise ValueError("stdout argument not allowed, it will be overridden.")
|
|
24
|
-
process = subprocess.Popen(
|
|
25
|
-
stderr=subprocess.PIPE, stdout=subprocess.PIPE, *popenargs, **kwargs
|
|
26
|
-
)
|
|
27
|
-
output, unused_err = process.communicate()
|
|
28
|
-
retcode = process.poll()
|
|
29
|
-
if retcode:
|
|
30
|
-
cmd = kwargs.get("args")
|
|
31
|
-
if cmd is None:
|
|
32
|
-
cmd = popenargs[0]
|
|
33
|
-
raise Exception("Exit code is not 0. It is %d. Command: %s" % (retcode, cmd))
|
|
34
|
-
return output.decode("utf-8")
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
def run_err_null(cmd):
|
|
38
|
-
return os.system(cmd + " 2>/dev/null ")
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
class LDBTestCase(unittest.TestCase):
|
|
42
|
-
def setUp(self):
|
|
43
|
-
self.TMP_DIR = tempfile.mkdtemp(prefix="ldb_test_")
|
|
44
|
-
self.DB_NAME = "testdb"
|
|
45
|
-
|
|
46
|
-
def tearDown(self):
|
|
47
|
-
assert (
|
|
48
|
-
self.TMP_DIR.strip() != "/"
|
|
49
|
-
and self.TMP_DIR.strip() != "/tmp"
|
|
50
|
-
and self.TMP_DIR.strip() != "/tmp/"
|
|
51
|
-
) # Just some paranoia
|
|
52
|
-
|
|
53
|
-
shutil.rmtree(self.TMP_DIR)
|
|
54
|
-
|
|
55
|
-
def dbParam(self, dbName):
|
|
56
|
-
return "--db=%s" % os.path.join(self.TMP_DIR, dbName)
|
|
57
|
-
|
|
58
|
-
def assertRunOKFull(
|
|
59
|
-
self, params, expectedOutput, unexpected=False, isPattern=False
|
|
60
|
-
):
|
|
61
|
-
"""
|
|
62
|
-
All command-line params must be specified.
|
|
63
|
-
Allows full flexibility in testing; for example: missing db param.
|
|
64
|
-
"""
|
|
65
|
-
output = my_check_output(
|
|
66
|
-
'./ldb %s |grep -v "Created bg thread"' % params, shell=True
|
|
67
|
-
)
|
|
68
|
-
if not unexpected:
|
|
69
|
-
if isPattern:
|
|
70
|
-
self.assertNotEqual(expectedOutput.search(output.strip()), None)
|
|
71
|
-
else:
|
|
72
|
-
self.assertEqual(output.strip(), expectedOutput.strip())
|
|
73
|
-
else:
|
|
74
|
-
if isPattern:
|
|
75
|
-
self.assertEqual(expectedOutput.search(output.strip()), None)
|
|
76
|
-
else:
|
|
77
|
-
self.assertNotEqual(output.strip(), expectedOutput.strip())
|
|
78
|
-
|
|
79
|
-
def assertRunFAILFull(self, params):
|
|
80
|
-
"""
|
|
81
|
-
All command-line params must be specified.
|
|
82
|
-
Allows full flexibility in testing; for example: missing db param.
|
|
83
|
-
"""
|
|
84
|
-
try:
|
|
85
|
-
|
|
86
|
-
my_check_output(
|
|
87
|
-
'./ldb %s >/dev/null 2>&1 |grep -v "Created bg \
|
|
88
|
-
thread"'
|
|
89
|
-
% params,
|
|
90
|
-
shell=True,
|
|
91
|
-
)
|
|
92
|
-
except Exception:
|
|
93
|
-
return
|
|
94
|
-
self.fail(
|
|
95
|
-
"Exception should have been raised for command with params: %s" % params
|
|
96
|
-
)
|
|
97
|
-
|
|
98
|
-
def assertRunOK(self, params, expectedOutput, unexpected=False):
|
|
99
|
-
"""
|
|
100
|
-
Uses the default test db.
|
|
101
|
-
"""
|
|
102
|
-
self.assertRunOKFull(
|
|
103
|
-
"%s %s" % (self.dbParam(self.DB_NAME), params), expectedOutput, unexpected
|
|
104
|
-
)
|
|
105
|
-
|
|
106
|
-
def assertRunFAIL(self, params):
|
|
107
|
-
"""
|
|
108
|
-
Uses the default test db.
|
|
109
|
-
"""
|
|
110
|
-
self.assertRunFAILFull("%s %s" % (self.dbParam(self.DB_NAME), params))
|
|
111
|
-
|
|
112
|
-
def testSimpleStringPutGet(self):
|
|
113
|
-
print("Running testSimpleStringPutGet...")
|
|
114
|
-
self.assertRunFAIL("put x1 y1")
|
|
115
|
-
self.assertRunOK("put --create_if_missing x1 y1", "OK")
|
|
116
|
-
self.assertRunOK("get x1", "y1")
|
|
117
|
-
self.assertRunFAIL("get x2")
|
|
118
|
-
|
|
119
|
-
self.assertRunOK("put x2 y2", "OK")
|
|
120
|
-
self.assertRunOK("get x1", "y1")
|
|
121
|
-
self.assertRunOK("get x2", "y2")
|
|
122
|
-
self.assertRunFAIL("get x3")
|
|
123
|
-
|
|
124
|
-
self.assertRunOK("scan --from=x1 --to=z", "x1 : y1\nx2 : y2")
|
|
125
|
-
self.assertRunOK("put x3 y3", "OK")
|
|
126
|
-
|
|
127
|
-
self.assertRunOK("scan --from=x1 --to=z", "x1 : y1\nx2 : y2\nx3 : y3")
|
|
128
|
-
self.assertRunOK("scan", "x1 : y1\nx2 : y2\nx3 : y3")
|
|
129
|
-
self.assertRunOK("scan --from=x", "x1 : y1\nx2 : y2\nx3 : y3")
|
|
130
|
-
|
|
131
|
-
self.assertRunOK("scan --to=x2", "x1 : y1")
|
|
132
|
-
self.assertRunOK("scan --from=x1 --to=z --max_keys=1", "x1 : y1")
|
|
133
|
-
self.assertRunOK("scan --from=x1 --to=z --max_keys=2", "x1 : y1\nx2 : y2")
|
|
134
|
-
|
|
135
|
-
self.assertRunOK(
|
|
136
|
-
"scan --from=x1 --to=z --max_keys=3", "x1 : y1\nx2 : y2\nx3 : y3"
|
|
137
|
-
)
|
|
138
|
-
self.assertRunOK(
|
|
139
|
-
"scan --from=x1 --to=z --max_keys=4", "x1 : y1\nx2 : y2\nx3 : y3"
|
|
140
|
-
)
|
|
141
|
-
self.assertRunOK("scan --from=x1 --to=x2", "x1 : y1")
|
|
142
|
-
self.assertRunOK("scan --from=x2 --to=x4", "x2 : y2\nx3 : y3")
|
|
143
|
-
self.assertRunFAIL("scan --from=x4 --to=z") # No results => FAIL
|
|
144
|
-
self.assertRunFAIL("scan --from=x1 --to=z --max_keys=foo")
|
|
145
|
-
|
|
146
|
-
self.assertRunOK("scan", "x1 : y1\nx2 : y2\nx3 : y3")
|
|
147
|
-
|
|
148
|
-
self.assertRunOK("delete x1", "OK")
|
|
149
|
-
self.assertRunOK("scan", "x2 : y2\nx3 : y3")
|
|
150
|
-
|
|
151
|
-
self.assertRunOK("delete NonExistentKey", "OK")
|
|
152
|
-
# It is weird that GET and SCAN raise exception for
|
|
153
|
-
# non-existent key, while delete does not
|
|
154
|
-
|
|
155
|
-
self.assertRunOK("checkconsistency", "OK")
|
|
156
|
-
|
|
157
|
-
def dumpDb(self, params, dumpFile):
|
|
158
|
-
return 0 == run_err_null("./ldb dump %s > %s" % (params, dumpFile))
|
|
159
|
-
|
|
160
|
-
def loadDb(self, params, dumpFile):
|
|
161
|
-
return 0 == run_err_null("cat %s | ./ldb load %s" % (dumpFile, params))
|
|
162
|
-
|
|
163
|
-
def writeExternSst(self, params, inputDumpFile, outputSst):
|
|
164
|
-
return 0 == run_err_null(
|
|
165
|
-
"cat %s | ./ldb write_extern_sst %s %s" % (inputDumpFile, outputSst, params)
|
|
166
|
-
)
|
|
167
|
-
|
|
168
|
-
def ingestExternSst(self, params, inputSst):
|
|
169
|
-
return 0 == run_err_null("./ldb ingest_extern_sst %s %s" % (inputSst, params))
|
|
170
|
-
|
|
171
|
-
def testStringBatchPut(self):
|
|
172
|
-
print("Running testStringBatchPut...")
|
|
173
|
-
self.assertRunOK("batchput x1 y1 --create_if_missing", "OK")
|
|
174
|
-
self.assertRunOK("scan", "x1 : y1")
|
|
175
|
-
self.assertRunOK('batchput x2 y2 x3 y3 "x4 abc" "y4 xyz"', "OK")
|
|
176
|
-
self.assertRunOK("scan", "x1 : y1\nx2 : y2\nx3 : y3\nx4 abc : y4 xyz")
|
|
177
|
-
self.assertRunFAIL("batchput")
|
|
178
|
-
self.assertRunFAIL("batchput k1")
|
|
179
|
-
self.assertRunFAIL("batchput k1 v1 k2")
|
|
180
|
-
|
|
181
|
-
def testBlobBatchPut(self):
|
|
182
|
-
print("Running testBlobBatchPut...")
|
|
183
|
-
|
|
184
|
-
dbPath = os.path.join(self.TMP_DIR, self.DB_NAME)
|
|
185
|
-
self.assertRunOK("batchput x1 y1 --create_if_missing --enable_blob_files", "OK")
|
|
186
|
-
self.assertRunOK("scan", "x1 : y1")
|
|
187
|
-
self.assertRunOK(
|
|
188
|
-
'batchput --enable_blob_files x2 y2 x3 y3 "x4 abc" "y4 xyz"', "OK"
|
|
189
|
-
)
|
|
190
|
-
self.assertRunOK("scan", "x1 : y1\nx2 : y2\nx3 : y3\nx4 abc : y4 xyz")
|
|
191
|
-
|
|
192
|
-
blob_files = self.getBlobFiles(dbPath)
|
|
193
|
-
self.assertTrue(len(blob_files) >= 1)
|
|
194
|
-
|
|
195
|
-
def testBlobPut(self):
|
|
196
|
-
print("Running testBlobPut...")
|
|
197
|
-
|
|
198
|
-
dbPath = os.path.join(self.TMP_DIR, self.DB_NAME)
|
|
199
|
-
self.assertRunOK("put --create_if_missing --enable_blob_files x1 y1", "OK")
|
|
200
|
-
self.assertRunOK("get x1", "y1")
|
|
201
|
-
self.assertRunOK("put --enable_blob_files x2 y2", "OK")
|
|
202
|
-
self.assertRunOK("get x1", "y1")
|
|
203
|
-
self.assertRunOK("get x2", "y2")
|
|
204
|
-
self.assertRunFAIL("get x3")
|
|
205
|
-
|
|
206
|
-
blob_files = self.getBlobFiles(dbPath)
|
|
207
|
-
self.assertTrue(len(blob_files) >= 1)
|
|
208
|
-
|
|
209
|
-
def testBlobStartingLevel(self):
|
|
210
|
-
print("Running testBlobStartingLevel...")
|
|
211
|
-
|
|
212
|
-
dbPath = os.path.join(self.TMP_DIR, self.DB_NAME)
|
|
213
|
-
self.assertRunOK(
|
|
214
|
-
"put --create_if_missing --enable_blob_files --blob_file_starting_level=10 x1 y1",
|
|
215
|
-
"OK",
|
|
216
|
-
)
|
|
217
|
-
self.assertRunOK("get x1", "y1")
|
|
218
|
-
|
|
219
|
-
blob_files = self.getBlobFiles(dbPath)
|
|
220
|
-
self.assertTrue(len(blob_files) == 0)
|
|
221
|
-
|
|
222
|
-
self.assertRunOK(
|
|
223
|
-
"put --enable_blob_files --blob_file_starting_level=0 x2 y2", "OK"
|
|
224
|
-
)
|
|
225
|
-
self.assertRunOK("get x1", "y1")
|
|
226
|
-
self.assertRunOK("get x2", "y2")
|
|
227
|
-
self.assertRunFAIL("get x3")
|
|
228
|
-
|
|
229
|
-
blob_files = self.getBlobFiles(dbPath)
|
|
230
|
-
self.assertTrue(len(blob_files) >= 1)
|
|
231
|
-
|
|
232
|
-
def testCountDelimDump(self):
|
|
233
|
-
print("Running testCountDelimDump...")
|
|
234
|
-
self.assertRunOK("batchput x.1 x1 --create_if_missing", "OK")
|
|
235
|
-
self.assertRunOK("batchput y.abc abc y.2 2 z.13c pqr", "OK")
|
|
236
|
-
self.assertRunOK(
|
|
237
|
-
"dump --count_delim",
|
|
238
|
-
"x => count:1\tsize:5\ny => count:2\tsize:12\nz => count:1\tsize:8",
|
|
239
|
-
)
|
|
240
|
-
self.assertRunOK(
|
|
241
|
-
'dump --count_delim="."',
|
|
242
|
-
"x => count:1\tsize:5\ny => count:2\tsize:12\nz => count:1\tsize:8",
|
|
243
|
-
)
|
|
244
|
-
self.assertRunOK("batchput x,2 x2 x,abc xabc", "OK")
|
|
245
|
-
self.assertRunOK(
|
|
246
|
-
'dump --count_delim=","',
|
|
247
|
-
"x => count:2\tsize:14\nx.1 => count:1\tsize:5\ny.2 => count:1\tsize:4\ny.abc => count:1\tsize:8\nz.13c => count:1\tsize:8",
|
|
248
|
-
)
|
|
249
|
-
|
|
250
|
-
def testCountDelimIDump(self):
|
|
251
|
-
print("Running testCountDelimIDump...")
|
|
252
|
-
self.assertRunOK("batchput x.1 x1 --create_if_missing", "OK")
|
|
253
|
-
self.assertRunOK("batchput y.abc abc y.2 2 z.13c pqr", "OK")
|
|
254
|
-
self.assertRunOK(
|
|
255
|
-
"idump --count_delim",
|
|
256
|
-
"x => count:1\tsize:5\ny => count:2\tsize:12\nz => count:1\tsize:8",
|
|
257
|
-
)
|
|
258
|
-
self.assertRunOK(
|
|
259
|
-
'idump --count_delim="."',
|
|
260
|
-
"x => count:1\tsize:5\ny => count:2\tsize:12\nz => count:1\tsize:8",
|
|
261
|
-
)
|
|
262
|
-
self.assertRunOK("batchput x,2 x2 x,abc xabc", "OK")
|
|
263
|
-
self.assertRunOK(
|
|
264
|
-
'idump --count_delim=","',
|
|
265
|
-
"x => count:2\tsize:14\nx.1 => count:1\tsize:5\ny.2 => count:1\tsize:4\ny.abc => count:1\tsize:8\nz.13c => count:1\tsize:8",
|
|
266
|
-
)
|
|
267
|
-
|
|
268
|
-
def testInvalidCmdLines(self):
|
|
269
|
-
print("Running testInvalidCmdLines...")
|
|
270
|
-
# db not specified
|
|
271
|
-
self.assertRunFAILFull("put 0x6133 0x6233 --hex --create_if_missing")
|
|
272
|
-
# No param called he
|
|
273
|
-
self.assertRunFAIL("put 0x6133 0x6233 --he --create_if_missing")
|
|
274
|
-
# max_keys is not applicable for put
|
|
275
|
-
self.assertRunFAIL("put 0x6133 0x6233 --max_keys=1 --create_if_missing")
|
|
276
|
-
# hex has invalid boolean value
|
|
277
|
-
|
|
278
|
-
def testHexPutGet(self):
|
|
279
|
-
print("Running testHexPutGet...")
|
|
280
|
-
self.assertRunOK("put a1 b1 --create_if_missing", "OK")
|
|
281
|
-
self.assertRunOK("scan", "a1 : b1")
|
|
282
|
-
self.assertRunOK("scan --hex", "0x6131 : 0x6231")
|
|
283
|
-
self.assertRunFAIL("put --hex 6132 6232")
|
|
284
|
-
self.assertRunOK("put --hex 0x6132 0x6232", "OK")
|
|
285
|
-
self.assertRunOK("scan --hex", "0x6131 : 0x6231\n0x6132 : 0x6232")
|
|
286
|
-
self.assertRunOK("scan", "a1 : b1\na2 : b2")
|
|
287
|
-
self.assertRunOK("get a1", "b1")
|
|
288
|
-
self.assertRunOK("get --hex 0x6131", "0x6231")
|
|
289
|
-
self.assertRunOK("get a2", "b2")
|
|
290
|
-
self.assertRunOK("get --hex 0x6132", "0x6232")
|
|
291
|
-
self.assertRunOK("get --key_hex 0x6132", "b2")
|
|
292
|
-
self.assertRunOK("get --key_hex --value_hex 0x6132", "0x6232")
|
|
293
|
-
self.assertRunOK("get --value_hex a2", "0x6232")
|
|
294
|
-
self.assertRunOK(
|
|
295
|
-
"scan --key_hex --value_hex", "0x6131 : 0x6231\n0x6132 : 0x6232"
|
|
296
|
-
)
|
|
297
|
-
self.assertRunOK(
|
|
298
|
-
"scan --hex --from=0x6131 --to=0x6133", "0x6131 : 0x6231\n0x6132 : 0x6232"
|
|
299
|
-
)
|
|
300
|
-
self.assertRunOK("scan --hex --from=0x6131 --to=0x6132", "0x6131 : 0x6231")
|
|
301
|
-
self.assertRunOK("scan --key_hex", "0x6131 : b1\n0x6132 : b2")
|
|
302
|
-
self.assertRunOK("scan --value_hex", "a1 : 0x6231\na2 : 0x6232")
|
|
303
|
-
self.assertRunOK("batchput --hex 0x6133 0x6233 0x6134 0x6234", "OK")
|
|
304
|
-
self.assertRunOK("scan", "a1 : b1\na2 : b2\na3 : b3\na4 : b4")
|
|
305
|
-
self.assertRunOK("delete --hex 0x6133", "OK")
|
|
306
|
-
self.assertRunOK("scan", "a1 : b1\na2 : b2\na4 : b4")
|
|
307
|
-
self.assertRunOK("checkconsistency", "OK")
|
|
308
|
-
|
|
309
|
-
def testTtlPutGet(self):
|
|
310
|
-
print("Running testTtlPutGet...")
|
|
311
|
-
self.assertRunOK("put a1 b1 --ttl --create_if_missing", "OK")
|
|
312
|
-
self.assertRunOK("scan --hex", "0x6131 : 0x6231", True)
|
|
313
|
-
self.assertRunOK("dump --ttl ", "a1 ==> b1", True)
|
|
314
|
-
self.assertRunOK("dump --hex --ttl ", "0x6131 ==> 0x6231\nKeys in range: 1")
|
|
315
|
-
self.assertRunOK("scan --hex --ttl", "0x6131 : 0x6231")
|
|
316
|
-
self.assertRunOK("get --value_hex a1", "0x6231", True)
|
|
317
|
-
self.assertRunOK("get --ttl a1", "b1")
|
|
318
|
-
self.assertRunOK("put a3 b3 --create_if_missing", "OK")
|
|
319
|
-
# fails because timstamp's length is greater than value's
|
|
320
|
-
self.assertRunFAIL("get --ttl a3")
|
|
321
|
-
self.assertRunOK("checkconsistency", "OK")
|
|
322
|
-
|
|
323
|
-
def testInvalidCmdLines(self): # noqa: F811 T25377293 Grandfathered in
|
|
324
|
-
print("Running testInvalidCmdLines...")
|
|
325
|
-
# db not specified
|
|
326
|
-
self.assertRunFAILFull("put 0x6133 0x6233 --hex --create_if_missing")
|
|
327
|
-
# No param called he
|
|
328
|
-
self.assertRunFAIL("put 0x6133 0x6233 --he --create_if_missing")
|
|
329
|
-
# max_keys is not applicable for put
|
|
330
|
-
self.assertRunFAIL("put 0x6133 0x6233 --max_keys=1 --create_if_missing")
|
|
331
|
-
# hex has invalid boolean value
|
|
332
|
-
self.assertRunFAIL("put 0x6133 0x6233 --hex=Boo --create_if_missing")
|
|
333
|
-
|
|
334
|
-
def testDumpLoad(self):
|
|
335
|
-
print("Running testDumpLoad...")
|
|
336
|
-
self.assertRunOK("batchput --create_if_missing x1 y1 x2 y2 x3 y3 x4 y4", "OK")
|
|
337
|
-
self.assertRunOK("scan", "x1 : y1\nx2 : y2\nx3 : y3\nx4 : y4")
|
|
338
|
-
origDbPath = os.path.join(self.TMP_DIR, self.DB_NAME)
|
|
339
|
-
|
|
340
|
-
# Dump and load without any additional params specified
|
|
341
|
-
dumpFilePath = os.path.join(self.TMP_DIR, "dump1")
|
|
342
|
-
loadedDbPath = os.path.join(self.TMP_DIR, "loaded_from_dump1")
|
|
343
|
-
self.assertTrue(self.dumpDb("--db=%s" % origDbPath, dumpFilePath))
|
|
344
|
-
self.assertTrue(
|
|
345
|
-
self.loadDb("--db=%s --create_if_missing" % loadedDbPath, dumpFilePath)
|
|
346
|
-
)
|
|
347
|
-
self.assertRunOKFull(
|
|
348
|
-
"scan --db=%s" % loadedDbPath, "x1 : y1\nx2 : y2\nx3 : y3\nx4 : y4"
|
|
349
|
-
)
|
|
350
|
-
|
|
351
|
-
# Dump and load in hex
|
|
352
|
-
dumpFilePath = os.path.join(self.TMP_DIR, "dump2")
|
|
353
|
-
loadedDbPath = os.path.join(self.TMP_DIR, "loaded_from_dump2")
|
|
354
|
-
self.assertTrue(self.dumpDb("--db=%s --hex" % origDbPath, dumpFilePath))
|
|
355
|
-
self.assertTrue(
|
|
356
|
-
self.loadDb(
|
|
357
|
-
"--db=%s --hex --create_if_missing" % loadedDbPath, dumpFilePath
|
|
358
|
-
)
|
|
359
|
-
)
|
|
360
|
-
self.assertRunOKFull(
|
|
361
|
-
"scan --db=%s" % loadedDbPath, "x1 : y1\nx2 : y2\nx3 : y3\nx4 : y4"
|
|
362
|
-
)
|
|
363
|
-
|
|
364
|
-
# Dump only a portion of the key range
|
|
365
|
-
dumpFilePath = os.path.join(self.TMP_DIR, "dump3")
|
|
366
|
-
loadedDbPath = os.path.join(self.TMP_DIR, "loaded_from_dump3")
|
|
367
|
-
self.assertTrue(
|
|
368
|
-
self.dumpDb("--db=%s --from=x1 --to=x3" % origDbPath, dumpFilePath)
|
|
369
|
-
)
|
|
370
|
-
self.assertTrue(
|
|
371
|
-
self.loadDb("--db=%s --create_if_missing" % loadedDbPath, dumpFilePath)
|
|
372
|
-
)
|
|
373
|
-
self.assertRunOKFull("scan --db=%s" % loadedDbPath, "x1 : y1\nx2 : y2")
|
|
374
|
-
|
|
375
|
-
# Dump upto max_keys rows
|
|
376
|
-
dumpFilePath = os.path.join(self.TMP_DIR, "dump4")
|
|
377
|
-
loadedDbPath = os.path.join(self.TMP_DIR, "loaded_from_dump4")
|
|
378
|
-
self.assertTrue(self.dumpDb("--db=%s --max_keys=3" % origDbPath, dumpFilePath))
|
|
379
|
-
self.assertTrue(
|
|
380
|
-
self.loadDb("--db=%s --create_if_missing" % loadedDbPath, dumpFilePath)
|
|
381
|
-
)
|
|
382
|
-
self.assertRunOKFull("scan --db=%s" % loadedDbPath, "x1 : y1\nx2 : y2\nx3 : y3")
|
|
383
|
-
|
|
384
|
-
# Load into an existing db, create_if_missing is not specified
|
|
385
|
-
self.assertTrue(self.dumpDb("--db=%s" % origDbPath, dumpFilePath))
|
|
386
|
-
self.assertTrue(self.loadDb("--db=%s" % loadedDbPath, dumpFilePath))
|
|
387
|
-
self.assertRunOKFull(
|
|
388
|
-
"scan --db=%s" % loadedDbPath, "x1 : y1\nx2 : y2\nx3 : y3\nx4 : y4"
|
|
389
|
-
)
|
|
390
|
-
|
|
391
|
-
# Dump and load with WAL disabled
|
|
392
|
-
dumpFilePath = os.path.join(self.TMP_DIR, "dump5")
|
|
393
|
-
loadedDbPath = os.path.join(self.TMP_DIR, "loaded_from_dump5")
|
|
394
|
-
self.assertTrue(self.dumpDb("--db=%s" % origDbPath, dumpFilePath))
|
|
395
|
-
self.assertTrue(
|
|
396
|
-
self.loadDb(
|
|
397
|
-
"--db=%s --disable_wal --create_if_missing" % loadedDbPath, dumpFilePath
|
|
398
|
-
)
|
|
399
|
-
)
|
|
400
|
-
self.assertRunOKFull(
|
|
401
|
-
"scan --db=%s" % loadedDbPath, "x1 : y1\nx2 : y2\nx3 : y3\nx4 : y4"
|
|
402
|
-
)
|
|
403
|
-
|
|
404
|
-
# Dump and load with lots of extra params specified
|
|
405
|
-
extraParams = " ".join(
|
|
406
|
-
[
|
|
407
|
-
"--bloom_bits=14",
|
|
408
|
-
"--block_size=1024",
|
|
409
|
-
"--auto_compaction=true",
|
|
410
|
-
"--write_buffer_size=4194304",
|
|
411
|
-
"--file_size=2097152",
|
|
412
|
-
]
|
|
413
|
-
)
|
|
414
|
-
dumpFilePath = os.path.join(self.TMP_DIR, "dump6")
|
|
415
|
-
loadedDbPath = os.path.join(self.TMP_DIR, "loaded_from_dump6")
|
|
416
|
-
self.assertTrue(
|
|
417
|
-
self.dumpDb("--db=%s %s" % (origDbPath, extraParams), dumpFilePath)
|
|
418
|
-
)
|
|
419
|
-
self.assertTrue(
|
|
420
|
-
self.loadDb(
|
|
421
|
-
"--db=%s %s --create_if_missing" % (loadedDbPath, extraParams),
|
|
422
|
-
dumpFilePath,
|
|
423
|
-
)
|
|
424
|
-
)
|
|
425
|
-
self.assertRunOKFull(
|
|
426
|
-
"scan --db=%s" % loadedDbPath, "x1 : y1\nx2 : y2\nx3 : y3\nx4 : y4"
|
|
427
|
-
)
|
|
428
|
-
|
|
429
|
-
# Dump with count_only
|
|
430
|
-
dumpFilePath = os.path.join(self.TMP_DIR, "dump7")
|
|
431
|
-
loadedDbPath = os.path.join(self.TMP_DIR, "loaded_from_dump7")
|
|
432
|
-
self.assertTrue(self.dumpDb("--db=%s --count_only" % origDbPath, dumpFilePath))
|
|
433
|
-
self.assertTrue(
|
|
434
|
-
self.loadDb("--db=%s --create_if_missing" % loadedDbPath, dumpFilePath)
|
|
435
|
-
)
|
|
436
|
-
# DB should have atleast one value for scan to work
|
|
437
|
-
self.assertRunOKFull("put --db=%s k1 v1" % loadedDbPath, "OK")
|
|
438
|
-
self.assertRunOKFull("scan --db=%s" % loadedDbPath, "k1 : v1")
|
|
439
|
-
|
|
440
|
-
# Dump command fails because of typo in params
|
|
441
|
-
dumpFilePath = os.path.join(self.TMP_DIR, "dump8")
|
|
442
|
-
self.assertFalse(
|
|
443
|
-
self.dumpDb("--db=%s --create_if_missing" % origDbPath, dumpFilePath)
|
|
444
|
-
)
|
|
445
|
-
|
|
446
|
-
# Dump and load with BlobDB enabled
|
|
447
|
-
blobParams = " ".join(
|
|
448
|
-
["--enable_blob_files", "--min_blob_size=1", "--blob_file_size=2097152"]
|
|
449
|
-
)
|
|
450
|
-
dumpFilePath = os.path.join(self.TMP_DIR, "dump9")
|
|
451
|
-
loadedDbPath = os.path.join(self.TMP_DIR, "loaded_from_dump9")
|
|
452
|
-
self.assertTrue(self.dumpDb("--db=%s" % (origDbPath), dumpFilePath))
|
|
453
|
-
self.assertTrue(
|
|
454
|
-
self.loadDb(
|
|
455
|
-
"--db=%s %s --create_if_missing --disable_wal"
|
|
456
|
-
% (loadedDbPath, blobParams),
|
|
457
|
-
dumpFilePath,
|
|
458
|
-
)
|
|
459
|
-
)
|
|
460
|
-
self.assertRunOKFull(
|
|
461
|
-
"scan --db=%s" % loadedDbPath, "x1 : y1\nx2 : y2\nx3 : y3\nx4 : y4"
|
|
462
|
-
)
|
|
463
|
-
blob_files = self.getBlobFiles(loadedDbPath)
|
|
464
|
-
self.assertTrue(len(blob_files) >= 1)
|
|
465
|
-
|
|
466
|
-
def testIDumpBasics(self):
|
|
467
|
-
print("Running testIDumpBasics...")
|
|
468
|
-
self.assertRunOK("put a val --create_if_missing", "OK")
|
|
469
|
-
self.assertRunOK("put b val", "OK")
|
|
470
|
-
self.assertRunOK(
|
|
471
|
-
"idump",
|
|
472
|
-
"'a' seq:1, type:1 => val\n"
|
|
473
|
-
"'b' seq:2, type:1 => val\nInternal keys in range: 2",
|
|
474
|
-
)
|
|
475
|
-
self.assertRunOK(
|
|
476
|
-
"idump --input_key_hex --from=%s --to=%s" % (hex(ord("a")), hex(ord("b"))),
|
|
477
|
-
"'a' seq:1, type:1 => val\nInternal keys in range: 1",
|
|
478
|
-
)
|
|
479
|
-
|
|
480
|
-
def testIDumpDecodeBlobIndex(self):
|
|
481
|
-
print("Running testIDumpDecodeBlobIndex...")
|
|
482
|
-
self.assertRunOK("put a val --create_if_missing", "OK")
|
|
483
|
-
self.assertRunOK("put b val --enable_blob_files", "OK")
|
|
484
|
-
|
|
485
|
-
# Pattern to expect from dump with decode_blob_index flag enabled.
|
|
486
|
-
regex = ".*\[blob ref\].*"
|
|
487
|
-
expected_pattern = re.compile(regex)
|
|
488
|
-
cmd = "idump %s --decode_blob_index"
|
|
489
|
-
self.assertRunOKFull(
|
|
490
|
-
(cmd) % (self.dbParam(self.DB_NAME)),
|
|
491
|
-
expected_pattern,
|
|
492
|
-
unexpected=False,
|
|
493
|
-
isPattern=True,
|
|
494
|
-
)
|
|
495
|
-
|
|
496
|
-
def testMiscAdminTask(self):
|
|
497
|
-
print("Running testMiscAdminTask...")
|
|
498
|
-
# These tests need to be improved; for example with asserts about
|
|
499
|
-
# whether compaction or level reduction actually took place.
|
|
500
|
-
self.assertRunOK("batchput --create_if_missing x1 y1 x2 y2 x3 y3 x4 y4", "OK")
|
|
501
|
-
self.assertRunOK("scan", "x1 : y1\nx2 : y2\nx3 : y3\nx4 : y4")
|
|
502
|
-
origDbPath = os.path.join(self.TMP_DIR, self.DB_NAME)
|
|
503
|
-
|
|
504
|
-
self.assertTrue(0 == run_err_null("./ldb compact --db=%s" % origDbPath))
|
|
505
|
-
self.assertRunOK("scan", "x1 : y1\nx2 : y2\nx3 : y3\nx4 : y4")
|
|
506
|
-
|
|
507
|
-
self.assertTrue(
|
|
508
|
-
0 == run_err_null("./ldb reduce_levels --db=%s --new_levels=2" % origDbPath)
|
|
509
|
-
)
|
|
510
|
-
self.assertRunOK("scan", "x1 : y1\nx2 : y2\nx3 : y3\nx4 : y4")
|
|
511
|
-
|
|
512
|
-
self.assertTrue(
|
|
513
|
-
0 == run_err_null("./ldb reduce_levels --db=%s --new_levels=3" % origDbPath)
|
|
514
|
-
)
|
|
515
|
-
self.assertRunOK("scan", "x1 : y1\nx2 : y2\nx3 : y3\nx4 : y4")
|
|
516
|
-
|
|
517
|
-
self.assertTrue(
|
|
518
|
-
0 == run_err_null("./ldb compact --db=%s --from=x1 --to=x3" % origDbPath)
|
|
519
|
-
)
|
|
520
|
-
self.assertRunOK("scan", "x1 : y1\nx2 : y2\nx3 : y3\nx4 : y4")
|
|
521
|
-
|
|
522
|
-
self.assertTrue(
|
|
523
|
-
0
|
|
524
|
-
== run_err_null(
|
|
525
|
-
"./ldb compact --db=%s --hex --from=0x6131 --to=0x6134" % origDbPath
|
|
526
|
-
)
|
|
527
|
-
)
|
|
528
|
-
self.assertRunOK("scan", "x1 : y1\nx2 : y2\nx3 : y3\nx4 : y4")
|
|
529
|
-
|
|
530
|
-
# TODO(dilip): Not sure what should be passed to WAL.Currently corrupted.
|
|
531
|
-
self.assertTrue(
|
|
532
|
-
0
|
|
533
|
-
== run_err_null(
|
|
534
|
-
"./ldb dump_wal --db=%s --walfile=%s --header"
|
|
535
|
-
% (origDbPath, os.path.join(origDbPath, "LOG"))
|
|
536
|
-
)
|
|
537
|
-
)
|
|
538
|
-
self.assertRunOK("scan", "x1 : y1\nx2 : y2\nx3 : y3\nx4 : y4")
|
|
539
|
-
|
|
540
|
-
def testCheckConsistency(self):
|
|
541
|
-
print("Running testCheckConsistency...")
|
|
542
|
-
|
|
543
|
-
dbPath = os.path.join(self.TMP_DIR, self.DB_NAME)
|
|
544
|
-
self.assertRunOK("put x1 y1 --create_if_missing", "OK")
|
|
545
|
-
self.assertRunOK("put x2 y2", "OK")
|
|
546
|
-
self.assertRunOK("get x1", "y1")
|
|
547
|
-
self.assertRunOK("checkconsistency", "OK")
|
|
548
|
-
|
|
549
|
-
sstFilePath = my_check_output(
|
|
550
|
-
"ls %s" % os.path.join(dbPath, "*.sst"), shell=True
|
|
551
|
-
)
|
|
552
|
-
|
|
553
|
-
# Modify the file
|
|
554
|
-
my_check_output("echo 'evil' > %s" % sstFilePath, shell=True)
|
|
555
|
-
self.assertRunFAIL("checkconsistency")
|
|
556
|
-
|
|
557
|
-
# Delete the file
|
|
558
|
-
my_check_output("rm -f %s" % sstFilePath, shell=True)
|
|
559
|
-
self.assertRunFAIL("checkconsistency")
|
|
560
|
-
|
|
561
|
-
def dumpLiveFiles(self, params, dumpFile):
|
|
562
|
-
return 0 == run_err_null("./ldb dump_live_files %s > %s" % (params, dumpFile))
|
|
563
|
-
|
|
564
|
-
def testDumpLiveFiles(self):
|
|
565
|
-
print("Running testDumpLiveFiles...")
|
|
566
|
-
|
|
567
|
-
dbPath = os.path.join(self.TMP_DIR, self.DB_NAME)
|
|
568
|
-
self.assertRunOK("put x1 y1 --create_if_missing", "OK")
|
|
569
|
-
self.assertRunOK("put x2 y2 --enable_blob_files", "OK")
|
|
570
|
-
dumpFilePath = os.path.join(self.TMP_DIR, "dump1")
|
|
571
|
-
self.assertTrue(self.dumpLiveFiles("--db=%s" % dbPath, dumpFilePath))
|
|
572
|
-
self.assertRunOK("delete x1", "OK")
|
|
573
|
-
self.assertRunOK("put x3 y3", "OK")
|
|
574
|
-
dumpFilePath = os.path.join(self.TMP_DIR, "dump2")
|
|
575
|
-
|
|
576
|
-
# Test that if the user provides a db path that ends with
|
|
577
|
-
# a slash '/', there is no double (or more!) slashes in the
|
|
578
|
-
# SST and manifest file names.
|
|
579
|
-
|
|
580
|
-
# Add a '/' at the end of dbPath (which normally shouldnt contain any)
|
|
581
|
-
if dbPath[-1] != "/":
|
|
582
|
-
dbPath += "/"
|
|
583
|
-
|
|
584
|
-
# Call the dump_live_files function with the edited dbPath name.
|
|
585
|
-
self.assertTrue(
|
|
586
|
-
self.dumpLiveFiles(
|
|
587
|
-
"--db=%s --decode_blob_index --dump_uncompressed_blobs" % dbPath,
|
|
588
|
-
dumpFilePath,
|
|
589
|
-
)
|
|
590
|
-
)
|
|
591
|
-
|
|
592
|
-
# Investigate the output
|
|
593
|
-
with open(dumpFilePath, "r") as tmp:
|
|
594
|
-
data = tmp.read()
|
|
595
|
-
|
|
596
|
-
# Check that all the SST filenames have a correct full path (no multiple '/').
|
|
597
|
-
sstFileList = re.findall(r"%s.*\d+.sst" % dbPath, data)
|
|
598
|
-
self.assertTrue(len(sstFileList) >= 1)
|
|
599
|
-
for sstFilename in sstFileList:
|
|
600
|
-
filenumber = re.findall(r"\d+.sst", sstFilename)[0]
|
|
601
|
-
self.assertEqual(sstFilename, dbPath + filenumber)
|
|
602
|
-
|
|
603
|
-
# Check that all the Blob filenames have a correct full path (no multiple '/').
|
|
604
|
-
blobFileList = re.findall(r"%s.*\d+.blob" % dbPath, data)
|
|
605
|
-
self.assertTrue(len(blobFileList) >= 1)
|
|
606
|
-
for blobFilename in blobFileList:
|
|
607
|
-
filenumber = re.findall(r"\d+.blob", blobFilename)[0]
|
|
608
|
-
self.assertEqual(blobFilename, dbPath + filenumber)
|
|
609
|
-
|
|
610
|
-
# Check that all the manifest filenames
|
|
611
|
-
# have a correct full path (no multiple '/').
|
|
612
|
-
manifestFileList = re.findall(r"%s.*MANIFEST-\d+" % dbPath, data)
|
|
613
|
-
self.assertTrue(len(manifestFileList) >= 1)
|
|
614
|
-
for manifestFilename in manifestFileList:
|
|
615
|
-
filenumber = re.findall(r"(?<=MANIFEST-)\d+", manifestFilename)[0]
|
|
616
|
-
self.assertEqual(manifestFilename, dbPath + "MANIFEST-" + filenumber)
|
|
617
|
-
|
|
618
|
-
# Check that the blob file index is decoded.
|
|
619
|
-
decodedBlobIndex = re.findall(r"\[blob ref\]", data)
|
|
620
|
-
self.assertTrue(len(decodedBlobIndex) >= 1)
|
|
621
|
-
|
|
622
|
-
def listLiveFilesMetadata(self, params, dumpFile):
|
|
623
|
-
return 0 == run_err_null(
|
|
624
|
-
"./ldb list_live_files_metadata %s > %s" % (params, dumpFile)
|
|
625
|
-
)
|
|
626
|
-
|
|
627
|
-
def testListLiveFilesMetadata(self):
|
|
628
|
-
print("Running testListLiveFilesMetadata...")
|
|
629
|
-
|
|
630
|
-
dbPath = os.path.join(self.TMP_DIR, self.DB_NAME)
|
|
631
|
-
self.assertRunOK("put x1 y1 --create_if_missing", "OK")
|
|
632
|
-
self.assertRunOK("put x2 y2", "OK")
|
|
633
|
-
|
|
634
|
-
# Compare the SST filename and the level of list_live_files_metadata
|
|
635
|
-
# with the data collected from dump_live_files.
|
|
636
|
-
dumpFilePath1 = os.path.join(self.TMP_DIR, "dump1")
|
|
637
|
-
self.assertTrue(self.dumpLiveFiles("--db=%s" % dbPath, dumpFilePath1))
|
|
638
|
-
dumpFilePath2 = os.path.join(self.TMP_DIR, "dump2")
|
|
639
|
-
self.assertTrue(
|
|
640
|
-
self.listLiveFilesMetadata(
|
|
641
|
-
"--sort_by_filename --db=%s" % dbPath, dumpFilePath2
|
|
642
|
-
)
|
|
643
|
-
)
|
|
644
|
-
|
|
645
|
-
# Collect SST filename and level from dump_live_files
|
|
646
|
-
with open(dumpFilePath1, "r") as tmp:
|
|
647
|
-
data = tmp.read()
|
|
648
|
-
filename1 = re.findall(r".*\d+\.sst", data)[0]
|
|
649
|
-
level1 = re.findall(r"level:\d+", data)[0].split(":")[1]
|
|
650
|
-
|
|
651
|
-
# Collect SST filename and level from list_live_files_metadata
|
|
652
|
-
with open(dumpFilePath2, "r") as tmp:
|
|
653
|
-
data = tmp.read()
|
|
654
|
-
filename2 = re.findall(r".*\d+\.sst", data)[0]
|
|
655
|
-
level2 = re.findall(r"level \d+", data)[0].split(" ")[1]
|
|
656
|
-
|
|
657
|
-
# Assert equality between filenames and levels.
|
|
658
|
-
self.assertEqual(filename1, filename2)
|
|
659
|
-
self.assertEqual(level1, level2)
|
|
660
|
-
|
|
661
|
-
# Create multiple column families and compare the output
|
|
662
|
-
# of list_live_files_metadata with dump_live_files once again.
|
|
663
|
-
# Create new CF, and insert data:
|
|
664
|
-
self.assertRunOK("create_column_family mycol1", "OK")
|
|
665
|
-
self.assertRunOK("put --column_family=mycol1 v1 v2", "OK")
|
|
666
|
-
self.assertRunOK("create_column_family mycol2", "OK")
|
|
667
|
-
self.assertRunOK("put --column_family=mycol2 h1 h2", "OK")
|
|
668
|
-
self.assertRunOK("put --column_family=mycol2 h3 h4", "OK")
|
|
669
|
-
|
|
670
|
-
# Call dump_live_files and list_live_files_metadata
|
|
671
|
-
# and pipe the output to compare them later.
|
|
672
|
-
dumpFilePath3 = os.path.join(self.TMP_DIR, "dump3")
|
|
673
|
-
self.assertTrue(self.dumpLiveFiles("--db=%s" % dbPath, dumpFilePath3))
|
|
674
|
-
dumpFilePath4 = os.path.join(self.TMP_DIR, "dump4")
|
|
675
|
-
self.assertTrue(
|
|
676
|
-
self.listLiveFilesMetadata(
|
|
677
|
-
"--sort_by_filename --db=%s" % dbPath, dumpFilePath4
|
|
678
|
-
)
|
|
679
|
-
)
|
|
680
|
-
|
|
681
|
-
# dump_live_files:
|
|
682
|
-
# parse the output and create a map:
|
|
683
|
-
# [key: sstFilename]->[value:[LSM level, Column Family Name]]
|
|
684
|
-
referenceMap = {}
|
|
685
|
-
with open(dumpFilePath3, "r") as tmp:
|
|
686
|
-
data = tmp.read()
|
|
687
|
-
# Note: the following regex are contingent on what the
|
|
688
|
-
# dump_live_files outputs.
|
|
689
|
-
namesAndLevels = re.findall(r"\d+.sst level:\d+", data)
|
|
690
|
-
cfs = re.findall(r"(?<=column family name=)\w+", data)
|
|
691
|
-
# re.findall should not reorder the data.
|
|
692
|
-
# Therefore namesAndLevels[i] matches the data from cfs[i].
|
|
693
|
-
for count, nameAndLevel in enumerate(namesAndLevels):
|
|
694
|
-
sstFilename = re.findall(r"\d+.sst", nameAndLevel)[0]
|
|
695
|
-
sstLevel = re.findall(r"(?<=level:)\d+", nameAndLevel)[0]
|
|
696
|
-
cf = cfs[count]
|
|
697
|
-
referenceMap[sstFilename] = [sstLevel, cf]
|
|
698
|
-
|
|
699
|
-
# list_live_files_metadata:
|
|
700
|
-
# parse the output and create a map:
|
|
701
|
-
# [key: sstFilename]->[value:[LSM level, Column Family Name]]
|
|
702
|
-
testMap = {}
|
|
703
|
-
with open(dumpFilePath4, "r") as tmp:
|
|
704
|
-
data = tmp.read()
|
|
705
|
-
# Since for each SST file, all the information is contained
|
|
706
|
-
# on one line, the parsing is easy to perform and relies on
|
|
707
|
-
# the appearance of an "00xxx.sst" pattern.
|
|
708
|
-
sstLines = re.findall(r".*\d+.sst.*", data)
|
|
709
|
-
for line in sstLines:
|
|
710
|
-
sstFilename = re.findall(r"\d+.sst", line)[0]
|
|
711
|
-
sstLevel = re.findall(r"(?<=level )\d+", line)[0]
|
|
712
|
-
cf = re.findall(r"(?<=column family \')\w+(?=\')", line)[0]
|
|
713
|
-
testMap[sstFilename] = [sstLevel, cf]
|
|
714
|
-
|
|
715
|
-
# Compare the map obtained from dump_live_files and the map
|
|
716
|
-
# obtained from list_live_files_metadata. Everything should match.
|
|
717
|
-
self.assertEqual(referenceMap, testMap)
|
|
718
|
-
|
|
719
|
-
def getManifests(self, directory):
|
|
720
|
-
return glob.glob(directory + "/MANIFEST-*")
|
|
721
|
-
|
|
722
|
-
def getSSTFiles(self, directory):
|
|
723
|
-
return glob.glob(directory + "/*.sst")
|
|
724
|
-
|
|
725
|
-
def getWALFiles(self, directory):
|
|
726
|
-
return glob.glob(directory + "/*.log")
|
|
727
|
-
|
|
728
|
-
def getBlobFiles(self, directory):
|
|
729
|
-
return glob.glob(directory + "/*.blob")
|
|
730
|
-
|
|
731
|
-
def copyManifests(self, src, dest):
|
|
732
|
-
return 0 == run_err_null("cp " + src + " " + dest)
|
|
733
|
-
|
|
734
|
-
def testManifestDump(self):
|
|
735
|
-
print("Running testManifestDump...")
|
|
736
|
-
dbPath = os.path.join(self.TMP_DIR, self.DB_NAME)
|
|
737
|
-
self.assertRunOK("put 1 1 --create_if_missing", "OK")
|
|
738
|
-
self.assertRunOK("put 2 2", "OK")
|
|
739
|
-
self.assertRunOK("put 3 3", "OK")
|
|
740
|
-
# Pattern to expect from manifest_dump.
|
|
741
|
-
num = "[0-9]+"
|
|
742
|
-
st = ".*"
|
|
743
|
-
subpat = st + " seq:" + num + ", type:" + num
|
|
744
|
-
regex = num + ":" + num + "\[" + subpat + ".." + subpat + "\]"
|
|
745
|
-
expected_pattern = re.compile(regex)
|
|
746
|
-
cmd = "manifest_dump --db=%s"
|
|
747
|
-
manifest_files = self.getManifests(dbPath)
|
|
748
|
-
self.assertTrue(len(manifest_files) == 1)
|
|
749
|
-
# Test with the default manifest file in dbPath.
|
|
750
|
-
self.assertRunOKFull(
|
|
751
|
-
cmd % dbPath, expected_pattern, unexpected=False, isPattern=True
|
|
752
|
-
)
|
|
753
|
-
self.copyManifests(manifest_files[0], manifest_files[0] + "1")
|
|
754
|
-
manifest_files = self.getManifests(dbPath)
|
|
755
|
-
self.assertTrue(len(manifest_files) == 2)
|
|
756
|
-
# Test with multiple manifest files in dbPath.
|
|
757
|
-
self.assertRunFAILFull(cmd % dbPath)
|
|
758
|
-
# Running it with the copy we just created should pass.
|
|
759
|
-
self.assertRunOKFull(
|
|
760
|
-
(cmd + " --path=%s") % (dbPath, manifest_files[1]),
|
|
761
|
-
expected_pattern,
|
|
762
|
-
unexpected=False,
|
|
763
|
-
isPattern=True,
|
|
764
|
-
)
|
|
765
|
-
# Make sure that using the dump with --path will result in identical
|
|
766
|
-
# output as just using manifest_dump.
|
|
767
|
-
cmd = "dump --path=%s"
|
|
768
|
-
self.assertRunOKFull(
|
|
769
|
-
(cmd) % (manifest_files[1]),
|
|
770
|
-
expected_pattern,
|
|
771
|
-
unexpected=False,
|
|
772
|
-
isPattern=True,
|
|
773
|
-
)
|
|
774
|
-
|
|
775
|
-
# Check if null characters doesn't infer with output format.
|
|
776
|
-
self.assertRunOK("put a1 b1", "OK")
|
|
777
|
-
self.assertRunOK("put a2 b2", "OK")
|
|
778
|
-
self.assertRunOK("put --hex 0x12000DA0 0x80C0000B", "OK")
|
|
779
|
-
self.assertRunOK("put --hex 0x7200004f 0x80000004", "OK")
|
|
780
|
-
self.assertRunOK("put --hex 0xa000000a 0xf000000f", "OK")
|
|
781
|
-
self.assertRunOK("put a3 b3", "OK")
|
|
782
|
-
self.assertRunOK("put a4 b4", "OK")
|
|
783
|
-
|
|
784
|
-
# Verifies that all "levels" are printed out.
|
|
785
|
-
# There should be 66 mentions of levels.
|
|
786
|
-
expected_verbose_output = re.compile("matched")
|
|
787
|
-
# Test manifest_dump verbose and verify that key 0x7200004f
|
|
788
|
-
# is present. Note that we are forced to use grep here because
|
|
789
|
-
# an output with a non-terminating null character in it isn't piped
|
|
790
|
-
# correctly through the Python subprocess object.
|
|
791
|
-
# Also note that 0x72=r and 0x4f=O, hence the regex \'r.{2}O\'
|
|
792
|
-
# (we cannot use null character in the subprocess input either,
|
|
793
|
-
# so we have to use '.{2}')
|
|
794
|
-
cmd_verbose = (
|
|
795
|
-
"manifest_dump --verbose --db=%s | grep -aq $''r.{2}O'' && echo 'matched' || echo 'not matched'"
|
|
796
|
-
% dbPath
|
|
797
|
-
)
|
|
798
|
-
|
|
799
|
-
self.assertRunOKFull(
|
|
800
|
-
cmd_verbose, expected_verbose_output, unexpected=False, isPattern=True
|
|
801
|
-
)
|
|
802
|
-
|
|
803
|
-
def testGetProperty(self):
|
|
804
|
-
print("Running testGetProperty...")
|
|
805
|
-
dbPath = os.path.join(self.TMP_DIR, self.DB_NAME)
|
|
806
|
-
self.assertRunOK("put 1 1 --create_if_missing", "OK")
|
|
807
|
-
self.assertRunOK("put 2 2", "OK")
|
|
808
|
-
# A "string" property
|
|
809
|
-
cmd = "--db=%s get_property rocksdb.estimate-num-keys"
|
|
810
|
-
self.assertRunOKFull(cmd % dbPath, "rocksdb.estimate-num-keys: 2")
|
|
811
|
-
# A "map" property
|
|
812
|
-
# FIXME: why doesn't this pick up two entries?
|
|
813
|
-
cmd = "--db=%s get_property rocksdb.aggregated-table-properties"
|
|
814
|
-
part = "rocksdb.aggregated-table-properties.num_entries: "
|
|
815
|
-
expected_pattern = re.compile(part)
|
|
816
|
-
self.assertRunOKFull(
|
|
817
|
-
cmd % dbPath, expected_pattern, unexpected=False, isPattern=True
|
|
818
|
-
)
|
|
819
|
-
# An invalid property
|
|
820
|
-
cmd = "--db=%s get_property rocksdb.this-property-does-not-exist"
|
|
821
|
-
self.assertRunFAILFull(cmd % dbPath)
|
|
822
|
-
|
|
823
|
-
def testSSTDump(self):
|
|
824
|
-
print("Running testSSTDump...")
|
|
825
|
-
|
|
826
|
-
dbPath = os.path.join(self.TMP_DIR, self.DB_NAME)
|
|
827
|
-
self.assertRunOK("put sst1 sst1_val --create_if_missing", "OK")
|
|
828
|
-
self.assertRunOK("put sst2 sst2_val --enable_blob_files", "OK")
|
|
829
|
-
self.assertRunOK("get sst1", "sst1_val")
|
|
830
|
-
|
|
831
|
-
# Pattern to expect from SST dump.
|
|
832
|
-
regex = ".*Sst file format:.*\n.*\[blob ref\].*"
|
|
833
|
-
expected_pattern = re.compile(regex)
|
|
834
|
-
|
|
835
|
-
sst_files = self.getSSTFiles(dbPath)
|
|
836
|
-
self.assertTrue(len(sst_files) >= 1)
|
|
837
|
-
cmd = "dump --path=%s --decode_blob_index"
|
|
838
|
-
self.assertRunOKFull(
|
|
839
|
-
(cmd) % (sst_files[0]), expected_pattern, unexpected=False, isPattern=True
|
|
840
|
-
)
|
|
841
|
-
|
|
842
|
-
def testBlobDump(self):
|
|
843
|
-
print("Running testBlobDump")
|
|
844
|
-
dbPath = os.path.join(self.TMP_DIR, self.DB_NAME)
|
|
845
|
-
self.assertRunOK("batchput x1 y1 --create_if_missing --enable_blob_files", "OK")
|
|
846
|
-
self.assertRunOK(
|
|
847
|
-
'batchput --enable_blob_files x2 y2 x3 y3 "x4 abc" "y4 xyz"', "OK"
|
|
848
|
-
)
|
|
849
|
-
|
|
850
|
-
# Pattern to expect from blob file dump.
|
|
851
|
-
regex = ".*Blob log header[\s\S]*Blob log footer[\s\S]*Read record[\s\S]*Summary" # noqa
|
|
852
|
-
expected_pattern = re.compile(regex)
|
|
853
|
-
blob_files = self.getBlobFiles(dbPath)
|
|
854
|
-
self.assertTrue(len(blob_files) >= 1)
|
|
855
|
-
cmd = "dump --path=%s --dump_uncompressed_blobs"
|
|
856
|
-
self.assertRunOKFull(
|
|
857
|
-
(cmd) % (blob_files[0]), expected_pattern, unexpected=False, isPattern=True
|
|
858
|
-
)
|
|
859
|
-
|
|
860
|
-
def testWALDump(self):
|
|
861
|
-
print("Running testWALDump...")
|
|
862
|
-
|
|
863
|
-
dbPath = os.path.join(self.TMP_DIR, self.DB_NAME)
|
|
864
|
-
self.assertRunOK("put wal1 wal1_val --create_if_missing", "OK")
|
|
865
|
-
self.assertRunOK("put wal2 wal2_val", "OK")
|
|
866
|
-
self.assertRunOK("get wal1", "wal1_val")
|
|
867
|
-
|
|
868
|
-
# Pattern to expect from WAL dump.
|
|
869
|
-
regex = "^Sequence,Count,ByteSize,Physical Offset,Key\(s\).*"
|
|
870
|
-
expected_pattern = re.compile(regex)
|
|
871
|
-
|
|
872
|
-
wal_files = self.getWALFiles(dbPath)
|
|
873
|
-
self.assertTrue(len(wal_files) >= 1)
|
|
874
|
-
cmd = "dump --path=%s"
|
|
875
|
-
self.assertRunOKFull(
|
|
876
|
-
(cmd) % (wal_files[0]), expected_pattern, unexpected=False, isPattern=True
|
|
877
|
-
)
|
|
878
|
-
|
|
879
|
-
def testListColumnFamilies(self):
|
|
880
|
-
print("Running testListColumnFamilies...")
|
|
881
|
-
self.assertRunOK("put x1 y1 --create_if_missing", "OK")
|
|
882
|
-
cmd = 'list_column_families | grep -v "Column families"'
|
|
883
|
-
# Test on valid dbPath.
|
|
884
|
-
self.assertRunOK(cmd, "{default}")
|
|
885
|
-
# Test on empty path.
|
|
886
|
-
self.assertRunFAIL(cmd)
|
|
887
|
-
|
|
888
|
-
def testColumnFamilies(self):
|
|
889
|
-
print("Running testColumnFamilies...")
|
|
890
|
-
_ = os.path.join(self.TMP_DIR, self.DB_NAME)
|
|
891
|
-
self.assertRunOK("put cf1_1 1 --create_if_missing", "OK")
|
|
892
|
-
self.assertRunOK("put cf1_2 2 --create_if_missing", "OK")
|
|
893
|
-
self.assertRunOK("put cf1_3 3 --try_load_options", "OK")
|
|
894
|
-
# Given non-default column family to single CF DB.
|
|
895
|
-
self.assertRunFAIL("get cf1_1 --column_family=two")
|
|
896
|
-
self.assertRunOK("create_column_family two", "OK")
|
|
897
|
-
self.assertRunOK("put cf2_1 1 --create_if_missing --column_family=two", "OK")
|
|
898
|
-
self.assertRunOK("put cf2_2 2 --create_if_missing --column_family=two", "OK")
|
|
899
|
-
self.assertRunOK("delete cf1_2", "OK")
|
|
900
|
-
self.assertRunOK("create_column_family three", "OK")
|
|
901
|
-
self.assertRunOK("delete cf2_2 --column_family=two", "OK")
|
|
902
|
-
self.assertRunOK("put cf3_1 3 --create_if_missing --column_family=three", "OK")
|
|
903
|
-
self.assertRunOK("get cf1_1 --column_family=default", "1")
|
|
904
|
-
self.assertRunOK("dump --column_family=two", "cf2_1 ==> 1\nKeys in range: 1")
|
|
905
|
-
self.assertRunOK(
|
|
906
|
-
"dump --column_family=two --try_load_options",
|
|
907
|
-
"cf2_1 ==> 1\nKeys in range: 1",
|
|
908
|
-
)
|
|
909
|
-
self.assertRunOK("dump", "cf1_1 ==> 1\ncf1_3 ==> 3\nKeys in range: 2")
|
|
910
|
-
self.assertRunOK("get cf2_1 --column_family=two", "1")
|
|
911
|
-
self.assertRunOK("get cf3_1 --column_family=three", "3")
|
|
912
|
-
self.assertRunOK("drop_column_family three", "OK")
|
|
913
|
-
# non-existing column family.
|
|
914
|
-
self.assertRunFAIL("get cf3_1 --column_family=four")
|
|
915
|
-
self.assertRunFAIL("drop_column_family four")
|
|
916
|
-
|
|
917
|
-
def testIngestExternalSst(self):
|
|
918
|
-
print("Running testIngestExternalSst...")
|
|
919
|
-
|
|
920
|
-
# Dump, load, write external sst and ingest it in another db
|
|
921
|
-
dbPath = os.path.join(self.TMP_DIR, "db1")
|
|
922
|
-
self.assertRunOK(
|
|
923
|
-
"batchput --db=%s --create_if_missing x1 y1 x2 y2 x3 y3 x4 y4" % dbPath,
|
|
924
|
-
"OK",
|
|
925
|
-
)
|
|
926
|
-
self.assertRunOK("scan --db=%s" % dbPath, "x1 : y1\nx2 : y2\nx3 : y3\nx4 : y4")
|
|
927
|
-
dumpFilePath = os.path.join(self.TMP_DIR, "dump1")
|
|
928
|
-
with open(dumpFilePath, "w") as f:
|
|
929
|
-
f.write("x1 ==> y10\nx2 ==> y20\nx3 ==> y30\nx4 ==> y40")
|
|
930
|
-
externSstPath = os.path.join(self.TMP_DIR, "extern_data1.sst")
|
|
931
|
-
self.assertTrue(
|
|
932
|
-
self.writeExternSst(
|
|
933
|
-
"--create_if_missing --db=%s" % dbPath, dumpFilePath, externSstPath
|
|
934
|
-
)
|
|
935
|
-
)
|
|
936
|
-
# cannot ingest if allow_global_seqno is false
|
|
937
|
-
self.assertFalse(
|
|
938
|
-
self.ingestExternSst(
|
|
939
|
-
"--create_if_missing --allow_global_seqno=false --db=%s" % dbPath,
|
|
940
|
-
externSstPath,
|
|
941
|
-
)
|
|
942
|
-
)
|
|
943
|
-
self.assertTrue(
|
|
944
|
-
self.ingestExternSst(
|
|
945
|
-
"--create_if_missing --allow_global_seqno --db=%s" % dbPath,
|
|
946
|
-
externSstPath,
|
|
947
|
-
)
|
|
948
|
-
)
|
|
949
|
-
self.assertRunOKFull(
|
|
950
|
-
"scan --db=%s" % dbPath, "x1 : y10\nx2 : y20\nx3 : y30\nx4 : y40"
|
|
951
|
-
)
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
if __name__ == "__main__":
|
|
955
|
-
unittest.main()
|