Skip to content

Ship the license and the real version in the doltlite crate - #2559

Merged
timsehn merged 1 commit into
masterfrom
fix/2543-rust-crate-license-version
Sep 2, 2026
Merged

Ship the license and the real version in the doltlite crate#2559
timsehn merged 1 commit into
masterfrom
fix/2543-rust-crate-license-version

Conversation

@timsehn

@timsehn timsehn commented Sep 2, 2026

Copy link
Copy Markdown
Collaborator

Fixes #2543.

Two defects in the published doltlite crate, both confirmed against the live crates.io 0.50.2 artifact.

No license text. assemble.sh stages LICENSE.md into the crate, but Cargo.toml's include list omitted it, and license = "Apache-2.0" is an SPDX expression rather than license-file, so cargo excluded it from the package. The vendored amalgamation embeds mbedtls, ed25519 and BLAKE3, whose notices live in that file. Adding LICENSE.md to include ships it.

No engine version. DOLTLITE_VERSION reaches ordinary builds as a -D flag from doltlite.mk and is never baked into the amalgamation text, so the crate compiled against the #ifndef fallback and dolt_version() answered "doltlite-amalgamation". build.rs now defines it from CARGO_PKG_VERSION, which assemble.sh stamps from the release tag — so the crate reports the same string as the tag it was published from.

Evidence

test-package.sh gains both assertions — it packages the crate exactly as cargo publish would, extracts that tarball, and builds the smoke test against the extracted copy:

  • the extracted package must contain LICENSE.md
  • dolt_version() must be stamped (not the placeholder), and must equal the crate version

Fail-before / pass-after, run locally against a freshly regenerated amalgamation:

state result
both fixes reverted ERROR: packaged crate has no LICENSE.md
license fixed, version reverted FAIL: dolt_version is stamped... + FAIL: dolt_version matches the crate version
both applied 21/21 PASS

Also verified the real-release path rather than only the 0.0.0 staging version: assembling at 0.50.2 produces a tarball containing LICENSE.md, and dolt_version() returns exactly v0.50.2. Run under cargo 1.68.1, which is the crate's declared MSRV.

🤖 Generated with Claude Code

The published crate carried neither its license text nor its engine
version. assemble.sh staged LICENSE.md, but the manifest's include list
omitted it and license is an SPDX expression rather than license-file, so
cargo dropped it from the package -- confirmed absent from the crates.io
0.50.2 tarball. The vendored amalgamation embeds mbedtls, ed25519 and
BLAKE3, whose notices live in that file.

DOLTLITE_VERSION reaches ordinary builds as a compiler flag from
doltlite.mk, never as amalgamation text, so the crate compiled against
the placeholder and dolt_version() answered "doltlite-amalgamation".
build.rs now defines it from CARGO_PKG_VERSION, which assemble.sh stamps
from the release tag.

The package smoke test asserts both: LICENSE.md survives into the
extracted tarball, and dolt_version() reports the crate's own version.
Both assertions fail on the unfixed crate.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

DoltLite source coverage

Metric Covered Total Coverage
Lines 53686 63085 85.10%
Branches 24834 36632 67.79%
Functions 2511 2723 92.21%

Merged 203 pooled raw profiles from the distributed Linux correctness jobs.

