From 2b5f4f1dbeb3d9d48ce1c59d0702e72bc69f178f Mon Sep 17 00:00:00 2001 From: Derry Hamilton Date: Thu, 11 Jul 2019 09:13:15 +0100 Subject: [PATCH] Add more test data, and fix log ordering --- docker/multistage/TEST_config_live.xml | 21 ++++++++++++++++++-- docker/test_db/setup.sql | 25 ++++++++++++++++++++++++ src/main/java/com/rasilon/ujetl/Job.java | 4 ++-- src/test/resources/TEST_config_live.xml | 16 +++++++++++++++ 4 files changed, 62 insertions(+), 4 deletions(-) diff --git a/docker/multistage/TEST_config_live.xml b/docker/multistage/TEST_config_live.xml index 97f0500..2c70ff7 100644 --- a/docker/multistage/TEST_config_live.xml +++ b/docker/multistage/TEST_config_live.xml @@ -3,14 +3,15 @@ 360000 10000 1000 + 500 - jdbc:postgresql://testdb:5432/test + jdbc:postgresql://localhost:5432/test test test 600000 - jdbc:postgresql://testdb:5432/test + jdbc:postgresql://localhost:5432/test test test @@ -48,5 +49,21 @@ OR dest.test_ts = EXCLUDED.test_ts + + denormalise + select -1 as key + + + INSERT INTO denormalised_personalia(person_id,fname,lname) + values(?::integer,?::text,?::text) + ON CONFLICT (person_id) DO UPDATE + SET + fname = EXCLUDED.fname, + lname = EXCLUDED.lname + WHERE + denormalised_personalia.fname is distinct from EXCLUDED.fname + OR denormalised_personalia.lname is distinct from EXCLUDED.lname + + diff --git a/docker/test_db/setup.sql b/docker/test_db/setup.sql index d476bde..782f213 100644 --- a/docker/test_db/setup.sql +++ b/docker/test_db/setup.sql @@ -20,6 +20,31 @@ GRANT SELECT,INSERT,UPDATE,DELETE ON dest TO test; INSERT INTO source(test_int,test_text,test_ts) SELECT 1,'banana',now() FROM generate_series(1,100000); +CREATE TABLE normalised_first_names( + fid smallserial not null primary key, + fname text not null unique +); +CREATE TABLE normalised_last_names( + lid smallserial not null primary key, + lname text not null unique +); +INSERT INTO normalised_first_names (fname) values ('Abigail'), ('Adam'), ('Beatrice'), ('Bruce'), ('Claire'), ('Clive'), ('Deborah'), ('Dave'); +INSERT INTO normalised_last_names (lname) values ('Adams'), ('Bellamy'), ('Clark'), ('Dabrowski'); + +CREATE TABLE normalised_personalia ( + person_id serial not null primary key, + fid smallint not null references normalised_first_names(fid), + lid smallint not null references normalised_last_names(lid) +); +insert into normalised_personalia(fid,lid) values (1,1), (1,2), (1,3), (1,4), (2,1), (2,2), (2,3), (2,4), (3,1), (3,2), (3,3), (3,4), (4,1), (4,2), (4,3), (4,4); + +CREATE TABLE denormalised_personalia( + person_id integer not null primary key, + fname text, + lname text +); + + \c postgres CREATE TABLE public.container_ready AS SELECT 1 FROM(VALUES(1)) AS a(a); GRANT SELECT ON public.container_ready TO TEST; diff --git a/src/main/java/com/rasilon/ujetl/Job.java b/src/main/java/com/rasilon/ujetl/Job.java index a083f56..5afb96f 100644 --- a/src/main/java/com/rasilon/ujetl/Job.java +++ b/src/main/java/com/rasilon/ujetl/Job.java @@ -154,10 +154,10 @@ public class Job extends Thread { if(rowNum % nRowsToLog == 0) { rowsInserted += arraySum(insertStatement.executeBatch()); dConn.commit(); - log.info(String.format("%s - Inserted %s of %s notified rows into %s so far", + log.info(String.format("%s - Inserted %s of %s notified rows into %s", jobName, - rowNum, rowsInserted, + rowNum, name)); } } diff --git a/src/test/resources/TEST_config_live.xml b/src/test/resources/TEST_config_live.xml index 09795f2..2c70ff7 100644 --- a/src/test/resources/TEST_config_live.xml +++ b/src/test/resources/TEST_config_live.xml @@ -49,5 +49,21 @@ OR dest.test_ts = EXCLUDED.test_ts + + denormalise + select -1 as key + + + INSERT INTO denormalised_personalia(person_id,fname,lname) + values(?::integer,?::text,?::text) + ON CONFLICT (person_id) DO UPDATE + SET + fname = EXCLUDED.fname, + lname = EXCLUDED.lname + WHERE + denormalised_personalia.fname is distinct from EXCLUDED.fname + OR denormalised_personalia.lname is distinct from EXCLUDED.lname + +