We've implemented the following tests:
- Test SELECT with multiple column aliases (implemented and working)
- Test SELECT with arithmetic operations in projections
- Test SELECT with multiple WHERE conditions connected by OR (implemented and working)
- Test SELECT with IN operator (implemented and working)
- Test SELECT with NOT IN operator
- Test SELECT with NULL/NOT NULL checks
- Test SELECT with LIMIT and OFFSET
- Test SELECT with ORDER BY multiple fields
- Test SELECT with ORDER BY ASC/DESC combinations
- Test querying on deeply nested fields (3+ levels deep)
- Test projecting multiple nested fields simultaneously (implemented, working with fixes)
- Test filtering with comparisons on nested fields (implemented, working with fixes)
- Test updating nested fields
- Test nested field access with complex WHERE conditions (implemented, working with fixes)
- Test querying arrays with multiple indices (implemented, working with fixes)
- Test filtering by array element properties at different indices (implemented, working with fixes)
- Test filtering by multiple array elements simultaneously
- Test projecting multiple array elements in one query
- Test array access with nested arrays
- Test updating array elements
- Test GROUP BY with multiple columns (implemented, working with fixes)
- Test GROUP BY with HAVING clause
- Test GROUP BY with multiple aggregation functions
- Test aggregation functions: AVG, MIN, MAX, COUNT (implemented, working with fixes)
- Test GROUP BY with ORDER BY on aggregation results
- Test GROUP BY with complex expressions
- Test GROUP BY with filtering before aggregation
- Test GROUP BY on nested fields
- Test performance with large dataset aggregation
- Test INNER JOIN with multiple conditions
- Test LEFT OUTER JOIN implementation
- Test RIGHT OUTER JOIN implementation
- Test FULL OUTER JOIN implementation
- Test JOIN with WHERE conditions
- Test multiple JOINs in one query (3+ tables)
- Test JOINs with aggregation
- Test JOINs with nested field access
- Test JOINs with array field access
- Test performance with large dataset JOINs
- Test CASE statements in SELECT list
- Test subqueries in WHERE clause
- Test subqueries in FROM clause
- Test window functions if supported
- Test date/time functions
- Test string functions
- Test handling of special characters in field names
- Test handling of extremely large result sets
- Test behavior with invalid SQL syntax
- Test behavior with valid SQL but unsupported features
- Test behavior with missing collections
- Test behavior with invalid data types
- Test handling of MongoDB ObjectId conversions
- Benchmark simple queries vs native MongoDB queries
- Benchmark complex queries vs native MongoDB queries
- Benchmark with increasing dataset sizes (10K, 100K, 1M documents)
- Identify bottlenecks in the translation process
- Optimize query execution for common patterns
- Document SQL syntax support and limitations
- Create examples of each supported SQL feature
- Document MongoDB query translation for each SQL feature
- Create a troubleshooting guide
- Add inline code documentation
- Add support for SQL DISTINCT
- Implement SQL subquery support
- Support for data types (DATE, TIMESTAMP, BOOLEAN)
- Add basic transaction support
- Support for SQL UNION, INTERSECT, EXCEPT
- Add index creation/management via SQL
- Implement execution plan visualization
- Add query caching
- Support for conditional expressions (CASE)
- Add execution metrics and query profiling