Skip to content

Instantly share code, notes, and snippets.

@Nhoutain
Nhoutain / flow_duplicate.sql
Last active September 2, 2021 08:09
Duplicate data on mvt
DROP FUNCTION IF EXISTS public.flow_business_key(table_name TEXT);
DROP FUNCTION IF EXISTS public.flows();
DROP FUNCTION IF EXISTS public.fix_flows_duplicate_data(fix boolean);
DROP FUNCTION IF EXISTS public.fix_flow_duplicate_data(table_access TEXT, fix boolean);
DROP FUNCTION IF EXISTS public.fix_flow_bkey_duplicate_data(table_access TEXT, bkey TEXT[], fix boolean);
-- ----------------------------------------------------------------------
-- FLOWS
-- ----------------------------------------------------------------------
@Nhoutain
Nhoutain / flow_update_status.sql
Last active September 2, 2021 08:06
Update flow schema based on public schema
DROP FUNCTION public.useful_flows();
DROP FUNCTION public.used_tenants();
DROP FUNCTION public.clean_useless_flows_data();
-- ----------------------------------------------------------------------
-- ----------------------------------------------------------------------
-- Clean all useless tables flows
CREATE OR REPLACE FUNCTION public.useless_flows()
RETURNS TABLE(table_access text) AS
$body$
DROP FUNCTION public.pkey_flows();
DROP FUNCTION public.add_pkey_flows();
CREATE OR REPLACE FUNCTION public.pkey_flows()
RETURNS TABLE(table_access text, pkeyName text) AS
$body$
SELECT table_schema || '.' || table_name as table_access, table_name || '_pkey' as pkey
FROM information_schema.tables as t
WHERE
t.table_name like 'flow_%'
@Nhoutain
Nhoutain / flow_optimisation.sql
Last active September 10, 2021 13:31
Fix flow optimisation range ('A, 1, 2', and 'A, 2, 3' --> 'A, 1, 3')
DROP FUNCTION IF EXISTS public.flow_business_key(table_name TEXT);
DROP FUNCTION IF EXISTS public.flow_business_data(table_name TEXT);
DROP FUNCTION IF EXISTS public.flows();
DROP FUNCTION IF EXISTS public.fix_flows_successive_data(fix boolean);
DROP FUNCTION IF EXISTS public.fix_flow_successive_data(table_access TEXT, fix boolean);
DROP FUNCTION IF EXISTS public.do_fix_flow_successive_data(table_access TEXT, bkey TEXT[], data TEXT[], fix boolean);
DROP FUNCTION IF EXISTS public.NEW_fix_flows_successive_data(fix boolean);
DROP FUNCTION IF EXISTS public.NEW_fix_flow_successive_data(table_access TEXT, size bigint, fix boolean);
DROP FUNCTION IF EXISTS public.NEW_do_fix_flow_successive_data(table_access TEXT, temp_table TEXT, bkey TEXT[], data TEXT[], index bigint, size bigint, fix boolean);
@Nhoutain
Nhoutain / flow_numeric.sql
Last active September 2, 2021 08:10
Fix flow numeric in text ('1.00' -> '1')
DROP FUNCTION IF EXISTS public.flow_business_key(table_name TEXT);
DROP FUNCTION IF EXISTS public.flows();
DROP FUNCTION IF EXISTS public.get_flows_numeric_in_text_data();
DROP FUNCTION IF EXISTS public.fix_flow_numeric_in_text_data(table_access text, fix boolean);
DROP FUNCTION IF EXISTS public.fix_flow_column_numeric_in_text_data(table_access TEXT, col text, fix boolean );
-- ----------------------------------------------------------------------
-- FLOWS
-- ----------------------------------------------------------------------