You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit e6cf525
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: src/sqlbuild/.agents/skills/sqlbuild/references/docs/feature-comparison.md
+5-1Lines changed: 5 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -28,6 +28,7 @@ SQLBuild, dbt, and SQLMesh are all SQL pipeline frameworks. They share common gr
28
28
| Macro / UDF / table function tests |`TEST(mode macro)`, `TEST(mode udf)`, or `TEST(mode table_fn)`| No | No |
29
29
| Zero-row assertions |`__assert__` CTEs in tests and scenarios | No | No |
30
30
| Failure diagnostics | Bounded, redacted unexpected and missing row samples in text and JSON | Adapter/tool dependent | Row diffs |
31
+
| Change-aware tests |`--since <ref>` runs only the unit tests and scenarios a change affects, with the reason for each |`state:modified` selection against a saved manifest |`plan` detects changed models and backfills those affected |
31
32
32
33
### Audits
33
34
@@ -52,6 +53,7 @@ SQLBuild, dbt, and SQLMesh are all SQL pipeline frameworks. They share common gr
52
53
| Compiler-integrated Rules | Native and custom rules over compiler-owned SQL, models, dependencies, contracts, tests, and project paths | Project conventions through packages and external tooling | Built-in audits and external linting |
53
54
| SQL transpilation | For local E2E replay into DuckDB | No | For cross-dialect model execution |
| SQL macros | Typed `@sql.name()` macros, each call checked against the caller's column types at compile time | Jinja macros | Typed Python macros (type hints check and convert arguments) |
55
57
| Compiler-enforced declaration scopes | Project, descendant-public, exact-owner-private, and model-private tiers with offline `sqb scope` inspection | No lexical declaration scopes | No lexical declaration scopes |
56
58
| Jinja support | No (Python macros instead) | Yes (core templating) | Yes |
57
59
@@ -78,6 +80,8 @@ SQLBuild, dbt, and SQLMesh are all SQL pipeline frameworks. They share common gr
78
80
|---------|----------|-----|---------|
79
81
| Data diffs | Full row-level data comparison across targets | No | Table diff |
80
82
| Zero-copy cloning |`sqb clone`| No | No |
83
+
| Safe refactoring |`sqb rename` and `sqb mv` rewrite references and Python imports, verify the result compiles, and keep old-name views | VS Code extension (Fusion) updates `ref()` calls on rename | No |
84
+
| Stale object cleanup |`sqb janitor` archives relations no longer in the project, shows which are still in use, and deletes archives after retention | No |`janitor` removes expired environments and snapshots |
81
85
82
86
### Models
83
87
@@ -128,7 +132,7 @@ SQLBuild, dbt, and SQLMesh are all SQL pipeline frameworks. They share common gr
128
132
129
133
| Tool | Best for |
130
134
|------|----------|
131
-
|**SQLBuild**| Rigor-first SQL pipelines: compile-time verification, pre-promotion audit gating, multi-model tests, and local E2E replay by default. Opt into change-aware builds and warehouse-native state when full rebuilds get expensive, plus ingestion and Python nodes as the project grows. |
135
+
|**SQLBuild**| Rigor-first SQL pipelines: compile-time verification, pre-promotion audit gating, multi-model tests, change-aware testing, safe refactoring, and local E2E replay by default. Opt into change-aware builds and warehouse-native state when full rebuilds get expensive, plus ingestion and Python nodes as the project grows. |
132
136
|**dbt**| The most widely adopted SQL transformation framework with the largest adapter and community ecosystem. |
133
137
|**SQLMesh**| State-managed pipelines with interval tracking and cross-dialect transpilation. |
Copy file name to clipboardExpand all lines: website/src/content/docs/docs/feature-comparison.mdx
+5-1Lines changed: 5 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,6 +19,7 @@ SQLBuild, dbt, and SQLMesh are all SQL pipeline frameworks. They share common gr
19
19
| Macro / UDF / table function tests |`TEST(mode macro)`, `TEST(mode udf)`, or `TEST(mode table_fn)`| No | No |
20
20
| Zero-row assertions |`__assert__` CTEs in tests and scenarios | No | No |
21
21
| Failure diagnostics | Bounded, redacted unexpected and missing row samples in text and JSON | Adapter/tool dependent | Row diffs |
22
+
| Change-aware tests |`--since <ref>` runs only the unit tests and scenarios a change affects, with the reason for each |`state:modified` selection against a saved manifest |`plan` detects changed models and backfills those affected |
22
23
23
24
### Audits
24
25
@@ -43,6 +44,7 @@ SQLBuild, dbt, and SQLMesh are all SQL pipeline frameworks. They share common gr
43
44
| Compiler-integrated Rules | Native and custom rules over compiler-owned SQL, models, dependencies, contracts, tests, and project paths | Project conventions through packages and external tooling | Built-in audits and external linting |
44
45
| SQL transpilation | For local E2E replay into DuckDB | No | For cross-dialect model execution |
| SQL macros | Typed `@sql.name()` macros, each call checked against the caller's column types at compile time | Jinja macros | Typed Python macros (type hints check and convert arguments) |
46
48
| Compiler-enforced declaration scopes | Project, descendant-public, exact-owner-private, and model-private tiers with offline `sqb scope` inspection | No lexical declaration scopes | No lexical declaration scopes |
47
49
| Jinja support | No (Python macros instead) | Yes (core templating) | Yes |
48
50
@@ -69,6 +71,8 @@ SQLBuild, dbt, and SQLMesh are all SQL pipeline frameworks. They share common gr
69
71
|---------|----------|-----|---------|
70
72
| Data diffs | Full row-level data comparison across targets | No | Table diff |
71
73
| Zero-copy cloning |`sqb clone`| No | No |
74
+
| Safe refactoring |`sqb rename` and `sqb mv` rewrite references and Python imports, verify the result compiles, and keep old-name views | VS Code extension (Fusion) updates `ref()` calls on rename | No |
75
+
| Stale object cleanup |`sqb janitor` archives relations no longer in the project, shows which are still in use, and deletes archives after retention | No |`janitor` removes expired environments and snapshots |
72
76
73
77
### Models
74
78
@@ -119,7 +123,7 @@ SQLBuild, dbt, and SQLMesh are all SQL pipeline frameworks. They share common gr
119
123
120
124
| Tool | Best for |
121
125
|------|----------|
122
-
|**SQLBuild**| Rigor-first SQL pipelines: compile-time verification, pre-promotion audit gating, multi-model tests, and local E2E replay by default. Opt into change-aware builds and warehouse-native state when full rebuilds get expensive, plus ingestion and Python nodes as the project grows. |
126
+
|**SQLBuild**| Rigor-first SQL pipelines: compile-time verification, pre-promotion audit gating, multi-model tests, change-aware testing, safe refactoring, and local E2E replay by default. Opt into change-aware builds and warehouse-native state when full rebuilds get expensive, plus ingestion and Python nodes as the project grows. |
123
127
|**dbt**| The most widely adopted SQL transformation framework with the largest adapter and community ecosystem. |
124
128
|**SQLMesh**| State-managed pipelines with interval tracking and cross-dialect transpilation. |
0 commit comments