refresh regtests
authorMarko Kreen <markokr@gmail.com>
Mon, 10 Mar 2008 08:06:01 +0000 (08:06 +0000)
committerMarko Kreen <markokr@gmail.com>
Mon, 10 Mar 2008 08:06:01 +0000 (08:06 +0000)
sql/londiste/expected/londiste_provider.out
sql/londiste/expected/londiste_subscriber.out
sql/londiste/functions/londiste.node_add_table.sql
sql/londiste/sql/londiste_provider.sql
sql/londiste/sql/londiste_subscriber.sql

index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..727a3e04400717f7397e2b47dbe7489b747ed8e9 100644 (file)
@@ -0,0 +1,62 @@
+set client_min_messages = 'warning';
+\set VERBOSITY 'terse'
+--
+-- tables
+--
+create table testdata (
+    id serial primary key,
+    data text
+);
+create table testdata_nopk (
+    id serial,
+    data text
+);
+select current_database();
+ current_database 
+------------------
+ regression
+(1 row)
+
+select * from pgq_set.add_member('aset', 'rnode', 'dbname=db', false);
+ ret_code | ret_note 
+----------+----------
+      200 | Ok
+(1 row)
+
+select * from pgq_set.create_node('aset', 'root', 'rnode', 'londiste_root', null::text, null::int8, null::text);
+ ret_code | ret_desc 
+----------+----------
+      200 | Ok
+(1 row)
+
+select * from londiste.node_add_table('aset', 'public.testdata_nopk');
+ERROR:  need key column
+select * from londiste.node_add_table('aset', 'public.testdata');
+ ret_code | ret_desc 
+----------+----------
+      200 | OK
+(1 row)
+
+select * from londiste.node_get_table_list('aset');
+   table_name    | merge_state | custom_snapshot | skip_truncate 
+-----------------+-------------+-----------------+---------------
+ public.testdata |             |                 | 
+(1 row)
+
+select * from londiste.node_remove_table('aset', 'public.testdata');
+ ret_code | ret_desc 
+----------+----------
+      200 | OK
+(1 row)
+
+select * from londiste.node_remove_table('aset', 'public.testdata');
+ ret_code |          ret_desc          
+----------+----------------------------
+      400 | Not found: public.testdata
+(1 row)
+
+select * from londiste.node_get_table_list('aset');
+ table_name | merge_state | custom_snapshot | skip_truncate 
+------------+-------------+-----------------+---------------
+(0 rows)
+
index ed67d612d3ab0e55776e3db7b868b27848f42c70..b34a835e60c00501a7f6066df03d7fee53fb0257 100644 (file)
 set client_min_messages = 'warning';
 \set VERBOSITY 'terse'
-create table testdata (
-    id serial primary key,
-    data text
-);
 --
 -- tables
 --
