sql/londiste: sync regtests with changes
authorMarko Kreen <markokr@gmail.com>
Fri, 16 Sep 2011 11:26:01 +0000 (14:26 +0300)
committerMarko Kreen <markokr@gmail.com>
Fri, 16 Sep 2011 11:26:01 +0000 (14:26 +0300)
contains:

- avoid 'default' function arg
- override CONTRIB_TESTDB for 9.1
- unidiff for regression.diffs
- quiet plpgsql install
- 'merge_all' when adding table

sql/londiste/Makefile
sql/londiste/expected/londiste_leaf.out
sql/londiste/expected/londiste_merge.out
sql/londiste/expected/londiste_provider.out
sql/londiste/expected/londiste_subscriber.out
sql/londiste/functions/londiste.get_table_list.sql
sql/londiste/functions/londiste.local_add_table.sql
sql/londiste/sql/londiste_install.sql
sql/londiste/sql/londiste_merge.sql

index fbe47af109545ad2df66619227296753447502b2..05b92b7945525f038d669beb811bed8aaba3e3ce 100644 (file)
@@ -11,6 +11,8 @@ REGRESS = londiste_install londiste_provider londiste_subscriber \
 # londiste_denytrigger
 REGRESS_OPTS = --dbname=regression
 
+override CONTRIB_TESTDB=regression
+
 include ../../config.mak
 
 include $(PGXS)
@@ -22,7 +24,7 @@ londiste.upgrade.sql: $(SRCS)
        $(CATSQL) structure/functions.sql > $@
 
 test: londiste.sql
