# Create View Worker Processes view creation jobs to create database views from queries. ## Overview The create view worker creates database views based on SQL queries, allowing dynamic datasets that update when source data changes. ## Job Type `create_view` ## Input Parameters ```json { "source_dataset_id": 123, "query": "SELECT * FROM spatial_data_123 WHERE properties->>'category' = 'A'", "output_dataset_id": 124 } ``` ### Parameters - `source_dataset_id` (required): Source dataset ID - `query` (required): SQL query to create view from - `output_dataset_id` (required): Output dataset ID ## Output Creates a new dataset backed by a database view: - View created in `spatial_data` schema - Dataset metadata in `spatial_files` table - View updates automatically when source data changes ## Use Cases - Filtered datasets - Joined datasets - Aggregated datasets - Computed datasets ## Example ```bash # Enqueue a create view job via API curl -X POST "https://example.com/api/create_view_run.php" \ -H "Content-Type: application/json" \ -d '{ "source_dataset_id": 123, "query": "SELECT * FROM spatial_data_123 WHERE properties->>'\''category'\'' = '\''A'\''", "output_dataset_id": 124 }' ``` ## Background Jobs This analysis runs as a background job. The worker: 1. Fetches queued `create_view` jobs 2. Validates input parameters 3. Validates SQL query 4. Creates database view 5. Creates dataset metadata 6. Marks job as completed ## Performance Considerations - Views don't store data, so creation is fast - Query performance depends on underlying data - Complex queries may slow view access - Consider materialized views for expensive queries ## Related Documentation - [Analysis API](../api/analysis.md) - [Workers Overview](index.md)