Remove the analyzerv2 experiment and database-only analyzer mode - #4545
Merged
Conversation
Remove the analyzerv2 experiment flag and everything reachable only through it: - The AnalyzerV2 flag in the SQLCEXPERIMENT parser (the generic experiment mechanism stays) - Database-only analysis mode (analyzer.database: only) in the compiler, including the star expander wiring - The internal/x/expander package - EnsureConn, GetColumnNames and IntrospectSchema on the analyzer interface and the PostgreSQL/SQLite implementations - The "only" value for analyzer.database in the config, which reverts to a plain boolean - The accurate_* end-to-end test cases that exercised the experiment Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JyDtVLiKKixbPi6YvdM5wd
Keep the star expander package around for future use. It is self-contained: its ColumnGetter interface is defined locally and its tests bring their own implementations, so it does not depend on the removed analyzer methods. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JyDtVLiKKixbPi6YvdM5wd
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.
Removes the
analyzerv2experiment flag and everything reachable only through it:AnalyzerV2flag in theSQLCEXPERIMENTparser. The generic experiment mechanism itself stays, since it's documented in the reference docs and is independent of this experiment.analyzer.database: only) in the compiler: thedatabaseOnlyModebranches in catalog parsing and query analysis ininternal/compiler.EnsureConn,GetColumnNames, and the never-calledIntrospectSchemafrom the analyzer interface, the cached wrapper, and the PostgreSQL/SQLite analyzer implementations."only"value foranalyzer.database— the config field reverts to a plain boolean, in both the Go type and the v1/v2 JSON schemas.accurate_*end-to-end test cases that ran underSQLCEXPERIMENT=analyzerv2.The
internal/x/expanderpackage (star expansion forSELECT */RETURNING *) is kept for future use — it is self-contained, with a locally definedColumnGetterinterface and tests that bring their own implementations, so it has no dependency on the removed analyzer methods.Changelog entries mentioning the experiment are left as historical record of the 1.31.0 release.
Testing
go build ./...andgo vet ./...are clean.go test --tags=examples -timeout 20m ./...passes with PostgreSQL and MySQL running (set up viasqlc-test-setup).🤖 Generated with Claude Code
https://claude.ai/code/session_01JyDtVLiKKixbPi6YvdM5wd