fix: add fast_filter to all v2_job_completed INSERT paths

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Ruben Fiszel
2026-02-27 06:56:58 +00:00
co-authored by Claude Opus 4.5
parent 86581d73d1
commit 3fb977a71a
7 changed files with 49 additions and 35 deletions
@@ -0,0 +1,25 @@
{
"db_name": "PostgreSQL",
"query": "INSERT INTO v2_job_completed AS cj\n ( workspace_id\n , id\n , duration_ms\n , result\n , canceled_by\n , canceled_reason\n , flow_status\n , status\n , worker\n , fast_filter\n )\n SELECT q.workspace_id\n , q.id\n , 0\n , $4\n , $1\n , 'cancel all'\n , (SELECT flow_status FROM v2_job_status WHERE id = q.id)\n , 'canceled'::job_status\n , worker\n , 2::smallint\n FROM v2_job_queue q\n JOIN v2_job USING (id)\n WHERE q.id = any($2) AND running = false AND parent_job IS NULL AND q.workspace_id = $3 AND trigger_kind IS DISTINCT FROM 'schedule'\n FOR UPDATE SKIP LOCKED\n ON CONFLICT (id) DO NOTHING RETURNING id AS \"id!\"",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "id!",
"type_info": "Uuid"
}
],
"parameters": {
"Left": [
"Varchar",
"UuidArray",
"Text",
"Jsonb"
]
},
"nullable": [
false
]
},
"hash": "633248685996deeb62c89b3d6b054b7cc230086612bc75f2222276d6cebdd6c8"
}
@@ -1,25 +0,0 @@
{
"db_name": "PostgreSQL",
"query": "INSERT INTO v2_job_completed AS cj\n ( workspace_id\n , id\n , duration_ms\n , result\n , canceled_by\n , canceled_reason\n , flow_status\n , status\n , worker\n )\n SELECT q.workspace_id\n , q.id\n , 0\n , $4\n , $1\n , 'cancel all'\n , (SELECT flow_status FROM v2_job_status WHERE id = q.id)\n , 'canceled'::job_status\n , worker\n FROM v2_job_queue q\n JOIN v2_job USING (id)\n WHERE q.id = any($2) AND running = false AND parent_job IS NULL AND q.workspace_id = $3 AND trigger_kind IS DISTINCT FROM 'schedule'\n FOR UPDATE SKIP LOCKED\n ON CONFLICT (id) DO NOTHING RETURNING id AS \"id!\"",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "id!",
"type_info": "Uuid"
}
],
"parameters": {
"Left": [
"Varchar",
"UuidArray",
"Text",
"Jsonb"
]
},
"nullable": [
false
]
},
"hash": "77f13b7c1e7e488c6268a9ff6def647e47394bd0a61d44fddb1b2040d05b7f17"
}
@@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
"query": "INSERT INTO v2_job_completed (\n id,\n workspace_id,\n started_at,\n completed_at,\n duration_ms,\n result,\n status,\n worker\n ) VALUES ($1, $2, $3, $3, 0, $4, 'success'::job_status, 'debugger')",
"query": "INSERT INTO v2_job_completed (\n id,\n workspace_id,\n started_at,\n completed_at,\n duration_ms,\n result,\n status,\n worker,\n fast_filter\n ) VALUES ($1, $2, $3, $3, 0, $4, 'success'::job_status, 'debugger', 1::smallint)",
"describe": {
"columns": [],
"parameters": {
@@ -13,5 +13,5 @@
},
"nullable": []
},
"hash": "928aa6e4fff9f60a14a51cc7a3ef507414d20c81833bc940c6323fcdbee5d9b3"
"hash": "82d6994fa0f9af1b2f978439a97f56742d3010f6308077d9c827d26a21762544"
}
@@ -1,6 +1,6 @@
{
"db_name": "PostgreSQL",
"query": "\n INSERT INTO v2_job_completed (\n id, workspace_id, started_at, completed_at, duration_ms, result, deleted,\n canceled_by, canceled_reason, flow_status, memory_peak, status, worker,\n workflow_as_code_status, result_columns, retries, extras\n ) VALUES (\n $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17\n )\n ON CONFLICT (id) DO NOTHING\n ",
"query": "\n INSERT INTO v2_job_completed (\n id, workspace_id, started_at, completed_at, duration_ms, result, deleted,\n canceled_by, canceled_reason, flow_status, memory_peak, status, worker,\n workflow_as_code_status, result_columns, retries, extras, fast_filter\n ) VALUES (\n $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17, $18\n )\n ON CONFLICT (id) DO NOTHING\n ",
"describe": {
"columns": [],
"parameters": {
@@ -33,10 +33,11 @@
"Jsonb",
"TextArray",
"UuidArray",
"Jsonb"
"Jsonb",
"Int2"
]
},
"nullable": []
},
"hash": "141a428bf866f2e3d4c6eff756a5fb8c6476d6b9b00b9a336b4616d3b69a491e"
"hash": "ee47ef28bf714c90dba387b49f92c96bcad6046385da58aa753fb9c89a8cbb63"
}
+3 -2
View File
@@ -275,8 +275,9 @@ async fn sign_debug_request(
duration_ms,
result,
status,
worker
) VALUES ($1, $2, $3, $3, 0, $4, 'success'::job_status, 'debugger')",
worker,
fast_filter
) VALUES ($1, $2, $3, $3, 0, $4, 'success'::job_status, 'debugger', 1::smallint)",
job_id,
w_id,
now,
@@ -99,6 +99,7 @@ pub async fn cancel_jobs(
, flow_status
, status
, worker
, fast_filter
)
SELECT q.workspace_id
, q.id
@@ -109,6 +110,7 @@ pub async fn cancel_jobs(
, (SELECT flow_status FROM v2_job_status WHERE id = q.id)
, 'canceled'::job_status
, worker
, 2::smallint
FROM v2_job_queue q
JOIN v2_job USING (id)
WHERE q.id = any($2) AND running = false AND parent_job IS NULL AND q.workspace_id = $3 AND trigger_kind IS DISTINCT FROM 'schedule'
+13 -3
View File
@@ -358,14 +358,23 @@ pub async fn import_completed_jobs(
.execute(&mut *tx)
.await?;
let fast_filter: Option<i16> =
if job.parent_job.is_some() || job.status == JobStatus::Skipped {
None
} else if job.status == JobStatus::Success {
Some(1)
} else {
Some(2)
};
sqlx::query!(
r#"
INSERT INTO v2_job_completed (
id, workspace_id, started_at, completed_at, duration_ms, result, deleted,
canceled_by, canceled_reason, flow_status, memory_peak, status, worker,
workflow_as_code_status, result_columns, retries, extras
workflow_as_code_status, result_columns, retries, extras, fast_filter
) VALUES (
$1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17
$1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17, $18
)
ON CONFLICT (id) DO NOTHING
"#,
@@ -385,7 +394,8 @@ pub async fn import_completed_jobs(
job.workflow_as_code_status as _,
job.result_columns as _,
job.retries as _,
job.extras as _
job.extras as _,
fast_filter
)
.execute(&mut *tx)
.await?;