diff --git a/backend/.sqlx/query-5a219a2532517869578c4504ff3153c43903f929ae5d62fbba12610f89c36d55.json b/backend/.sqlx/query-5a219a2532517869578c4504ff3153c43903f929ae5d62fbba12610f89c36d55.json index 36ddb8ab9f..713ccb9dd3 100644 --- a/backend/.sqlx/query-5a219a2532517869578c4504ff3153c43903f929ae5d62fbba12610f89c36d55.json +++ b/backend/.sqlx/query-5a219a2532517869578c4504ff3153c43903f929ae5d62fbba12610f89c36d55.json @@ -15,7 +15,7 @@ ] }, "nullable": [ - true + null ] }, "hash": "5a219a2532517869578c4504ff3153c43903f929ae5d62fbba12610f89c36d55" diff --git a/backend/.sqlx/query-35061719d01929a7146c80de4b637abdad3198d3340ec7c04ed671baff0a4d0b.json b/backend/.sqlx/query-5e7cadffbee74b11e224b60322b102b9899b4a97b8e557692c0085a9b472b8a7.json similarity index 57% rename from backend/.sqlx/query-35061719d01929a7146c80de4b637abdad3198d3340ec7c04ed671baff0a4d0b.json rename to backend/.sqlx/query-5e7cadffbee74b11e224b60322b102b9899b4a97b8e557692c0085a9b472b8a7.json index e3d94ad1cf..414ba5924d 100644 --- a/backend/.sqlx/query-35061719d01929a7146c80de4b637abdad3198d3340ec7c04ed671baff0a4d0b.json +++ b/backend/.sqlx/query-5e7cadffbee74b11e224b60322b102b9899b4a97b8e557692c0085a9b472b8a7.json @@ -1,11 +1,11 @@ { "db_name": "PostgreSQL", - "query": "SELECT j.created_by AS \"created_by!\", CONCAT(coalesce(job_logs.logs, '')) as logs, job_logs.log_offset, job_logs.log_file_index\n FROM v2_job j\n LEFT JOIN job_logs ON job_logs.job_id = j.id\n WHERE j.id = $1 AND j.workspace_id = $2 AND ($3::text[] IS NULL OR j.tag = ANY($3))", + "query": "SELECT j.created_by AS \"created_by\", coalesce(job_logs.logs, '') as logs, COALESCE(job_logs.log_offset, 0) as log_offset, job_logs.log_file_index\n FROM v2_job j\n LEFT JOIN job_logs ON job_logs.job_id = j.id\n WHERE j.id = $1 AND j.workspace_id = $2 AND ($3::text[] IS NULL OR j.tag = ANY($3))", "describe": { "columns": [ { "ordinal": 0, - "name": "created_by!", + "name": "created_by", "type_info": "Varchar" }, { @@ -34,9 +34,9 @@ "nullable": [ false, null, - false, + null, true ] }, - "hash": "35061719d01929a7146c80de4b637abdad3198d3340ec7c04ed671baff0a4d0b" + "hash": "5e7cadffbee74b11e224b60322b102b9899b4a97b8e557692c0085a9b472b8a7" } diff --git a/backend/windmill-api/src/jobs.rs b/backend/windmill-api/src/jobs.rs index d2de1a8f49..d006c2ec15 100644 --- a/backend/windmill-api/src/jobs.rs +++ b/backend/windmill-api/src/jobs.rs @@ -1468,7 +1468,7 @@ async fn get_job_logs( .flatten(); let record = sqlx::query!( - "SELECT j.created_by AS \"created_by!\", CONCAT(coalesce(job_logs.logs, '')) as logs, job_logs.log_offset, job_logs.log_file_index + "SELECT j.created_by AS \"created_by\", coalesce(job_logs.logs, '') as logs, COALESCE(job_logs.log_offset, 0) as log_offset, job_logs.log_file_index FROM v2_job j LEFT JOIN job_logs ON job_logs.job_id = j.id WHERE j.id = $1 AND j.workspace_id = $2 AND ($3::text[] IS NULL OR j.tag = ANY($3))", @@ -1497,11 +1497,21 @@ async fn get_job_logs( .await?; #[cfg(all(feature = "enterprise", feature = "parquet"))] - if let Some(r) = get_logs_from_store(record.log_offset, &logs, &record.log_file_index).await + if let Some(r) = get_logs_from_store( + record.log_offset.unwrap_or(0), + &logs, + &record.log_file_index, + ) + .await { return r.map(content_plain); } - if let Some(r) = get_logs_from_disk(record.log_offset, &logs, &record.log_file_index).await + if let Some(r) = get_logs_from_disk( + record.log_offset.unwrap_or(0), + &logs, + &record.log_file_index, + ) + .await { return r.map(content_plain); } @@ -4285,7 +4295,11 @@ pub async fn run_script_by_path_inner( timeout, None, // If the job has a parent job, set priority to 2 as it may be ran synchronously and block a current worker until being executed. Flow steps have a priority of 1 so this is higher. - if run_query.parent_job.is_some() || run_query.root_job.is_some() { Some(2) } else { None }, + if run_query.parent_job.is_some() || run_query.root_job.is_some() { + Some(2) + } else { + None + }, push_authed.as_ref(), false, None,