Skip to content

Commit 25ebdd6

Browse files
committed
db,migrate:Simplify state code in analysis
1 parent 39b6cd0 commit 25ebdd6

13 files changed

+15
-45
lines changed

migrations/20250429100000_import_job_procedures_for_external_idents.up.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -476,7 +476,7 @@ BEGIN
476476

477477
-- Step 3: Single-pass Batch Update for All Rows with dynamically constructed SET clause
478478
v_set_clause := format($$
479-
state = CASE WHEN ru.error_jsonb IS NOT NULL AND ru.error_jsonb != '{}'::jsonb THEN 'error'::public.import_data_state ELSE (CASE WHEN dt.state = 'error' THEN 'error'::public.import_data_state ELSE 'analysing'::public.import_data_state END) END,
479+
state = CASE WHEN ru.error_jsonb IS NOT NULL AND ru.error_jsonb != '{}'::jsonb THEN 'error'::public.import_data_state ELSE 'analysing'::public.import_data_state END,
480480
error = CASE WHEN ru.error_jsonb IS NOT NULL AND ru.error_jsonb != '{}'::jsonb THEN COALESCE(dt.error, '{}'::jsonb) || ru.error_jsonb ELSE (CASE WHEN (dt.error - %1$L::TEXT[]) = '{}'::jsonb THEN NULL ELSE (dt.error - %1$L::TEXT[]) END) END,
481481
action = ru.action,
482482
operation = ru.operation,

migrations/20250429102000_import_job_procedures_for_edit_info.up.sql

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,7 @@ BEGIN
3232
edit_at = statement_timestamp(),
3333
edit_comment = %3$L, -- Set edit_comment from job's default
3434
last_completed_priority = %4$L,
35-
state = CASE
36-
WHEN dt.action = 'skip' THEN dt.state -- Keep existing state if skipped
37-
ELSE 'analysing'::public.import_data_state -- Set to analysing for non-skipped
38-
END
35+
state = 'analysing'::public.import_data_state
3936
WHERE dt.row_id = ANY($1);
4037
$$, v_data_table_name /* %1$I */, v_job.user_id /* %2$L */, v_job.edit_comment /* %3$L */, v_step.priority /* %4$L */);
4138
RAISE DEBUG '[Job %] analyse_edit_info: Updating all rows in batch: %', p_job_id, v_sql;

migrations/20250429103000_import_job_procedures_for_status.up.sql

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -57,11 +57,7 @@ BEGIN
5757
WHEN (NULLIF(dt.status_code, '') IS NOT NULL AND sl.resolved_status_id_by_code IS NULL AND %2$L::INTEGER IS NULL) OR
5858
((NULLIF(dt.status_code, '') IS NULL OR NULLIF(dt.status_code, '') = '') AND %2$L::INTEGER IS NULL)
5959
THEN 'error'::public.import_data_state
60-
ELSE
61-
CASE
62-
WHEN dt.state = 'error'::public.import_data_state THEN 'error'::public.import_data_state
63-
ELSE 'analysing'::public.import_data_state
64-
END
60+
ELSE 'analysing'::public.import_data_state
6561
END,
6662
error = CASE
6763
WHEN NULLIF(dt.status_code, '') IS NOT NULL AND sl.resolved_status_id_by_code IS NULL AND %2$L::INTEGER IS NULL THEN

migrations/20250429110000_import_job_procedures_for_legal_unit.up.sql

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -68,11 +68,7 @@ BEGIN
6868
state = CASE
6969
WHEN dt.name IS NULL OR trim(dt.name) = '' THEN 'error'::public.import_data_state
7070
WHEN dt.status_id IS NULL THEN 'error'::public.import_data_state
71-
ELSE
72-
CASE
73-
WHEN dt.state = 'error'::public.import_data_state THEN 'error'::public.import_data_state
74-
ELSE 'analysing'::public.import_data_state
75-
END
71+
ELSE 'analysing'::public.import_data_state
7672
END,
7773
action = CASE
7874
WHEN dt.name IS NULL OR trim(dt.name) = '' THEN 'skip'::public.import_row_action_type