-       $(MAKE) installcheck || { less regression.diffs; exit 1; }
+       $(MAKE) installcheck || { filterdiff --format=unified regression.diffs | less; exit 1; }
 
 ack:
        cp results/* expected/
index 8669f64ced75da69ead5a600a8dbe67c52d919d3..a7a1b93cda01e190e92cd53807497eae30925206 100644 (file)
@@ -69,10 +69,10 @@ select * from londiste.global_add_table('leafq', 'public.tmp');
 (1 row)
 
 select * from londiste.get_table_list('leafq');
-   table_name    | local | merge_state | custom_snapshot | table_attrs | dropped_ddl | copy_role 
------------------+-------+-------------+-----------------+-------------+-------------+-----------
- public.leafdata | t     |             |                 |             |             | 
- public.tmp      | f     |             |                 |             |             | 
+   table_name    | local | merge_state | custom_snapshot | table_attrs | dropped_ddl | copy_role | copy_pos 
+-----------------+-------+-------------+-----------------+-------------+-------------+-----------+----------
+ public.leafdata | t     |             |                 |             |             |           |        0
+ public.tmp      | f     |             |                 |             |             |           |        0
 (2 rows)
 
 select tgname, tgargs from pg_trigger
@@ -105,9 +105,9 @@ select * from londiste.local_remove_table('leafq', 'public.leafdata');
 (1 row)
 
 select * from londiste.get_table_list('leafq');
-   table_name    | local | merge_state | custom_snapshot | table_attrs | dropped_ddl | copy_role 
------------------+-------+-------------+-----------------+-------------+-------------+-----------
- public.leafdata | f     |             |                 |             |             | 
+   table_name    | local | merge_state | custom_snapshot | table_attrs | dropped_ddl | copy_role | copy_pos 
+-----------------+-------+-------------+-----------------+-------------+-------------+-----------+----------
+ public.leafdata | f     |             |                 |             |             |           |        0
 (1 row)
 
 select * from londiste.local_show_missing('leafq');
index 39892e32fd521e61376bae59679f5bd2b8d12a1e..238d343d8719274f1628618a4b37f849c76482a7 100644 (file)
@@ -67,40 +67,34 @@ select * from londiste.global_add_table('part1_set', 'tblmerge');
       200 | Table added: tblmerge
 (1 row)
 
-select * from londiste.local_add_table('part1_set', 'tblmerge');
- ret_code |           ret_note           
-----------+------------------------------
-      200 | Table added: public.tblmerge
-(1 row)
-
 select * from londiste.global_add_table('part2_set', 'tblmerge');
  ret_code |       ret_note        
 ----------+-----------------------
       200 | Table added: tblmerge
 (1 row)
 
-select * from londiste.local_add_table('part2_set', 'tblmerge');
+select * from londiste.local_add_table('part1_set', 'tblmerge', array['merge_all']);
  ret_code |           ret_note           
 ----------+------------------------------
       200 | Table added: public.tblmerge
 (1 row)
 
 select * from londiste.get_table_list('part1_set');
-   table_name    | local | merge_state | custom_snapshot | table_attrs | dropped_ddl | copy_role 
------------------+-------+-------------+-----------------+-------------+-------------+-----------
- public.tblmerge | t     |             |                 |             |             | 
+   table_name    | local | merge_state | custom_snapshot | table_attrs | dropped_ddl | copy_role | copy_pos 
+-----------------+-------+-------------+-----------------+-------------+-------------+-----------+----------
+ public.tblmerge | t     |             |                 |             |             |           |        0
 (1 row)
 
 select * from londiste.get_table_list('part2_set');
-   table_name    | local | merge_state | custom_snapshot | table_attrs | dropped_ddl | copy_role 
------------------+-------+-------------+-----------------+-------------+-------------+-----------
- public.tblmerge | t     |             |                 |             |             | 
+   table_name    | local | merge_state | custom_snapshot | table_attrs | dropped_ddl | copy_role | copy_pos 
+-----------------+-------+-------------+-----------------+-------------+-------------+-----------+----------
+ public.tblmerge | t     |             |                 |             |             |           |        0
 (1 row)
 
 select * from londiste.get_table_list('combined_set');
-   table_name    | local | merge_state | custom_snapshot | table_attrs | dropped_ddl | copy_role 
------------------+-------+-------------+-----------------+-------------+-------------+-----------
- public.tblmerge | t     | ok          |                 |             |             | 
+   table_name    | local | merge_state | custom_snapshot | table_attrs | dropped_ddl | copy_role | copy_pos 
+-----------------+-------+-------------+-----------------+-------------+-------------+-----------+----------
+ public.tblmerge | t     | ok          |                 |             |             |           |        0
 (1 row)
 
 select * from londiste.local_set_table_state('part1_set', 'public.tblmerge', null, 'in-copy');
@@ -116,15 +110,15 @@ select * from londiste.local_set_table_state('part2_set', 'public.tblmerge', nul
 (1 row)
 
 select * from londiste.get_table_list('part1_set');
-   table_name    | local | merge_state | custom_snapshot | table_attrs | dropped_ddl | copy_role 
------------------+-------+-------------+-----------------+-------------+-------------+-----------
- public.tblmerge | t     | in-copy     |                 |             |             | lead
+   table_name    | local | merge_state | custom_snapshot | table_attrs | dropped_ddl | copy_role | copy_pos 
+-----------------+-------+-------------+-----------------+-------------+-------------+-----------+----------
+ public.tblmerge | t     | in-copy     |                 |             |             | lead      |        0
 (1 row)
 
 select * from londiste.get_table_list('part2_set');
-   table_name    | local | merge_state | custom_snapshot | table_attrs | dropped_ddl | copy_role 
------------------+-------+-------------+-----------------+-------------+-------------+-----------
- public.tblmerge | t     | in-copy     |                 |             |             | wait-copy
+   table_name    | local | merge_state | custom_snapshot | table_attrs | dropped_ddl | copy_role | copy_pos 
+-----------------+-------+-------------+-----------------+-------------+-------------+-----------+----------
+ public.tblmerge | t     | in-copy     |                 |             |             | wait-copy |        1
 (1 row)
 
 select * from londiste.local_set_table_struct('part1_set', 'public.tblmerge', 'create index;');
@@ -134,15 +128,15 @@ select * from londiste.local_set_table_struct('part1_set', 'public.tblmerge', 'c
 (1 row)
 
 select * from londiste.get_table_list('part1_set');
-   table_name    | local | merge_state | custom_snapshot | table_attrs |  dropped_ddl  | copy_role 
------------------+-------+-------------+-----------------+-------------+---------------+-----------
- public.tblmerge | t     | in-copy     |                 |             | create index; | lead
+   table_name    | local | merge_state | custom_snapshot | table_attrs |  dropped_ddl  | copy_role | copy_pos 
+-----------------+-------+-------------+-----------------+-------------+---------------+-----------+----------
+ public.tblmerge | t     | in-copy     |                 |             | create index; | lead      |        0
 (1 row)
 
 select * from londiste.get_table_list('part2_set');
-   table_name    | local | merge_state | custom_snapshot | table_attrs | dropped_ddl |  copy_role  
------------------+-------+-------------+-----------------+-------------+-------------+-------------
- public.tblmerge | t     | in-copy     |                 |             |             | wait-replay
+   table_name    | local | merge_state | custom_snapshot | table_attrs | dropped_ddl |  copy_role  | copy_pos 
+-----------------+-------+-------------+-----------------+-------------+-------------+-------------+----------
+ public.tblmerge | t     | in-copy     |                 |             |             | wait-replay |        1
 (1 row)
 
 select * from londiste.local_set_table_state('part1_set', 'public.tblmerge', null, 'in-copy');
@@ -158,15 +152,15 @@ select * from londiste.local_set_table_state('part2_set', 'public.tblmerge', nul
 (1 row)
 
 select * from londiste.get_table_list('part1_set');
-   table_name    | local | merge_state | custom_snapshot | table_attrs |  dropped_ddl  | copy_role 
------------------+-------+-------------+-----------------+-------------+---------------+-----------
- public.tblmerge | t     | in-copy     |                 |             | create index; | 
+   table_name    | local | merge_state | custom_snapshot | table_attrs |  dropped_ddl  | copy_role | copy_pos 
+-----------------+-------+-------------+-----------------+-------------+---------------+-----------+----------
+ public.tblmerge | t     | in-copy     |                 |             | create index; | lead      |        0
 (1 row)
 
 select * from londiste.get_table_list('part2_set');
-   table_name    | local | merge_state | custom_snapshot | table_attrs | dropped_ddl |  copy_role  
------------------+-------+-------------+-----------------+-------------+-------------+-------------
- public.tblmerge | t     | catching-up |                 |             |             | wait-replay
+   table_name    | local | merge_state | custom_snapshot | table_attrs | dropped_ddl |  copy_role  | copy_pos 
+-----------------+-------+-------------+-----------------+-------------+-------------+-------------+----------
+ public.tblmerge | t     | catching-up |                 |             |             | wait-replay |        0
 (1 row)
 
 select * from londiste.local_set_table_struct('part1_set', 'public.tblmerge', null);
@@ -176,15 +170,15 @@ select * from londiste.local_set_table_struct('part1_set', 'public.tblmerge', nu
 (1 row)
 
 select * from londiste.get_table_list('part1_set');
-   table_name    | local | merge_state | custom_snapshot | table_attrs | dropped_ddl | copy_role 
------------------+-------+-------------+-----------------+-------------+-------------+-----------
- public.tblmerge | t     | in-copy     |                 |             |             | 
+   table_name    | local | merge_state | custom_snapshot | table_attrs | dropped_ddl | copy_role | copy_pos 
+-----------------+-------+-------------+-----------------+-------------+-------------+-----------+----------
+ public.tblmerge | t     | in-copy     |                 |             |             | lead      |        0
 (1 row)
 
 select * from londiste.get_table_list('part2_set');
-   table_name    | local | merge_state | custom_snapshot | table_attrs | dropped_ddl |  copy_role  
------------------+-------+-------------+-----------------+-------------+-------------+-------------
- public.tblmerge | t     | catching-up |                 |             |             | wait-replay
+   table_name    | local | merge_state | custom_snapshot | table_attrs | dropped_ddl |  copy_role  | copy_pos 
+-----------------+-------+-------------+-----------------+-------------+-------------+-------------+----------
+ public.tblmerge | t     | catching-up |                 |             |             | wait-replay |        0
 (1 row)
 
 select * from londiste.local_set_table_state('part1_set', 'public.tblmerge', null, 'catching-up');
@@ -200,14 +194,14 @@ select * from londiste.local_set_table_state('part2_set', 'public.tblmerge', nul
 (1 row)
 
 select * from londiste.get_table_list('part1_set');
-   table_name    | local | merge_state | custom_snapshot | table_attrs | dropped_ddl | copy_role 
------------------+-------+-------------+-----------------+-------------+-------------+-----------
- public.tblmerge | t     | catching-up |                 |             |             | 
+   table_name    | local | merge_state | custom_snapshot | table_attrs | dropped_ddl | copy_role | copy_pos 
+-----------------+-------+-------------+-----------------+-------------+-------------+-----------+----------
+ public.tblmerge | t     | catching-up |                 |             |             |           |        0
 (1 row)
 
 select * from londiste.get_table_list('part2_set');
-   table_name    | local | merge_state | custom_snapshot | table_attrs | dropped_ddl | copy_role 
------------------+-------+-------------+-----------------+-------------+-------------+-----------
- public.tblmerge | t     | catching-up |                 |             |             | 
+   table_name    | local | merge_state | custom_snapshot | table_attrs | dropped_ddl | copy_role | copy_pos 
+-----------------+-------+-------------+-----------------+-------------+-------------+-----------+----------
+ public.tblmerge | t     | catching-up |                 |             |             |           |        0
 (1 row)
 
index 9b205535dd8200adb99fe7249b3ef8b2417b24a4..6faf1ff716a7d783304b0dde94879ffc152bfb1c 100644 (file)
@@ -50,9 +50,9 @@ select tgname from pg_trigger where tgrelid = 'public.testdata'::regclass order
 
 insert into testdata (txt) values ('test-data');
 select * from londiste.get_table_list('aset');
-   table_name    | local | merge_state | custom_snapshot | table_attrs | dropped_ddl | copy_role 
------------------+-------+-------------+-----------------+-------------+-------------+-----------
- public.testdata | t     | ok          |                 |             |             | 
+   table_name    | local | merge_state | custom_snapshot | table_attrs | dropped_ddl | copy_role | copy_pos 
+-----------------+-------+-------------+-----------------+-------------+-------------+-----------+----------
+ public.testdata | t     | ok          |                 |             |             |           |        0
 (1 row)
 
 select * from londiste.local_show_missing('aset');
@@ -81,8 +81,8 @@ select tgname from pg_trigger where tgrelid = 'public.testdata'::regclass;
 (0 rows)
 
 select * from londiste.get_table_list('aset');
- table_name | local | merge_state | custom_snapshot | table_attrs | dropped_ddl | copy_role 
-------------+-------+-------------+-----------------+-------------+-------------+-----------
+ table_name | local | merge_state | custom_snapshot | table_attrs | dropped_ddl | copy_role | copy_pos 
+------------+-------+-------------+-----------------+-------------+-------------+-----------+----------
 (0 rows)
 
 select ev_id, ev_type, ev_data, ev_extra1 from pgq.event_template;
index 04280ab665b29cfa3961e203c0e20b5e98daad4a..49015a99530f0a660d4d4116f0bc8ef8d4e82823 100644 (file)
@@ -61,10 +61,10 @@ select * from londiste.global_add_table('branch_set', 'public.tmp');
 (1 row)
 
 select * from londiste.get_table_list('branch_set');
-    table_name    | local | merge_state | custom_snapshot | table_attrs | dropped_ddl | copy_role 
-------------------+-------+-------------+-----------------+-------------+-------------+-----------
- public.slavedata | t     |             |                 |             |             | 
- public.tmp       | f     |             |                 |             |             | 
+    table_name    | local | merge_state | custom_snapshot | table_attrs | dropped_ddl | copy_role | copy_pos 
+------------------+-------+-------------+-----------------+-------------+-------------+-----------+----------
+ public.slavedata | t     |             |                 |             |             |           |        0
+ public.tmp       | f     |             |                 |             |             |           |        0
 (2 rows)
 
 select * from londiste.global_remove_table('branch_set', 'public.tmp');
@@ -86,9 +86,9 @@ select * from londiste.local_remove_table('branch_set', 'public.slavedata');
 (1 row)
 
 select * from londiste.get_table_list('branch_set');
-    table_name    | local | merge_state | custom_snapshot | table_attrs | dropped_ddl | copy_role 
-------------------+-------+-------------+-----------------+-------------+-------------+-----------
- public.slavedata | f     |             |                 |             |             | 
+    table_name    | local | merge_state | custom_snapshot | table_attrs | dropped_ddl | copy_role | copy_pos 
+------------------+-------+-------------+-----------------+-------------+-------------+-----------+----------
+ public.slavedata | f     |             |                 |             |             |           |        0
 (1 row)
 
 select * from londiste.local_show_missing('branch_set');
index d101f8616762c7f5916bd23109f82b4d7a003685..b998ed2261a2269087f423acfcadc604ac42ca08 100644 (file)
@@ -1,4 +1,6 @@
 
+drop function if exists londiste.get_table_list(text);
+
 create or replace function londiste.get_table_list(
     in i_queue_name text,
     out table_name text,
@@ -8,7 +10,7 @@ create or replace function londiste.get_table_list(
     out table_attrs text,
     out dropped_ddl text,
     out copy_role text,
-    out copy_pos int)
+    out copy_pos int4)
 returns setof record as $$
 -- ----------------------------------------------------------------------
 -- Function: londiste.get_table_list(1)
index 78ffad6f606958062232cc1b19d6525d94db5944..ed2bffd489f1533549569c56f81cb1f7eebe5032 100644 (file)
@@ -2,7 +2,7 @@ create or replace function londiste.local_add_table(
     in i_queue_name     text,
     in i_table_name     text,
     in i_trg_args       text[],
-    in i_table_attrs    text default null,
+    in i_table_attrs    text,
     out ret_code        int4,
     out ret_note        text)
 as $$
@@ -447,18 +447,32 @@ $$ language plpgsql;
 create or replace function londiste.local_add_table(
     in i_queue_name     text,
     in i_table_name     text,
+    in i_trg_args       text[],
     out ret_code        int4,
     out ret_note        text)
 as $$
 -- ----------------------------------------------------------------------
--- Function: londiste.local_add_table(2)
+-- Function: londiste.local_add_table(3)
 --
 --      Register table on Londiste node.
+-- ----------------------------------------------------------------------
+begin
+    select f.ret_code, f.ret_note into ret_code, ret_note
+      from londiste.local_add_table(i_queue_name, i_table_name, i_trg_args, null) f;
+    return;
+end;
+$$ language plpgsql;
+
+create or replace function londiste.local_add_table(
+    in i_queue_name     text,
+    in i_table_name     text,
+    out ret_code        int4,
+    out ret_note        text)
+as $$
+-- ----------------------------------------------------------------------
+-- Function: londiste.local_add_table(2)
 --
--- Returns:
---      200 - Ok
---      301 - Warning, trigger exists that will fire before londiste one
---      400 - No such set
+--      Register table on Londiste node.
 -- ----------------------------------------------------------------------
 begin
     select f.ret_code, f.ret_note into ret_code, ret_note
index 3621a39320d45609213047faab4e1f73dd676fb2..20b0987fe0f6f5ed2afc2c8fec71f37481a069e9 100644 (file)
@@ -1,10 +1,9 @@
 \set ECHO off
 
 set log_error_verbosity = 'terse';
-set client_min_messages = 'warning';
-
-drop language if exists plpgsql;
+set client_min_messages = 'fatal';
 create language plpgsql;
+set client_min_messages = 'warning';
 
 \i ../txid/txid.sql
 \i ../pgq/pgq.sql
index c69e43d0a8e8c25cf926a965b851ff1d2d5b2fb9..d226a585cbb3ba775149c6bfd4e86f92bd7dfb10 100644 (file)
@@ -26,10 +26,9 @@ select * from pgq_node.create_node('part2_set', 'leaf', 'p2merge', 'londiste_p2m
 select * from londiste.local_add_table('combined_set', 'tblmerge');
 
 select * from londiste.global_add_table('part1_set', 'tblmerge');
-select * from londiste.local_add_table('part1_set', 'tblmerge');
-
 select * from londiste.global_add_table('part2_set', 'tblmerge');
-select * from londiste.local_add_table('part2_set', 'tblmerge');
+
+select * from londiste.local_add_table('part1_set', 'tblmerge', array['merge_all']);
 
 select * from londiste.get_table_list('part1_set');
 select * from londiste.get_table_list('part2_set');