Repository navigation
ATLAS-5424: Expose exact vs approximate basic search count (API + UI) - #773
Open
saksenasonali wants to merge 6 commits into
Open
saksenasonali wants to merge 6 commits into
saksenasonali wants to merge 6 commits into
Conversation
Keep upstream Docker webapp expansion and startup checks; retain PostgreSQL JDBC libext support and search pagination approximate-count UI with audit footer. Co-authored-by: Cursor <cursoragent@cursor.com>
The server tarball does not include the PostgreSQL driver; install it into libext at image build time when ATLAS_BACKEND=postgres and drop runtime copy from atlas.sh. Document the requirement in the docker README. Co-authored-by: Cursor <cursoragent@cursor.com>
The postgres JDBC and e2e script changes were local validation scaffolding unrelated to approximateCountExact; revert dev-support to master so this PR only carries the API, model and UI change. Co-authored-by: Cursor <cursoragent@cursor.com>
Mirror approximateCountExact in dashboardv2 basic search pagination text; add TablePagination and SearchResult unit tests for exact vs approximate footer. Co-authored-by: Cursor <cursoragent@cursor.com>
Use MemoryRouter with withRouter: false in test-utils to avoid nested routers. Co-authored-by: Cursor <cursoragent@cursor.com>
pawarprasad123
left a comment
Contributor
There was a problem hiding this comment.
Classic UI not updated
dashboardv2 still shows counts without the exact/approximate distinction. Users on Classic UI get no benefit from this PR.
saksenasonali
force-pushed
the
ATLAS-5424
branch
from
October 1, 2026 07:40
c241ebb to
2171cd3
Compare
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
ATLAS-5424: Expose exact vs approximate basic search count in API and UI
What changes were proposed in this pull request?
Basic search can return Solr-backed approximate total counts. Some queries (type-only / index-only) can treat the count as exact; others (in-memory filters such as
startsWith,neq) cannot. This PR addsapproximateCountExactonAtlasSearchResult, sets it in discovery/search processing, and surfaces it in React UI and Classic UI pagination text (~prefix/suffix when the count is not exact).Solution / fix
Backend
AtlasSearchResult(+ Python model): newapproximateCountExactfield.EntitySearchProcessor/EntityDiscoveryService: set flag when the count is index-only vs when in-memory filters apply.EntitySearchProcessorTest,AtlasDiscoveryServiceTest,TestAtlasSearchResult.React UI (
dashboard/)SearchResultreadsapproximateCountExactfrom basic search API responses.TableLayout/TablePagination: server-side pagination shows~around total whenapproximateCountExactis false.TablePagination.test.tsx(single Router viarenderServerSidePagination+{ withRouter: false }),SearchResult.test.tsx(passes approximateCountExactcases).Classic UI (
dashboardv2/)SearchResultLayoutView.js:formatBasicSearchPageRecordTexthonorsapproximateCountExact(Classic parity with React).Testing summary
Manual
http://localhost:21000(Docker or local)hive_db)~when exacthive_column+qualifiedNamestarts withdefault)~on approximate total; API omits or does not setapproximateCountExact=trueAutomation (local)
EntitySearchProcessorTest(3 approximate-count tests)AtlasDiscoveryServiceTest(2 basic-search tests)TestAtlasSearchResultTablePagination.test.tsxSearchResult.test.tsx(approximateCountExact)e2e-basic-search-count.sh(local:21000)hive_db→approximateCountExact=true; filteredhive_column→ flag not trueCode coverage (
dashboard/)From
npm run test:ci:PropagationPropertyModal.test.tsxon local run — not part of this change)Changed / feature-related files:
TablePagination.tsxTableLayout.tsxSearchResult.tsxReport:
dashboard/coverage/lcov-report/index.htmlLinter status
--max-warnings 200)Build status (local)
npm run typechecknpm run build(Vite)mvn -pl dashboard -am package -DskipTestsmvn -pl dashboardv2 -am package -DskipTestsmvn -pl intg,repository -am package -DskipTestsmvn -DskipTests package(root)atlas-distro(A zip file cannot include itself— local packaging quirk, not introduced by this PR)How was this patch tested?
Automated: Java and dashboard tests above;
npm run test:cifor dashboard-wide coverage.Manual: Basic search type-only vs filtered; React vs Classic pagination; live curl script against Atlas on port 21000.