-select londiste.subscriber_add_table('pqueue', 'public.testdata_nopk');
- subscriber_add_table 
-----------------------
-                    0
-(1 row)
-
-select londiste.subscriber_add_table('pqueue', 'public.testdata');
- subscriber_add_table 
-----------------------
-                    0
-(1 row)
-
-select pgq.create_queue('pqueue');
- create_queue 
---------------
-            1
-(1 row)
-
-select londiste.subscriber_add_table('pqueue', 'public.testdata');
-ERROR:  duplicate key violates unique constraint "subscriber_table_pkey"
-select londiste.subscriber_add_table('pqueue', 'public.testdata');
-ERROR:  duplicate key violates unique constraint "subscriber_table_pkey"
-select * from londiste.subscriber_get_table_list('pqueue');
-      table_name      | merge_state | snapshot | trigger_name | skip_truncate 
-----------------------+-------------+----------+--------------+---------------
- public.testdata_nopk |             |          |              | 
- public.testdata      |             |          |              | 
-(2 rows)
-
-select londiste.subscriber_remove_table('pqueue', 'public.nonexist');
-ERROR:  no such table
-select londiste.subscriber_remove_table('pqueue', 'public.testdata');
- subscriber_remove_table 
--------------------------
-                       0
-(1 row)
-
-select * from londiste.subscriber_get_table_list('pqueue');
-      table_name      | merge_state | snapshot | trigger_name | skip_truncate 
-----------------------+-------------+----------+--------------+---------------
- public.testdata_nopk |             |          |              | 
-(1 row)
-
---
--- seqs
---
-select * from londiste.subscriber_get_seq_list('pqueue');
- subscriber_get_seq_list 
--------------------------
-(0 rows)
-
-select londiste.subscriber_add_seq('pqueue', 'public.no_seq');
- subscriber_add_seq 
---------------------
-                  0
-(1 row)
-
-select londiste.subscriber_add_seq('pqueue', 'public.testdata_id_seq');
- subscriber_add_seq 
---------------------
-                  0
-(1 row)
-
-select londiste.subscriber_add_seq('pqueue', 'public.testdata_id_seq');
-ERROR:  duplicate key violates unique constraint "subscriber_seq_pkey"
-select * from londiste.subscriber_get_seq_list('pqueue');
- subscriber_get_seq_list 
--------------------------
- public.no_seq
- public.testdata_id_seq
-(2 rows)
-
-select londiste.subscriber_remove_seq('pqueue', 'public.testdata_id_seq');
- subscriber_remove_seq 
------------------------
-                     0
-(1 row)
-
-select londiste.subscriber_remove_seq('pqueue', 'public.testdata_id_seq');
-ERROR:  no such seq?
-select * from londiste.subscriber_get_seq_list('pqueue');
- subscriber_get_seq_list 
--------------------------
- public.no_seq
-(1 row)
-
---
--- linked queue
---
-select londiste.subscriber_add_table('pqueue', 'public.testdata');
- subscriber_add_table 
-----------------------
-                    0
-(1 row)
-
-insert into londiste.link (source, dest) values ('mqueue', 'pqueue');
-select londiste.subscriber_add_table('pqueue', 'public.testdata');
-ERROR:  duplicate key violates unique constraint "subscriber_table_pkey"
-select londiste.subscriber_remove_table('pqueue', 'public.testdata');
- subscriber_remove_table 
--------------------------
-                       0
-(1 row)
-
-select londiste.subscriber_add_seq('pqueue', 'public.testdata_id_seq');
- subscriber_add_seq 
---------------------
-                  0
-(1 row)
-
-select londiste.subscriber_remove_seq('pqueue', 'public.testdata_seq');
-ERROR:  no such seq?
---
--- skip-truncate, set_table_state
---
-select londiste.subscriber_add_table('pqueue', 'public.skiptest');
- subscriber_add_table 
-----------------------
-                    0
-(1 row)
-
-select skip_truncate from londiste.subscriber_table where table_name = 'public.skiptest';
- skip_truncate 
----------------
-(1 row)
-
-select londiste.subscriber_set_skip_truncate('pqueue', 'public.skiptest', true);
- subscriber_set_skip_truncate 
-------------------------------
-                            1
-(1 row)
-
-select skip_truncate from londiste.subscriber_table where table_name = 'public.skiptest';
- skip_truncate 
----------------
- t
-(1 row)
-
-select londiste.subscriber_set_table_state('pqueue', 'public.skiptest', 'snap1', 'in-copy');
- subscriber_set_table_state 
-----------------------------
-                          1
+create table slavedata (
+    id serial primary key,
+    data text
+);
+select current_database();
+ current_database 
+------------------
+ regression
 (1 row)
 
-select skip_truncate, snapshot from londiste.subscriber_table where table_name = 'public.skiptest';
- skip_truncate | snapshot 
----------------+----------
- t             | snap1
+select * from pgq_set.add_member('branch_set', 'snode', 'dbname=db', false);
+ ret_code | ret_note 
+----------+----------
+      200 | Ok
 (1 row)
 
-select londiste.subscriber_set_table_state('pqueue', 'public.skiptest', null, 'ok');
subscriber_set_table_state 
-----------------------------
-                          1
+select * from pgq_set.add_member('branch_set', 'pnode', 'dbname=db2', false);
ret_code | ret_note 
+----------+----------
+      200 | Ok
 (1 row)
 
-select skip_truncate, snapshot from londiste.subscriber_table where table_name = 'public.skiptest';
- skip_truncate | snapshot 
----------------+----------
-               | 
+select * from pgq_set.create_node('branch_set', 'branch', 'snode', 'londiste_branch', 'pnode', 100, null::text);
+ ret_code | ret_desc 
+----------+----------
+      200 | Ok
 (1 row)
 
---
--- test tick tracking
---
-select londiste.get_last_tick('c');
- get_last_tick 
----------------
-              
+select * from londiste.node_add_table('branch_set', 'public.slavedata');
+ ret_code |                   ret_desc                    
+----------+-----------------------------------------------
+      400 | Table not registered in set: public.slavedata
 (1 row)
 
-select londiste.set_last_tick('c', 1);
- set_last_tick 
----------------
-             1
+select * from londiste.set_add_table('branch_set', 'public.slavedata');
+ ret_code | ret_desc 
+----------+----------
+      200 | OK
 (1 row)
 