Per-file coverage (98 files)
File Lines Branches Functions
src/btree_orig_api.c 87.91% 77.27% 89.53%
src/chunk_file.c 100.00% 100.00% 100.00%
src/chunk_index.c 84.27% 66.78% 100.00%
src/chunk_refs.c 84.99% 69.17% 79.37%
src/chunk_staging.c 93.75% 81.15% 100.00%
src/chunk_store.c 91.11% 75.34% 100.00%
src/chunk_store_commit.c 86.75% 67.23% 100.00%
src/chunk_store_lock.c 88.69% 71.00% 100.00%
src/chunk_store_refs_api.c 91.17% 76.75% 100.00%
src/chunk_wal.c 82.48% 58.70% 87.50%
src/doltlite.c 100.00% 100.00% 100.00%
src/doltlite_add.c 86.85% 69.76% 100.00%
src/doltlite_ancestor.c 89.19% 68.92% 100.00%
src/doltlite_at.c 83.39% 64.20% 100.00%
src/doltlite_blame.c 80.86% 61.14% 96.43%
src/doltlite_branch.c 88.30% 80.66% 100.00%
src/doltlite_branches.c 93.75% 75.93% 93.75%
src/doltlite_checkout.c 77.57% 63.06% 96.43%
src/doltlite_cherry_pick.c 79.29% 60.00% 71.43%
src/doltlite_chunk_walk.c 92.23% 66.22% 100.00%
src/doltlite_clean.c 93.33% 67.19% 100.00%
src/doltlite_cmd.c 81.09% 75.19% 100.00%
src/doltlite_commit.c 94.41% 76.87% 100.00%
src/doltlite_commit_ancestors.c 92.09% 72.83% 92.31%
src/doltlite_commit_cmd.c 78.08% 67.50% 100.00%
src/doltlite_config.c 80.47% 71.74% 100.00%
src/doltlite_conflicts.c 84.27% 62.50% 93.75%
src/doltlite_constraint_violations.c 82.46% 57.54% 91.11%
src/doltlite_core.c 91.34% 70.81% 100.00%
src/doltlite_creds.c 84.09% 53.78% 92.00%
src/doltlite_dbpage.c 93.45% 78.33% 91.67%
src/doltlite_diff.c 88.56% 68.99% 96.55%
src/doltlite_diff_stat.c 94.17% 76.01% 95.65%
src/doltlite_diff_table.c 94.09% 70.60% 97.06%
src/doltlite_docs.c 83.94% 71.43% 94.74%
src/doltlite_gc.c 78.48% 58.10% 96.55%
src/doltlite_hashof.c 79.79% 70.05% 100.00%
src/doltlite_history.c 86.93% 76.40% 100.00%
src/doltlite_http_remote.c 82.22% 57.34% 92.31%
src/doltlite_ignore.c 77.57% 62.25% 82.14%
src/doltlite_log.c 96.81% 73.24% 92.86%
src/doltlite_merge.c 95.93% 70.46% 100.00%
src/doltlite_merge_cmd.c 87.39% 72.36% 100.00%
src/doltlite_merge_constraints.c 86.15% 63.64% 95.00%
src/doltlite_merge_constraints_check.c 86.81% 67.79% 100.00%
src/doltlite_merge_constraints_fk.c 78.00% 56.64% 100.00%
src/doltlite_merge_constraints_notnull.c 80.45% 67.92% 100.00%
src/doltlite_merge_constraints_strict.c 77.35% 63.04% 100.00%
src/doltlite_merge_constraints_unique.c 85.99% 62.82% 100.00%
src/doltlite_merge_pass1.c 92.94% 74.16% 100.00%
src/doltlite_merge_pass2.c 83.59% 67.46% 100.00%
src/doltlite_merge_predetect.c 86.38% 71.15% 95.45%
src/doltlite_merge_rebuild.c 99.15% 78.91% 100.00%
src/doltlite_merge_rows.c 82.93% 64.74% 100.00%
src/doltlite_merge_schema.c 90.95% 71.94% 97.06%
src/doltlite_merge_status.c 91.98% 73.53% 92.31%
src/doltlite_patch.c 94.36% 70.71% 98.15%
src/doltlite_rebase.c 85.42% 59.55% 100.00%
src/doltlite_record.c 78.67% 59.36% 95.24%
src/doltlite_ref.c 95.52% 75.36% 100.00%
src/doltlite_remote.c 85.61% 66.89% 96.00%
src/doltlite_remote_sql.c 66.60% 60.73% 93.55%
src/doltlite_remotesrv.c 75.76% 63.77% 90.77%
src/doltlite_reset.c 87.48% 72.76% 100.00%
src/doltlite_revert.c 80.51% 69.44% 100.00%
src/doltlite_schema_diff.c 94.42% 71.13% 96.97%
src/doltlite_schemas.c 70.86% 48.75% 90.91%
src/doltlite_status.c 91.49% 72.78% 97.56%
src/doltlite_tag.c 86.84% 70.31% 94.12%
src/doltlite_tests.c 84.22% 69.61% 91.11%
src/doltlite_tls.c 85.04% 62.73% 92.31%
src/doltlite_verify_constraints.c 79.15% 66.44% 100.00%
src/doltlite_workspace.c 91.84% 70.27% 100.00%
src/pager_shim.c 58.87% 67.46% 34.29%
src/prolly_btree.c 86.00% 66.45% 90.70%
src/prolly_btree_catalog.c 83.10% 69.04% 97.22%
src/prolly_btree_cursor.c 84.15% 62.09% 96.00%
src/prolly_btree_cursor_count.c 80.05% 56.74% 100.00%
src/prolly_btree_cursor_payload.c 75.69% 54.48% 95.65%
src/prolly_btree_cursor_seek.c 76.68% 66.20% 82.35%
src/prolly_btree_mutation.c 88.02% 68.30% 97.83%
src/prolly_btree_orig.c 93.75% 71.43% 93.15%
src/prolly_btree_state.c 93.51% 66.38% 100.00%
src/prolly_btree_txn.c 81.84% 69.30% 98.08%
src/prolly_cache.c 93.27% 69.12% 100.00%
src/prolly_check.c 60.36% 62.96% 100.00%
src/prolly_chunker.c 94.04% 78.38% 100.00%
src/prolly_cursor.c 89.67% 80.47% 100.00%
src/prolly_diff.c 59.59% 46.05% 71.43%
src/prolly_hash.c 93.33% 80.00% 100.00%
src/prolly_hashset.c 90.48% 80.56% 100.00%
src/prolly_mutate.c 80.78% 69.11% 100.00%
src/prolly_mutmap.c 93.87% 80.15% 100.00%
src/prolly_node.c 88.91% 73.81% 100.00%
src/prolly_three_way_diff.c 95.79% 85.37% 100.00%
src/prolly_three_way_merge.c 81.92% 67.41% 91.67%
src/prolly_xxhash.c 100.00% 100.00% 100.00%
src/sortkey.c 93.16% 81.51% 100.00%

