finox 0.1.0-x86_64-linux → 0.2.0-x86_64-linux

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2a6b35aa59e8e6bcb8ab065c7d42b33c44c21785553df82b0991902e2c5b89ee
4
- data.tar.gz: 2fc3a633755e6c586bd58b2787c568b676dfbf77f0486f09e985f85ef848e49e
3
+ metadata.gz: f09b41b54eaf8638edcc9240ed406ab23c7dfb4b0cfe31ea5b7b7ab66e432529
4
+ data.tar.gz: a67ee89f8b11f83fb87fc5732a29a73c4daef14c899de73ebaba77b9530e0626
5
5
  SHA512:
6
- metadata.gz: 90269f13c34f7c09831280860cdf571afd3683519a16fc147e4e560e1c86c88ad558c2b71098d6717e9d658d4277327953bf48408ce96a150c949c64652d8a37
7
- data.tar.gz: fc39f9c6d135eba137d6c7458fdb3e1491fa6e36e41fad554eb2b5ca888543e9a3bcd0aedb816d6496a173f4b8933c876ba2b770ba87a16ab4e3e9b91f72a7d1
6
+ metadata.gz: d1731b5ef15c3d3ae108e78648bb3c94399ca5881b4b94c5bab991d0cfdbb5d900cea5bf30dbbe692895516e3047ab93651524132e88201ac755a8ab678e8100
7
+ data.tar.gz: 2e64e5ac0fee54eef2f6252bf109dadcd4c02cd02f1ccd9c55ae668ec4b0c36b0922d19d1fb92d77c547d13e29383d3df470298c8e27e5f9b1650d0ba426c173
data/CHANGELOG.md CHANGED
@@ -1,4 +1,28 @@
1
- ## [Unreleased]
1
+ ## [0.2.0] - 2026-07-18
2
+
3
+ - **Breaking:** `Finox.parse` now returns a `Finox::Result` instead of a plain Array.
4
+ - Add `Finox::Result#tables`, which returns the tables referenced across all
5
+ parsed statements (including joins, subqueries and DML targets), deduplicated
6
+ and excluding CTE names.
7
+ - Add `Finox::Result#columns`, which returns the columns referenced across all
8
+ parsed statements (including `INSERT` column lists and `UPDATE` assignment
9
+ targets), deduplicated.
10
+ - Add `Finox::Result#statement_types`, which returns the type of each parsed
11
+ statement (sqlparser's variant names, e.g. `"Query"`, `"Insert"`).
12
+ - Add `Finox::Result#select_tables`, `#dml_tables` and `#ddl_tables`, which
13
+ classify the referenced tables into read, written by DML and targeted by DDL
14
+ (a table appearing in multiple roles is listed in each).
15
+ - Add `Finox::Result#normalize`, which returns the SQL with literals replaced
16
+ by `?` placeholders, deparsed from the AST (normalizing formatting and
17
+ keyword case).
18
+ - Add `Finox::Result#fingerprint`, which returns a 64-bit hex hash of the
19
+ normalized SQL, for grouping queries that differ only in literals or
20
+ formatting. Fingerprints are not guaranteed to be stable across finox
21
+ versions.
22
+ - Add `Finox::Result#statements`, which returns the AST of each parsed
23
+ statement as plain Hashes/Arrays. All keys are Strings (previously enum
24
+ variant names were Strings but struct fields were Symbols).
25
+ - Precompiled gems now include a shared object for Ruby 4.0.
2
26
 
3
27
  ## [0.1.0] - 2026-07-17
4
28