sql-code-graph 1.33.0__py3-none-any.whl → 1.33.1__py3-none-any.whl

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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sql-code-graph
3
- Version: 1.33.0
3
+ Version: 1.33.1
4
4
  Summary: SQL code graph analyzer and lineage tracer
5
5
  Project-URL: Homepage, https://github.com/Warhorze/sql-code-graph
6
6
  Project-URL: Repository, https://github.com/Warhorze/sql-code-graph
@@ -1,4 +1,4 @@
1
- sqlcg/__init__.py,sha256=eUMoB2vKl2ho6_w-fT0h0Atb36ONmYWYv3oayOjVeIs,116
1
+ sqlcg/__init__.py,sha256=Ah9v29nhYZBSzLC287CMtRK2RQvA-tt_cO0OTdKu_nU,116
2
2
  sqlcg/__main__.py,sha256=1YoFLcqEgTwYq1J3TbUwpkdG0zeeLIf2fJvwWI-CLFU,109
3
3
  sqlcg/cli/__init__.py,sha256=W8fD0LpMq2xm_5WKGNMvJh2WBL1ho5E8hUeAqXQYT1g,28
4
4
  sqlcg/cli/coverage.py,sha256=Xm9ITzZDHv2mJ70Q5jCacVuhDStVrE3gq12_-Ypvtd8,43823
@@ -59,13 +59,13 @@ sqlcg/server/read_client.py,sha256=ReeDHCff1G-WQzCH3Ow_hAUSEULRGq1lBr2AIOqur5c,1
59
59
  sqlcg/server/selfheal.py,sha256=eL6D81N4tz-Feuw1uh3VzrUkW5qfbhLuLtyMqIiib3A,8299
60
60
  sqlcg/server/server.py,sha256=GUo6vVR2z80zH3geCanm1Eg-B4miUXmv78oLVBD4dlA,37407
61
61
  sqlcg/server/skill.py,sha256=TMCSn3kBYS7GzGz3L50ZwvuBUCD4otS0FSsPGK8juWs,14434
62
- sqlcg/server/tools.py,sha256=PhOvHotGJnTlcRWy_w8IMpIrJ4DSNLhi1vRzQW27aSg,121092
62
+ sqlcg/server/tools.py,sha256=kAig7GqzBRmlKsoqwXnCyB0YRXybgPi5e3sP47m9L1g,121685
63
63
  sqlcg/server/writer.py,sha256=wXaXoL0adyDqrYxmnWb8mWXOmUQJxtLcPImeDPyxVes,18284
64
64
  sqlcg/utils/__init__.py,sha256=--iqt5ThTXmT8Wz7da8hs3n0zDfYPl8P-z5OgRJ_77E,154
65
65
  sqlcg/utils/hashing.py,sha256=H25-sYfxHKb3_IERFnHyAIYNiXN470Oqo5sJT_D3YOA,438
66
66
  sqlcg/utils/ignore.py,sha256=6__DfiYgynI2b8nH52O2BzI1EZcZ_LRazhqEOJVGGcE,1955
67
67
  sqlcg/utils/logging.py,sha256=u0fCmYsLj9o81vawm3xZTHaw68GQYVm7JxG-gP81u8A,840
68
- sql_code_graph-1.33.0.dist-info/METADATA,sha256=zEAtNat6hBOJ-K6FUzyTtc_qrR9waQWGdV8d_1meoQo,17791
69
- sql_code_graph-1.33.0.dist-info/WHEEL,sha256=mffPy8wBnZQn2VnJUU5jE99KsxaSfiyMHV9Yt0aLVxs,87
70
- sql_code_graph-1.33.0.dist-info/entry_points.txt,sha256=Wfe49sVzV9p4eVFGo5RxcV-frr3HOP0yzzst8JBxQLQ,46
71
- sql_code_graph-1.33.0.dist-info/RECORD,,
68
+ sql_code_graph-1.33.1.dist-info/METADATA,sha256=EUwN4XtkXO8s9Fp1qdtVTRLB-Xsm7Lj_3QOc8f1-OHU,17791
69
+ sql_code_graph-1.33.1.dist-info/WHEEL,sha256=mffPy8wBnZQn2VnJUU5jE99KsxaSfiyMHV9Yt0aLVxs,87
70
+ sql_code_graph-1.33.1.dist-info/entry_points.txt,sha256=Wfe49sVzV9p4eVFGo5RxcV-frr3HOP0yzzst8JBxQLQ,46
71
+ sql_code_graph-1.33.1.dist-info/RECORD,,
sqlcg/__init__.py CHANGED
@@ -1,5 +1,5 @@
1
1
  """SQL Code Graph - SQL lineage and dependency analysis tool."""
2
2
 
3
- __version__ = "1.33.0"
3
+ __version__ = "1.33.1"
4
4
 
5
5
  __all__ = ["__version__"]
sqlcg/server/tools.py CHANGED
@@ -2532,12 +2532,16 @@ def _diff_lost_producers(
2532
2532
  lost_raw = before - after
2533
2533
  new_raw = after - before
2534
2534
 
2535
- # Exclude synthetic from both sides.
2536
- if lost_raw:
2537
- lost_cleaned, _ = _exclude_synthetic_tables(db, sorted(lost_raw))
2538
- lost_set = set(lost_cleaned)
2539
- else:
2540
- lost_set = set()
2535
+ # Lost-producer side: do NOT apply _exclude_synthetic_tables.
2536
+ # The lost set comes exclusively from GET_PRODUCER_TABLES (SqlQuery.target_table),
2537
+ # which is only ever a real top-level write target — a CTE/derived intermediate alias
2538
+ # is never a SqlQuery.target_table. An INSERT target with no surviving consumers
2539
+ # keeps kind='derived' (the indexer only upgrades 'derived'→'table' when a SELECT
2540
+ # reads the table elsewhere), so applying _exclude_synthetic_tables here would drop
2541
+ # genuine write targets that happen to be unconsumed (bug #3 false-safety signal).
2542
+ # The synthetic filter is still applied to the NEW-producer side below (for rename
2543
+ # classification), where genuine intermediate nodes can appear via new CTEs/views.
2544
+ lost_set = set(lost_raw)
2541
2545
 
2542
2546
  if new_raw:
2543
2547
  new_cleaned, _ = _exclude_synthetic_tables(db, sorted(new_raw))