Overview
Query transformation flow:Query Handler
Implement a query endpoint usinghandleQueryRequest:
Defining Queries
Basic Query
Nested Queries
Organize queries by namespace:Access Control
Row-Level Security
Filter data based on user permissions:User Context
Pass authenticated user context:Query Patterns
Filtering
Relationships
Aggregation
Note: ZQL doesn’t support aggregation directly. Use these patterns:Computed Fields
Add computed data using relationships:Pagination
Multi-Table Queries
Use relationships to join tables:Advanced Patterns
Conditional Relationships
Dynamic Ordering
Complex Filters
Error Handling
Throw errors for invalid queries:TypeScript Support
Define query argument types:Testing
Test query transformations:Performance
Limit Results
Always limit unbounded queries:Selective Relationships
Only load needed relationships:Query Optimization
Zero Cache uses PostgreSQL query planner. Ensure indexes exist:Security
Input Validation
Prevent SQL Injection
ZQL queries are safe from SQL injection. Parameters are properly escaped:Access Control
Always enforce permissions:Migration from Legacy Queries
Old permission-based queries can be migrated to custom queries:Next Steps
- Deployment - Deploy to production