Download HTML and LCOV artifacts from this workflow run.

@itoqa

itoqa Bot commented Sep 2, 2026

Copy link
Copy Markdown

Ito QA test results
Commit: 1621516: 14 test cases ran, 14 passed ✅.

Summary

Coverage spans the core database workflow, including data queries, error handling, branching, commits, merges, history, and Unix consumer execution. It also exercises release packaging and licensing, version stamping and pairing, rebuild behavior, minimum supported tooling, and edge cases such as missing or mismatched expected versions and failed package retries.

Safe to merge — the exercised application and release behaviors are healthy, with no PR-attributable regressions, new failures, or previously flagged failures remaining. Any environmental limitations noted during individual checks do not indicate a merge blocker.

Tests run by Ito

View full run

Result Severity Type Description
General The version check accepted an unset value and the exact version, but rejected an empty value and the wrong version with clear failure messages.
General The 0.50.2 package reported v0.50.2 and the 0.50.3 package reported v0.50.3. Rebuilding and consuming them in swapped order did not mix their versions.
General The retry check completed without leaving an incomplete package behind. Cargo was unavailable, so the package contents and final archive were not actually built in this run.
Database The extracted Rust crate built successfully and completed the full database flow. SQL queries worked, branch changes stayed isolated until merge, and the history showed both commits.
Database A valid table query returned its rows, while a query for a missing table returned an error naming that table. The consumer finished successfully with exit status 0.
Database The Rust consumer built and ran on Unix with no linker or runtime errors. SQL and branch, commit, checkout, merge, and log checks all passed.
License The published crate contains LICENSE.md alongside the vendored engine files, so downstream users receive the required third-party notices.
License Package validation rejects an incomplete package when LICENSE.md is missing and reports a clear license-specific error.
Rev Building the package again after changing its version returned the new version instead of the old cached one. Both v0.50.2 and v0.50.3 passed when built with the same consumer target directory.
Rev The extracted release archive contains a complete LICENSE.md file that matches the repository, along with both vendored engine files and Apache-2.0 package metadata.
Rev The published crate builds and runs with the declared Rust 1.68 minimum. Its version check and all SQL and branch-management smoke checks passed.
Version The extracted 0.50.2 crate returned v0.50.2 from dolt_version(), passed the non-placeholder check, and completed the consumer smoke test successfully.
Version With the expected version unset, the consumer still checked that the engine version was stamped and not a placeholder. The smoke test passed while skipping only the optional exact-match check.
Version The package reported v0.50.2 while the check expected v9.9.9, so the test showed the mismatch message and exited with status 1 as intended.

Tip

Reply with @itoqa to send us feedback on this test run.

@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

DoltLite performance vs PR base

  • Baseline: 1622b18ae609656c2af5a5912b8e0a638b31ee25
  • Candidate: dcf79857ddf91a772c2e3c05a20476520aff02fe
  • Overall ratio: 0.997x
  • Gate result: PASS
  • Gates: individual > 1.50x with more than 10.00ms regression; section, suite, or overall > 1.25x with the same minimum delta
  • vc individual gate: > 2.00x with more than 50.00ms regression
  • Confirmed failed gates: none
  • Automatic retries: blobpk cleared after 3 attempts; no gate failed every time