-select londiste.get_last_tick('c');
- get_last_tick 
----------------
-             1
+select * from londiste.node_add_table('branch_set', 'public.slavedata');
+ ret_code | ret_desc 
+----------+----------
+      200 | OK
 (1 row)
 
-select londiste.set_last_tick('c', 2);
- set_last_tick 
----------------
-             1
+select * from londiste.node_get_table_list('branch_set');
+    table_name    | merge_state | custom_snapshot | skip_truncate 
+------------------+-------------+-----------------+---------------
+ public.slavedata |             |                 | 
 (1 row)
 
-select londiste.get_last_tick('c');
- get_last_tick 
----------------
-             2
+select * from londiste.node_remove_table('branch_set', 'public.slavedata');
+ ret_code | ret_desc 
+----------+----------
+      200 | OK
 (1 row)
 
-select londiste.set_last_tick('c', NULL);
- set_last_tick 
----------------
-             1
+select * from londiste.node_remove_table('branch_set', 'public.slavedata');
+ ret_code |          ret_desc           
+----------+-----------------------------
+      400 | Not found: public.slavedata
 (1 row)
 
-select londiste.get_last_tick('c');
- get_last_tick 
----------------
-              
-(1 row)
+select * from londiste.node_get_table_list('branch_set');
+ table_name | merge_state | custom_snapshot | skip_truncate 
+------------+-------------+-----------------+---------------
+(0 rows)
 
index 39e097fb999716d81a534e9ff0437569d8b7198c..fb047f7f3ebf81482993d4cf375ec66f5c9b3c43 100644 (file)
@@ -35,6 +35,24 @@ begin
         return;
     end if;
 
+    if pgq_set.is_root(i_set_name) then
+        perform londiste.set_add_table(i_set_name, fq_table_name);
+    else
+        perform 1 from londiste.set_table where set_name = i_set_name and table_name = fq_table_name;
+        if not found then
+            select 400, 'Table not registered in set: ' || fq_table_name into ret_code, ret_desc;
+            return;
+        end if;
+    end if;
+
+    if pgq_set.is_root(i_set_name) then
+        select * into ret_code, ret_desc
+            from londiste.set_add_table(i_set_name, fq_table_name);
+        if ret_code <> 200 then
+            return;
+        end if;
+    end if;
+
     insert into londiste.node_table (set_name, table_name)
         values (i_set_name, fq_table_name);
     select 200, 'OK' into ret_code, ret_desc;
