Skip to content

1929 daps fix foxx schema search ids#1930

Merged
JoshuaSBrown merged 7 commits intodevelfrom
1929-DAPS-fix-foxx-schema-search-ids
Apr 1, 2026
Merged

1929 daps fix foxx schema search ids#1930
JoshuaSBrown merged 7 commits intodevelfrom
1929-DAPS-fix-foxx-schema-search-ids

Conversation

@JoshuaSBrown
Copy link
Copy Markdown
Collaborator

@JoshuaSBrown JoshuaSBrown commented Apr 1, 2026

Summary by Sourcery

Update release metadata and adjust schema search results to return version-qualified schema identifiers.

Bug Fixes:

  • Ensure schema search results expose a unique, version-qualified schema identifier string instead of a bare ID.

Build:

  • Bump release timestamp and patch versions for Foxx services, Foxx API, and web components.

nedvedba and others added 7 commits March 31, 2026 20:16
* [DAPS-1663]   - feature: core, LogContext to dbGetRaw, Correlation_ID to dbMaintenance, metricThread and task_worker (#1885)
* [DAPS-1890]   - fix: test, mock_core server build (#1890)
* [DAPS-1887]   - refactor: facility fuse, remove dead code. (#1888)
* [DAPS-1857]   - feature: python client, tests, support schema functions, to hit feature parity with web ser… (#1859)
* [DAPS-1855]   - feature, core, add schema factory to decouple schema logic (#1891)
* [DAPS-1896]   - feature: foxx, schema format and type added to schema create API (#1897)
* [DAPS-1893]   - feature: common, proto3 add fields for schema type, format, and metadata format (#1894)
* [DAPS-1830-1] - refactor: core foxx refactored json schema integration 1 (#1892)
* [DAPS-1857-2] - feature: python client schema support (#1895)
* [DAPS-1830-2] - refactor: core foxx refactored json schema integration (#1899)
* [DAPS-1902]   - feature: core, common, get schema api client into compliance with API spec file. (#1903)
* [DAPS-1906-1] - feature: add core unit testing to CI (#1907)
* [DAPS-1830-3] - refactor: core foxx refactored json schema integration 3 1827 (#1898)
* [DAPS-1910]   - upgrade: playwright 1.51.1 version. (#1911)
* [DAPS-1914]   - fix: web, bug in schema id name version mismatch (#1915)
* [DAPS-1913]   - refactor: foxx ci test scripts consolidate database name and default to different database for tests (#1917)
* [DAPS-1916]   - tests: add integration test for schema client handler to cmake (#1918)
* [DAPS-1912]   - refactor: register linkml storage engine with schema handler (#1912)
* [DAPS-1919]   - feature: python, web support linkml schema (#1921)
* [DAPS-1923]   - update: version numbers bumped. (#1923)

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: Austin Hampton <amh107@latech.edu>
Co-authored-by: Blake Nedved <blakeanedved@gmail.com>
Co-authored-by: Polina Shpilker <infinite.loopholes@gmail.com>
Co-authored-by: JoshuaSBrown <brownjs@ornl.gov>
@sourcery-ai
Copy link
Copy Markdown
Contributor

sourcery-ai Bot commented Apr 1, 2026

Reviewer's guide (collapsed on small PRs)

Reviewer's Guide

Updates versioning metadata for a new FOXX/web patch release and fixes the FOXX schema search to return a composite ID that includes schema version information.

Sequence diagram for FOXX schema search returning composite schema IDs

sequenceDiagram
    actor Client
    participant FoxxSchemaAPI as Foxx_schema_router
    participant ArangoDB

    Client->>FoxxSchemaAPI: GET /schemas/search?query=...
    FoxxSchemaAPI->>ArangoDB: FOR i IN schemas FILTER ... LIMIT off,cnt RETURN i
    ArangoDB-->>FoxxSchemaAPI: Cursor of schema documents i
    FoxxSchemaAPI->>FoxxSchemaAPI: Map each i to result
    Note over FoxxSchemaAPI: id = CONCAT(i.id,":",TO_STRING(i.ver))
    FoxxSchemaAPI-->>Client: JSON array [{_id, id, ver, cnt, pub, own_nm, own_id, type, format}]
Loading

Updated class diagram for FOXX schema search result payload

classDiagram
    class SchemaSearchResult {
        string _id
        string id
        number ver
        number cnt
        boolean pub
        string own_nm
        string own_id
        string type
        string format
    }

    class SchemaDocument {
        string _id
        string id
        number ver
        number cnt
        boolean pub
        string own_nm
        string own_id
        string type
        string format
    }

    SchemaSearchResult <.. SchemaDocument : built_from

    class FoxxSchemaRouter {
        +searchSchemas(query string, off number, cnt number) SchemaSearchResult[]
    }

    FoxxSchemaRouter --> SchemaSearchResult : returns
    FoxxSchemaRouter --> SchemaDocument : reads_from
Loading

File-Level Changes

Change Details Files
Bump release and component patch versions for FOXX, FOXX API, and Web for a new build.
  • Update release month, day, and hour constants used for build/version stamping.
  • Increment FOXX service patch version from 1.4.0 to 1.4.1.
  • Increment FOXX API patch version from 1.4.0 to 1.4.1.
  • Increment Web component patch version from 3.1.0 to 3.1.1.
cmake/Version.cmake
Adjust FOXX schema search results to return an ID that combines the schema ID and version.
  • Change the AQL return expression for schema search to set id to CONCAT(i.id, ':', TO_STRING(i.ver)) instead of the raw i.id.
  • Keep the rest of the returned fields and defaults (type, format, etc.) unchanged.
core/database/foxx/api/schema_router.js

Possibly linked issues

  • #[Bug] - hotfix schema search in foxx: PR changes schema_router to CONCAT id and ver in search results, directly fixing missing : issue.

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

Copy link
Copy Markdown
Contributor

@sourcery-ai sourcery-ai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - I've left some high level feedback:

  • The change to set id as CONCAT(i.id,':',TO_STRING(i.ver)) may be confusing since id now encodes both id and version; consider either using a separate field name (e.g., id_ver) or adding an explicit comment where this response shape is defined/consumed.
  • If i.ver can ever be null or undefined, consider guarding the TO_STRING(i.ver) call or defining a fallback to avoid generating IDs with trailing separators like id:.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- The change to set `id` as `CONCAT(i.id,':',TO_STRING(i.ver))` may be confusing since `id` now encodes both id and version; consider either using a separate field name (e.g., `id_ver`) or adding an explicit comment where this response shape is defined/consumed.
- If `i.ver` can ever be null or undefined, consider guarding the `TO_STRING(i.ver)` call or defining a fallback to avoid generating IDs with trailing separators like `id:`.

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

@JoshuaSBrown JoshuaSBrown merged commit e8d85ee into devel Apr 1, 2026
14 checks passed
JoshuaSBrown added a commit that referenced this pull request Apr 1, 2026
[DAPS-1929] - fix: foxx schema search ids (#1930)
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.

2 participants