workload_c.sql

application/octet-stream

Filename: workload_c.sql
Type: application/octet-stream
Part: 2
Message: Re: row filtering for logical replication
-- start time
INSERT INTO elapsed_time VALUES (1, now(), NULL);

-- workload "c" test
DO
$do$
BEGIN
	FOR i IN 1..1000001 BY 10 LOOP
		-- test1
		INSERT INTO test1 VALUES(i,'BAH', row_to_json(row(i)));
		UPDATE test1 SET value = 'FOO' WHERE key = i;
		-- test2
		INSERT INTO test2 VALUES(i,'BAH', row_to_json(row(i)));
		UPDATE test2 SET value = 'FOO' WHERE key = i;
		-- test3
		INSERT INTO test3 VALUES(i,'BAH', row_to_json(row(i)));
		UPDATE test3 SET value = 'FOO' WHERE key = i;
		-- test4
		INSERT INTO test4 VALUES(i,'BAH', row_to_json(row(i)));
		UPDATE test4 SET value = 'FOO' WHERE key = i;
		-- test5
		INSERT INTO test5 VALUES(i,'BAH', row_to_json(row(i)));
		UPDATE test5 SET value = 'FOO' WHERE key = i;

		IF I % 1000 = 0 THEN
			COMMIT;
		END IF;
	END LOOP;
END
$do$;

-- elapsed time
UPDATE elapsed_time SET endts = now() WHERE id = 1;
SELECT * from elapsed_time;
SELECT EXTRACT(EPOCH FROM (endts - startts)) FROM elapsed_time;