and srce edit function
This commit is contained in:
parent
492e393723
commit
4b2851a61d
@ -1,6 +1,6 @@
|
||||
"C:\PostgreSQL\pg10\bin\psql" -h localhost -p 5433 -d postgres -U postgres -c "DROP DATABASE ubm"
|
||||
"C:\PostgreSQL\pg10\bin\psql" -h localhost -p 5433 -d postgres -U postgres -c "CREATE DATABASE ubm"
|
||||
"C:\PostgreSQL\pg10\bin\psql" -h localhost -p 5433 -d ubm -U postgres -f "C:\users\fleet\documents\tps_etl\ubm_schema.sql"
|
||||
"C:\PostgreSQL\pg10\bin\psql" -h localhost -p 5433 -d postgres -U postgres -c "DROP DATABASE ubm2"
|
||||
"C:\PostgreSQL\pg10\bin\psql" -h localhost -p 5433 -d postgres -U postgres -c "CREATE DATABASE ubm2"
|
||||
"C:\PostgreSQL\pg10\bin\psql" -h localhost -p 5433 -d ubm2 -U postgres -f "C:\users\fleet\documents\tps_etl\ubm_schema.sql"
|
||||
|
||||
"/home/ubuntu/workspace/bigsql/pg10/bin/psql" -h localhost -p 5432 -d postgres -U postgres -c "DROP DATABASE ubm"
|
||||
"/home/ubuntu/workspace/bigsql/pg10/bin/psql" -h localhost -p 5432 -d postgres -U postgres -c "CREATE DATABASE ubm"
|
||||
|
@ -82,6 +82,76 @@ END;
|
||||
$$;
|
||||
|
||||
|
||||
--
|
||||
-- Name: srce_set(text, jsonb); Type: FUNCTION; Schema: tps; Owner: -
|
||||
--
|
||||
|
||||
CREATE FUNCTION srce_set(_name text, _defn jsonb) RETURNS jsonb
|
||||
LANGUAGE plpgsql
|
||||
AS $_$
|
||||
|
||||
DECLARE
|
||||
_cnt int;
|
||||
_conflict BOOLEAN;
|
||||
_message jsonb;
|
||||
|
||||
BEGIN
|
||||
|
||||
/*
|
||||
1. determine if insert or update
|
||||
2. if update, determine if conflicts exists
|
||||
3. do merge
|
||||
*/
|
||||
|
||||
-------check for transctions already existing under this source-----------
|
||||
SELECT
|
||||
COUNT(*)
|
||||
INTO
|
||||
_cnt
|
||||
FROM
|
||||
tps.trans
|
||||
WHERE
|
||||
srce = _name;
|
||||
|
||||
-------set a message------------------------------------------------------
|
||||
IF _cnt > 0 THEN
|
||||
_conflict = TRUE;
|
||||
--get out of the function somehow
|
||||
_message =
|
||||
$$
|
||||
{
|
||||
"message":"transactions already exist under source profile, cannot change the definition"
|
||||
,"status":"error"
|
||||
}
|
||||
$$::jsonb;
|
||||
return _message;
|
||||
END IF;
|
||||
|
||||
/*-----------------schema validation---------------------
|
||||
yeah dont feel like it right now
|
||||
---------------------------------------------------------*/
|
||||
|
||||
INSERT INTO
|
||||
tps.srce
|
||||
SELECT
|
||||
_name, _defn
|
||||
ON CONFLICT ON CONSTRAINT srce_pkey DO UPDATE
|
||||
SET
|
||||
defn = _defn;
|
||||
|
||||
_message =
|
||||
$$
|
||||
{
|
||||
"message":"definition set"
|
||||
,"status":"success"
|
||||
}
|
||||
$$::jsonb;
|
||||
return _message;
|
||||
|
||||
END;
|
||||
$_$;
|
||||
|
||||
|
||||
--
|
||||
-- Name: jsonb_concat_obj(jsonb); Type: AGGREGATE; Schema: tps; Owner: -
|
||||
--
|
||||
|
@ -29,7 +29,7 @@ BEGIN
|
||||
IF _cnt > 0 THEN
|
||||
_conflict = TRUE;
|
||||
--get out of the function somehow
|
||||
_message: =
|
||||
_message =
|
||||
$$
|
||||
{
|
||||
"message":"transactions already exist under source profile, cannot change the definition"
|
||||
@ -47,10 +47,18 @@ BEGIN
|
||||
tps.srce
|
||||
SELECT
|
||||
_name, _defn
|
||||
ON CONFLICT DO UPDATE
|
||||
ON CONFLICT ON CONSTRAINT srce_pkey DO UPDATE
|
||||
SET
|
||||
defn = _defn;
|
||||
|
||||
_message =
|
||||
$$
|
||||
{
|
||||
"message":"definition set"
|
||||
,"status":"success"
|
||||
}
|
||||
$$::jsonb;
|
||||
return _message;
|
||||
|
||||
END;
|
||||
$f$
|
||||
|
Loading…
Reference in New Issue
Block a user