v0.0.1
Zero-SQL v0.0.1 Release Notes
Release Date: Sat Jul 7 2025
We're excited to announce the initial release of Zero-SQL v0.0.1! 馃帀
Zero-SQL is a robust Go package and CLI tool that converts SQL queries to MongoDB aggregation pipelines, making it easy to migrate from relational databases to MongoDB or work with both paradigms seamlessly.
馃殌 Initial Features
Core SQL Support
- SELECT statements with column selection and aliases
- FROM clauses with table references and aliases
- WHERE clauses with complex conditional logic
- ORDER BY clauses with ascending/descending sort
- LIMIT and OFFSET for result pagination
- GROUP BY with aggregation functions
- HAVING clauses for filtered aggregations
JOIN Operations
- INNER JOIN - Standard inner joins between tables
- LEFT JOIN - Left outer joins with null preservation
- RIGHT JOIN - Right outer joins
- Multiple JOINs - Chain multiple join operations
- Table aliases - Support for aliased tables in joins
Advanced WHERE Conditions
- Comparison operators:
=,!=,<>,>,<,>=,<= - Pattern matching:
LIKE,ILIKEfor case-insensitive searches - List operations:
IN,NOT IN - NULL checks:
IS NULL,IS NOT NULL - Logical operators:
AND,OR,NOT - Parentheses grouping for complex conditional logic
Aggregation Functions
COUNT()- Count recordsSUM()- Sum numeric valuesAVG()- Calculate averagesMIN()- Find minimum valuesMAX()- Find maximum values
CLI Tool Features
- Multiple output formats: JSON and BSON
- Pretty printing for readable output
- Verbose mode for debugging
- Interactive usage with command-line flags
馃洜 MongoDB Pipeline Generation
Zero-SQL generates optimized MongoDB aggregation pipelines using:
$lookupstages for JOIN operations$unwindstages to flatten joined arrays$matchstages for WHERE and HAVING clauses$groupstages for GROUP BY operations$projectstages for SELECT column specification$sortstages for ORDER BY clauses$skipand$limitstages for pagination
馃摝 Installation
From Source
git clone https://github.com/synhq/zero-sql
cd zero-sql
go build -o zero-sql buildUsing Go Install
go install github.com/synhq/zero-sql馃彈 Architecture
Clean architecture with separation of concerns:
- CLI layer (
cmd/) - Command-line interface - Converter package (
internal/converter/) - Core conversion logic - Parser helpers - SQL AST parsing utilities
- Operator mappings - SQL to MongoDB operator translations
馃敡 Usage Examples
Basic Query
zero-sql "SELECT name, age FROM users WHERE age > 18"Complex JOIN with Aggregation
zero-sql "SELECT u.name, COUNT(p.id) as post_count FROM users u LEFT JOIN posts p ON u.id = p.user_id GROUP BY u.name HAVING COUNT(p.id) > 5"鈿狅笍 Known Limitations
- Only SELECT statements are currently supported
- Subqueries are not yet implemented
- Window functions are not available
- Some advanced SQL features may not be supported
馃敭 What's Next
Future releases will focus on:
- Subquery support
- Additional SQL statement types (INSERT, UPDATE, DELETE)
- Window functions
- Performance optimizations
- Enhanced error reporting
馃檹 Contributing
We welcome contributions! Please see our Contributing Guide for details on how to get involved.
馃搫 License
Zero-SQL is licensed under the MIT License. See LICENSE for details.
Download: GitHub Releases
Report Issues: GitHub Issues
Documentation: README.md