From 2e80affe93c6739317f70a29337bd20d8ef870ec Mon Sep 17 00:00:00 2001 From: yaroslav Date: Wed, 5 Nov 2025 16:07:54 +0300 Subject: [PATCH 01/11] atm --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 1b78135..3caeb29 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,7 +1,7 @@ # Разработка apache-airflow pytest -black +blalack isort flake8 From 5ab79abfa2fc0492b50157bc938f9251fd3e4b68 Mon Sep 17 00:00:00 2001 From: yaroslav Date: Wed, 5 Nov 2025 16:08:23 +0300 Subject: [PATCH 02/11] sdjkfldsj --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 3caeb29..1b78135 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,7 +1,7 @@ # Разработка apache-airflow pytest -blalack +black isort flake8 From cca87d3c81623dcb15ba1579d10871c67345c0ce Mon Sep 17 00:00:00 2001 From: yaroslav Date: Wed, 5 Nov 2025 16:09:05 +0300 Subject: [PATCH 03/11] adsjdsfjlk --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 3caeb29..77c4dff 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,7 +1,7 @@ # Разработка apache-airflow pytest -blalack +blalalack isort flake8 From 216818b019a361367eece4e77c91d6e3a1c84d7e Mon Sep 17 00:00:00 2001 From: yaroslav Date: Mon, 10 Nov 2025 16:33:44 +0300 Subject: [PATCH 04/11] additional_data json type check --- dags/ods/marketing/printer_bots_actions.sql | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dags/ods/marketing/printer_bots_actions.sql b/dags/ods/marketing/printer_bots_actions.sql index f3547b7..df2d057 100644 --- a/dags/ods/marketing/printer_bots_actions.sql +++ b/dags/ods/marketing/printer_bots_actions.sql @@ -25,7 +25,8 @@ FROM SELECT value AS elem FROM jsonb_array_elements( CASE - WHEN additional_data = '' THEN jsonb_build_array('{}'::jsonb) + WHEN additional_data IS NULL OR additional_data = '' THEN jsonb_build_array('{}'::jsonb) + WHEN additional_data::jsonb IS NULL THEN jsonb_build_array('{}'::jsonb) WHEN jsonb_typeof(additional_data::jsonb) = 'array' THEN additional_data::jsonb ELSE jsonb_build_array(additional_data::jsonb) END From 582078a2e2c1ad9b313506fa8fb13fdf270a993f Mon Sep 17 00:00:00 2001 From: yaroslav Date: Mon, 10 Nov 2025 21:07:39 +0300 Subject: [PATCH 05/11] additional_data json check --- dags/ods/marketing/printer_bots_actions.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dags/ods/marketing/printer_bots_actions.sql b/dags/ods/marketing/printer_bots_actions.sql index df2d057..ba764eb 100644 --- a/dags/ods/marketing/printer_bots_actions.sql +++ b/dags/ods/marketing/printer_bots_actions.sql @@ -24,7 +24,7 @@ FROM LATERAL ( SELECT value AS elem FROM jsonb_array_elements( - CASE + CASE WHEN additional_data IS NULL OR additional_data = '' THEN jsonb_build_array('{}'::jsonb) WHEN additional_data::jsonb IS NULL THEN jsonb_build_array('{}'::jsonb) WHEN jsonb_typeof(additional_data::jsonb) = 'array' THEN additional_data::jsonb From 582795e8197a70788e9ad6a6d8bb6b07372d3766 Mon Sep 17 00:00:00 2001 From: yaroslav Date: Mon, 10 Nov 2025 21:09:26 +0300 Subject: [PATCH 06/11] additional_data json check --- dags/ods/marketing/printer_bots_actions.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dags/ods/marketing/printer_bots_actions.sql b/dags/ods/marketing/printer_bots_actions.sql index ba764eb..a923f87 100644 --- a/dags/ods/marketing/printer_bots_actions.sql +++ b/dags/ods/marketing/printer_bots_actions.sql @@ -29,7 +29,7 @@ FROM WHEN additional_data::jsonb IS NULL THEN jsonb_build_array('{}'::jsonb) WHEN jsonb_typeof(additional_data::jsonb) = 'array' THEN additional_data::jsonb ELSE jsonb_build_array(additional_data::jsonb) - END + END ) ) AS expanded WHERE From bd716cb7b8ff87926d88a894cf01b20210cb7420 Mon Sep 17 00:00:00 2001 From: yaroslav Date: Mon, 10 Nov 2025 21:14:24 +0300 Subject: [PATCH 07/11] additional_data json check --- dags/ods/marketing/printer_bots_actions.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dags/ods/marketing/printer_bots_actions.sql b/dags/ods/marketing/printer_bots_actions.sql index a923f87..ba764eb 100644 --- a/dags/ods/marketing/printer_bots_actions.sql +++ b/dags/ods/marketing/printer_bots_actions.sql @@ -29,7 +29,7 @@ FROM WHEN additional_data::jsonb IS NULL THEN jsonb_build_array('{}'::jsonb) WHEN jsonb_typeof(additional_data::jsonb) = 'array' THEN additional_data::jsonb ELSE jsonb_build_array(additional_data::jsonb) - END + END ) ) AS expanded WHERE From 32219fe9714bd6aee549919ddddb4101c168aab5 Mon Sep 17 00:00:00 2001 From: yaroslav Date: Fri, 28 Nov 2025 10:10:18 +0300 Subject: [PATCH 08/11] jsonb_valid function usage --- dags/ods/marketing/printer_bots_actions.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dags/ods/marketing/printer_bots_actions.sql b/dags/ods/marketing/printer_bots_actions.sql index ba764eb..6917c72 100644 --- a/dags/ods/marketing/printer_bots_actions.sql +++ b/dags/ods/marketing/printer_bots_actions.sql @@ -26,7 +26,7 @@ FROM FROM jsonb_array_elements( CASE WHEN additional_data IS NULL OR additional_data = '' THEN jsonb_build_array('{}'::jsonb) - WHEN additional_data::jsonb IS NULL THEN jsonb_build_array('{}'::jsonb) + WHEN NOT jsonb_valid(additional_data) THEN jsonb_build_array('{}'::jsonb) WHEN jsonb_typeof(additional_data::jsonb) = 'array' THEN additional_data::jsonb ELSE jsonb_build_array(additional_data::jsonb) END From 7e3d45e24ad23015688f1c9e712592285c2b2d66 Mon Sep 17 00:00:00 2001 From: yaroslav Date: Fri, 28 Nov 2025 10:20:20 +0300 Subject: [PATCH 09/11] jsonb_valid usage --- dags/ods/marketing/printer_bots_actions.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dags/ods/marketing/printer_bots_actions.sql b/dags/ods/marketing/printer_bots_actions.sql index 6917c72..2b86767 100644 --- a/dags/ods/marketing/printer_bots_actions.sql +++ b/dags/ods/marketing/printer_bots_actions.sql @@ -28,7 +28,7 @@ FROM WHEN additional_data IS NULL OR additional_data = '' THEN jsonb_build_array('{}'::jsonb) WHEN NOT jsonb_valid(additional_data) THEN jsonb_build_array('{}'::jsonb) WHEN jsonb_typeof(additional_data::jsonb) = 'array' THEN additional_data::jsonb - ELSE jsonb_build_array(additional_data::jsonb) + ELSE jsonb_build_array(additional_data::jsonb) END ) ) AS expanded From 9fbc9e6b4027163179152eca1a316842b8bafd14 Mon Sep 17 00:00:00 2001 From: yaroslav Date: Fri, 5 Dec 2025 10:35:34 +0300 Subject: [PATCH 10/11] regular expression json check --- dags/ods/marketing/printer_bots_actions.sql | 1 + 1 file changed, 1 insertion(+) diff --git a/dags/ods/marketing/printer_bots_actions.sql b/dags/ods/marketing/printer_bots_actions.sql index 2b86767..6d51838 100644 --- a/dags/ods/marketing/printer_bots_actions.sql +++ b/dags/ods/marketing/printer_bots_actions.sql @@ -27,6 +27,7 @@ FROM CASE WHEN additional_data IS NULL OR additional_data = '' THEN jsonb_build_array('{}'::jsonb) WHEN NOT jsonb_valid(additional_data) THEN jsonb_build_array('{}'::jsonb) + WHEN additional_data ~ '^\{.*\}$' THEN additional_data::jsonb WHEN jsonb_typeof(additional_data::jsonb) = 'array' THEN additional_data::jsonb ELSE jsonb_build_array(additional_data::jsonb) END From b150d84339f06991cad068620b202d6f5ffe1708 Mon Sep 17 00:00:00 2001 From: yaroslav Date: Fri, 5 Dec 2025 15:03:13 +0300 Subject: [PATCH 11/11] jsonb_valid removal --- dags/ods/marketing/printer_bots_actions.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dags/ods/marketing/printer_bots_actions.sql b/dags/ods/marketing/printer_bots_actions.sql index 6d51838..c5f4ec0 100644 --- a/dags/ods/marketing/printer_bots_actions.sql +++ b/dags/ods/marketing/printer_bots_actions.sql @@ -26,7 +26,7 @@ FROM FROM jsonb_array_elements( CASE WHEN additional_data IS NULL OR additional_data = '' THEN jsonb_build_array('{}'::jsonb) - WHEN NOT jsonb_valid(additional_data) THEN jsonb_build_array('{}'::jsonb) + --WHEN NOT jsonb_valid(additional_data) THEN jsonb_build_array('{}'::jsonb) WHEN additional_data ~ '^\{.*\}$' THEN additional_data::jsonb WHEN jsonb_typeof(additional_data::jsonb) = 'array' THEN additional_data::jsonb ELSE jsonb_build_array(additional_data::jsonb)