diff --git a/backend/.sqlx/query-33351de09c72ccc0a39eb977d26f867595813bfa1ae0b26bc4181780801294bf.json b/backend/.sqlx/query-05c65ba8a56b3b5f8bd37c30c0c6707522e01c4a05104969889b7bb41d6aa509.json similarity index 56% rename from backend/.sqlx/query-33351de09c72ccc0a39eb977d26f867595813bfa1ae0b26bc4181780801294bf.json rename to backend/.sqlx/query-05c65ba8a56b3b5f8bd37c30c0c6707522e01c4a05104969889b7bb41d6aa509.json index a3d39e0b59..3a4f5e1b82 100644 --- a/backend/.sqlx/query-33351de09c72ccc0a39eb977d26f867595813bfa1ae0b26bc4181780801294bf.json +++ b/backend/.sqlx/query-05c65ba8a56b3b5f8bd37c30c0c6707522e01c4a05104969889b7bb41d6aa509.json @@ -1,6 +1,6 @@ { "db_name": "PostgreSQL", - "query": "SELECT success AS \"success!\" FROM v2_as_completed_job WHERE id = ANY($1)", + "query": "SELECT status = 'success' OR status = 'skipped' AS \"success!\" FROM v2_job_completed WHERE id = ANY($1)", "describe": { "columns": [ { @@ -15,8 +15,8 @@ ] }, "nullable": [ - true + null ] }, - "hash": "33351de09c72ccc0a39eb977d26f867595813bfa1ae0b26bc4181780801294bf" + "hash": "05c65ba8a56b3b5f8bd37c30c0c6707522e01c4a05104969889b7bb41d6aa509" } diff --git a/backend/.sqlx/query-05d6405b2cc6aabf564a10f05402878e9f2a13e0ce0dad42723f95ac7fb15d4b.json b/backend/.sqlx/query-34d22638730d62e8bf7020ae0f7ccacf4b258877375ceff2da640fe65d270794.json similarity index 53% rename from backend/.sqlx/query-05d6405b2cc6aabf564a10f05402878e9f2a13e0ce0dad42723f95ac7fb15d4b.json rename to backend/.sqlx/query-34d22638730d62e8bf7020ae0f7ccacf4b258877375ceff2da640fe65d270794.json index 195c9bfe92..c0dbe95a6e 100644 --- a/backend/.sqlx/query-05d6405b2cc6aabf564a10f05402878e9f2a13e0ce0dad42723f95ac7fb15d4b.json +++ b/backend/.sqlx/query-34d22638730d62e8bf7020ae0f7ccacf4b258877375ceff2da640fe65d270794.json @@ -1,6 +1,6 @@ { "db_name": "PostgreSQL", - "query": "SELECT success AS \"success!\"\n FROM v2_as_completed_job WHERE id = $1 AND workspace_id = $2", + "query": "SELECT status = 'success' OR status = 'skipped' AS \"success!\"\n FROM v2_job_completed WHERE id = $1 AND workspace_id = $2", "describe": { "columns": [ { @@ -16,8 +16,8 @@ ] }, "nullable": [ - true + null ] }, - "hash": "05d6405b2cc6aabf564a10f05402878e9f2a13e0ce0dad42723f95ac7fb15d4b" + "hash": "34d22638730d62e8bf7020ae0f7ccacf4b258877375ceff2da640fe65d270794" } diff --git a/backend/.sqlx/query-74dbd5a09255c30991078492ba3850e02ffbef25fbfd29cbedc041b0e439e580.json b/backend/.sqlx/query-74dbd5a09255c30991078492ba3850e02ffbef25fbfd29cbedc041b0e439e580.json deleted file mode 100644 index 77515a838f..0000000000 --- a/backend/.sqlx/query-74dbd5a09255c30991078492ba3850e02ffbef25fbfd29cbedc041b0e439e580.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "db_name": "PostgreSQL", - "query": "SELECT id AS \"id!\", flow_status AS \"flow_status!: Json\"\n FROM v2_as_completed_job\n WHERE parent_job = $1 AND workspace_id = $2 AND flow_status IS NOT NULL", - "describe": { - "columns": [ - { - "ordinal": 0, - "name": "id!", - "type_info": "Uuid" - }, - { - "ordinal": 1, - "name": "flow_status!: Json", - "type_info": "Jsonb" - } - ], - "parameters": { - "Left": [ - "Uuid", - "Text" - ] - }, - "nullable": [ - true, - true - ] - }, - "hash": "74dbd5a09255c30991078492ba3850e02ffbef25fbfd29cbedc041b0e439e580" -} diff --git a/backend/.sqlx/query-7e93c924e3fc51f8c26df26e5d09d60e3a3a40b90421aaf589c4c3bcc5a45ec8.json b/backend/.sqlx/query-7e93c924e3fc51f8c26df26e5d09d60e3a3a40b90421aaf589c4c3bcc5a45ec8.json new file mode 100644 index 0000000000..044c752555 --- /dev/null +++ b/backend/.sqlx/query-7e93c924e3fc51f8c26df26e5d09d60e3a3a40b90421aaf589c4c3bcc5a45ec8.json @@ -0,0 +1,29 @@ +{ + "db_name": "PostgreSQL", + "query": "SELECT v2_job_completed.id AS \"id!\", flow_status AS \"flow_status!: Json\"\n FROM v2_job_completed\n INNER JOIN v2_job ON (v2_job_completed.id = v2_job.id)\n WHERE parent_job = $1 AND v2_job_completed.workspace_id = $2 AND flow_status IS NOT NULL", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id!", + "type_info": "Uuid" + }, + { + "ordinal": 1, + "name": "flow_status!: Json", + "type_info": "Jsonb" + } + ], + "parameters": { + "Left": [ + "Uuid", + "Text" + ] + }, + "nullable": [ + false, + true + ] + }, + "hash": "7e93c924e3fc51f8c26df26e5d09d60e3a3a40b90421aaf589c4c3bcc5a45ec8" +} diff --git a/backend/windmill-queue/src/jobs.rs b/backend/windmill-queue/src/jobs.rs index 2adaa99772..a8f883367e 100644 --- a/backend/windmill-queue/src/jobs.rs +++ b/backend/windmill-queue/src/jobs.rs @@ -2482,8 +2482,8 @@ pub async fn get_result_and_success_by_id_from_flow( let success = match &job_result { JobResult::SingleJob(job_id) => { sqlx::query_scalar!( - "SELECT success AS \"success!\" - FROM v2_as_completed_job WHERE id = $1 AND workspace_id = $2", + "SELECT status = 'success' OR status = 'skipped' AS \"success!\" + FROM v2_job_completed WHERE id = $1 AND workspace_id = $2", job_id, w_id ) @@ -2495,20 +2495,19 @@ pub async fn get_result_and_success_by_id_from_flow( r#"WITH modules AS ( SELECT jsonb_array_elements(flow_status->'modules') AS module FROM {} - WHERE id = $1 AND workspace_id = $2 + WHERE id = $1 ) SELECT module->>'type' = 'Success' FROM modules - WHERE module->>'id' = $3"#, + WHERE module->>'id' = $2"#, if completed { - "v2_as_completed_job" + "v2_job_completed" } else { - "v2_as_queue" + "v2_job_status" } ); sqlx::query_scalar(&query) .bind(flow_id) - .bind(w_id) .bind(node_id) .fetch_optional(db) .await? @@ -2612,9 +2611,10 @@ async fn get_completed_flow_node_result_rec( }; } else { let subflows = sqlx::query!( - "SELECT id AS \"id!\", flow_status AS \"flow_status!: Json\" - FROM v2_as_completed_job - WHERE parent_job = $1 AND workspace_id = $2 AND flow_status IS NOT NULL", + "SELECT v2_job_completed.id AS \"id!\", flow_status AS \"flow_status!: Json\" + FROM v2_job_completed + INNER JOIN v2_job ON (v2_job_completed.id = v2_job.id) + WHERE parent_job = $1 AND v2_job_completed.workspace_id = $2 AND flow_status IS NOT NULL", id, w_id ) diff --git a/backend/windmill-worker/src/worker_flow.rs b/backend/windmill-worker/src/worker_flow.rs index 6a8544d722..0b1b049f4c 100644 --- a/backend/windmill-worker/src/worker_flow.rs +++ b/backend/windmill-worker/src/worker_flow.rs @@ -573,7 +573,7 @@ pub async fn update_flow_status_after_job_completion_internal( let new_status = if skip_loop_failures || sqlx::query_scalar!( - "SELECT success AS \"success!\" FROM v2_as_completed_job WHERE id = ANY($1)", + "SELECT status = 'success' OR status = 'skipped' AS \"success!\" FROM v2_job_completed WHERE id = ANY($1)", jobs.as_slice() ) .fetch_all(&mut *tx)