Skip to content

feat: override list, open options and prepared limit setters (minigraf#872) - #17

Merged
adityamukho merged 4 commits into
v3from
feat/872-binding-overrides
Nov 10, 2026
Merged

adityamukho merged 4 commits into
v3from
feat/872-binding-overrides

Conversation

@adityamukho

@adityamukho adityamukho commented Nov 10, 2026 •

Copy link
Copy Markdown
Contributor

Brings this binding up to core v3's override surface (minigraf#872).

  • OpenOptions.allow_overrides takes a list of Overridable (MaxDerivedFacts, MaxResults, QueryMemoryLimit, MaxIterations). Absent, the defaults apply. A list replaces the defaults, and an empty list refuses every override keyword (API-025). overridable_defaults() returns core's Overridable::DEFAULTS; nothing is written out again in the binding.
  • OpenOptions.transaction_chunk_facts and OpenOptions.max_iterations. i64::MAX means no limit for max_iterations. A negative count is API-017. The log writer accepts the new fields too.
  • MiniGrafPreparedQuery.with_max_derived_facts / with_query_memory_limit / with_max_iterations each return a new prepared query (core's PreparedQuery is now Clone) and leave the receiver unchanged. i64::MAX means no limit and a negative value is API-017. The setters are not gated by allow_overrides. A derived query keeps its database open.
  • Shim tests cover the defaults, replace semantics (execute/query/prepare), a chunked transaction surviving a reopen, max_iterations 1 → INT-020, each setter (INT-020/QRY-012, receiver unchanged, chaining, no-limit, negatives) and an open cursor surviving a derive.
  • Swift: Overridable.defaults (MinigrafKit+Overrides.swift), tests in Tests/swift/main.swift, and a consumer contract test. Not compiled locally (no Swift toolchain here); the macOS CI jobs are the first build.

Pin. Cargo.toml pins core d9755c02, the v3 merge commit of project-minigraf/minigraf#883. Moving the pin from 02243f16 needed no other fix. The macOS jobs run on macos-15 (the macos-14 runner was retired; fixed separately on v3).

Refs project-minigraf/minigraf#872.

🤖 Generated with Claude Code

https://claude.ai/code/session_01H2a7QouMzKp3tAWxgVsxRf

adityamukho and others added 3 commits November 10, 2026 13:15
…f#872)

Exposes core v3's override surface: an allow_overrides list with the
default list read from core's Overridable::DEFAULTS, the
transaction_chunk_facts and max_iterations open options, and the three
PreparedQuery limit setters, each returning a new prepared query and
leaving the receiver unchanged.

Refs minigraf#872.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H2a7QouMzKp3tAWxgVsxRf
Temporary: re-pinned to the v3 merge commit once minigraf#883 merges.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H2a7QouMzKp3tAWxgVsxRf
@adityamukho
adityamukho force-pushed the feat/872-binding-overrides branch from 979f699 to 9771d28 Compare November 10, 2026 10:19
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H2a7QouMzKp3tAWxgVsxRf
@adityamukho
adityamukho marked this pull request as ready for review November 10, 2026 10:54
@adityamukho
adityamukho merged commit 800b028 into v3 Nov 10, 2026
5 checks passed
@adityamukho
adityamukho deleted the feat/872-binding-overrides branch November 10, 2026 11:16
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.

1 participant