include files from iter branch; need to be reviewed
This commit is contained in:
parent
95675428a4
commit
b47630cf61
111
setup_sql/clone.sql
Normal file
111
setup_sql/clone.sql
Normal file
@ -0,0 +1,111 @@
|
||||
CREATE TABLE IF NOT EXISTS fc.live AS (
|
||||
SELECT
|
||||
o."ddord#"
|
||||
,o."dditm#"
|
||||
,o."fgbol#"
|
||||
,o."fgent#"
|
||||
,o."diinv#"
|
||||
,o."dilin#"
|
||||
,o.quoten
|
||||
,o.quotel
|
||||
,o.dcodat
|
||||
,o.ddqdat
|
||||
,o.dcmdat
|
||||
,o.fesdat
|
||||
,o.dhidat
|
||||
,o.fesind
|
||||
,o.dhpost
|
||||
,o.fspr
|
||||
,o.ddqtoi
|
||||
,o.ddqtsi
|
||||
,o.fgqshp
|
||||
,o.diqtsh
|
||||
,o.diext
|
||||
,o.ditdis
|
||||
,o.discj
|
||||
,o.dhincr
|
||||
,o.plnt
|
||||
,o.promo
|
||||
,o.return_reas
|
||||
,o.terms
|
||||
,o.custpo
|
||||
,o.remit_to
|
||||
,o.bill_class
|
||||
,o.bill_cust
|
||||
,o.bill_rep
|
||||
,o.bill_terr
|
||||
,o.ship_class
|
||||
,o.ship_cust
|
||||
,o.ship_rep
|
||||
,o.ship_terr
|
||||
,o.dsm
|
||||
,o.account
|
||||
,o.shipgrp
|
||||
,o.geo
|
||||
,o.chan
|
||||
,o.chansub
|
||||
,o.orig_ctry
|
||||
,o.orig_prov
|
||||
,o.orig_post
|
||||
,o.bill_ctry
|
||||
,o.bill_prov
|
||||
,o.bill_post
|
||||
,o.dest_ctry
|
||||
,o.dest_prov
|
||||
,o.dest_post
|
||||
,o.part
|
||||
,o.styc
|
||||
,o.colc
|
||||
,o.colgrp
|
||||
,o.coltier
|
||||
,o.colstat
|
||||
,o.sizc
|
||||
,o.pckg
|
||||
,o.kit
|
||||
,o.brnd
|
||||
,o.majg
|
||||
,o.ming
|
||||
,o.majs
|
||||
,o.mins
|
||||
,o.gldco
|
||||
,o.gldc
|
||||
,o.glec
|
||||
,o.harm
|
||||
,o.clss
|
||||
,o.brand
|
||||
,o.assc
|
||||
,o.ddunit
|
||||
,o.unti
|
||||
,o.lbs
|
||||
,o.plt
|
||||
,o.plcd
|
||||
,o.fs_line
|
||||
,o.r_currency
|
||||
,o.r_rate
|
||||
,o.c_currency
|
||||
,o.c_rate
|
||||
,o.fb_qty
|
||||
,o.fb_val_loc
|
||||
,o.fb_val_loc_dis
|
||||
,o.fb_val_loc_qt
|
||||
,o.fb_val_loc_pl
|
||||
,o.fb_val_loc_tar
|
||||
,o.fb_cst_loc
|
||||
,o.fb_cst_loc_cur
|
||||
,o.fb_cst_loc_fut
|
||||
,o.calc_status
|
||||
,o.flag
|
||||
,o.odate
|
||||
,o.oseas
|
||||
,o.rdate
|
||||
,o.rseas
|
||||
,o.sdate
|
||||
,o.sseas
|
||||
,o.version
|
||||
,o.iter
|
||||
,null::text AS _comment
|
||||
,null::integer AS _logid
|
||||
,null::text AS _tag
|
||||
FROM
|
||||
rlarp.osm_dev o
|
||||
) WITH DATA;
|
31
setup_sql/clone_meta.sql
Normal file
31
setup_sql/clone_meta.sql
Normal file
@ -0,0 +1,31 @@
|
||||
BEGIN;
|
||||
INSERT INTO
|
||||
fc.target_meta
|
||||
SELECT
|
||||
--hard-coded name of new clone table
|
||||
'fc.live' tname
|
||||
,cname
|
||||
,opos
|
||||
,func
|
||||
,fkey
|
||||
,pretty
|
||||
,dtype
|
||||
,mastcol
|
||||
,appcol
|
||||
,dateref
|
||||
FROM
|
||||
fc.target_meta
|
||||
WHERE
|
||||
--hard-coded original sales data with mapped fields
|
||||
tname = 'rlarp.osm_dev'
|
||||
ON CONFLICT ON CONSTRAINT target_meta_pk DO UPDATE SET
|
||||
func = EXCLUDED.func
|
||||
,pretty = EXCLUDED.pretty
|
||||
,mastcol = EXCLUDED.mastcol
|
||||
,appcol = EXCLUDED.appcol
|
||||
,dateref = EXCLUDED.dateref
|
||||
,fkey = EXCLUDED.fkey;
|
||||
--SELECT * FROM fc.target_meta WHERE tname = 'fc.live';
|
||||
--ROLLBACK;
|
||||
COMMIT;
|
||||
END;
|
49
setup_sql/gen_clone.sql
Normal file
49
setup_sql/gen_clone.sql
Normal file
@ -0,0 +1,49 @@
|
||||
DO
|
||||
$func$
|
||||
DECLARE
|
||||
_clist text;
|
||||
_targ text;
|
||||
_sql text;
|
||||
|
||||
BEGIN
|
||||
-----------------------------this target would be replaced with a parameter--------------
|
||||
SELECT
|
||||
'rlarp.osm_dev o'
|
||||
INTO
|
||||
_targ;
|
||||
|
||||
-------------------------------build a column list-----------------------------------------
|
||||
-----------a list of required columns is in fc.appcols, if they are not present------------
|
||||
-----------they will have to build included------------------------------------------------
|
||||
SELECT
|
||||
string_agg(
|
||||
--if the colum name is empty that means we are dealig with a required appcol
|
||||
--that isn't present: use the appcol.col for the name preceded by underscore
|
||||
CASE WHEN m.cname IS NULL
|
||||
THEN COALESCE(a.dflt,'null::'||a.dtype)||' AS _'||a.col
|
||||
ELSE 'o.'||format('%I',COALESCE(cname,''))
|
||||
END
|
||||
,E'\n ,' ORDER BY opos ASC)
|
||||
INTO
|
||||
_clist
|
||||
FROM
|
||||
fc.target_meta m
|
||||
FULL OUTER JOIN fc.appcols a ON
|
||||
m.appcol = a.col
|
||||
AND m.dtype = a.dtype
|
||||
WHERE
|
||||
tname = _targ;
|
||||
|
||||
_sql:= $$CREATE TABLE IF NOT EXISTS fc.live AS (
|
||||
SELECT
|
||||
$$||_clist||$$
|
||||
FROM
|
||||
$$||_targ||$$
|
||||
) WITH DATA;$$;
|
||||
|
||||
--RAISE NOTICE '%', _sql;
|
||||
|
||||
INSERT INTO fc.sql SELECT 'live', _sql ON CONFLICT ON CONSTRAINT sql_pkey DO UPDATE SET t = EXCLUDED.t;
|
||||
|
||||
END;
|
||||
$func$
|
4
setup_sql/generate_clone_sql.sh
Executable file
4
setup_sql/generate_clone_sql.sh
Executable file
@ -0,0 +1,4 @@
|
||||
# execure the sql for scale which builds the sql and inserts into a table
|
||||
$PGD -f gen_clone.sql
|
||||
# pull the sql out of the table and write it to route directory
|
||||
$PGD -c "SELECT t FROM fc.sql WHERE cmd = 'clone'" -t -A -o clone.sql
|
Loading…
Reference in New Issue
Block a user