From df9af92c1aa7c8a7671a79d071916bb4d95441f0 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 5 Jul 2026 09:01:28 +0000 Subject: [PATCH 1/5] chore: release --- Cargo.lock | 4 ++-- sql-insight-cli/CHANGELOG.md | 15 +++++++++++++++ sql-insight-cli/Cargo.toml | 4 ++-- sql-insight/CHANGELOG.md | 23 +++++++++++++++++++++++ sql-insight/Cargo.toml | 2 +- 5 files changed, 43 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index f457e75..930406b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -921,7 +921,7 @@ dependencies = [ [[package]] name = "sql-insight" -version = "0.3.0" +version = "0.4.0" dependencies = [ "serde", "sqlparser", @@ -931,7 +931,7 @@ dependencies = [ [[package]] name = "sql-insight-cli" -version = "0.2.1" +version = "0.2.2" dependencies = [ "assert_cmd", "clap", diff --git a/sql-insight-cli/CHANGELOG.md b/sql-insight-cli/CHANGELOG.md index e1528f3..9ad8877 100644 --- a/sql-insight-cli/CHANGELOG.md +++ b/sql-insight-cli/CHANGELOG.md @@ -7,6 +7,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.2.2](https://github.com/takaebato/sql-insight/compare/sql-insight-cli-v0.2.1...sql-insight-cli-v0.2.2) - 2026-07-05 + +### Added + +- *(cli)* prebuilt binary distribution — cargo binstall, completions, man, and provenance ([#53](https://github.com/takaebato/sql-insight/pull/53)) by @takaebato + +### Fixed + +- *(deps)* update rust crate clap_mangen to 0.3 ([#54](https://github.com/takaebato/sql-insight/pull/54)) by @renovate[bot] + +### Other Changes + +- changelog breaking-change workflow, version-bump docs, and keywords ([#51](https://github.com/takaebato/sql-insight/pull/51)) by @takaebato +- tidy keywords, README versions, and add a version-sync check ([#46](https://github.com/takaebato/sql-insight/pull/46)) by @takaebato + ## [0.2.1](https://github.com/takaebato/sql-insight/compare/sql-insight-cli-v0.2.0...sql-insight-cli-v0.2.1) - 2026-06-28 ### Added diff --git a/sql-insight-cli/Cargo.toml b/sql-insight-cli/Cargo.toml index acb1d2e..2301233 100644 --- a/sql-insight-cli/Cargo.toml +++ b/sql-insight-cli/Cargo.toml @@ -13,7 +13,7 @@ readme = "README.md" # Bump the MINOR by hand (pre-1.0 breaking) when the CLI's output *format* changes # — stdout shape or `--format json` structure — vs a value-only change (patch). # Manual: tooling sees the API surface, not output/behaviour. -version = "0.2.1" +version = "0.2.2" edition = { workspace = true } homepage = { workspace = true } repository = { workspace = true } @@ -43,7 +43,7 @@ doc = false # A breaking sql-insight bump (one the current caret requirement won't accept) # means: update the requirement + bump the CLI minor by hand. Compatible bumps # the caret already accepts flow automatically — no CLI release. -sql-insight = { path = "../sql-insight", version = "0.3.0", features = ["serde"] } +sql-insight = { path = "../sql-insight", version = "0.4.0", features = ["serde"] } clap = { version = "4.5", features = ["derive"] } clap_complete = "4.5" clap_mangen = "0.3" diff --git a/sql-insight/CHANGELOG.md b/sql-insight/CHANGELOG.md index 592c164..b61da12 100644 --- a/sql-insight/CHANGELOG.md +++ b/sql-insight/CHANGELOG.md @@ -7,6 +7,29 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.4.0](https://github.com/takaebato/sql-insight/compare/sql-insight-v0.3.0...sql-insight-v0.4.0) - 2026-07-05 + +### ⚠️ Breaking Changes + +#### attribute unqualified SET targets with the read-side rules ([#59](https://github.com/takaebato/sql-insight/pull/59)) by @takaebato + +#### upgrade sqlparser to 0.62 ([#55](https://github.com/takaebato/sql-insight/pull/55)) by @takaebato + +### Added + +- resolve Oracle join-view INSERT targets by column attribution ([#61](https://github.com/takaebato/sql-insight/pull/61)) by @takaebato +- fan out multi-column-alias lineage to every alias ([#60](https://github.com/takaebato/sql-insight/pull/60)) by @takaebato +- resolve Oracle inline-view INSERT targets to their base table ([#58](https://github.com/takaebato/sql-insight/pull/58)) by @takaebato + +### Fixed + +- don't surface a ClickHouse ARRAY JOIN operand as a table read ([#57](https://github.com/takaebato/sql-insight/pull/57)) by @takaebato + +### Other Changes + +- changelog breaking-change workflow, version-bump docs, and keywords ([#51](https://github.com/takaebato/sql-insight/pull/51)) by @takaebato +- tidy keywords, README versions, and add a version-sync check ([#46](https://github.com/takaebato/sql-insight/pull/46)) by @takaebato + ## [0.3.0](https://github.com/takaebato/sql-insight/compare/v0.2.0...v0.3.0) - 2026-06-28 ### Added diff --git a/sql-insight/Cargo.toml b/sql-insight/Cargo.toml index 814f758..7f61869 100644 --- a/sql-insight/Cargo.toml +++ b/sql-insight/Cargo.toml @@ -10,7 +10,7 @@ include = [ "LICENSE.txt", ] readme = "README.md" -version = "0.3.0" +version = "0.4.0" edition = { workspace = true } rust-version = "1.89.0" homepage = { workspace = true } From 90d554033c8d5ac9af59f1ebbeb48fae25c1c77d Mon Sep 17 00:00:00 2001 From: Takahiro Ebato Date: Sun, 5 Jul 2026 18:07:33 +0900 Subject: [PATCH 2/5] chore: bump sql-insight-cli to 0.3.0 and annotate breaking changes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The CLI gained a real feature (#53: binstall, completions, man pages), so promote release-plz's 0.x feat→patch default to a minor bump. Add concise migration notes under the library's Breaking Changes headings (#59 SET attribution, #55 sqlparser 0.62). Co-Authored-By: Claude Fable 5 --- Cargo.lock | 2 +- sql-insight-cli/CHANGELOG.md | 2 +- sql-insight-cli/Cargo.toml | 2 +- sql-insight/CHANGELOG.md | 13 +++++++++++++ 4 files changed, 16 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 930406b..c621010 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -931,7 +931,7 @@ dependencies = [ [[package]] name = "sql-insight-cli" -version = "0.2.2" +version = "0.3.0" dependencies = [ "assert_cmd", "clap", diff --git a/sql-insight-cli/CHANGELOG.md b/sql-insight-cli/CHANGELOG.md index 9ad8877..758d3a0 100644 --- a/sql-insight-cli/CHANGELOG.md +++ b/sql-insight-cli/CHANGELOG.md @@ -7,7 +7,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] -## [0.2.2](https://github.com/takaebato/sql-insight/compare/sql-insight-cli-v0.2.1...sql-insight-cli-v0.2.2) - 2026-07-05 +## [0.3.0](https://github.com/takaebato/sql-insight/compare/sql-insight-cli-v0.2.1...sql-insight-cli-v0.3.0) - 2026-07-05 ### Added diff --git a/sql-insight-cli/Cargo.toml b/sql-insight-cli/Cargo.toml index 2301233..a58f70a 100644 --- a/sql-insight-cli/Cargo.toml +++ b/sql-insight-cli/Cargo.toml @@ -13,7 +13,7 @@ readme = "README.md" # Bump the MINOR by hand (pre-1.0 breaking) when the CLI's output *format* changes # — stdout shape or `--format json` structure — vs a value-only change (patch). # Manual: tooling sees the API surface, not output/behaviour. -version = "0.2.2" +version = "0.3.0" edition = { workspace = true } homepage = { workspace = true } repository = { workspace = true } diff --git a/sql-insight/CHANGELOG.md b/sql-insight/CHANGELOG.md index b61da12..5548c15 100644 --- a/sql-insight/CHANGELOG.md +++ b/sql-insight/CHANGELOG.md @@ -13,8 +13,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 #### attribute unqualified SET targets with the read-side rules ([#59](https://github.com/takaebato/sql-insight/pull/59)) by @takaebato +An unqualified SET column in a multi-table UPDATE (`UPDATE t1 JOIN t2 SET a = 1`) +no longer pins to the statement's root table. It now resolves like a read over +the writable relations: a sole catalog owner pins it; otherwise the column write +surfaces unattributed (`table: None`, `Ambiguous` / `Unresolved`) and contributes +no table-level write. Qualify the SET column or supply a catalog to keep a +pinned table. + #### upgrade sqlparser to 0.62 ([#55](https://github.com/takaebato/sql-insight/pull/55)) by @takaebato +The re-exported `sql_insight::sqlparser` moves 0.61 → 0.62; code matching on its +AST must adapt (notably `Insert::columns` is now `Vec`, `VALUES` rows +carry `Parens`, visitors see `ValueWithSpan`, and there are new variants such as +`SelectItem::ExprWithAliases` / `TableObject::TableQuery`). See the +[sqlparser 0.62.0 changelog](https://github.com/apache/datafusion-sqlparser-rs/blob/main/changelog/0.62.0.md). + ### Added - resolve Oracle join-view INSERT targets by column attribution ([#61](https://github.com/takaebato/sql-insight/pull/61)) by @takaebato From ddbf7834b12b49875eb9e805e0017a2d73aaf4f7 Mon Sep 17 00:00:00 2001 From: Takahiro Ebato Date: Sun, 5 Jul 2026 18:10:52 +0900 Subject: [PATCH 3/5] chore: clarify the #59 breaking note with an explicit before/after Co-Authored-By: Claude Fable 5 --- sql-insight/CHANGELOG.md | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/sql-insight/CHANGELOG.md b/sql-insight/CHANGELOG.md index 5548c15..dfbda7e 100644 --- a/sql-insight/CHANGELOG.md +++ b/sql-insight/CHANGELOG.md @@ -13,12 +13,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 #### attribute unqualified SET targets with the read-side rules ([#59](https://github.com/takaebato/sql-insight/pull/59)) by @takaebato -An unqualified SET column in a multi-table UPDATE (`UPDATE t1 JOIN t2 SET a = 1`) -no longer pins to the statement's root table. It now resolves like a read over -the writable relations: a sole catalog owner pins it; otherwise the column write -surfaces unattributed (`table: None`, `Ambiguous` / `Unresolved`) and contributes -no table-level write. Qualify the SET column or supply a catalog to keep a -pinned table. +Previously, `UPDATE t1 JOIN t2 SET a = 1` always attributed the write to the +first table (`t1.a`) — even when `a` actually belongs to `t2`. The unqualified +SET column now resolves like a column read: if exactly one joined relation can +own it (e.g. per the catalog), that relation gets the write; when the owner +can't be determined, the write surfaces unattributed (`table: None`, +`Ambiguous` / `Unresolved`) and emits no table-level write, instead of a +possibly-wrong `t1.a` — mirroring the engines, which reject the ambiguous +form. To keep attributed writes, qualify the column (`SET t2.a = 1`) or supply +a catalog. #### upgrade sqlparser to 0.62 ([#55](https://github.com/takaebato/sql-insight/pull/55)) by @takaebato From 2c2dd6c9ef3d821d21cdd2f9278e37a2caf58e89 Mon Sep 17 00:00:00 2001 From: Takahiro Ebato Date: Sun, 5 Jul 2026 18:15:24 +0900 Subject: [PATCH 4/5] chore: update README dependency snippets to 0.4 Caught by tests/version_numbers.rs (version-sync) after the 0.4.0 bump. Co-Authored-By: Claude Fable 5 --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 61b74c6..1d3814a 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ across every SQL dialect sqlparser-rs supports. ```toml [dependencies] -sql-insight = "0.3" +sql-insight = "0.4" ``` ## Usage @@ -180,7 +180,7 @@ serde format: ```toml [dependencies] -sql-insight = { version = "0.3", features = ["serde"] } +sql-insight = { version = "0.4", features = ["serde"] } ``` ```rust,ignore From bf70137910720c7249201c1fa4daa8e0b4af254a Mon Sep 17 00:00:00 2001 From: Takahiro Ebato Date: Sun, 5 Jul 2026 18:19:37 +0900 Subject: [PATCH 5/5] chore: note the sql-insight 0.4 behavior change in the CLI changelog Link-only: the details live in the library's changelog; the CLI entry records that the same input can produce different results. Co-Authored-By: Claude Fable 5 --- sql-insight-cli/CHANGELOG.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/sql-insight-cli/CHANGELOG.md b/sql-insight-cli/CHANGELOG.md index 758d3a0..0936cc3 100644 --- a/sql-insight-cli/CHANGELOG.md +++ b/sql-insight-cli/CHANGELOG.md @@ -9,6 +9,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [0.3.0](https://github.com/takaebato/sql-insight/compare/sql-insight-cli-v0.2.1...sql-insight-cli-v0.3.0) - 2026-07-05 +### ⚠️ Breaking Changes + +#### analysis results change with sql-insight 0.4 + +The same input SQL can produce different results — see the +[sql-insight 0.4.0 changelog](https://github.com/takaebato/sql-insight/blob/master/sql-insight/CHANGELOG.md#040---2026-07-05) +for what changed. + ### Added - *(cli)* prebuilt binary distribution — cargo binstall, completions, man, and provenance ([#53](https://github.com/takaebato/sql-insight/pull/53)) by @takaebato