RDBMS Impact + SQL Parser
A column change impact report that catches every database reference across your entire Hop project — both explicit metadata references and table names buried inside SQL text. Run it before any schema change.
Available to Putki subscribers
RDBMS Impact scans the project and catches explicit table references — transforms where the table is configured directly in the metadata. But it misses table names buried inside SQL text. SQL Parser handles exactly that: it parses the SQL statically and extracts every schema, table, and column referenced. Together they cover the complete surface area of your project's database dependencies.
get-hop-files scans ${PROJECT_HOME} recursively and returns one row per .hpl and .hwf file found. Each file path is passed downstream to the RDBMS Impact scanner.scan-hop-project (RDBMS Impact) reads every transform and action in each file and emits one row per database reference found — table, connection, schema, item name, and the raw SQL text when available.has-explicit-table routes rows with a table name defined directly in metadata to Stream A. Rows where the table field is null — but the transform has embedded SQL — go to Stream B for parsing.schema → schema_name, table → table_name, filename → object_name) and a source = METADATA tag is added to every row.parse-transform-sql (SQL Parser) reads the sql_text field and extracts every schema, table, and column referenced. It doesn't execute the SQL — it parses it statically. Rows where parsing returns no table are dropped by filter-empty-parsed. A source = SQL tag is added to the remaining rows.public.column_change_impact. The table is truncated on every run, so the report always reflects the current state of the project.Run this before renaming, dropping, or changing any column. An empty result means the change is safe. If it returns rows, you have a list of every pipeline, transform, and source type that will be affected.
SELECT object_name, item_name, item_type, source FROM public.column_change_impact WHERE table_name = 'customers' AND column_name = 'email' ORDER BY source, object_name;
| Field | Description | Source |
|---|---|---|
| connection | Name of the database connection in the Hop project metadata | Both |
| schema_name | Database schema (e.g. public), if specified | Both |
| table_name | The table or view being referenced | Both |
| column_name | Column referenced inside the SQL statement | SQL only |
| object_name | Full path of the .hpl or .hwf file containing the reference | Both |
| object_type | Whether the file is a Pipeline or a Workflow | Both |
| item_name | Name of the specific transform or action inside the pipeline | Both |
| item_type | Transform type — e.g. TableInput, Execute SQL | Both |
| sql_text | The raw SQL text found in the transform configuration | SQL only |
| source | METADATA for explicit table refs · SQL for parsed SQL text | Both |
postgreswrite-impact-report to point to your connection and schema.public.column_change_impact before the first execution. The pipeline truncates and rewrites it on every run.Pipeline
File
rdbms-impact-sql-parser.hpl
Transforms
10
Putki version
Any (requires RDBMS Impact + SQL Parser plugins)
Created
June 5, 2026
postgres must exist in project metadata. Update write-impact-report to use a different connection name.public.column_change_impact. Truncates on every run.RDBMS Impact + SQL Parser
A column change impact report that catches every database reference across your entire Hop project — both explicit metadata references and table names buried inside SQL text. Run it before any schema change.
Available to Putki subscribers
RDBMS Impact scans the project and catches explicit table references — transforms where the table is configured directly in the metadata. But it misses table names buried inside SQL text. SQL Parser handles exactly that: it parses the SQL statically and extracts every schema, table, and column referenced. Together they cover the complete surface area of your project's database dependencies.
get-hop-files scans ${PROJECT_HOME} recursively and returns one row per .hpl and .hwf file found. Each file path is passed downstream to the RDBMS Impact scanner.scan-hop-project (RDBMS Impact) reads every transform and action in each file and emits one row per database reference found — table, connection, schema, item name, and the raw SQL text when available.has-explicit-table routes rows with a table name defined directly in metadata to Stream A. Rows where the table field is null — but the transform has embedded SQL — go to Stream B for parsing.schema → schema_name, table → table_name, filename → object_name) and a source = METADATA tag is added to every row.parse-transform-sql (SQL Parser) reads the sql_text field and extracts every schema, table, and column referenced. It doesn't execute the SQL — it parses it statically. Rows where parsing returns no table are dropped by filter-empty-parsed. A source = SQL tag is added to the remaining rows.public.column_change_impact. The table is truncated on every run, so the report always reflects the current state of the project.Run this before renaming, dropping, or changing any column. An empty result means the change is safe. If it returns rows, you have a list of every pipeline, transform, and source type that will be affected.
SELECT object_name, item_name, item_type, source FROM public.column_change_impact WHERE table_name = 'customers' AND column_name = 'email' ORDER BY source, object_name;
| Field | Description | Source |
|---|---|---|
| connection | Name of the database connection in the Hop project metadata | Both |
| schema_name | Database schema (e.g. public), if specified | Both |
| table_name | The table or view being referenced | Both |
| column_name | Column referenced inside the SQL statement | SQL only |
| object_name | Full path of the .hpl or .hwf file containing the reference | Both |
| object_type | Whether the file is a Pipeline or a Workflow | Both |
| item_name | Name of the specific transform or action inside the pipeline | Both |
| item_type | Transform type — e.g. TableInput, Execute SQL | Both |
| sql_text | The raw SQL text found in the transform configuration | SQL only |
| source | METADATA for explicit table refs · SQL for parsed SQL text | Both |
postgreswrite-impact-report to point to your connection and schema.public.column_change_impact before the first execution. The pipeline truncates and rewrites it on every run.Pipeline
File
rdbms-impact-sql-parser.hpl
Transforms
10
Putki version
Any (requires RDBMS Impact + SQL Parser plugins)
Created
June 5, 2026
postgres must exist in project metadata. Update write-impact-report to use a different connection name.public.column_change_impact. Truncates on every run.