test(c/validation): assert the incremental option is accepted at its spec default - #26
Open
fornwall wants to merge 2 commits into
Open
test(c/validation): assert the incremental option is accepted at its spec default#26fornwall wants to merge 2 commits into
fornwall wants to merge 2 commits into
Conversation
…incremental at its spec default ADBC_STATEMENT_OPTION_INCREMENTAL defaults to disabled (adbc.h), so a generic client that writes back option defaults must be able to set it to ADBC_OPTION_VALUE_DISABLED as a no-op. Both the SQLite and PostgreSQL drivers rejected the option outright; accept an explicit "disabled" and keep returning NOT_IMPLEMENTED when a caller actually tries to enable incremental execution. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LGf8PVEe2tYkw8Q6Pd95tq
…spec default ADBC_STATEMENT_OPTION_INCREMENTAL has a documented default of ADBC_OPTION_VALUE_DISABLED (adbc.h), so setting it to that value must succeed as a no-op even in drivers without incremental execution; generic clients (which may write back defaults unconditionally) break otherwise. Enabling it may still return NOT_IMPLEMENTED, and a plain query must keep working afterwards. Requires the preceding SQLite and PostgreSQL option fixes to pass there. Add a supports_incremental_option_default quirk (default true) so that third-party drivers that reject the option entirely can opt out; DuckDB does, so its integration suite skips the test. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LGf8PVEe2tYkw8Q6Pd95tq
fornwall
force-pushed
the
validation/incremental-default
branch
from
July 13, 2026 17:52
dcb7631 to
7ff0d5a
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.
Split out from #21 (5/5).
Adds
StatementTest.SqlQueryIncrementalDefaultto the generic C++ validation suite: settingadbc.statement.exec.incrementalto its documented default (ADBC_OPTION_VALUE_DISABLED) must not fail, even for drivers that don't implement incremental execution (actually enabling it may still returnNOT_IMPLEMENTED, which is asserted). Also carries the driver fixes the test exposed:fix(c/driver/sqlite,c/driver/postgresql): accept adbc.statement.exec.incremental at its spec default— the SQLite driver's option framework and the PostgreSQL driver's hand-writtenSetOptionboth rejected even the documented default withNOT_IMPLEMENTED.adbc.statement.exec.incrementalrejected even at its spec default)adbc.hdoc forADBC_STATEMENT_OPTION_INCREMENTAL(adbc.h:650-665): "The default is ADBC_OPTION_VALUE_DISABLED." The header documents the default rather than literally mandating a set-to-default no-op; the test encodes the practical consequence that a generic client writing back defaults must not break.NOT_IMPLEMENTED: statement option adbc.statement.exec.incremental is not supported by the Spanner ADBC driverfor value"false"(verified by actual run on the Spanner emulator).[libpq] Unknown statement option), fixed here too; passes against a live server with the fix.DriverQuirks::supports_incremental_option_default()quirk (defaulttrue) lets its integration suite skip the test; SQLite and PostgreSQL keep the strict default.The test is written against the generic
DriverQuirksfixtures, so it auto-enrolls for every driver usingADBCV_TEST_STATEMENT; candidate for later upstream submission to apache/arrow-adbc.🤖 Generated with Claude Code
https://claude.ai/code/session_01EGHTnNywAfCfbe4DoNcfuz