This PR represents the initial foundational load of the Strata.SqlTools ecosystem. It introduces a comprehensive suite of libraries designed for deep parsing, analysis, and manipulation of SQL queries across multiple dialects, targeting .NET 9.0.
Core Functionality
Deep Query Breakdown: Implements logic to deconstruct SELECT statements into granular component parts (SELECT, FROM, WHERE, GROUP BY, HAVING, and ORDER BY).
Multi-Dialect Support: Initial implementations for SQL Server (T-SQL), PostgreSQL, and Snowflake, including support for dialect-specific parameter formats (@, $n, and :).
Expression Trees: A type-safe system for building and traversing SQL expressions with support for operator overloading and comment preservation.
Visualization Tools: Integration with Mermaid.js to generate flowcharts, ER diagrams, and sequence diagrams directly from SQL structure or LINQ method chains.
Key Modules Introduced
Module
Description
SqlBreakdown
The core parsing and expression library.
LinqToSql
Analysis tools for IQueryable queries and LINQ expression trees.
EFCore Integration
Patterns for persisting QueryBreakdown objects using Entity Framework Core.
Rules Engine
A validation system for enforcing SQL query standards and analysis.
Markdown
Generators for visualizing query architecture in Markdown/Mermaid.
Development & Infrastructure
Testing Suite: Includes extensive unit tests and TestContainer integration tests for real-world validation against Dockerized SQL Server and PostgreSQL instances.
CI/CD Foundation: Includes a Dockerfile.lib for multi-stage builds and automated NuGet packaging.
Documentation: Initial architectural overviews and dialect-specific guides added to the docs/ folder.
License: Released under the MIT License for Strata Decision Technology.
Note for Reviewers: This is a comprehensive initial commit (384 files) establishing the project architecture. Integration tests requiring Docker are located in the testContainers directory and are excluded from the main solution to ensure the primary build pipeline remains lightweight.
## **PR Summary: Initial Base Code for Strata.SqlTools**
This PR represents the **initial foundational load** of the `Strata.SqlTools` ecosystem. It introduces a comprehensive suite of libraries designed for deep parsing, analysis, and manipulation of SQL queries across multiple dialects, targeting **.NET 9.0**.
---
### **Core Functionality**
* **Deep Query Breakdown**: Implements logic to deconstruct SELECT statements into granular component parts (SELECT, FROM, WHERE, GROUP BY, HAVING, and ORDER BY).
* **Multi-Dialect Support**: Initial implementations for **SQL Server (T-SQL)**, **PostgreSQL**, and **Snowflake**, including support for dialect-specific parameter formats (`@`, `$n`, and `:`).
* **Expression Trees**: A type-safe system for building and traversing SQL expressions with support for operator overloading and comment preservation.
* **Visualization Tools**: Integration with **Mermaid.js** to generate flowcharts, ER diagrams, and sequence diagrams directly from SQL structure or LINQ method chains.
### **Key Modules Introduced**
| Module | Description |
| :--- | :--- |
| **SqlBreakdown** | The core parsing and expression library. |
| **LinqToSql** | Analysis tools for `IQueryable` queries and LINQ expression trees. |
| **EFCore Integration** | Patterns for persisting `QueryBreakdown` objects using Entity Framework Core. |
| **Rules Engine** | A validation system for enforcing SQL query standards and analysis. |
| **Markdown** | Generators for visualizing query architecture in Markdown/Mermaid. |
### **Development & Infrastructure**
* **Testing Suite**: Includes extensive unit tests and **TestContainer** integration tests for real-world validation against Dockerized SQL Server and PostgreSQL instances.
* **CI/CD Foundation**: Includes a `Dockerfile.lib` for multi-stage builds and automated NuGet packaging.
* **Documentation**: Initial architectural overviews and dialect-specific guides added to the `docs/` folder.
* **License**: Released under the MIT License for Strata Decision Technology.
---
**Note for Reviewers:** This is a comprehensive initial commit (384 files) establishing the project architecture. Integration tests requiring Docker are located in the `testContainers` directory and are excluded from the main solution to ensure the primary build pipeline remains lightweight.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
PR Summary: Initial Base Code for Strata.SqlTools
This PR represents the initial foundational load of the
Strata.SqlToolsecosystem. It introduces a comprehensive suite of libraries designed for deep parsing, analysis, and manipulation of SQL queries across multiple dialects, targeting .NET 9.0.Core Functionality
@,$n, and:).Key Modules Introduced
IQueryablequeries and LINQ expression trees.QueryBreakdownobjects using Entity Framework Core.Development & Infrastructure
Dockerfile.libfor multi-stage builds and automated NuGet packaging.docs/folder.Note for Reviewers: This is a comprehensive initial commit (384 files) establishing the project architecture. Integration tests requiring Docker are located in the
testContainersdirectory and are excluded from the main solution to ensure the primary build pipeline remains lightweight.