Skip to content

Fix Meson column metadata propagation - #595

Merged
SRombauts merged 5 commits into
masterfrom
fix-meson-column-metadata
Oct 16, 2026
Merged

SRombauts merged 5 commits into
masterfrom
fix-meson-column-metadata

Conversation

@SRombauts

@SRombauts SRombauts commented Oct 16, 2026 •

Copy link
Copy Markdown
Owner

Fix a bug in Meson found while reviewing the other PR #594 Add table-name accessors for result columns

Propagate SQLITE_ENABLE_COLUMN_METADATA through the public Meson dependency so consumers can use the enabled origin-name APIs. Add a consumer regression test and CI jobs for shared/static SQLite fallback builds and system SQLite, retain metadata-disabled coverage, and clarify the CMake and Meson option descriptions.

Validated locally with metadata enabled and disabled, shared and static fallback builds, and a custom assertion handler. The consumer fails to compile without the propagation fix.

@coveralls

coveralls commented Oct 16, 2026 •

Copy link
Copy Markdown

Coverage Status

coverage: 99.714%. remained the same — fix-meson-column-metadata into master

@SRombauts
SRombauts force-pushed the fix-meson-column-metadata branch from 908eac3 to fcffedd Compare October 16, 2026 08:51
Expose enabled origin-name APIs through sqlitecpp_dep so consumers
receive the same metadata feature definition as the library.
Add a consumer that checks the feature definition and calls both
origin-name APIs. Run it with shared and static SQLite fallback builds
and system SQLite, retaining the metadata-disabled CI coverage.
@SRombauts
SRombauts force-pushed the fix-meson-column-metadata branch 3 times, most recently from de927a2 to 1e4dd18 Compare October 16, 2026 09:00
@SRombauts SRombauts self-assigned this Oct 16, 2026
Describe the metadata feature instead of naming a single accessor.
Both build systems require SQLite itself to support column metadata.
Treat skill and agent-instruction maintenance as separate documentation
work. Keep consumer tests with the build and CI changes that run them,
and document the Meson metadata coverage.
Record the consumer API visibility fix in the unreleased changelog.
@SRombauts
SRombauts force-pushed the fix-meson-column-metadata branch from 1e4dd18 to a02b4b5 Compare October 16, 2026 09:24
@SRombauts
SRombauts merged commit d43b758 into master Oct 16, 2026
72 checks passed
@SRombauts
SRombauts deleted the fix-meson-column-metadata branch October 16, 2026 09:33
SRombauts added a commit that referenced this pull request Oct 17, 2026
Fixes #555. Add `Statement::getColumnTableName()` and
`Column::getTableName()` under `SQLITE_ENABLE_COLUMN_METADATA`, so
callers can retrieve the source table without preparing another
statement. The API preserves SQLite's null and pointer-lifetime
semantics.

Validation: 72 tests pass with CMake/GCC, CMake/Clang ASan+UBSan, and
Meson with metadata enabled; 69 pass with metadata disabled. CMake
examples and an independent consumer also pass. After rebasing onto
#595, the public Meson consumer checks both table-name APIs;
system/shared and bundled/shared/static configurations pass, as does
bundled/static with metadata disabled. The project-settings lint
findings match the baseline; Windows/macOS and Doxygen were not run.

Prepared and validated with OpenAI Codex. The changelog is in a separate
final commit, as requested by the contribution workflow.
SRombauts added a commit that referenced this pull request Oct 23, 2026
Backport #595 to the C++11 maintenance branch: propagate
`SQLITE_ENABLE_COLUMN_METADATA` through the public Meson dependency so
consumers can call the existing origin-name APIs.

Add an independent Meson consumer test for enabled/disabled metadata and
CI coverage with bundled shared/static and system SQLite. No new public
API and no SQLite version requirement.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants