-
Notifications
You must be signed in to change notification settings - Fork 54
feat(platform)!: verifiable, bounded count queries on a unified endpoint #3623
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
82 commits
Select commit
Hold shift + click to select a range
f784f43
feat(platform): unify count + split-count into one endpoint
QuantumExplorer 4fe3ce5
chore(deps): bump grovedb to 347bd9b5 (NonCounted + AggregateCountOnR…
QuantumExplorer e9e06b0
feat(dpp): add range_countable per-index property (schema-level plumb…
QuantumExplorer 2ce2139
feat(drive): NonCounted-empty-tree helper + range_countable insert guard
QuantumExplorer 6c58fff
feat(drive): add batch_insert_empty_non_counted_normal_tree_if_not_ex…
QuantumExplorer 0943719
feat(drive): wire range_countable storage layout in insert walker
QuantumExplorer ebdd5e8
feat(drive): mirror range_countable storage layout in delete walker
QuantumExplorer 97b4687
test(drive): add range_countable index e2e coverage
QuantumExplorer 4c9ad44
feat(drive): add range-aware count picker for range_countable indexes
QuantumExplorer 0dad2df
feat(drive): implement range count executor on range_countable indexes
QuantumExplorer e807df1
feat(drive-abci): route range count queries through range_countable path
QuantumExplorer d0cdcce
chore(dapi-grpc): regenerate clients for unified count endpoint
QuantumExplorer 692b53d
docs(book): document range count + AggregateCountOnRange proof path
QuantumExplorer 4619cb3
fix(dpp): satisfy clippy 1.92 doc-lazy-continuation on IndexLevelType…
QuantumExplorer b637852
fix(drive): satisfy clippy 1.92 doc-overindented-list-items
QuantumExplorer 99ee2cc
test: improve range count coverage in drive + drive-abci
QuantumExplorer 80e668a
refactor(dpp): drop dead protocol-version guards in v1 try_from_schema
QuantumExplorer 749fbc4
docs(dpp): clarify range_countable affects only last index property
QuantumExplorer 7e741ce
fix(dpp): restore protocol-version guards in v1 try_from_schema
QuantumExplorer 973d424
refactor(drive,drive-abci): extract count-mode detection into rs-drive
QuantumExplorer 59a9149
refactor(drive,drive-abci): extract per-mode count executors into rs-…
QuantumExplorer 46ec92a
refactor(drive,drive-abci): collapse count handler into one drive call
QuantumExplorer 7fd9369
fix(drive): satisfy clippy 1.92 in count executor signatures + docstr…
QuantumExplorer 8c1f872
feat(sdk,wasm-sdk,book): expose new count-query fields + sync indexes.md
QuantumExplorer 93f332b
fix(rs-sdk-ffi): populate new DocumentCountQuery fields
QuantumExplorer 22594d7
feat(drive,sdk): expose AggregateCountOnRange path-builder + clear SD…
QuantumExplorer b5cee1d
fix(drive): clippy 1.92 doc-overindented-list-items in path-builder doc
QuantumExplorer 10e34a7
fix(dpp,drive): address CodeRabbit findings on count-query PR
QuantumExplorer 3ef2ca3
fix(drive): restore prove+In via materialize-and-count, thread option…
QuantumExplorer 8fb7a47
feat(sdk,drive-proof-verifier): wire up AggregateCountOnRange proof v…
QuantumExplorer a288a89
fix(drive): cap PerInValue In array at 100 + delete dead split-count …
QuantumExplorer aab3377
autogen
QuantumExplorer 4913d38
fix(sdk): route DocumentSplitCounts total-count through DocumentCount…
QuantumExplorer d4bf97b
docs(book),test(dpp): clarify In+range layering, fix casing, pin rang…
QuantumExplorer 2b42989
test(drive): drop most-common-color test, keep helper for future cove…
QuantumExplorer 647f27f
refactor(drive): drop dead split_by_property field on DriveDocumentCo…
QuantumExplorer 2bb5517
test(drive): broaden aggregate-count prove-path coverage to all 8 ran…
QuantumExplorer d8e5b9d
test(drive): add parking-lot scenario test for aggregate-count prove …
QuantumExplorer c3d6c4b
test(drive): show decoded proof envelope + add distinct-mode per-lot …
QuantumExplorer 93a1b0c
feat(drive,sdk,book): wire distinct-counts-with-proof for range_count…
QuantumExplorer a811605
test(drive): inline-print decoded distinct-count proof under --nocapture
QuantumExplorer 0960613
refactor(drive,drive-abci): move count where-clause parsing into drive
QuantumExplorer 06a6354
refactor(drive-proof-verifier): collapse verify_distinct_count_proof …
QuantumExplorer 3bd6731
fix(drive-proof-verifier): keep verify_proof_succinctness on for dist…
QuantumExplorer f0c5de9
fix(drive,sdk): thread limit through prove-distinct path with validat…
QuantumExplorer 61de82c
fix(drive-proof-verifier): use strict VerifyOptions::default() now th…
QuantumExplorer 8445f92
fix(drive-proof-verifier): use GroveDb::verify_query matching docs ha…
QuantumExplorer 82dda09
docs(drive-proof-verifier): clarify invariants behind verify_query ch…
QuantumExplorer 6d044b3
fix(drive-abci): update stale test that expected distinct + prove to …
QuantumExplorer dbaf371
feat(drive,sdk): allow In on prefix for distinct-count via grovedb su…
QuantumExplorer dbeb9b4
feat(dapi-grpc,drive): split CountResults into explicit aggregate vs …
QuantumExplorer 5d336b3
fix(drive): make contract-insertion cost estimation count-tree-aware …
QuantumExplorer bb323cb
feat(drive): support startsWith on the range_countable count fast path
QuantumExplorer 665a86f
feat(drive,sdk)!: drop cross-fork merge from distinct-count, expose p…
QuantumExplorer 4dcc0d6
Merge branch 'v3.1-dev' into claude-unified-count-and-range
QuantumExplorer d457321
refactor(drive,sdk)!: remove start_after_split_key — pagination via r…
QuantumExplorer 5a14a6a
fix(drive,sdk): plumb order_by_ascending through the prove-distinct path
QuantumExplorer 8e802f5
chore(dapi-grpc): drop start_after_split_key proto reservation, renum…
QuantumExplorer 5e7ac07
test(drive-proof-verifier): add unit tests for count-proof helpers (1…
QuantumExplorer ebd1aeb
refactor(drive,drive-proof-verifier,sdk)!: move count-proof verifiers…
QuantumExplorer 54982a2
refactor(drive): split drive_document_count_query into 7 focused subm…
QuantumExplorer 0fded21
refactor(drive,sdk,wasm-sdk): dedup clippy attr + unify count APIs wi…
QuantumExplorer c63f474
refactor(drive): drop unused batch_insert_empty_non_counted_normal_tr…
QuantumExplorer 809cfb1
feat(platform)!: replace order_by_ascending with bytes order_by on Ge…
QuantumExplorer 2f482ae
refactor(rs-sdk-ffi): drop allow(unused_imports) on count re-export
QuantumExplorer ac590cf
docs: rewrite count-query comments for future readers, not PR archaeo…
QuantumExplorer 5e1b140
docs: bring book + proto comments up to date with current count API
QuantumExplorer b306f24
fix(drive): bound no-proof distinct range count + sort In keys for pr…
QuantumExplorer 941f543
feat(drive): wire no-proof query_aggregate_count for flat summed rang…
QuantumExplorer c73d3a8
chore(deps): bump grovedb to a917d92d (merged grovedb#662)
QuantumExplorer 1cec252
feat(drive,sdk)!: PointLookupProof uses CountTree element proof + sym…
QuantumExplorer 61c80e5
docs(book): bring count chapter up to date with PointLookupProof rewrite
QuantumExplorer 2b4b7e2
test(drive): drop unused build_widget_with_two_range_countable_indexe…
QuantumExplorer e5b891c
feat(drive,sdk)!: strict count-index coverage + documents_countable f…
QuantumExplorer b8887d3
docs(book): finish strict-coverage sweep in count chapter + indexes c…
QuantumExplorer b973d37
feat(drive): allow In on before-last in prove count builder
QuantumExplorer eeb1bbc
fix(drive): anchor RangeDistinctProof limit fallback to compile-time …
QuantumExplorer 18c13b0
feat(drive): allow In at any index position in prove count builder
QuantumExplorer ba9a797
refactor(drive): collapse no-proof count executor onto shared path-qu…
QuantumExplorer 0f52734
docs(count), feat(rs-sdk-ffi): post-review polish across count-query …
QuantumExplorer 7065dc4
fix(drive)!: bound compound range+In no-proof count via per-In aggreg…
QuantumExplorer 05b22cd
fix(sdk,drive): route DocumentCount distinct-range to distinct verifi…
QuantumExplorer File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add null checks before calling
addEventListener.document.getElementById()returnsnullif the element doesn't exist. CallingaddEventListeneronnullwill throw aTypeErrorat runtime. The current code assumes all theme button IDs ('ayu', 'navy', 'coal', 'light', 'rust') exist in the DOM, but if any are missing (due to configuration changes or incomplete HTML), the script will crash.🛡️ Proposed fix to add null-safety guards
for (const darkTheme of darkThemes) { - document.getElementById(darkTheme).addEventListener('click', () => { - if (lastThemeWasLight) { - window.location.reload(); - } - }); + const darkButton = document.getElementById(darkTheme); + if (darkButton) { + darkButton.addEventListener('click', () => { + if (lastThemeWasLight) { + window.location.reload(); + } + }); + } } for (const lightTheme of lightThemes) { - document.getElementById(lightTheme).addEventListener('click', () => { - if (!lastThemeWasLight) { - window.location.reload(); - } - }); + const lightButton = document.getElementById(lightTheme); + if (lightButton) { + lightButton.addEventListener('click', () => { + if (!lastThemeWasLight) { + window.location.reload(); + } + }); + } }🤖 Prompt for AI Agents