migrations/20250429120000_import_job_procedures_for_link_establishment_to_legal_unit.up.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -240,7 +240,7 @@ BEGIN
240240
)
241241
ELSE dt.primary_for_legal_unit
242242
END,
243-
state = CASE WHEN err.error_jsonb IS NOT NULL THEN 'error'::public.import_data_state ELSE (CASE WHEN dt.state = 'error' THEN 'error'::public.import_data_state ELSE 'analysing'::public.import_data_state END) END,
243+
state = CASE WHEN err.error_jsonb IS NOT NULL THEN 'error'::public.import_data_state ELSE 'analysing'::public.import_data_state END,
244244
action = CASE WHEN err.error_jsonb IS NOT NULL THEN 'skip'::public.import_row_action_type ELSE dt.action END,
245245
error = CASE WHEN err.error_jsonb IS NOT NULL THEN COALESCE(dt.error, '{}'::jsonb) || err.error_jsonb ELSE (CASE WHEN (dt.error - %2$L::TEXT[]) = '{}'::jsonb THEN NULL ELSE (dt.error - %2$L::TEXT[]) END) END,
246246
last_completed_priority = %3$L

migrations/20250429123000_import_job_procedures_for_establishment.up.sql

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -60,11 +60,7 @@ BEGIN
6060
state = CASE
6161
WHEN dt.name IS NULL OR trim(dt.name) = '' THEN 'error'::public.import_data_state
6262
WHEN dt.status_id IS NULL THEN 'error'::public.import_data_state
63-
ELSE
64-
CASE
65-
WHEN dt.state = 'error'::public.import_data_state THEN 'error'::public.import_data_state
66-
ELSE 'analysing'::public.import_data_state
67-
END
63+
ELSE 'analysing'::public.import_data_state
6864
END,
6965
action = CASE -- Added action update
7066
WHEN dt.name IS NULL OR trim(dt.name) = '' THEN 'skip'::public.import_row_action_type

migrations/20250429130000_import_job_procedures_for_location.up.sql

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -265,11 +265,7 @@ BEGIN
265265
END,
266266
state = CASE
267267
WHEN (%6$s) OR (%10$s) THEN 'error'::public.import_data_state -- Fatal country error OR any coordinate error
268-
ELSE
269-
CASE
270-
WHEN dt.state = 'error'::public.import_data_state THEN 'error'::public.import_data_state
271-
ELSE 'analysing'::public.import_data_state
272-
END
268+
ELSE 'analysing'::public.import_data_state
273269
END,
274270
error = jsonb_strip_nulls(
275271
COALESCE(dt.error, '{}'::jsonb) -- Start with existing errors

migrations/20250429140000_import_job_procedures_for_activity.up.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ BEGIN
9292
WHEN %2$L = 'secondary_activity' THEN l.resolved_secondary_activity_category_id
9393
ELSE dt.secondary_activity_category_id -- Keep existing if not this step's target
9494
END,
95-
state = CASE WHEN dt.state = 'error'::public.import_data_state THEN 'error'::public.import_data_state ELSE 'analysing'::public.import_data_state END, -- Preserve error state, otherwise it's analysing
95+
state = 'analysing'::public.import_data_state, -- Activity lookup issues are non-fatal, state remains analysing
9696
error = CASE WHEN (dt.error - %3$L::TEXT[]) = '{}'::jsonb THEN NULL ELSE (dt.error - %3$L::TEXT[]) END, -- Always clear this step's error key
9797
invalid_codes = CASE
9898
WHEN (%4$s) THEN -- Lookup failed for the current activity type

migrations/20250429150000_import_job_procedures_for_contact.up.sql

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,7 @@ BEGIN
3131
v_sql := format($$
3232
UPDATE public.%1$I dt SET
3333
last_completed_priority = %2$L,
34-
state = CASE
35-
WHEN dt.state = 'error'::public.import_data_state THEN 'error'::public.import_data_state -- Preserve existing error state
36-
ELSE 'analysing'::public.import_data_state -- Otherwise, it's analysing
37-
END
34+
state = 'analysing'::public.import_data_state
3835
-- No error column modification as this step doesn't generate errors
3936
WHERE dt.row_id = ANY($1);
4037
$$, v_data_table_name /* %1$I */, v_step.priority /* %2$L */);

migrations/20250429170000_import_job_procedures_for_statistical_variables.up.sql

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -143,11 +143,7 @@ BEGIN
143143
-- Determine state first
144144
state = CASE
145145
WHEN %2$s THEN 'error'::public.import_data_state -- Error condition for this step
146-
ELSE
147-
CASE
148-
WHEN dt.state = 'error'::public.import_data_state THEN 'error'::public.import_data_state
149-
ELSE 'analysing'::public.import_data_state
150-
END
146+
ELSE 'analysing'::public.import_data_state -- No error from this step
151147
END,
152148
-- Then determine action based on the new state or existing action
153149
action = CASE

0 commit comments

Comments
 (0)