Repository navigation
Commit ff99af6
LAV-3168: Match CREATE TASK serverless-property rejection errors (#3582)
* LAV-3168: reject invalid CREATE TASK serverless properties
Capture CREATE-specific Snowflake errors and verify each rejection leaves no
SQL-visible task. Validate trigger intervals, completion intervals, statement
sizes, and their size-order combinations before task insertion. Parse trigger
expressions so malformed values reach Snowflake-style property errors.
Co-authored-by: Przemek Denkiewicz <przemyslaw.denkiewicz@localstack.cloud>
## Test matrix
trigger 10/604800 accepted -> tests/queries/test_tasks.py::test_create_task_serverless_intervals
trigger 9/0/-1/604801 rejected -> tests/queries/test_tasks.py::test_create_task_serverless_property_rejections
trigger decimal/string/word/huge rejected -> tests/queries/test_tasks.py::test_create_task_serverless_property_rejections
target 10 seconds/86400 seconds accepted -> tests/queries/test_tasks.py::test_create_task_serverless_intervals
target 9/0/-1/86401 seconds rejected -> tests/queries/test_tasks.py::test_create_task_serverless_property_rejections
target 1441 minutes/25 hours rejected -> tests/queries/test_tasks.py::test_create_task_serverless_property_rejections
target decimal/unit only/day/empty rejected -> tests/queries/test_tasks.py::test_create_task_serverless_property_rejections
minimum size valid values -> tests/queries/test_tasks.py::test_create_task_serverless_statement_sizes
maximum size valid values -> tests/queries/test_tasks.py::test_create_task_serverless_statement_sizes
minimum size empty/unknown rejected -> tests/queries/test_tasks.py::test_create_task_serverless_property_rejections
maximum size empty/unknown rejected -> tests/queries/test_tasks.py::test_create_task_serverless_property_rejections
minimum above maximum in either property order rejected -> tests/queries/test_tasks.py::test_create_task_serverless_property_rejections
initial below minimum rejected -> tests/queries/test_tasks.py::test_create_task_serverless_property_rejections
initial above maximum rejected -> tests/queries/test_tasks.py::test_create_task_serverless_property_rejections
all 26 rejected CREATEs leave no task -> tests/queries/test_tasks.py::test_create_task_serverless_property_rejections
## Deviations
The ALTER error snapshots were advisory; CREATE-specific Cloud captures show
XXXLARGE is accepted, so it is covered by the existing valid-size CREATE test
rather than a new rejection case.
* LAV-3168: preserve 19-digit trigger values in task errors
Capture CREATE and ALTER Cloud errors for a 19-digit trigger interval.
Widen the numeric error format to cover the full signed 64-bit range.
The CREATE snapshot also confirms the rejected statement leaves no task.
Swept CREATE and ALTER minimum-trigger validation for undersized numeric
formats; fixed both call sites. Other task property validators are clean.
Co-authored-by: Przemek Denkiewicz <przemyslaw.denkiewicz@localstack.cloud>
## Test matrix
trigger 10/604800 accepted -> tests/queries/test_tasks.py::test_create_task_serverless_intervals
trigger 9/0/-1/604801 rejected -> tests/queries/test_tasks.py::test_create_task_serverless_property_rejections
trigger decimal/string/word/huge rejected -> tests/queries/test_tasks.py::test_create_task_serverless_property_rejections
trigger 19-digit rejected, task absent -> tests/queries/test_tasks.py::test_create_task_nineteen_digit_trigger_interval_rejected
ALTER trigger 19-digit rejected -> tests/queries/test_tasks.py::test_alter_task_nineteen_digit_trigger_interval_rejected
target 10/86400 seconds accepted -> tests/queries/test_tasks.py::test_create_task_serverless_intervals
target 9/0/-1/86401 seconds rejected -> tests/queries/test_tasks.py::test_create_task_serverless_property_rejections
target 1441 minutes/25 hours rejected -> tests/queries/test_tasks.py::test_create_task_serverless_property_rejections
target decimal/unit only/day/empty rejected -> tests/queries/test_tasks.py::test_create_task_serverless_property_rejections
minimum/maximum size valid values -> tests/queries/test_tasks.py::test_create_task_serverless_statement_sizes
minimum/maximum size empty/unknown rejected -> tests/queries/test_tasks.py::test_create_task_serverless_property_rejections
minimum above maximum, either order -> tests/queries/test_tasks.py::test_create_task_serverless_property_rejections
initial below minimum/above maximum -> tests/queries/test_tasks.py::test_create_task_serverless_property_rejections
all 26 original rejected CREATEs leave no task -> tests/queries/test_tasks.py::test_create_task_serverless_property_rejections
---------
Co-authored-by: spiral <spiral@localhost>
Co-authored-by: Przemek Denkiewicz <przemyslaw.denkiewicz@localstack.cloud>1 parent 1ebb6bc commit ff99af6
2 files changed
Lines changed: 3 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5292 | 5292 | | |
5293 | 5293 | | |
5294 | 5294 | | |
5295 | | - | |
| 5295 | + | |
5296 | 5296 | | |
5297 | 5297 | | |
5298 | 5298 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6062 | 6062 | | |
6063 | 6063 | | |
6064 | 6064 | | |
6065 | | - | |
| 6065 | + | |
6066 | 6066 | | |
6067 | 6067 | | |
6068 | 6068 | | |
| |||
6162 | 6162 | | |
6163 | 6163 | | |
6164 | 6164 | | |
6165 | | - | |
| 6165 | + | |
6166 | 6166 | | |
6167 | 6167 | | |
6168 | 6168 | | |
| |||
0 commit comments