index 49b0cf55247c6594a97d0db3c96ea2cee3d7df0f..fa17391046f7c564ff96795d4ffd57b3cc40c154 100644 (file)
@@ -21,54 +21,8 @@ select * from pgq_set.create_node('aset', 'root', 'rnode', 'londiste_root', null
 
 select * from londiste.node_add_table('aset', 'public.testdata_nopk');
 select * from londiste.node_add_table('aset', 'public.testdata');
-
-select * from londiste.node_add_table('pqueue', 'public.testdata');
-select * from londiste.node_add_table('pqueue', 'public.testdata');
-select * from londiste.node_add_table('pset', 'public.testdata_nopk');
-
-select londiste.node_refresh_trigger('pqueue', 'public.testdata');
-
-select * from londiste.node_get_table_list('pqueue');
-
-select londiste.node_remove_table('pqueue', 'public.nonexist');
-select londiste.node_remove_table('pqueue', 'public.testdata');
-
-select * from londiste.node_get_table_list('pqueue');
-
---
--- seqs
---
-
-select * from londiste.node_get_seq_list('pqueue');
-select londiste.node_add_seq('pqueue', 'public.no_seq');
-select londiste.node_add_seq('pqueue', 'public.testdata_id_seq');
-select londiste.node_add_seq('pqueue', 'public.testdata_id_seq');
-select * from londiste.node_get_seq_list('pqueue');
-select londiste.node_remove_seq('pqueue', 'public.testdata_id_seq');
-select londiste.node_remove_seq('pqueue', 'public.testdata_id_seq');
-select * from londiste.node_get_seq_list('pqueue');
-
---
--- linked queue
---
-select londiste.node_add_table('pqueue', 'public.testdata');
-insert into londiste.link (source, dest) values ('mqueue', 'pqueue');
-
-
-select londiste.node_add_table('pqueue', 'public.testdata');
-select londiste.node_remove_table('pqueue', 'public.testdata');
-
-select londiste.node_add_seq('pqueue', 'public.testdata_id_seq');
-select londiste.node_remove_seq('pqueue', 'public.testdata_seq');
-
---
--- cleanup
---
-
-delete from londiste.link;
-drop table testdata;
-drop table testdata_nopk;
-delete from londiste.node_seq;
-delete from londiste.node_table;
-select pgq.drop_queue('pqueue');
+select * from londiste.node_get_table_list('aset');
+select * from londiste.node_remove_table('aset', 'public.testdata');
+select * from londiste.node_remove_table('aset', 'public.testdata');
+select * from londiste.node_get_table_list('aset');
 
index c042dd5b30c9a129e0f194509655b47b33219afe..5486c1b3871ce2d39cad06641a90055aab0bf7c4 100644 (file)
@@ -2,76 +2,25 @@
 set client_min_messages = 'warning';
 \set VERBOSITY 'terse'
 
-create table testdata (
-    id serial primary key,
-    data text
-);
-
 --
 -- tables
 --
+create table slavedata (
+    id serial primary key,
+    data text
+);
 
-select londiste.subscriber_add_table('pqueue', 'public.testdata_nopk');
-select londiste.subscriber_add_table('pqueue', 'public.testdata');
-
-select pgq.create_queue('pqueue');
-select londiste.subscriber_add_table('pqueue', 'public.testdata');
-select londiste.subscriber_add_table('pqueue', 'public.testdata');
-
-select * from londiste.subscriber_get_table_list('pqueue');
-
-select londiste.subscriber_remove_table('pqueue', 'public.nonexist');
-select londiste.subscriber_remove_table('pqueue', 'public.testdata');
-
-select * from londiste.subscriber_get_table_list('pqueue');
-
---
--- seqs
---
-
-select * from londiste.subscriber_get_seq_list('pqueue');
-select londiste.subscriber_add_seq('pqueue', 'public.no_seq');
-select londiste.subscriber_add_seq('pqueue', 'public.testdata_id_seq');
-select londiste.subscriber_add_seq('pqueue', 'public.testdata_id_seq');
-select * from londiste.subscriber_get_seq_list('pqueue');
-select londiste.subscriber_remove_seq('pqueue', 'public.testdata_id_seq');
-select londiste.subscriber_remove_seq('pqueue', 'public.testdata_id_seq');
-select * from londiste.subscriber_get_seq_list('pqueue');
-
---
--- linked queue
---
-select londiste.subscriber_add_table('pqueue', 'public.testdata');
-insert into londiste.link (source, dest) values ('mqueue', 'pqueue');
-
-
-select londiste.subscriber_add_table('pqueue', 'public.testdata');
-select londiste.subscriber_remove_table('pqueue', 'public.testdata');
-
-select londiste.subscriber_add_seq('pqueue', 'public.testdata_id_seq');
-select londiste.subscriber_remove_seq('pqueue', 'public.testdata_seq');
-
---
--- skip-truncate, set_table_state
---
+select current_database();
 
-select londiste.subscriber_add_table('pqueue', 'public.skiptest');
-select skip_truncate from londiste.subscriber_table where table_name = 'public.skiptest';
-select londiste.subscriber_set_skip_truncate('pqueue', 'public.skiptest', true);
-select skip_truncate from londiste.subscriber_table where table_name = 'public.skiptest';
-select londiste.subscriber_set_table_state('pqueue', 'public.skiptest', 'snap1', 'in-copy');
-select skip_truncate, snapshot from londiste.subscriber_table where table_name = 'public.skiptest';
-select londiste.subscriber_set_table_state('pqueue', 'public.skiptest', null, 'ok');
-select skip_truncate, snapshot from londiste.subscriber_table where table_name = 'public.skiptest';
+select * from pgq_set.add_member('branch_set', 'snode', 'dbname=db', false);
+select * from pgq_set.add_member('branch_set', 'pnode', 'dbname=db2', false);
+select * from pgq_set.create_node('branch_set', 'branch', 'snode', 'londiste_branch', 'pnode', 100, null::text);
 
---
--- test tick tracking
---
-select londiste.get_last_tick('c');
-select londiste.set_last_tick('c', 1);
-select londiste.get_last_tick('c');
-select londiste.set_last_tick('c', 2);
-select londiste.get_last_tick('c');
-select londiste.set_last_tick('c', NULL);
-select londiste.get_last_tick('c');
+select * from londiste.node_add_table('branch_set', 'public.slavedata');
+select * from londiste.set_add_table('branch_set', 'public.slavedata');
+select * from londiste.node_add_table('branch_set', 'public.slavedata');
+select * from londiste.node_get_table_list('branch_set');
+select * from londiste.node_remove_table('branch_set', 'public.slavedata');
+select * from londiste.node_remove_table('branch_set', 'public.slavedata');
+select * from londiste.node_get_table_list('branch_set');