Suite Workloads Baseline total Candidate total Ratio Result
blobpk 69 9.56s 9.52s 0.996x PASS
compositepk 69 11.87s 11.85s 0.998x PASS
int 69 10.33s 10.31s 0.998x PASS
textpk 69 11.67s 11.69s 1.002x PASS
vc 13 781.64ms 726.74ms 0.930x PASS
blobpk details
Section Test Baseline Candidate Delta Ratio Result
mem_reads oltp_point_select 27.30ms 27.41ms +101us 1.004x PASS
mem_reads oltp_range_select 10.64ms 10.77ms +136us 1.013x PASS
mem_reads oltp_sum_range 10.39ms 10.42ms +27us 1.003x PASS
mem_reads oltp_order_range 2.51ms 2.52ms +9us 1.004x PASS
mem_reads oltp_distinct_range 3.38ms 3.40ms +21us 1.006x PASS
mem_reads oltp_index_scan 4.45ms 4.46ms +3us 1.001x PASS
mem_reads select_random_points 15.69ms 15.70ms +14us 1.001x PASS
mem_reads select_random_ranges 4.20ms 4.20ms +0us 1.000x PASS
mem_reads covering_index_scan 3.45ms 3.45ms -4us 0.999x PASS
mem_reads groupby_scan 28.38ms 28.37ms -11us 1.000x PASS
mem_reads index_join 6.72ms 6.71ms -11us 0.998x PASS
mem_reads index_join_scan 4.67ms 4.57ms -102us 0.978x PASS
mem_reads types_table_scan 957.15ms 955.25ms -1.90ms 0.998x PASS
mem_reads table_scan 1.06s 1.06s -1.66ms 0.998x PASS
mem_reads oltp_read_only 101.33ms 101.71ms +376us 1.004x PASS
mem_writes oltp_bulk_insert 264.60ms 264.24ms -361us 0.999x PASS
mem_writes oltp_insert 27.82ms 28.00ms +186us 1.007x PASS
mem_writes oltp_update_index 97.28ms 97.94ms +658us 1.007x PASS
mem_writes oltp_update_non_index 55.78ms 56.17ms +390us 1.007x PASS
mem_writes oltp_delete_insert 76.26ms 76.42ms +167us 1.002x PASS
mem_writes oltp_write_only 44.23ms 44.32ms +84us 1.002x PASS
mem_writes types_delete_insert 36.67ms 36.68ms +14us 1.000x PASS
mem_writes oltp_read_write 102.52ms 103.22ms +692us 1.007x PASS
file_reads oltp_point_select 44.19ms 44.54ms +349us 1.008x PASS
file_reads oltp_range_select 12.48ms 12.64ms +155us 1.012x PASS
file_reads oltp_sum_range 12.14ms 12.26ms +122us 1.010x PASS
file_reads oltp_order_range 2.77ms 2.79ms +13us 1.005x PASS
file_reads oltp_distinct_range 3.65ms 3.67ms +12us 1.003x PASS
file_reads oltp_index_scan 6.63ms 6.65ms +19us 1.003x PASS
file_reads select_random_points 17.68ms 17.65ms -36us 0.998x PASS
file_reads select_random_ranges 5.94ms 5.99ms +56us 1.009x PASS
file_reads covering_index_scan 5.58ms 5.57ms -7us 0.999x PASS
file_reads groupby_scan 28.70ms 28.66ms -37us 0.999x PASS
file_reads index_join 8.61ms 8.63ms +21us 1.002x PASS
file_reads index_join_scan 4.92ms 4.90ms -22us 0.996x PASS
file_reads types_table_scan 952.02ms 951.76ms -258us 1.000x PASS
file_reads table_scan 1.05s 1.06s +2.55ms 1.002x PASS
file_reads oltp_read_only 124.94ms 126.14ms +1.20ms 1.010x PASS
file_writes oltp_bulk_insert 328.38ms 327.70ms -683us 0.998x PASS
file_writes oltp_insert 53.99ms 54.10ms +112us 1.002x PASS
file_writes oltp_update_index 178.58ms 179.56ms +977us 1.005x PASS
file_writes oltp_update_non_index 115.98ms 116.64ms +668us 1.006x PASS
file_writes oltp_delete_insert 144.56ms 144.55ms -8us 1.000x PASS
file_writes oltp_write_only 98.36ms 98.38ms +16us 1.000x PASS
file_writes types_delete_insert 78.60ms 78.76ms +154us 1.002x PASS
file_writes oltp_read_write 157.37ms 158.35ms +975us 1.006x PASS
ac_reads oltp_point_select 44.13ms 44.62ms +497us 1.011x PASS
ac_reads oltp_range_select 12.51ms 12.64ms +127us 1.010x PASS
ac_reads oltp_sum_range 12.16ms 12.34ms +181us 1.015x PASS
ac_reads oltp_order_range 2.78ms 2.78ms -3us 0.999x PASS
ac_reads oltp_distinct_range 3.68ms 3.67ms -11us 0.997x PASS
ac_reads oltp_index_scan 6.58ms 6.70ms +123us 1.019x PASS
ac_reads select_random_points 17.56ms 17.78ms +219us 1.012x PASS
ac_reads select_random_ranges 5.92ms 6.02ms +94us 1.016x PASS
ac_reads covering_index_scan 5.56ms 5.60ms +45us 1.008x PASS
ac_reads groupby_scan 28.79ms 28.68ms -100us 0.997x PASS
ac_reads index_join 8.58ms 8.67ms +90us 1.010x PASS
ac_reads index_join_scan 4.88ms 4.90ms +14us 1.003x PASS
ac_reads types_table_scan 951.97ms 950.80ms -1.17ms 0.999x PASS
ac_reads table_scan 1.06s 1.06s -2.20ms 0.998x PASS
ac_reads oltp_read_only 125.56ms 125.98ms +415us 1.003x PASS
ac_writes oltp_bulk_insert_ac 92.34ms 94.08ms +1.74ms 1.019x PASS
ac_writes oltp_insert_ac 156.65ms 124.07ms -32.58ms 0.792x PASS
ac_writes oltp_update_index_ac 113.92ms 118.60ms +4.68ms 1.041x PASS
ac_writes oltp_update_non_index_ac 95.34ms 111.61ms +16.26ms 1.171x PASS
ac_writes oltp_delete_insert_ac 138.22ms 118.00ms -20.22ms 0.854x PASS
ac_writes oltp_write_only_ac 115.49ms 100.43ms -15.07ms 0.870x PASS
ac_writes types_delete_insert_ac 77.97ms 79.83ms +1.86ms 1.024x PASS
ac_writes oltp_read_write_ac 97.30ms 95.27ms -2.03ms 0.979x PASS
compositepk details
Section Test Baseline Candidate Delta Ratio Result
mem_reads oltp_point_select 40.37ms 40.55ms +179us 1.004x PASS
mem_reads oltp_range_select 20.92ms 21.06ms +133us 1.006x PASS
mem_reads oltp_sum_range 20.12ms 20.02ms -99us 0.995x PASS
mem_reads oltp_order_range 3.83ms 3.84ms +13us 1.003x PASS
mem_reads oltp_distinct_range 5.07ms 5.02ms -53us 0.990x PASS
mem_reads oltp_index_scan 5.80ms 5.82ms +14us 1.002x PASS
mem_reads select_random_points 31.60ms 32.11ms +503us 1.016x PASS
mem_reads select_random_ranges 9.05ms 8.87ms -176us 0.981x PASS
mem_reads covering_index_scan 4.32ms 4.32ms -8us 0.998x PASS
mem_reads groupby_scan 39.66ms 39.73ms +74us 1.002x PASS
mem_reads index_join 10.37ms 10.11ms -258us 0.975x PASS
mem_reads index_join_scan 5.32ms 5.29ms -25us 0.995x PASS
mem_reads types_table_scan 1.25s 1.26s +6.85ms 1.005x PASS
mem_reads table_scan 1.35s 1.35s -5.56ms 0.996x PASS
mem_reads oltp_read_only 169.40ms 170.40ms +994us 1.006x PASS
mem_writes oltp_bulk_insert 350.32ms 346.44ms -3.88ms 0.989x PASS
mem_writes oltp_insert 35.07ms 34.84ms -234us 0.993x PASS
mem_writes oltp_update_index 122.71ms 120.77ms -1.94ms 0.984x PASS
mem_writes oltp_update_non_index 76.99ms 75.57ms -1.42ms 0.982x PASS
mem_writes oltp_delete_insert 94.49ms 93.50ms -989us 0.990x PASS
mem_writes oltp_write_only 55.59ms 55.91ms +317us 1.006x PASS
mem_writes types_delete_insert 52.23ms 52.45ms +224us 1.004x PASS
mem_writes oltp_read_write 161.67ms 160.68ms -997us 0.994x PASS
file_reads oltp_point_select 59.39ms 59.76ms +375us 1.006x PASS
file_reads oltp_range_select 23.12ms 23.11ms -10us 1.000x PASS
file_reads oltp_sum_range 22.26ms 22.09ms -173us 0.992x PASS
file_reads oltp_order_range 4.28ms 4.34ms +61us 1.014x PASS
file_reads oltp_distinct_range 5.39ms 5.35ms -38us 0.993x PASS
file_reads oltp_index_scan 8.32ms 8.18ms -146us 0.982x PASS
file_reads select_random_points 35.75ms 35.08ms -668us 0.981x PASS
file_reads select_random_ranges 10.99ms 11.00ms +8us 1.001x PASS
file_reads covering_index_scan 6.59ms 6.64ms +49us 1.007x PASS
file_reads groupby_scan 40.14ms 39.89ms -251us 0.994x PASS
file_reads index_join 12.05ms 11.96ms -91us 0.992x PASS
file_reads index_join_scan 5.69ms 5.84ms +154us 1.027x PASS
file_reads types_table_scan 1.25s 1.24s -1.20ms 0.999x PASS
file_reads table_scan 1.37s 1.37s +1.38ms 1.001x PASS
file_reads oltp_read_only 203.43ms 203.21ms -215us 0.999x PASS
file_writes oltp_bulk_insert 362.24ms 362.54ms +296us 1.001x PASS
file_writes oltp_insert 40.92ms 40.81ms -113us 0.997x PASS
file_writes oltp_update_index 136.66ms 137.18ms +517us 1.004x PASS
file_writes oltp_update_non_index 93.58ms 94.23ms +650us 1.007x PASS
file_writes oltp_delete_insert 109.48ms 110.84ms +1.36ms 1.012x PASS
file_writes oltp_write_only 68.36ms 69.05ms +686us 1.010x PASS
file_writes types_delete_insert 61.20ms 61.01ms -188us 0.997x PASS
file_writes oltp_read_write 176.42ms 176.49ms +68us 1.000x PASS
ac_reads oltp_point_select 61.58ms 60.72ms -856us 0.986x PASS
ac_reads oltp_range_select 23.15ms 23.23ms +88us 1.004x PASS
ac_reads oltp_sum_range 22.73ms 22.29ms -446us 0.980x PASS
ac_reads oltp_order_range 4.31ms 4.19ms -120us 0.972x PASS
ac_reads oltp_distinct_range 5.42ms 5.33ms -93us 0.983x PASS
ac_reads oltp_index_scan 8.36ms 8.34ms -16us 0.998x PASS
ac_reads select_random_points 36.12ms 36.04ms -80us 0.998x PASS
ac_reads select_random_ranges 11.23ms 11.01ms -217us 0.981x PASS
ac_reads covering_index_scan 6.66ms 6.67ms +14us 1.002x PASS
ac_reads groupby_scan 40.55ms 41.61ms +1.05ms 1.026x PASS
ac_reads index_join 12.54ms 12.60ms +63us 1.005x PASS
ac_reads index_join_scan 5.83ms 5.85ms +22us 1.004x PASS
ac_reads types_table_scan 1.28s 1.28s -1.64ms 0.999x PASS
ac_reads table_scan 1.39s 1.38s -9.52ms 0.993x PASS
ac_reads oltp_read_only 207.07ms 204.13ms -2.94ms 0.986x PASS
ac_writes oltp_bulk_insert_ac 79.01ms 77.74ms -1.27ms 0.984x PASS
ac_writes oltp_insert_ac 94.22ms 92.42ms -1.79ms 0.981x PASS
ac_writes oltp_update_index_ac 101.75ms 100.27ms -1.48ms 0.985x PASS
ac_writes oltp_update_non_index_ac 85.84ms 84.36ms -1.49ms 0.983x PASS
ac_writes oltp_delete_insert_ac 94.30ms 93.59ms -715us 0.992x PASS
ac_writes oltp_write_only_ac 95.65ms 96.97ms +1.32ms 1.014x PASS
ac_writes types_delete_insert_ac 85.85ms 84.83ms -1.02ms 0.988x PASS
ac_writes oltp_read_write_ac 101.12ms 100.69ms -432us 0.996x PASS
int details
Section Test Baseline Candidate Delta Ratio Result
mem_reads oltp_point_select 29.70ms 29.46ms -236us 0.992x PASS
mem_reads oltp_range_select 10.89ms 10.87ms -23us 0.998x PASS
mem_reads oltp_sum_range 10.89ms 10.82ms -72us 0.993x PASS
mem_reads oltp_order_range 2.74ms 2.73ms -14us 0.995x PASS
mem_reads oltp_distinct_range 3.83ms 3.85ms +10us 1.003x PASS
mem_reads oltp_index_scan 5.06ms 5.02ms -42us 0.992x PASS
mem_reads select_random_points 10.76ms 10.80ms +42us 1.004x PASS
mem_reads select_random_ranges 3.92ms 3.98ms +68us 1.017x PASS
mem_reads covering_index_scan 4.17ms 4.14ms -31us 0.993x PASS
mem_reads groupby_scan 32.10ms 32.41ms +313us 1.010x PASS
mem_reads index_join 7.70ms 7.83ms +136us 1.018x PASS
mem_reads index_join_scan 4.51ms 4.50ms -17us 0.996x PASS
mem_reads types_table_scan 1.18s 1.18s +3.85ms 1.003x PASS
mem_reads table_scan 1.27s 1.27s -2.75ms 0.998x PASS
mem_reads oltp_read_only 115.73ms 114.96ms -766us 0.993x PASS
mem_writes oltp_bulk_insert 250.23ms 249.98ms -254us 0.999x PASS
mem_writes oltp_insert 26.99ms 27.22ms +227us 1.008x PASS
mem_writes oltp_update_index 88.14ms 87.58ms -563us 0.994x PASS
mem_writes oltp_update_non_index 52.67ms 52.78ms +112us 1.002x PASS
mem_writes oltp_delete_insert 71.10ms 70.48ms -623us 0.991x PASS
mem_writes oltp_write_only 44.96ms 44.48ms -484us 0.989x PASS
mem_writes types_delete_insert 36.42ms 36.58ms +156us 1.004x PASS
mem_writes oltp_read_write 108.96ms 107.43ms -1.52ms 0.986x PASS
file_reads oltp_point_select 48.76ms 48.02ms -741us 0.985x PASS
file_reads oltp_range_select 13.13ms 13.03ms -101us 0.992x PASS
file_reads oltp_sum_range 13.23ms 13.13ms -100us 0.992x PASS
file_reads oltp_order_range 3.10ms 3.01ms -81us 0.974x PASS
file_reads oltp_distinct_range 4.16ms 4.17ms +10us 1.002x PASS
file_reads oltp_index_scan 7.18ms 7.28ms +96us 1.013x PASS
file_reads select_random_points 13.03ms 12.77ms -267us 0.980x PASS
file_reads select_random_ranges 5.85ms 5.86ms +11us 1.002x PASS
file_reads covering_index_scan 6.19ms 6.16ms -31us 0.995x PASS
file_reads groupby_scan 32.50ms 34.14ms +1.64ms 1.050x PASS
file_reads index_join 9.32ms 9.25ms -71us 0.992x PASS
file_reads index_join_scan 4.78ms 4.77ms -12us 0.997x PASS
file_reads types_table_scan 1.17s 1.17s +51us 1.000x PASS
file_reads table_scan 1.27s 1.27s -1.06ms 0.999x PASS
file_reads oltp_read_only 143.33ms 142.82ms -516us 0.996x PASS
file_writes oltp_bulk_insert 262.00ms 259.12ms -2.88ms 0.989x PASS
file_writes oltp_insert 30.92ms 30.90ms -24us 0.999x PASS
file_writes oltp_update_index 100.51ms 100.05ms -461us 0.995x PASS
file_writes oltp_update_non_index 64.52ms 65.04ms +524us 1.008x PASS
file_writes oltp_delete_insert 81.02ms 80.39ms -635us 0.992x PASS
file_writes oltp_write_only 52.20ms 52.90ms +699us 1.013x PASS
file_writes types_delete_insert 42.46ms 42.55ms +90us 1.002x PASS
file_writes oltp_read_write 118.94ms 115.96ms -2.98ms 0.975x PASS
ac_reads oltp_point_select 48.27ms 47.98ms -287us 0.994x PASS
ac_reads oltp_range_select 13.08ms 12.88ms -201us 0.985x PASS
ac_reads oltp_sum_range 13.16ms 12.81ms -351us 0.973x PASS
ac_reads oltp_order_range 3.07ms 3.06ms -13us 0.996x PASS
ac_reads oltp_distinct_range 4.10ms 4.10ms -5us 0.999x PASS
ac_reads oltp_index_scan 7.25ms 7.20ms -50us 0.993x PASS
ac_reads select_random_points 12.94ms 12.79ms -147us 0.989x PASS
ac_reads select_random_ranges 5.91ms 5.91ms +0us 1.000x PASS
ac_reads covering_index_scan 6.47ms 6.37ms -98us 0.985x PASS
ac_reads groupby_scan 34.16ms 33.19ms -968us 0.972x PASS
ac_reads index_join 9.27ms 9.49ms +226us 1.024x PASS
ac_reads index_join_scan 4.92ms 4.86ms -60us 0.988x PASS
ac_reads types_table_scan 1.17s 1.17s +1.66ms 1.001x PASS
ac_reads table_scan 1.27s 1.27s -3.25ms 0.997x PASS
ac_reads oltp_read_only 143.91ms 142.29ms -1.62ms 0.989x PASS
ac_writes oltp_bulk_insert_ac 74.33ms 73.52ms -809us 0.989x PASS
ac_writes oltp_insert_ac 87.99ms 86.70ms -1.29ms 0.985x PASS
ac_writes oltp_update_index_ac 98.39ms 98.33ms -61us 0.999x PASS
ac_writes oltp_update_non_index_ac 81.08ms 80.46ms -616us 0.992x PASS
ac_writes oltp_delete_insert_ac 89.00ms 89.02ms +18us 1.000x PASS
ac_writes oltp_write_only_ac 89.55ms 90.36ms +809us 1.009x PASS
ac_writes types_delete_insert_ac 80.22ms 79.03ms -1.19ms 0.985x PASS
ac_writes oltp_read_write_ac 95.99ms 95.43ms -557us 0.994x PASS
textpk details
Section Test Baseline Candidate Delta Ratio Result
mem_reads oltp_point_select 36.24ms 35.82ms -418us 0.988x PASS
mem_reads oltp_range_select 13.97ms 13.93ms -35us 0.997x PASS
mem_reads oltp_sum_range 13.48ms 13.58ms +96us 1.007x PASS
mem_reads oltp_order_range 3.23ms 3.24ms +10us 1.003x PASS
mem_reads oltp_distinct_range 4.27ms 4.27ms -6us 0.999x PASS
mem_reads oltp_index_scan 6.00ms 6.07ms +72us 1.012x PASS
mem_reads select_random_points 21.01ms 20.98ms -27us 0.999x PASS
mem_reads select_random_ranges 5.35ms 5.33ms -19us 0.996x PASS
mem_reads covering_index_scan 4.82ms 4.79ms -28us 0.994x PASS
mem_reads groupby_scan 36.64ms 36.62ms -20us 0.999x PASS
mem_reads index_join 9.59ms 9.81ms +217us 1.023x PASS
mem_reads index_join_scan 5.69ms 5.62ms -68us 0.988x PASS
mem_reads types_table_scan 1.28s 1.28s -1.48ms 0.999x PASS
mem_reads table_scan 1.43s 1.43s +266us 1.000x PASS
mem_reads oltp_read_only 135.96ms 136.05ms +93us 1.001x PASS
mem_writes oltp_bulk_insert 358.62ms 352.15ms -6.47ms 0.982x PASS
mem_writes oltp_insert 38.90ms 39.20ms +306us 1.008x PASS
mem_writes oltp_update_index 143.91ms 143.99ms +83us 1.001x PASS
mem_writes oltp_update_non_index 82.08ms 81.66ms -419us 0.995x PASS
mem_writes oltp_delete_insert 108.23ms 108.29ms +56us 1.001x PASS
mem_writes oltp_write_only 63.92ms 63.90ms -19us 1.000x PASS
mem_writes types_delete_insert 53.92ms 54.30ms +370us 1.007x PASS
mem_writes oltp_read_write 142.12ms 142.34ms +223us 1.002x PASS
file_reads oltp_point_select 56.03ms 57.42ms +1.39ms 1.025x PASS
file_reads oltp_range_select 15.83ms 15.96ms +129us 1.008x PASS
file_reads oltp_sum_range 15.80ms 15.87ms +69us 1.004x PASS
file_reads oltp_order_range 3.46ms 3.49ms +28us 1.008x PASS
file_reads oltp_distinct_range 4.55ms 4.55ms +6us 1.001x PASS
file_reads oltp_index_scan 8.32ms 8.24ms -74us 0.991x PASS
file_reads select_random_points 22.92ms 23.10ms +176us 1.008x PASS
file_reads select_random_ranges 7.44ms 7.41ms -35us 0.995x PASS
file_reads covering_index_scan 6.98ms 6.96ms -18us 0.997x PASS
file_reads groupby_scan 36.52ms 36.92ms +404us 1.011x PASS
file_reads index_join 10.84ms 10.83ms -10us 0.999x PASS
file_reads index_join_scan 6.03ms 5.97ms -64us 0.989x PASS
file_reads types_table_scan 1.25s 1.26s +10.57ms 1.008x PASS
file_reads table_scan 1.39s 1.40s +6.27ms 1.005x PASS
file_reads oltp_read_only 165.32ms 163.38ms -1.94ms 0.988x PASS
file_writes oltp_bulk_insert 369.54ms 365.55ms -3.99ms 0.989x PASS
file_writes oltp_insert 45.44ms 45.46ms +21us 1.000x PASS
file_writes oltp_update_index 156.67ms 157.82ms +1.16ms 1.007x PASS
file_writes oltp_update_non_index 95.01ms 94.42ms -587us 0.994x PASS
file_writes oltp_delete_insert 122.05ms 121.99ms -58us 1.000x PASS
file_writes oltp_write_only 73.61ms 73.61ms +2us 1.000x PASS
file_writes types_delete_insert 62.38ms 61.96ms -426us 0.993x PASS
file_writes oltp_read_write 153.00ms 153.21ms +211us 1.001x PASS
ac_reads oltp_point_select 57.04ms 57.31ms +262us 1.005x PASS
ac_reads oltp_range_select 15.72ms 16.11ms +393us 1.025x PASS
ac_reads oltp_sum_range 15.78ms 16.08ms +302us 1.019x PASS
ac_reads oltp_order_range 3.46ms 3.47ms +9us 1.003x PASS
ac_reads oltp_distinct_range 4.61ms 4.58ms -24us 0.995x PASS
ac_reads oltp_index_scan 8.16ms 8.22ms +62us 1.008x PASS
ac_reads select_random_points 22.37ms 22.76ms +395us 1.018x PASS
ac_reads select_random_ranges 7.39ms 7.37ms -21us 0.997x PASS
ac_reads covering_index_scan 7.01ms 7.05ms +33us 1.005x PASS
ac_reads groupby_scan 36.40ms 36.75ms +354us 1.010x PASS
ac_reads index_join 10.87ms 10.91ms +45us 1.004x PASS
ac_reads index_join_scan 6.00ms 6.00ms +4us 1.001x PASS
ac_reads types_table_scan 1.26s 1.26s +5.44ms 1.004x PASS
ac_reads table_scan 1.42s 1.43s +7.55ms 1.005x PASS
ac_reads oltp_read_only 165.36ms 164.16ms -1.20ms 0.993x PASS
ac_writes oltp_bulk_insert_ac 55.67ms 55.70ms +32us 1.001x PASS
ac_writes oltp_insert_ac 68.26ms 67.84ms -423us 0.994x PASS
ac_writes oltp_update_index_ac 80.44ms 80.96ms +513us 1.006x PASS
ac_writes oltp_update_non_index_ac 62.34ms 64.65ms +2.31ms 1.037x PASS
ac_writes oltp_delete_insert_ac 72.32ms 70.94ms -1.37ms 0.981x PASS
ac_writes oltp_write_only_ac 72.43ms 74.32ms +1.89ms 1.026x PASS
ac_writes types_delete_insert_ac 63.46ms 63.29ms -176us 0.997x PASS
ac_writes oltp_read_write_ac 79.64ms 79.50ms -143us 0.998x PASS
vc details
Section Test Baseline Candidate Delta Ratio Result
vc status_clean_many_tables 54.88ms 54.01ms -866us 0.984x PASS
vc status_dirty_many_tables 58.81ms 57.63ms -1.18ms 0.980x PASS
vc diff_regular_working_one_table 50.09ms 50.95ms +855us 1.017x PASS
vc diff_regular_working_many_tables 61.44ms 61.45ms +15us 1.000x PASS
vc diff_stat_working_many_tables 61.27ms 61.49ms +222us 1.004x PASS
vc diff_schema_working_many_tables 60.47ms 61.28ms +809us 1.013x PASS
vc branch_list_many_branches 16.51ms 16.39ms -114us 0.993x PASS
vc branch_create_delete 39.85ms 32.84ms -7.02ms 0.824x PASS
vc checkout_branch_clean 86.59ms 93.60ms +7.01ms 1.081x PASS
vc merge_data_no_conflicts 149.38ms 39.12ms -110.27ms 0.262x PASS
vc merge_schema_no_conflicts 100.26ms 155.53ms +55.27ms 1.551x PASS
vc merge_data_conflicts 21.04ms 21.49ms +445us 1.021x PASS
vc merge_data_conflicts_with_resolve 21.06ms 20.97ms -86us 0.996x PASS

All relative performance gates passed.

@timsehn
timsehn merged commit a27cb01 into master Sep 2, 2026
68 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Rust crate: LICENSE.md missing from the published package; dolt_version() returns 'doltlite-amalgamation'

1 participant