mirror of
				https://github.com/postgres/postgres.git
				synced 2025-11-03 09:13:20 +03:00 
			
		
		
		
	In commit 462bd95705, I changed postgres_fdw
to rely on get_plan_rowmark() instead of get_parse_rowmark().  I still
think that's a good idea in the long run, but as Etsuro Fujita pointed out,
it doesn't work today because planner.c forces PlanRowMarks to have
markType = ROW_MARK_COPY for all foreign tables.  There's no urgent reason
to change this in the back branches, so let's just revert that part of
yesterday's commit rather than trying to design a better solution under
time pressure.
Also, add a regression test case showing what postgres_fdw does with FOR
UPDATE/SHARE.  I'd blithely assumed there was one already, else I'd have
realized yesterday that this code didn't work.
		
	
		
			
				
	
	
		
			2619 lines
		
	
	
		
			156 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			2619 lines
		
	
	
		
			156 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
-- ===================================================================
 | 
						|
-- create FDW objects
 | 
						|
-- ===================================================================
 | 
						|
CREATE EXTENSION postgres_fdw;
 | 
						|
CREATE SERVER testserver1 FOREIGN DATA WRAPPER postgres_fdw;
 | 
						|
CREATE SERVER loopback FOREIGN DATA WRAPPER postgres_fdw
 | 
						|
  OPTIONS (dbname 'contrib_regression');
 | 
						|
CREATE USER MAPPING FOR public SERVER testserver1
 | 
						|
	OPTIONS (user 'value', password 'value');
 | 
						|
CREATE USER MAPPING FOR CURRENT_USER SERVER loopback;
 | 
						|
-- ===================================================================
 | 
						|
-- create objects used through FDW loopback server
 | 
						|
-- ===================================================================
 | 
						|
CREATE TYPE user_enum AS ENUM ('foo', 'bar', 'buz');
 | 
						|
CREATE SCHEMA "S 1";
 | 
						|
CREATE TABLE "S 1"."T 1" (
 | 
						|
	"C 1" int NOT NULL,
 | 
						|
	c2 int NOT NULL,
 | 
						|
	c3 text,
 | 
						|
	c4 timestamptz,
 | 
						|
	c5 timestamp,
 | 
						|
	c6 varchar(10),
 | 
						|
	c7 char(10),
 | 
						|
	c8 user_enum,
 | 
						|
	CONSTRAINT t1_pkey PRIMARY KEY ("C 1")
 | 
						|
);
 | 
						|
CREATE TABLE "S 1"."T 2" (
 | 
						|
	c1 int NOT NULL,
 | 
						|
	c2 text,
 | 
						|
	CONSTRAINT t2_pkey PRIMARY KEY (c1)
 | 
						|
);
 | 
						|
INSERT INTO "S 1"."T 1"
 | 
						|
	SELECT id,
 | 
						|
	       id % 10,
 | 
						|
	       to_char(id, 'FM00000'),
 | 
						|
	       '1970-01-01'::timestamptz + ((id % 100) || ' days')::interval,
 | 
						|
	       '1970-01-01'::timestamp + ((id % 100) || ' days')::interval,
 | 
						|
	       id % 10,
 | 
						|
	       id % 10,
 | 
						|
	       'foo'::user_enum
 | 
						|
	FROM generate_series(1, 1000) id;
 | 
						|
INSERT INTO "S 1"."T 2"
 | 
						|
	SELECT id,
 | 
						|
	       'AAA' || to_char(id, 'FM000')
 | 
						|
	FROM generate_series(1, 100) id;
 | 
						|
ANALYZE "S 1"."T 1";
 | 
						|
ANALYZE "S 1"."T 2";
 | 
						|
-- ===================================================================
 | 
						|
-- create foreign tables
 | 
						|
-- ===================================================================
 | 
						|
CREATE FOREIGN TABLE ft1 (
 | 
						|
	c0 int,
 | 
						|
	c1 int NOT NULL,
 | 
						|
	c2 int NOT NULL,
 | 
						|
	c3 text,
 | 
						|
	c4 timestamptz,
 | 
						|
	c5 timestamp,
 | 
						|
	c6 varchar(10),
 | 
						|
	c7 char(10) default 'ft1',
 | 
						|
	c8 user_enum
 | 
						|
) SERVER loopback;
 | 
						|
ALTER FOREIGN TABLE ft1 DROP COLUMN c0;
 | 
						|
CREATE FOREIGN TABLE ft2 (
 | 
						|
	c1 int NOT NULL,
 | 
						|
	c2 int NOT NULL,
 | 
						|
	cx int,
 | 
						|
	c3 text,
 | 
						|
	c4 timestamptz,
 | 
						|
	c5 timestamp,
 | 
						|
	c6 varchar(10),
 | 
						|
	c7 char(10) default 'ft2',
 | 
						|
	c8 user_enum
 | 
						|
) SERVER loopback;
 | 
						|
ALTER FOREIGN TABLE ft2 DROP COLUMN cx;
 | 
						|
-- ===================================================================
 | 
						|
-- tests for validator
 | 
						|
-- ===================================================================
 | 
						|
-- requiressl, krbsrvname and gsslib are omitted because they depend on
 | 
						|
-- configure options
 | 
						|
ALTER SERVER testserver1 OPTIONS (
 | 
						|
	use_remote_estimate 'false',
 | 
						|
	updatable 'true',
 | 
						|
	fdw_startup_cost '123.456',
 | 
						|
	fdw_tuple_cost '0.123',
 | 
						|
	service 'value',
 | 
						|
	connect_timeout 'value',
 | 
						|
	dbname 'value',
 | 
						|
	host 'value',
 | 
						|
	hostaddr 'value',
 | 
						|
	port 'value',
 | 
						|
	--client_encoding 'value',
 | 
						|
	application_name 'value',
 | 
						|
	--fallback_application_name 'value',
 | 
						|
	keepalives 'value',
 | 
						|
	keepalives_idle 'value',
 | 
						|
	keepalives_interval 'value',
 | 
						|
	-- requiressl 'value',
 | 
						|
	sslcompression 'value',
 | 
						|
	sslmode 'value',
 | 
						|
	sslcert 'value',
 | 
						|
	sslkey 'value',
 | 
						|
	sslrootcert 'value',
 | 
						|
	sslcrl 'value'
 | 
						|
	--requirepeer 'value',
 | 
						|
	-- krbsrvname 'value',
 | 
						|
	-- gsslib 'value',
 | 
						|
	--replication 'value'
 | 
						|
);
 | 
						|
ALTER USER MAPPING FOR public SERVER testserver1
 | 
						|
	OPTIONS (DROP user, DROP password);
 | 
						|
ALTER FOREIGN TABLE ft1 OPTIONS (schema_name 'S 1', table_name 'T 1');
 | 
						|
ALTER FOREIGN TABLE ft2 OPTIONS (schema_name 'S 1', table_name 'T 1');
 | 
						|
ALTER FOREIGN TABLE ft1 ALTER COLUMN c1 OPTIONS (column_name 'C 1');
 | 
						|
ALTER FOREIGN TABLE ft2 ALTER COLUMN c1 OPTIONS (column_name 'C 1');
 | 
						|
\det+
 | 
						|
                             List of foreign tables
 | 
						|
 Schema | Table |  Server  |              FDW Options              | Description 
 | 
						|
--------+-------+----------+---------------------------------------+-------------
 | 
						|
 public | ft1   | loopback | (schema_name 'S 1', table_name 'T 1') | 
 | 
						|
 public | ft2   | loopback | (schema_name 'S 1', table_name 'T 1') | 
 | 
						|
(2 rows)
 | 
						|
 | 
						|
-- Now we should be able to run ANALYZE.
 | 
						|
-- To exercise multiple code paths, we use local stats on ft1
 | 
						|
-- and remote-estimate mode on ft2.
 | 
						|
ANALYZE ft1;
 | 
						|
ALTER FOREIGN TABLE ft2 OPTIONS (use_remote_estimate 'true');
 | 
						|
-- ===================================================================
 | 
						|
-- simple queries
 | 
						|
-- ===================================================================
 | 
						|
-- single table, with/without alias
 | 
						|
EXPLAIN (COSTS false) SELECT * FROM ft1 ORDER BY c3, c1 OFFSET 100 LIMIT 10;
 | 
						|
           QUERY PLAN            
 | 
						|
---------------------------------
 | 
						|
 Limit
 | 
						|
   ->  Sort
 | 
						|
         Sort Key: c3, c1
 | 
						|
         ->  Foreign Scan on ft1
 | 
						|
(4 rows)
 | 
						|
 | 
						|
SELECT * FROM ft1 ORDER BY c3, c1 OFFSET 100 LIMIT 10;
 | 
						|
 c1  | c2 |  c3   |              c4              |            c5            | c6 |     c7     | c8  
 | 
						|
-----+----+-------+------------------------------+--------------------------+----+------------+-----
 | 
						|
 101 |  1 | 00101 | Fri Jan 02 00:00:00 1970 PST | Fri Jan 02 00:00:00 1970 | 1  | 1          | foo
 | 
						|
 102 |  2 | 00102 | Sat Jan 03 00:00:00 1970 PST | Sat Jan 03 00:00:00 1970 | 2  | 2          | foo
 | 
						|
 103 |  3 | 00103 | Sun Jan 04 00:00:00 1970 PST | Sun Jan 04 00:00:00 1970 | 3  | 3          | foo
 | 
						|
 104 |  4 | 00104 | Mon Jan 05 00:00:00 1970 PST | Mon Jan 05 00:00:00 1970 | 4  | 4          | foo
 | 
						|
 105 |  5 | 00105 | Tue Jan 06 00:00:00 1970 PST | Tue Jan 06 00:00:00 1970 | 5  | 5          | foo
 | 
						|
 106 |  6 | 00106 | Wed Jan 07 00:00:00 1970 PST | Wed Jan 07 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 107 |  7 | 00107 | Thu Jan 08 00:00:00 1970 PST | Thu Jan 08 00:00:00 1970 | 7  | 7          | foo
 | 
						|
 108 |  8 | 00108 | Fri Jan 09 00:00:00 1970 PST | Fri Jan 09 00:00:00 1970 | 8  | 8          | foo
 | 
						|
 109 |  9 | 00109 | Sat Jan 10 00:00:00 1970 PST | Sat Jan 10 00:00:00 1970 | 9  | 9          | foo
 | 
						|
 110 |  0 | 00110 | Sun Jan 11 00:00:00 1970 PST | Sun Jan 11 00:00:00 1970 | 0  | 0          | foo
 | 
						|
(10 rows)
 | 
						|
 | 
						|
EXPLAIN (VERBOSE, COSTS false) SELECT * FROM ft1 t1 ORDER BY t1.c3, t1.c1 OFFSET 100 LIMIT 10;
 | 
						|
                                     QUERY PLAN                                      
 | 
						|
-------------------------------------------------------------------------------------
 | 
						|
 Limit
 | 
						|
   Output: c1, c2, c3, c4, c5, c6, c7, c8
 | 
						|
   ->  Sort
 | 
						|
         Output: c1, c2, c3, c4, c5, c6, c7, c8
 | 
						|
         Sort Key: t1.c3, t1.c1
 | 
						|
         ->  Foreign Scan on public.ft1 t1
 | 
						|
               Output: c1, c2, c3, c4, c5, c6, c7, c8
 | 
						|
               Remote SQL: SELECT "C 1", c2, c3, c4, c5, c6, c7, c8 FROM "S 1"."T 1"
 | 
						|
(8 rows)
 | 
						|
 | 
						|
SELECT * FROM ft1 t1 ORDER BY t1.c3, t1.c1 OFFSET 100 LIMIT 10;
 | 
						|
 c1  | c2 |  c3   |              c4              |            c5            | c6 |     c7     | c8  
 | 
						|
-----+----+-------+------------------------------+--------------------------+----+------------+-----
 | 
						|
 101 |  1 | 00101 | Fri Jan 02 00:00:00 1970 PST | Fri Jan 02 00:00:00 1970 | 1  | 1          | foo
 | 
						|
 102 |  2 | 00102 | Sat Jan 03 00:00:00 1970 PST | Sat Jan 03 00:00:00 1970 | 2  | 2          | foo
 | 
						|
 103 |  3 | 00103 | Sun Jan 04 00:00:00 1970 PST | Sun Jan 04 00:00:00 1970 | 3  | 3          | foo
 | 
						|
 104 |  4 | 00104 | Mon Jan 05 00:00:00 1970 PST | Mon Jan 05 00:00:00 1970 | 4  | 4          | foo
 | 
						|
 105 |  5 | 00105 | Tue Jan 06 00:00:00 1970 PST | Tue Jan 06 00:00:00 1970 | 5  | 5          | foo
 | 
						|
 106 |  6 | 00106 | Wed Jan 07 00:00:00 1970 PST | Wed Jan 07 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 107 |  7 | 00107 | Thu Jan 08 00:00:00 1970 PST | Thu Jan 08 00:00:00 1970 | 7  | 7          | foo
 | 
						|
 108 |  8 | 00108 | Fri Jan 09 00:00:00 1970 PST | Fri Jan 09 00:00:00 1970 | 8  | 8          | foo
 | 
						|
 109 |  9 | 00109 | Sat Jan 10 00:00:00 1970 PST | Sat Jan 10 00:00:00 1970 | 9  | 9          | foo
 | 
						|
 110 |  0 | 00110 | Sun Jan 11 00:00:00 1970 PST | Sun Jan 11 00:00:00 1970 | 0  | 0          | foo
 | 
						|
(10 rows)
 | 
						|
 | 
						|
-- whole-row reference
 | 
						|
EXPLAIN (VERBOSE, COSTS false) SELECT t1 FROM ft1 t1 ORDER BY t1.c3, t1.c1 OFFSET 100 LIMIT 10;
 | 
						|
                                     QUERY PLAN                                      
 | 
						|
-------------------------------------------------------------------------------------
 | 
						|
 Limit
 | 
						|
   Output: t1.*, c3, c1
 | 
						|
   ->  Sort
 | 
						|
         Output: t1.*, c3, c1
 | 
						|
         Sort Key: t1.c3, t1.c1
 | 
						|
         ->  Foreign Scan on public.ft1 t1
 | 
						|
               Output: t1.*, c3, c1
 | 
						|
               Remote SQL: SELECT "C 1", c2, c3, c4, c5, c6, c7, c8 FROM "S 1"."T 1"
 | 
						|
(8 rows)
 | 
						|
 | 
						|
SELECT t1 FROM ft1 t1 ORDER BY t1.c3, t1.c1 OFFSET 100 LIMIT 10;
 | 
						|
                                             t1                                             
 | 
						|
--------------------------------------------------------------------------------------------
 | 
						|
 (101,1,00101,"Fri Jan 02 00:00:00 1970 PST","Fri Jan 02 00:00:00 1970",1,"1         ",foo)
 | 
						|
 (102,2,00102,"Sat Jan 03 00:00:00 1970 PST","Sat Jan 03 00:00:00 1970",2,"2         ",foo)
 | 
						|
 (103,3,00103,"Sun Jan 04 00:00:00 1970 PST","Sun Jan 04 00:00:00 1970",3,"3         ",foo)
 | 
						|
 (104,4,00104,"Mon Jan 05 00:00:00 1970 PST","Mon Jan 05 00:00:00 1970",4,"4         ",foo)
 | 
						|
 (105,5,00105,"Tue Jan 06 00:00:00 1970 PST","Tue Jan 06 00:00:00 1970",5,"5         ",foo)
 | 
						|
 (106,6,00106,"Wed Jan 07 00:00:00 1970 PST","Wed Jan 07 00:00:00 1970",6,"6         ",foo)
 | 
						|
 (107,7,00107,"Thu Jan 08 00:00:00 1970 PST","Thu Jan 08 00:00:00 1970",7,"7         ",foo)
 | 
						|
 (108,8,00108,"Fri Jan 09 00:00:00 1970 PST","Fri Jan 09 00:00:00 1970",8,"8         ",foo)
 | 
						|
 (109,9,00109,"Sat Jan 10 00:00:00 1970 PST","Sat Jan 10 00:00:00 1970",9,"9         ",foo)
 | 
						|
 (110,0,00110,"Sun Jan 11 00:00:00 1970 PST","Sun Jan 11 00:00:00 1970",0,"0         ",foo)
 | 
						|
(10 rows)
 | 
						|
 | 
						|
-- empty result
 | 
						|
SELECT * FROM ft1 WHERE false;
 | 
						|
 c1 | c2 | c3 | c4 | c5 | c6 | c7 | c8 
 | 
						|
----+----+----+----+----+----+----+----
 | 
						|
(0 rows)
 | 
						|
 | 
						|
-- with WHERE clause
 | 
						|
EXPLAIN (VERBOSE, COSTS false) SELECT * FROM ft1 t1 WHERE t1.c1 = 101 AND t1.c6 = '1' AND t1.c7 >= '1';
 | 
						|
                                                                   QUERY PLAN                                                                   
 | 
						|
------------------------------------------------------------------------------------------------------------------------------------------------
 | 
						|
 Foreign Scan on public.ft1 t1
 | 
						|
   Output: c1, c2, c3, c4, c5, c6, c7, c8
 | 
						|
   Remote SQL: SELECT "C 1", c2, c3, c4, c5, c6, c7, c8 FROM "S 1"."T 1" WHERE ((c7 >= '1'::bpchar)) AND (("C 1" = 101)) AND ((c6 = '1'::text))
 | 
						|
(3 rows)
 | 
						|
 | 
						|
SELECT * FROM ft1 t1 WHERE t1.c1 = 101 AND t1.c6 = '1' AND t1.c7 >= '1';
 | 
						|
 c1  | c2 |  c3   |              c4              |            c5            | c6 |     c7     | c8  
 | 
						|
-----+----+-------+------------------------------+--------------------------+----+------------+-----
 | 
						|
 101 |  1 | 00101 | Fri Jan 02 00:00:00 1970 PST | Fri Jan 02 00:00:00 1970 | 1  | 1          | foo
 | 
						|
(1 row)
 | 
						|
 | 
						|
-- with FOR UPDATE/SHARE
 | 
						|
EXPLAIN (VERBOSE, COSTS false) SELECT * FROM ft1 t1 WHERE c1 = 101 FOR UPDATE;
 | 
						|
                                                   QUERY PLAN                                                   
 | 
						|
----------------------------------------------------------------------------------------------------------------
 | 
						|
 LockRows
 | 
						|
   Output: c1, c2, c3, c4, c5, c6, c7, c8, t1.*
 | 
						|
   ->  Foreign Scan on public.ft1 t1
 | 
						|
         Output: c1, c2, c3, c4, c5, c6, c7, c8, t1.*
 | 
						|
         Remote SQL: SELECT "C 1", c2, c3, c4, c5, c6, c7, c8 FROM "S 1"."T 1" WHERE (("C 1" = 101)) FOR UPDATE
 | 
						|
(5 rows)
 | 
						|
 | 
						|
SELECT * FROM ft1 t1 WHERE c1 = 101 FOR UPDATE;
 | 
						|
 c1  | c2 |  c3   |              c4              |            c5            | c6 |     c7     | c8  
 | 
						|
-----+----+-------+------------------------------+--------------------------+----+------------+-----
 | 
						|
 101 |  1 | 00101 | Fri Jan 02 00:00:00 1970 PST | Fri Jan 02 00:00:00 1970 | 1  | 1          | foo
 | 
						|
(1 row)
 | 
						|
 | 
						|
EXPLAIN (VERBOSE, COSTS false) SELECT * FROM ft1 t1 WHERE c1 = 102 FOR SHARE;
 | 
						|
                                                  QUERY PLAN                                                   
 | 
						|
---------------------------------------------------------------------------------------------------------------
 | 
						|
 LockRows
 | 
						|
   Output: c1, c2, c3, c4, c5, c6, c7, c8, t1.*
 | 
						|
   ->  Foreign Scan on public.ft1 t1
 | 
						|
         Output: c1, c2, c3, c4, c5, c6, c7, c8, t1.*
 | 
						|
         Remote SQL: SELECT "C 1", c2, c3, c4, c5, c6, c7, c8 FROM "S 1"."T 1" WHERE (("C 1" = 102)) FOR SHARE
 | 
						|
(5 rows)
 | 
						|
 | 
						|
SELECT * FROM ft1 t1 WHERE c1 = 102 FOR SHARE;
 | 
						|
 c1  | c2 |  c3   |              c4              |            c5            | c6 |     c7     | c8  
 | 
						|
-----+----+-------+------------------------------+--------------------------+----+------------+-----
 | 
						|
 102 |  2 | 00102 | Sat Jan 03 00:00:00 1970 PST | Sat Jan 03 00:00:00 1970 | 2  | 2          | foo
 | 
						|
(1 row)
 | 
						|
 | 
						|
-- aggregate
 | 
						|
SELECT COUNT(*) FROM ft1 t1;
 | 
						|
 count 
 | 
						|
-------
 | 
						|
  1000
 | 
						|
(1 row)
 | 
						|
 | 
						|
-- join two tables
 | 
						|
SELECT t1.c1 FROM ft1 t1 JOIN ft2 t2 ON (t1.c1 = t2.c1) ORDER BY t1.c3, t1.c1 OFFSET 100 LIMIT 10;
 | 
						|
 c1  
 | 
						|
-----
 | 
						|
 101
 | 
						|
 102
 | 
						|
 103
 | 
						|
 104
 | 
						|
 105
 | 
						|
 106
 | 
						|
 107
 | 
						|
 108
 | 
						|
 109
 | 
						|
 110
 | 
						|
(10 rows)
 | 
						|
 | 
						|
-- subquery
 | 
						|
SELECT * FROM ft1 t1 WHERE t1.c3 IN (SELECT c3 FROM ft2 t2 WHERE c1 <= 10) ORDER BY c1;
 | 
						|
 c1 | c2 |  c3   |              c4              |            c5            | c6 |     c7     | c8  
 | 
						|
----+----+-------+------------------------------+--------------------------+----+------------+-----
 | 
						|
  1 |  1 | 00001 | Fri Jan 02 00:00:00 1970 PST | Fri Jan 02 00:00:00 1970 | 1  | 1          | foo
 | 
						|
  2 |  2 | 00002 | Sat Jan 03 00:00:00 1970 PST | Sat Jan 03 00:00:00 1970 | 2  | 2          | foo
 | 
						|
  3 |  3 | 00003 | Sun Jan 04 00:00:00 1970 PST | Sun Jan 04 00:00:00 1970 | 3  | 3          | foo
 | 
						|
  4 |  4 | 00004 | Mon Jan 05 00:00:00 1970 PST | Mon Jan 05 00:00:00 1970 | 4  | 4          | foo
 | 
						|
  5 |  5 | 00005 | Tue Jan 06 00:00:00 1970 PST | Tue Jan 06 00:00:00 1970 | 5  | 5          | foo
 | 
						|
  6 |  6 | 00006 | Wed Jan 07 00:00:00 1970 PST | Wed Jan 07 00:00:00 1970 | 6  | 6          | foo
 | 
						|
  7 |  7 | 00007 | Thu Jan 08 00:00:00 1970 PST | Thu Jan 08 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  8 |  8 | 00008 | Fri Jan 09 00:00:00 1970 PST | Fri Jan 09 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  9 |  9 | 00009 | Sat Jan 10 00:00:00 1970 PST | Sat Jan 10 00:00:00 1970 | 9  | 9          | foo
 | 
						|
 10 |  0 | 00010 | Sun Jan 11 00:00:00 1970 PST | Sun Jan 11 00:00:00 1970 | 0  | 0          | foo
 | 
						|
(10 rows)
 | 
						|
 | 
						|
-- subquery+MAX
 | 
						|
SELECT * FROM ft1 t1 WHERE t1.c3 = (SELECT MAX(c3) FROM ft2 t2) ORDER BY c1;
 | 
						|
  c1  | c2 |  c3   |              c4              |            c5            | c6 |     c7     | c8  
 | 
						|
------+----+-------+------------------------------+--------------------------+----+------------+-----
 | 
						|
 1000 |  0 | 01000 | Thu Jan 01 00:00:00 1970 PST | Thu Jan 01 00:00:00 1970 | 0  | 0          | foo
 | 
						|
(1 row)
 | 
						|
 | 
						|
-- used in CTE
 | 
						|
WITH t1 AS (SELECT * FROM ft1 WHERE c1 <= 10) SELECT t2.c1, t2.c2, t2.c3, t2.c4 FROM t1, ft2 t2 WHERE t1.c1 = t2.c1 ORDER BY t1.c1;
 | 
						|
 c1 | c2 |  c3   |              c4              
 | 
						|
----+----+-------+------------------------------
 | 
						|
  1 |  1 | 00001 | Fri Jan 02 00:00:00 1970 PST
 | 
						|
  2 |  2 | 00002 | Sat Jan 03 00:00:00 1970 PST
 | 
						|
  3 |  3 | 00003 | Sun Jan 04 00:00:00 1970 PST
 | 
						|
  4 |  4 | 00004 | Mon Jan 05 00:00:00 1970 PST
 | 
						|
  5 |  5 | 00005 | Tue Jan 06 00:00:00 1970 PST
 | 
						|
  6 |  6 | 00006 | Wed Jan 07 00:00:00 1970 PST
 | 
						|
  7 |  7 | 00007 | Thu Jan 08 00:00:00 1970 PST
 | 
						|
  8 |  8 | 00008 | Fri Jan 09 00:00:00 1970 PST
 | 
						|
  9 |  9 | 00009 | Sat Jan 10 00:00:00 1970 PST
 | 
						|
 10 |  0 | 00010 | Sun Jan 11 00:00:00 1970 PST
 | 
						|
(10 rows)
 | 
						|
 | 
						|
-- fixed values
 | 
						|
SELECT 'fixed', NULL FROM ft1 t1 WHERE c1 = 1;
 | 
						|
 ?column? | ?column? 
 | 
						|
----------+----------
 | 
						|
 fixed    | 
 | 
						|
(1 row)
 | 
						|
 | 
						|
-- user-defined operator/function
 | 
						|
CREATE FUNCTION postgres_fdw_abs(int) RETURNS int AS $$
 | 
						|
BEGIN
 | 
						|
RETURN abs($1);
 | 
						|
END
 | 
						|
$$ LANGUAGE plpgsql IMMUTABLE;
 | 
						|
CREATE OPERATOR === (
 | 
						|
    LEFTARG = int,
 | 
						|
    RIGHTARG = int,
 | 
						|
    PROCEDURE = int4eq,
 | 
						|
    COMMUTATOR = ===,
 | 
						|
    NEGATOR = !==
 | 
						|
);
 | 
						|
EXPLAIN (VERBOSE, COSTS false) SELECT * FROM ft1 t1 WHERE t1.c1 = postgres_fdw_abs(t1.c2);
 | 
						|
                               QUERY PLAN                                
 | 
						|
-------------------------------------------------------------------------
 | 
						|
 Foreign Scan on public.ft1 t1
 | 
						|
   Output: c1, c2, c3, c4, c5, c6, c7, c8
 | 
						|
   Filter: (t1.c1 = postgres_fdw_abs(t1.c2))
 | 
						|
   Remote SQL: SELECT "C 1", c2, c3, c4, c5, c6, c7, c8 FROM "S 1"."T 1"
 | 
						|
(4 rows)
 | 
						|
 | 
						|
EXPLAIN (VERBOSE, COSTS false) SELECT * FROM ft1 t1 WHERE t1.c1 === t1.c2;
 | 
						|
                               QUERY PLAN                                
 | 
						|
-------------------------------------------------------------------------
 | 
						|
 Foreign Scan on public.ft1 t1
 | 
						|
   Output: c1, c2, c3, c4, c5, c6, c7, c8
 | 
						|
   Filter: (t1.c1 === t1.c2)
 | 
						|
   Remote SQL: SELECT "C 1", c2, c3, c4, c5, c6, c7, c8 FROM "S 1"."T 1"
 | 
						|
(4 rows)
 | 
						|
 | 
						|
EXPLAIN (VERBOSE, COSTS false) SELECT * FROM ft1 t1 WHERE t1.c1 = abs(t1.c2);
 | 
						|
                                            QUERY PLAN                                             
 | 
						|
---------------------------------------------------------------------------------------------------
 | 
						|
 Foreign Scan on public.ft1 t1
 | 
						|
   Output: c1, c2, c3, c4, c5, c6, c7, c8
 | 
						|
   Remote SQL: SELECT "C 1", c2, c3, c4, c5, c6, c7, c8 FROM "S 1"."T 1" WHERE (("C 1" = abs(c2)))
 | 
						|
(3 rows)
 | 
						|
 | 
						|
EXPLAIN (VERBOSE, COSTS false) SELECT * FROM ft1 t1 WHERE t1.c1 = t1.c2;
 | 
						|
                                          QUERY PLAN                                          
 | 
						|
----------------------------------------------------------------------------------------------
 | 
						|
 Foreign Scan on public.ft1 t1
 | 
						|
   Output: c1, c2, c3, c4, c5, c6, c7, c8
 | 
						|
   Remote SQL: SELECT "C 1", c2, c3, c4, c5, c6, c7, c8 FROM "S 1"."T 1" WHERE (("C 1" = c2))
 | 
						|
(3 rows)
 | 
						|
 | 
						|
-- ===================================================================
 | 
						|
-- WHERE with remotely-executable conditions
 | 
						|
-- ===================================================================
 | 
						|
EXPLAIN (VERBOSE, COSTS false) SELECT * FROM ft1 t1 WHERE t1.c1 = 1;         -- Var, OpExpr(b), Const
 | 
						|
                                         QUERY PLAN                                          
 | 
						|
---------------------------------------------------------------------------------------------
 | 
						|
 Foreign Scan on public.ft1 t1
 | 
						|
   Output: c1, c2, c3, c4, c5, c6, c7, c8
 | 
						|
   Remote SQL: SELECT "C 1", c2, c3, c4, c5, c6, c7, c8 FROM "S 1"."T 1" WHERE (("C 1" = 1))
 | 
						|
(3 rows)
 | 
						|
 | 
						|
EXPLAIN (VERBOSE, COSTS false) SELECT * FROM ft1 t1 WHERE t1.c1 = 100 AND t1.c2 = 0; -- BoolExpr
 | 
						|
                                                  QUERY PLAN                                                  
 | 
						|
--------------------------------------------------------------------------------------------------------------
 | 
						|
 Foreign Scan on public.ft1 t1
 | 
						|
   Output: c1, c2, c3, c4, c5, c6, c7, c8
 | 
						|
   Remote SQL: SELECT "C 1", c2, c3, c4, c5, c6, c7, c8 FROM "S 1"."T 1" WHERE (("C 1" = 100)) AND ((c2 = 0))
 | 
						|
(3 rows)
 | 
						|
 | 
						|
EXPLAIN (VERBOSE, COSTS false) SELECT * FROM ft1 t1 WHERE c1 IS NULL;        -- NullTest
 | 
						|
                                           QUERY PLAN                                            
 | 
						|
-------------------------------------------------------------------------------------------------
 | 
						|
 Foreign Scan on public.ft1 t1
 | 
						|
   Output: c1, c2, c3, c4, c5, c6, c7, c8
 | 
						|
   Remote SQL: SELECT "C 1", c2, c3, c4, c5, c6, c7, c8 FROM "S 1"."T 1" WHERE (("C 1" IS NULL))
 | 
						|
(3 rows)
 | 
						|
 | 
						|
EXPLAIN (VERBOSE, COSTS false) SELECT * FROM ft1 t1 WHERE c1 IS NOT NULL;    -- NullTest
 | 
						|
                                             QUERY PLAN                                              
 | 
						|
-----------------------------------------------------------------------------------------------------
 | 
						|
 Foreign Scan on public.ft1 t1
 | 
						|
   Output: c1, c2, c3, c4, c5, c6, c7, c8
 | 
						|
   Remote SQL: SELECT "C 1", c2, c3, c4, c5, c6, c7, c8 FROM "S 1"."T 1" WHERE (("C 1" IS NOT NULL))
 | 
						|
(3 rows)
 | 
						|
 | 
						|
EXPLAIN (VERBOSE, COSTS false) SELECT * FROM ft1 t1 WHERE round(abs(c1), 0) = 1; -- FuncExpr
 | 
						|
                                                     QUERY PLAN                                                      
 | 
						|
---------------------------------------------------------------------------------------------------------------------
 | 
						|
 Foreign Scan on public.ft1 t1
 | 
						|
   Output: c1, c2, c3, c4, c5, c6, c7, c8
 | 
						|
   Remote SQL: SELECT "C 1", c2, c3, c4, c5, c6, c7, c8 FROM "S 1"."T 1" WHERE ((round(abs("C 1"), 0) = 1::numeric))
 | 
						|
(3 rows)
 | 
						|
 | 
						|
EXPLAIN (VERBOSE, COSTS false) SELECT * FROM ft1 t1 WHERE c1 = -c1;          -- OpExpr(l)
 | 
						|
                                             QUERY PLAN                                              
 | 
						|
-----------------------------------------------------------------------------------------------------
 | 
						|
 Foreign Scan on public.ft1 t1
 | 
						|
   Output: c1, c2, c3, c4, c5, c6, c7, c8
 | 
						|
   Remote SQL: SELECT "C 1", c2, c3, c4, c5, c6, c7, c8 FROM "S 1"."T 1" WHERE (("C 1" = (- "C 1")))
 | 
						|
(3 rows)
 | 
						|
 | 
						|
EXPLAIN (VERBOSE, COSTS false) SELECT * FROM ft1 t1 WHERE 1 = c1!;           -- OpExpr(r)
 | 
						|
                                                QUERY PLAN                                                
 | 
						|
----------------------------------------------------------------------------------------------------------
 | 
						|
 Foreign Scan on public.ft1 t1
 | 
						|
   Output: c1, c2, c3, c4, c5, c6, c7, c8
 | 
						|
   Remote SQL: SELECT "C 1", c2, c3, c4, c5, c6, c7, c8 FROM "S 1"."T 1" WHERE ((1::numeric = ("C 1" !)))
 | 
						|
(3 rows)
 | 
						|
 | 
						|
EXPLAIN (VERBOSE, COSTS false) SELECT * FROM ft1 t1 WHERE (c1 IS NOT NULL) IS DISTINCT FROM (c1 IS NOT NULL); -- DistinctExpr
 | 
						|
                                                                 QUERY PLAN                                                                 
 | 
						|
--------------------------------------------------------------------------------------------------------------------------------------------
 | 
						|
 Foreign Scan on public.ft1 t1
 | 
						|
   Output: c1, c2, c3, c4, c5, c6, c7, c8
 | 
						|
   Remote SQL: SELECT "C 1", c2, c3, c4, c5, c6, c7, c8 FROM "S 1"."T 1" WHERE ((("C 1" IS NOT NULL) IS DISTINCT FROM ("C 1" IS NOT NULL)))
 | 
						|
(3 rows)
 | 
						|
 | 
						|
EXPLAIN (VERBOSE, COSTS false) SELECT * FROM ft1 t1 WHERE c1 = ANY(ARRAY[c2, 1, c1 + 0]); -- ScalarArrayOpExpr
 | 
						|
                                                        QUERY PLAN                                                         
 | 
						|
---------------------------------------------------------------------------------------------------------------------------
 | 
						|
 Foreign Scan on public.ft1 t1
 | 
						|
   Output: c1, c2, c3, c4, c5, c6, c7, c8
 | 
						|
   Remote SQL: SELECT "C 1", c2, c3, c4, c5, c6, c7, c8 FROM "S 1"."T 1" WHERE (("C 1" = ANY (ARRAY[c2, 1, ("C 1" + 0)])))
 | 
						|
(3 rows)
 | 
						|
 | 
						|
EXPLAIN (VERBOSE, COSTS false) SELECT * FROM ft1 t1 WHERE c1 = (ARRAY[c1,c2,3])[1]; -- ArrayRef
 | 
						|
                                                      QUERY PLAN                                                      
 | 
						|
----------------------------------------------------------------------------------------------------------------------
 | 
						|
 Foreign Scan on public.ft1 t1
 | 
						|
   Output: c1, c2, c3, c4, c5, c6, c7, c8
 | 
						|
   Remote SQL: SELECT "C 1", c2, c3, c4, c5, c6, c7, c8 FROM "S 1"."T 1" WHERE (("C 1" = ((ARRAY["C 1", c2, 3])[1])))
 | 
						|
(3 rows)
 | 
						|
 | 
						|
EXPLAIN (VERBOSE, COSTS false) SELECT * FROM ft1 t1 WHERE c6 = E'foo''s\\bar';  -- check special chars
 | 
						|
                                                 QUERY PLAN                                                  
 | 
						|
-------------------------------------------------------------------------------------------------------------
 | 
						|
 Foreign Scan on public.ft1 t1
 | 
						|
   Output: c1, c2, c3, c4, c5, c6, c7, c8
 | 
						|
   Remote SQL: SELECT "C 1", c2, c3, c4, c5, c6, c7, c8 FROM "S 1"."T 1" WHERE ((c6 = E'foo''s\\bar'::text))
 | 
						|
(3 rows)
 | 
						|
 | 
						|
EXPLAIN (VERBOSE, COSTS false) SELECT * FROM ft1 t1 WHERE c8 = 'foo';  -- can't be sent to remote
 | 
						|
                               QUERY PLAN                                
 | 
						|
-------------------------------------------------------------------------
 | 
						|
 Foreign Scan on public.ft1 t1
 | 
						|
   Output: c1, c2, c3, c4, c5, c6, c7, c8
 | 
						|
   Filter: (t1.c8 = 'foo'::user_enum)
 | 
						|
   Remote SQL: SELECT "C 1", c2, c3, c4, c5, c6, c7, c8 FROM "S 1"."T 1"
 | 
						|
(4 rows)
 | 
						|
 | 
						|
-- parameterized remote path
 | 
						|
EXPLAIN (VERBOSE, COSTS false)
 | 
						|
  SELECT * FROM ft2 a, ft2 b WHERE a.c1 = 47 AND b.c1 = a.c2;
 | 
						|
                                                 QUERY PLAN                                                  
 | 
						|
-------------------------------------------------------------------------------------------------------------
 | 
						|
 Nested Loop
 | 
						|
   Output: a.c1, a.c2, a.c3, a.c4, a.c5, a.c6, a.c7, a.c8, b.c1, b.c2, b.c3, b.c4, b.c5, b.c6, b.c7, b.c8
 | 
						|
   ->  Foreign Scan on public.ft2 a
 | 
						|
         Output: a.c1, a.c2, a.c3, a.c4, a.c5, a.c6, a.c7, a.c8
 | 
						|
         Remote SQL: SELECT "C 1", c2, c3, c4, c5, c6, c7, c8 FROM "S 1"."T 1" WHERE (("C 1" = 47))
 | 
						|
   ->  Foreign Scan on public.ft2 b
 | 
						|
         Output: b.c1, b.c2, b.c3, b.c4, b.c5, b.c6, b.c7, b.c8
 | 
						|
         Remote SQL: SELECT "C 1", c2, c3, c4, c5, c6, c7, c8 FROM "S 1"."T 1" WHERE (($1::integer = "C 1"))
 | 
						|
(8 rows)
 | 
						|
 | 
						|
SELECT * FROM ft2 a, ft2 b WHERE a.c1 = 47 AND b.c1 = a.c2;
 | 
						|
 c1 | c2 |  c3   |              c4              |            c5            | c6 |     c7     | c8  | c1 | c2 |  c3   |              c4              |            c5            | c6 |     c7     | c8  
 | 
						|
----+----+-------+------------------------------+--------------------------+----+------------+-----+----+----+-------+------------------------------+--------------------------+----+------------+-----
 | 
						|
 47 |  7 | 00047 | Tue Feb 17 00:00:00 1970 PST | Tue Feb 17 00:00:00 1970 | 7  | 7          | foo |  7 |  7 | 00007 | Thu Jan 08 00:00:00 1970 PST | Thu Jan 08 00:00:00 1970 | 7  | 7          | foo
 | 
						|
(1 row)
 | 
						|
 | 
						|
-- check both safe and unsafe join conditions
 | 
						|
EXPLAIN (VERBOSE, COSTS false)
 | 
						|
  SELECT * FROM ft2 a, ft2 b
 | 
						|
  WHERE a.c2 = 6 AND b.c1 = a.c1 AND a.c8 = 'foo' AND b.c7 = upper(a.c7);
 | 
						|
                                                 QUERY PLAN                                                  
 | 
						|
-------------------------------------------------------------------------------------------------------------
 | 
						|
 Nested Loop
 | 
						|
   Output: a.c1, a.c2, a.c3, a.c4, a.c5, a.c6, a.c7, a.c8, b.c1, b.c2, b.c3, b.c4, b.c5, b.c6, b.c7, b.c8
 | 
						|
   ->  Foreign Scan on public.ft2 a
 | 
						|
         Output: a.c1, a.c2, a.c3, a.c4, a.c5, a.c6, a.c7, a.c8
 | 
						|
         Filter: (a.c8 = 'foo'::user_enum)
 | 
						|
         Remote SQL: SELECT "C 1", c2, c3, c4, c5, c6, c7, c8 FROM "S 1"."T 1" WHERE ((c2 = 6))
 | 
						|
   ->  Foreign Scan on public.ft2 b
 | 
						|
         Output: b.c1, b.c2, b.c3, b.c4, b.c5, b.c6, b.c7, b.c8
 | 
						|
         Filter: (upper((a.c7)::text) = (b.c7)::text)
 | 
						|
         Remote SQL: SELECT "C 1", c2, c3, c4, c5, c6, c7, c8 FROM "S 1"."T 1" WHERE (($1::integer = "C 1"))
 | 
						|
(10 rows)
 | 
						|
 | 
						|
SELECT * FROM ft2 a, ft2 b
 | 
						|
WHERE a.c2 = 6 AND b.c1 = a.c1 AND a.c8 = 'foo' AND b.c7 = upper(a.c7);
 | 
						|
 c1  | c2 |  c3   |              c4              |            c5            | c6 |     c7     | c8  | c1  | c2 |  c3   |              c4              |            c5            | c6 |     c7     | c8  
 | 
						|
-----+----+-------+------------------------------+--------------------------+----+------------+-----+-----+----+-------+------------------------------+--------------------------+----+------------+-----
 | 
						|
   6 |  6 | 00006 | Wed Jan 07 00:00:00 1970 PST | Wed Jan 07 00:00:00 1970 | 6  | 6          | foo |   6 |  6 | 00006 | Wed Jan 07 00:00:00 1970 PST | Wed Jan 07 00:00:00 1970 | 6  | 6          | foo
 | 
						|
  16 |  6 | 00016 | Sat Jan 17 00:00:00 1970 PST | Sat Jan 17 00:00:00 1970 | 6  | 6          | foo |  16 |  6 | 00016 | Sat Jan 17 00:00:00 1970 PST | Sat Jan 17 00:00:00 1970 | 6  | 6          | foo
 | 
						|
  26 |  6 | 00026 | Tue Jan 27 00:00:00 1970 PST | Tue Jan 27 00:00:00 1970 | 6  | 6          | foo |  26 |  6 | 00026 | Tue Jan 27 00:00:00 1970 PST | Tue Jan 27 00:00:00 1970 | 6  | 6          | foo
 | 
						|
  36 |  6 | 00036 | Fri Feb 06 00:00:00 1970 PST | Fri Feb 06 00:00:00 1970 | 6  | 6          | foo |  36 |  6 | 00036 | Fri Feb 06 00:00:00 1970 PST | Fri Feb 06 00:00:00 1970 | 6  | 6          | foo
 | 
						|
  46 |  6 | 00046 | Mon Feb 16 00:00:00 1970 PST | Mon Feb 16 00:00:00 1970 | 6  | 6          | foo |  46 |  6 | 00046 | Mon Feb 16 00:00:00 1970 PST | Mon Feb 16 00:00:00 1970 | 6  | 6          | foo
 | 
						|
  56 |  6 | 00056 | Thu Feb 26 00:00:00 1970 PST | Thu Feb 26 00:00:00 1970 | 6  | 6          | foo |  56 |  6 | 00056 | Thu Feb 26 00:00:00 1970 PST | Thu Feb 26 00:00:00 1970 | 6  | 6          | foo
 | 
						|
  66 |  6 | 00066 | Sun Mar 08 00:00:00 1970 PST | Sun Mar 08 00:00:00 1970 | 6  | 6          | foo |  66 |  6 | 00066 | Sun Mar 08 00:00:00 1970 PST | Sun Mar 08 00:00:00 1970 | 6  | 6          | foo
 | 
						|
  76 |  6 | 00076 | Wed Mar 18 00:00:00 1970 PST | Wed Mar 18 00:00:00 1970 | 6  | 6          | foo |  76 |  6 | 00076 | Wed Mar 18 00:00:00 1970 PST | Wed Mar 18 00:00:00 1970 | 6  | 6          | foo
 | 
						|
  86 |  6 | 00086 | Sat Mar 28 00:00:00 1970 PST | Sat Mar 28 00:00:00 1970 | 6  | 6          | foo |  86 |  6 | 00086 | Sat Mar 28 00:00:00 1970 PST | Sat Mar 28 00:00:00 1970 | 6  | 6          | foo
 | 
						|
  96 |  6 | 00096 | Tue Apr 07 00:00:00 1970 PST | Tue Apr 07 00:00:00 1970 | 6  | 6          | foo |  96 |  6 | 00096 | Tue Apr 07 00:00:00 1970 PST | Tue Apr 07 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 106 |  6 | 00106 | Wed Jan 07 00:00:00 1970 PST | Wed Jan 07 00:00:00 1970 | 6  | 6          | foo | 106 |  6 | 00106 | Wed Jan 07 00:00:00 1970 PST | Wed Jan 07 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 116 |  6 | 00116 | Sat Jan 17 00:00:00 1970 PST | Sat Jan 17 00:00:00 1970 | 6  | 6          | foo | 116 |  6 | 00116 | Sat Jan 17 00:00:00 1970 PST | Sat Jan 17 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 126 |  6 | 00126 | Tue Jan 27 00:00:00 1970 PST | Tue Jan 27 00:00:00 1970 | 6  | 6          | foo | 126 |  6 | 00126 | Tue Jan 27 00:00:00 1970 PST | Tue Jan 27 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 136 |  6 | 00136 | Fri Feb 06 00:00:00 1970 PST | Fri Feb 06 00:00:00 1970 | 6  | 6          | foo | 136 |  6 | 00136 | Fri Feb 06 00:00:00 1970 PST | Fri Feb 06 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 146 |  6 | 00146 | Mon Feb 16 00:00:00 1970 PST | Mon Feb 16 00:00:00 1970 | 6  | 6          | foo | 146 |  6 | 00146 | Mon Feb 16 00:00:00 1970 PST | Mon Feb 16 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 156 |  6 | 00156 | Thu Feb 26 00:00:00 1970 PST | Thu Feb 26 00:00:00 1970 | 6  | 6          | foo | 156 |  6 | 00156 | Thu Feb 26 00:00:00 1970 PST | Thu Feb 26 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 166 |  6 | 00166 | Sun Mar 08 00:00:00 1970 PST | Sun Mar 08 00:00:00 1970 | 6  | 6          | foo | 166 |  6 | 00166 | Sun Mar 08 00:00:00 1970 PST | Sun Mar 08 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 176 |  6 | 00176 | Wed Mar 18 00:00:00 1970 PST | Wed Mar 18 00:00:00 1970 | 6  | 6          | foo | 176 |  6 | 00176 | Wed Mar 18 00:00:00 1970 PST | Wed Mar 18 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 186 |  6 | 00186 | Sat Mar 28 00:00:00 1970 PST | Sat Mar 28 00:00:00 1970 | 6  | 6          | foo | 186 |  6 | 00186 | Sat Mar 28 00:00:00 1970 PST | Sat Mar 28 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 196 |  6 | 00196 | Tue Apr 07 00:00:00 1970 PST | Tue Apr 07 00:00:00 1970 | 6  | 6          | foo | 196 |  6 | 00196 | Tue Apr 07 00:00:00 1970 PST | Tue Apr 07 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 206 |  6 | 00206 | Wed Jan 07 00:00:00 1970 PST | Wed Jan 07 00:00:00 1970 | 6  | 6          | foo | 206 |  6 | 00206 | Wed Jan 07 00:00:00 1970 PST | Wed Jan 07 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 216 |  6 | 00216 | Sat Jan 17 00:00:00 1970 PST | Sat Jan 17 00:00:00 1970 | 6  | 6          | foo | 216 |  6 | 00216 | Sat Jan 17 00:00:00 1970 PST | Sat Jan 17 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 226 |  6 | 00226 | Tue Jan 27 00:00:00 1970 PST | Tue Jan 27 00:00:00 1970 | 6  | 6          | foo | 226 |  6 | 00226 | Tue Jan 27 00:00:00 1970 PST | Tue Jan 27 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 236 |  6 | 00236 | Fri Feb 06 00:00:00 1970 PST | Fri Feb 06 00:00:00 1970 | 6  | 6          | foo | 236 |  6 | 00236 | Fri Feb 06 00:00:00 1970 PST | Fri Feb 06 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 246 |  6 | 00246 | Mon Feb 16 00:00:00 1970 PST | Mon Feb 16 00:00:00 1970 | 6  | 6          | foo | 246 |  6 | 00246 | Mon Feb 16 00:00:00 1970 PST | Mon Feb 16 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 256 |  6 | 00256 | Thu Feb 26 00:00:00 1970 PST | Thu Feb 26 00:00:00 1970 | 6  | 6          | foo | 256 |  6 | 00256 | Thu Feb 26 00:00:00 1970 PST | Thu Feb 26 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 266 |  6 | 00266 | Sun Mar 08 00:00:00 1970 PST | Sun Mar 08 00:00:00 1970 | 6  | 6          | foo | 266 |  6 | 00266 | Sun Mar 08 00:00:00 1970 PST | Sun Mar 08 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 276 |  6 | 00276 | Wed Mar 18 00:00:00 1970 PST | Wed Mar 18 00:00:00 1970 | 6  | 6          | foo | 276 |  6 | 00276 | Wed Mar 18 00:00:00 1970 PST | Wed Mar 18 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 286 |  6 | 00286 | Sat Mar 28 00:00:00 1970 PST | Sat Mar 28 00:00:00 1970 | 6  | 6          | foo | 286 |  6 | 00286 | Sat Mar 28 00:00:00 1970 PST | Sat Mar 28 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 296 |  6 | 00296 | Tue Apr 07 00:00:00 1970 PST | Tue Apr 07 00:00:00 1970 | 6  | 6          | foo | 296 |  6 | 00296 | Tue Apr 07 00:00:00 1970 PST | Tue Apr 07 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 306 |  6 | 00306 | Wed Jan 07 00:00:00 1970 PST | Wed Jan 07 00:00:00 1970 | 6  | 6          | foo | 306 |  6 | 00306 | Wed Jan 07 00:00:00 1970 PST | Wed Jan 07 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 316 |  6 | 00316 | Sat Jan 17 00:00:00 1970 PST | Sat Jan 17 00:00:00 1970 | 6  | 6          | foo | 316 |  6 | 00316 | Sat Jan 17 00:00:00 1970 PST | Sat Jan 17 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 326 |  6 | 00326 | Tue Jan 27 00:00:00 1970 PST | Tue Jan 27 00:00:00 1970 | 6  | 6          | foo | 326 |  6 | 00326 | Tue Jan 27 00:00:00 1970 PST | Tue Jan 27 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 336 |  6 | 00336 | Fri Feb 06 00:00:00 1970 PST | Fri Feb 06 00:00:00 1970 | 6  | 6          | foo | 336 |  6 | 00336 | Fri Feb 06 00:00:00 1970 PST | Fri Feb 06 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 346 |  6 | 00346 | Mon Feb 16 00:00:00 1970 PST | Mon Feb 16 00:00:00 1970 | 6  | 6          | foo | 346 |  6 | 00346 | Mon Feb 16 00:00:00 1970 PST | Mon Feb 16 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 356 |  6 | 00356 | Thu Feb 26 00:00:00 1970 PST | Thu Feb 26 00:00:00 1970 | 6  | 6          | foo | 356 |  6 | 00356 | Thu Feb 26 00:00:00 1970 PST | Thu Feb 26 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 366 |  6 | 00366 | Sun Mar 08 00:00:00 1970 PST | Sun Mar 08 00:00:00 1970 | 6  | 6          | foo | 366 |  6 | 00366 | Sun Mar 08 00:00:00 1970 PST | Sun Mar 08 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 376 |  6 | 00376 | Wed Mar 18 00:00:00 1970 PST | Wed Mar 18 00:00:00 1970 | 6  | 6          | foo | 376 |  6 | 00376 | Wed Mar 18 00:00:00 1970 PST | Wed Mar 18 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 386 |  6 | 00386 | Sat Mar 28 00:00:00 1970 PST | Sat Mar 28 00:00:00 1970 | 6  | 6          | foo | 386 |  6 | 00386 | Sat Mar 28 00:00:00 1970 PST | Sat Mar 28 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 396 |  6 | 00396 | Tue Apr 07 00:00:00 1970 PST | Tue Apr 07 00:00:00 1970 | 6  | 6          | foo | 396 |  6 | 00396 | Tue Apr 07 00:00:00 1970 PST | Tue Apr 07 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 406 |  6 | 00406 | Wed Jan 07 00:00:00 1970 PST | Wed Jan 07 00:00:00 1970 | 6  | 6          | foo | 406 |  6 | 00406 | Wed Jan 07 00:00:00 1970 PST | Wed Jan 07 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 416 |  6 | 00416 | Sat Jan 17 00:00:00 1970 PST | Sat Jan 17 00:00:00 1970 | 6  | 6          | foo | 416 |  6 | 00416 | Sat Jan 17 00:00:00 1970 PST | Sat Jan 17 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 426 |  6 | 00426 | Tue Jan 27 00:00:00 1970 PST | Tue Jan 27 00:00:00 1970 | 6  | 6          | foo | 426 |  6 | 00426 | Tue Jan 27 00:00:00 1970 PST | Tue Jan 27 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 436 |  6 | 00436 | Fri Feb 06 00:00:00 1970 PST | Fri Feb 06 00:00:00 1970 | 6  | 6          | foo | 436 |  6 | 00436 | Fri Feb 06 00:00:00 1970 PST | Fri Feb 06 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 446 |  6 | 00446 | Mon Feb 16 00:00:00 1970 PST | Mon Feb 16 00:00:00 1970 | 6  | 6          | foo | 446 |  6 | 00446 | Mon Feb 16 00:00:00 1970 PST | Mon Feb 16 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 456 |  6 | 00456 | Thu Feb 26 00:00:00 1970 PST | Thu Feb 26 00:00:00 1970 | 6  | 6          | foo | 456 |  6 | 00456 | Thu Feb 26 00:00:00 1970 PST | Thu Feb 26 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 466 |  6 | 00466 | Sun Mar 08 00:00:00 1970 PST | Sun Mar 08 00:00:00 1970 | 6  | 6          | foo | 466 |  6 | 00466 | Sun Mar 08 00:00:00 1970 PST | Sun Mar 08 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 476 |  6 | 00476 | Wed Mar 18 00:00:00 1970 PST | Wed Mar 18 00:00:00 1970 | 6  | 6          | foo | 476 |  6 | 00476 | Wed Mar 18 00:00:00 1970 PST | Wed Mar 18 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 486 |  6 | 00486 | Sat Mar 28 00:00:00 1970 PST | Sat Mar 28 00:00:00 1970 | 6  | 6          | foo | 486 |  6 | 00486 | Sat Mar 28 00:00:00 1970 PST | Sat Mar 28 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 496 |  6 | 00496 | Tue Apr 07 00:00:00 1970 PST | Tue Apr 07 00:00:00 1970 | 6  | 6          | foo | 496 |  6 | 00496 | Tue Apr 07 00:00:00 1970 PST | Tue Apr 07 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 506 |  6 | 00506 | Wed Jan 07 00:00:00 1970 PST | Wed Jan 07 00:00:00 1970 | 6  | 6          | foo | 506 |  6 | 00506 | Wed Jan 07 00:00:00 1970 PST | Wed Jan 07 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 516 |  6 | 00516 | Sat Jan 17 00:00:00 1970 PST | Sat Jan 17 00:00:00 1970 | 6  | 6          | foo | 516 |  6 | 00516 | Sat Jan 17 00:00:00 1970 PST | Sat Jan 17 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 526 |  6 | 00526 | Tue Jan 27 00:00:00 1970 PST | Tue Jan 27 00:00:00 1970 | 6  | 6          | foo | 526 |  6 | 00526 | Tue Jan 27 00:00:00 1970 PST | Tue Jan 27 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 536 |  6 | 00536 | Fri Feb 06 00:00:00 1970 PST | Fri Feb 06 00:00:00 1970 | 6  | 6          | foo | 536 |  6 | 00536 | Fri Feb 06 00:00:00 1970 PST | Fri Feb 06 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 546 |  6 | 00546 | Mon Feb 16 00:00:00 1970 PST | Mon Feb 16 00:00:00 1970 | 6  | 6          | foo | 546 |  6 | 00546 | Mon Feb 16 00:00:00 1970 PST | Mon Feb 16 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 556 |  6 | 00556 | Thu Feb 26 00:00:00 1970 PST | Thu Feb 26 00:00:00 1970 | 6  | 6          | foo | 556 |  6 | 00556 | Thu Feb 26 00:00:00 1970 PST | Thu Feb 26 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 566 |  6 | 00566 | Sun Mar 08 00:00:00 1970 PST | Sun Mar 08 00:00:00 1970 | 6  | 6          | foo | 566 |  6 | 00566 | Sun Mar 08 00:00:00 1970 PST | Sun Mar 08 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 576 |  6 | 00576 | Wed Mar 18 00:00:00 1970 PST | Wed Mar 18 00:00:00 1970 | 6  | 6          | foo | 576 |  6 | 00576 | Wed Mar 18 00:00:00 1970 PST | Wed Mar 18 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 586 |  6 | 00586 | Sat Mar 28 00:00:00 1970 PST | Sat Mar 28 00:00:00 1970 | 6  | 6          | foo | 586 |  6 | 00586 | Sat Mar 28 00:00:00 1970 PST | Sat Mar 28 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 596 |  6 | 00596 | Tue Apr 07 00:00:00 1970 PST | Tue Apr 07 00:00:00 1970 | 6  | 6          | foo | 596 |  6 | 00596 | Tue Apr 07 00:00:00 1970 PST | Tue Apr 07 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 606 |  6 | 00606 | Wed Jan 07 00:00:00 1970 PST | Wed Jan 07 00:00:00 1970 | 6  | 6          | foo | 606 |  6 | 00606 | Wed Jan 07 00:00:00 1970 PST | Wed Jan 07 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 616 |  6 | 00616 | Sat Jan 17 00:00:00 1970 PST | Sat Jan 17 00:00:00 1970 | 6  | 6          | foo | 616 |  6 | 00616 | Sat Jan 17 00:00:00 1970 PST | Sat Jan 17 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 626 |  6 | 00626 | Tue Jan 27 00:00:00 1970 PST | Tue Jan 27 00:00:00 1970 | 6  | 6          | foo | 626 |  6 | 00626 | Tue Jan 27 00:00:00 1970 PST | Tue Jan 27 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 636 |  6 | 00636 | Fri Feb 06 00:00:00 1970 PST | Fri Feb 06 00:00:00 1970 | 6  | 6          | foo | 636 |  6 | 00636 | Fri Feb 06 00:00:00 1970 PST | Fri Feb 06 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 646 |  6 | 00646 | Mon Feb 16 00:00:00 1970 PST | Mon Feb 16 00:00:00 1970 | 6  | 6          | foo | 646 |  6 | 00646 | Mon Feb 16 00:00:00 1970 PST | Mon Feb 16 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 656 |  6 | 00656 | Thu Feb 26 00:00:00 1970 PST | Thu Feb 26 00:00:00 1970 | 6  | 6          | foo | 656 |  6 | 00656 | Thu Feb 26 00:00:00 1970 PST | Thu Feb 26 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 666 |  6 | 00666 | Sun Mar 08 00:00:00 1970 PST | Sun Mar 08 00:00:00 1970 | 6  | 6          | foo | 666 |  6 | 00666 | Sun Mar 08 00:00:00 1970 PST | Sun Mar 08 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 676 |  6 | 00676 | Wed Mar 18 00:00:00 1970 PST | Wed Mar 18 00:00:00 1970 | 6  | 6          | foo | 676 |  6 | 00676 | Wed Mar 18 00:00:00 1970 PST | Wed Mar 18 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 686 |  6 | 00686 | Sat Mar 28 00:00:00 1970 PST | Sat Mar 28 00:00:00 1970 | 6  | 6          | foo | 686 |  6 | 00686 | Sat Mar 28 00:00:00 1970 PST | Sat Mar 28 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 696 |  6 | 00696 | Tue Apr 07 00:00:00 1970 PST | Tue Apr 07 00:00:00 1970 | 6  | 6          | foo | 696 |  6 | 00696 | Tue Apr 07 00:00:00 1970 PST | Tue Apr 07 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 706 |  6 | 00706 | Wed Jan 07 00:00:00 1970 PST | Wed Jan 07 00:00:00 1970 | 6  | 6          | foo | 706 |  6 | 00706 | Wed Jan 07 00:00:00 1970 PST | Wed Jan 07 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 716 |  6 | 00716 | Sat Jan 17 00:00:00 1970 PST | Sat Jan 17 00:00:00 1970 | 6  | 6          | foo | 716 |  6 | 00716 | Sat Jan 17 00:00:00 1970 PST | Sat Jan 17 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 726 |  6 | 00726 | Tue Jan 27 00:00:00 1970 PST | Tue Jan 27 00:00:00 1970 | 6  | 6          | foo | 726 |  6 | 00726 | Tue Jan 27 00:00:00 1970 PST | Tue Jan 27 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 736 |  6 | 00736 | Fri Feb 06 00:00:00 1970 PST | Fri Feb 06 00:00:00 1970 | 6  | 6          | foo | 736 |  6 | 00736 | Fri Feb 06 00:00:00 1970 PST | Fri Feb 06 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 746 |  6 | 00746 | Mon Feb 16 00:00:00 1970 PST | Mon Feb 16 00:00:00 1970 | 6  | 6          | foo | 746 |  6 | 00746 | Mon Feb 16 00:00:00 1970 PST | Mon Feb 16 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 756 |  6 | 00756 | Thu Feb 26 00:00:00 1970 PST | Thu Feb 26 00:00:00 1970 | 6  | 6          | foo | 756 |  6 | 00756 | Thu Feb 26 00:00:00 1970 PST | Thu Feb 26 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 766 |  6 | 00766 | Sun Mar 08 00:00:00 1970 PST | Sun Mar 08 00:00:00 1970 | 6  | 6          | foo | 766 |  6 | 00766 | Sun Mar 08 00:00:00 1970 PST | Sun Mar 08 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 776 |  6 | 00776 | Wed Mar 18 00:00:00 1970 PST | Wed Mar 18 00:00:00 1970 | 6  | 6          | foo | 776 |  6 | 00776 | Wed Mar 18 00:00:00 1970 PST | Wed Mar 18 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 786 |  6 | 00786 | Sat Mar 28 00:00:00 1970 PST | Sat Mar 28 00:00:00 1970 | 6  | 6          | foo | 786 |  6 | 00786 | Sat Mar 28 00:00:00 1970 PST | Sat Mar 28 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 796 |  6 | 00796 | Tue Apr 07 00:00:00 1970 PST | Tue Apr 07 00:00:00 1970 | 6  | 6          | foo | 796 |  6 | 00796 | Tue Apr 07 00:00:00 1970 PST | Tue Apr 07 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 806 |  6 | 00806 | Wed Jan 07 00:00:00 1970 PST | Wed Jan 07 00:00:00 1970 | 6  | 6          | foo | 806 |  6 | 00806 | Wed Jan 07 00:00:00 1970 PST | Wed Jan 07 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 816 |  6 | 00816 | Sat Jan 17 00:00:00 1970 PST | Sat Jan 17 00:00:00 1970 | 6  | 6          | foo | 816 |  6 | 00816 | Sat Jan 17 00:00:00 1970 PST | Sat Jan 17 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 826 |  6 | 00826 | Tue Jan 27 00:00:00 1970 PST | Tue Jan 27 00:00:00 1970 | 6  | 6          | foo | 826 |  6 | 00826 | Tue Jan 27 00:00:00 1970 PST | Tue Jan 27 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 836 |  6 | 00836 | Fri Feb 06 00:00:00 1970 PST | Fri Feb 06 00:00:00 1970 | 6  | 6          | foo | 836 |  6 | 00836 | Fri Feb 06 00:00:00 1970 PST | Fri Feb 06 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 846 |  6 | 00846 | Mon Feb 16 00:00:00 1970 PST | Mon Feb 16 00:00:00 1970 | 6  | 6          | foo | 846 |  6 | 00846 | Mon Feb 16 00:00:00 1970 PST | Mon Feb 16 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 856 |  6 | 00856 | Thu Feb 26 00:00:00 1970 PST | Thu Feb 26 00:00:00 1970 | 6  | 6          | foo | 856 |  6 | 00856 | Thu Feb 26 00:00:00 1970 PST | Thu Feb 26 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 866 |  6 | 00866 | Sun Mar 08 00:00:00 1970 PST | Sun Mar 08 00:00:00 1970 | 6  | 6          | foo | 866 |  6 | 00866 | Sun Mar 08 00:00:00 1970 PST | Sun Mar 08 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 876 |  6 | 00876 | Wed Mar 18 00:00:00 1970 PST | Wed Mar 18 00:00:00 1970 | 6  | 6          | foo | 876 |  6 | 00876 | Wed Mar 18 00:00:00 1970 PST | Wed Mar 18 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 886 |  6 | 00886 | Sat Mar 28 00:00:00 1970 PST | Sat Mar 28 00:00:00 1970 | 6  | 6          | foo | 886 |  6 | 00886 | Sat Mar 28 00:00:00 1970 PST | Sat Mar 28 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 896 |  6 | 00896 | Tue Apr 07 00:00:00 1970 PST | Tue Apr 07 00:00:00 1970 | 6  | 6          | foo | 896 |  6 | 00896 | Tue Apr 07 00:00:00 1970 PST | Tue Apr 07 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 906 |  6 | 00906 | Wed Jan 07 00:00:00 1970 PST | Wed Jan 07 00:00:00 1970 | 6  | 6          | foo | 906 |  6 | 00906 | Wed Jan 07 00:00:00 1970 PST | Wed Jan 07 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 916 |  6 | 00916 | Sat Jan 17 00:00:00 1970 PST | Sat Jan 17 00:00:00 1970 | 6  | 6          | foo | 916 |  6 | 00916 | Sat Jan 17 00:00:00 1970 PST | Sat Jan 17 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 926 |  6 | 00926 | Tue Jan 27 00:00:00 1970 PST | Tue Jan 27 00:00:00 1970 | 6  | 6          | foo | 926 |  6 | 00926 | Tue Jan 27 00:00:00 1970 PST | Tue Jan 27 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 936 |  6 | 00936 | Fri Feb 06 00:00:00 1970 PST | Fri Feb 06 00:00:00 1970 | 6  | 6          | foo | 936 |  6 | 00936 | Fri Feb 06 00:00:00 1970 PST | Fri Feb 06 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 946 |  6 | 00946 | Mon Feb 16 00:00:00 1970 PST | Mon Feb 16 00:00:00 1970 | 6  | 6          | foo | 946 |  6 | 00946 | Mon Feb 16 00:00:00 1970 PST | Mon Feb 16 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 956 |  6 | 00956 | Thu Feb 26 00:00:00 1970 PST | Thu Feb 26 00:00:00 1970 | 6  | 6          | foo | 956 |  6 | 00956 | Thu Feb 26 00:00:00 1970 PST | Thu Feb 26 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 966 |  6 | 00966 | Sun Mar 08 00:00:00 1970 PST | Sun Mar 08 00:00:00 1970 | 6  | 6          | foo | 966 |  6 | 00966 | Sun Mar 08 00:00:00 1970 PST | Sun Mar 08 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 976 |  6 | 00976 | Wed Mar 18 00:00:00 1970 PST | Wed Mar 18 00:00:00 1970 | 6  | 6          | foo | 976 |  6 | 00976 | Wed Mar 18 00:00:00 1970 PST | Wed Mar 18 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 986 |  6 | 00986 | Sat Mar 28 00:00:00 1970 PST | Sat Mar 28 00:00:00 1970 | 6  | 6          | foo | 986 |  6 | 00986 | Sat Mar 28 00:00:00 1970 PST | Sat Mar 28 00:00:00 1970 | 6  | 6          | foo
 | 
						|
 996 |  6 | 00996 | Tue Apr 07 00:00:00 1970 PST | Tue Apr 07 00:00:00 1970 | 6  | 6          | foo | 996 |  6 | 00996 | Tue Apr 07 00:00:00 1970 PST | Tue Apr 07 00:00:00 1970 | 6  | 6          | foo
 | 
						|
(100 rows)
 | 
						|
 | 
						|
-- bug before 9.3.5 due to sloppy handling of remote-estimate parameters
 | 
						|
SELECT * FROM ft1 WHERE c1 = ANY (ARRAY(SELECT c1 FROM ft2 WHERE c1 < 5));
 | 
						|
 c1 | c2 |  c3   |              c4              |            c5            | c6 |     c7     | c8  
 | 
						|
----+----+-------+------------------------------+--------------------------+----+------------+-----
 | 
						|
  1 |  1 | 00001 | Fri Jan 02 00:00:00 1970 PST | Fri Jan 02 00:00:00 1970 | 1  | 1          | foo
 | 
						|
  2 |  2 | 00002 | Sat Jan 03 00:00:00 1970 PST | Sat Jan 03 00:00:00 1970 | 2  | 2          | foo
 | 
						|
  3 |  3 | 00003 | Sun Jan 04 00:00:00 1970 PST | Sun Jan 04 00:00:00 1970 | 3  | 3          | foo
 | 
						|
  4 |  4 | 00004 | Mon Jan 05 00:00:00 1970 PST | Mon Jan 05 00:00:00 1970 | 4  | 4          | foo
 | 
						|
(4 rows)
 | 
						|
 | 
						|
SELECT * FROM ft2 WHERE c1 = ANY (ARRAY(SELECT c1 FROM ft1 WHERE c1 < 5));
 | 
						|
 c1 | c2 |  c3   |              c4              |            c5            | c6 |     c7     | c8  
 | 
						|
----+----+-------+------------------------------+--------------------------+----+------------+-----
 | 
						|
  1 |  1 | 00001 | Fri Jan 02 00:00:00 1970 PST | Fri Jan 02 00:00:00 1970 | 1  | 1          | foo
 | 
						|
  2 |  2 | 00002 | Sat Jan 03 00:00:00 1970 PST | Sat Jan 03 00:00:00 1970 | 2  | 2          | foo
 | 
						|
  3 |  3 | 00003 | Sun Jan 04 00:00:00 1970 PST | Sun Jan 04 00:00:00 1970 | 3  | 3          | foo
 | 
						|
  4 |  4 | 00004 | Mon Jan 05 00:00:00 1970 PST | Mon Jan 05 00:00:00 1970 | 4  | 4          | foo
 | 
						|
(4 rows)
 | 
						|
 | 
						|
-- ===================================================================
 | 
						|
-- parameterized queries
 | 
						|
-- ===================================================================
 | 
						|
-- simple join
 | 
						|
PREPARE st1(int, int) AS SELECT t1.c3, t2.c3 FROM ft1 t1, ft2 t2 WHERE t1.c1 = $1 AND t2.c1 = $2;
 | 
						|
EXPLAIN (VERBOSE, COSTS false) EXECUTE st1(1, 2);
 | 
						|
                             QUERY PLAN                             
 | 
						|
--------------------------------------------------------------------
 | 
						|
 Nested Loop
 | 
						|
   Output: t1.c3, t2.c3
 | 
						|
   ->  Foreign Scan on public.ft1 t1
 | 
						|
         Output: t1.c3
 | 
						|
         Remote SQL: SELECT c3 FROM "S 1"."T 1" WHERE (("C 1" = 1))
 | 
						|
   ->  Foreign Scan on public.ft2 t2
 | 
						|
         Output: t2.c3
 | 
						|
         Remote SQL: SELECT c3 FROM "S 1"."T 1" WHERE (("C 1" = 2))
 | 
						|
(8 rows)
 | 
						|
 | 
						|
EXECUTE st1(1, 1);
 | 
						|
  c3   |  c3   
 | 
						|
-------+-------
 | 
						|
 00001 | 00001
 | 
						|
(1 row)
 | 
						|
 | 
						|
EXECUTE st1(101, 101);
 | 
						|
  c3   |  c3   
 | 
						|
-------+-------
 | 
						|
 00101 | 00101
 | 
						|
(1 row)
 | 
						|
 | 
						|
-- subquery using stable function (can't be sent to remote)
 | 
						|
PREPARE st2(int) AS SELECT * FROM ft1 t1 WHERE t1.c1 < $2 AND t1.c3 IN (SELECT c3 FROM ft2 t2 WHERE c1 > $1 AND date(c4) = '1970-01-17'::date) ORDER BY c1;
 | 
						|
EXPLAIN (VERBOSE, COSTS false) EXECUTE st2(10, 20);
 | 
						|
                                                QUERY PLAN                                                
 | 
						|
----------------------------------------------------------------------------------------------------------
 | 
						|
 Sort
 | 
						|
   Output: t1.c1, t1.c2, t1.c3, t1.c4, t1.c5, t1.c6, t1.c7, t1.c8
 | 
						|
   Sort Key: t1.c1
 | 
						|
   ->  Nested Loop Semi Join
 | 
						|
         Output: t1.c1, t1.c2, t1.c3, t1.c4, t1.c5, t1.c6, t1.c7, t1.c8
 | 
						|
         Join Filter: (t1.c3 = t2.c3)
 | 
						|
         ->  Foreign Scan on public.ft1 t1
 | 
						|
               Output: t1.c1, t1.c2, t1.c3, t1.c4, t1.c5, t1.c6, t1.c7, t1.c8
 | 
						|
               Remote SQL: SELECT "C 1", c2, c3, c4, c5, c6, c7, c8 FROM "S 1"."T 1" WHERE (("C 1" < 20))
 | 
						|
         ->  Materialize
 | 
						|
               Output: t2.c3
 | 
						|
               ->  Foreign Scan on public.ft2 t2
 | 
						|
                     Output: t2.c3
 | 
						|
                     Filter: (date(t2.c4) = '01-17-1970'::date)
 | 
						|
                     Remote SQL: SELECT c3, c4 FROM "S 1"."T 1" WHERE (("C 1" > 10))
 | 
						|
(15 rows)
 | 
						|
 | 
						|
EXECUTE st2(10, 20);
 | 
						|
 c1 | c2 |  c3   |              c4              |            c5            | c6 |     c7     | c8  
 | 
						|
----+----+-------+------------------------------+--------------------------+----+------------+-----
 | 
						|
 16 |  6 | 00016 | Sat Jan 17 00:00:00 1970 PST | Sat Jan 17 00:00:00 1970 | 6  | 6          | foo
 | 
						|
(1 row)
 | 
						|
 | 
						|
EXECUTE st2(101, 121);
 | 
						|
 c1  | c2 |  c3   |              c4              |            c5            | c6 |     c7     | c8  
 | 
						|
-----+----+-------+------------------------------+--------------------------+----+------------+-----
 | 
						|
 116 |  6 | 00116 | Sat Jan 17 00:00:00 1970 PST | Sat Jan 17 00:00:00 1970 | 6  | 6          | foo
 | 
						|
(1 row)
 | 
						|
 | 
						|
-- subquery using immutable function (can be sent to remote)
 | 
						|
PREPARE st3(int) AS SELECT * FROM ft1 t1 WHERE t1.c1 < $2 AND t1.c3 IN (SELECT c3 FROM ft2 t2 WHERE c1 > $1 AND date(c5) = '1970-01-17'::date) ORDER BY c1;
 | 
						|
EXPLAIN (VERBOSE, COSTS false) EXECUTE st3(10, 20);
 | 
						|
                                                      QUERY PLAN                                                       
 | 
						|
-----------------------------------------------------------------------------------------------------------------------
 | 
						|
 Sort
 | 
						|
   Output: t1.c1, t1.c2, t1.c3, t1.c4, t1.c5, t1.c6, t1.c7, t1.c8
 | 
						|
   Sort Key: t1.c1
 | 
						|
   ->  Nested Loop Semi Join
 | 
						|
         Output: t1.c1, t1.c2, t1.c3, t1.c4, t1.c5, t1.c6, t1.c7, t1.c8
 | 
						|
         Join Filter: (t1.c3 = t2.c3)
 | 
						|
         ->  Foreign Scan on public.ft1 t1
 | 
						|
               Output: t1.c1, t1.c2, t1.c3, t1.c4, t1.c5, t1.c6, t1.c7, t1.c8
 | 
						|
               Remote SQL: SELECT "C 1", c2, c3, c4, c5, c6, c7, c8 FROM "S 1"."T 1" WHERE (("C 1" < 20))
 | 
						|
         ->  Materialize
 | 
						|
               Output: t2.c3
 | 
						|
               ->  Foreign Scan on public.ft2 t2
 | 
						|
                     Output: t2.c3
 | 
						|
                     Remote SQL: SELECT c3 FROM "S 1"."T 1" WHERE (("C 1" > 10)) AND ((date(c5) = '1970-01-17'::date))
 | 
						|
(14 rows)
 | 
						|
 | 
						|
EXECUTE st3(10, 20);
 | 
						|
 c1 | c2 |  c3   |              c4              |            c5            | c6 |     c7     | c8  
 | 
						|
----+----+-------+------------------------------+--------------------------+----+------------+-----
 | 
						|
 16 |  6 | 00016 | Sat Jan 17 00:00:00 1970 PST | Sat Jan 17 00:00:00 1970 | 6  | 6          | foo
 | 
						|
(1 row)
 | 
						|
 | 
						|
EXECUTE st3(20, 30);
 | 
						|
 c1 | c2 | c3 | c4 | c5 | c6 | c7 | c8 
 | 
						|
----+----+----+----+----+----+----+----
 | 
						|
(0 rows)
 | 
						|
 | 
						|
-- custom plan should be chosen initially
 | 
						|
PREPARE st4(int) AS SELECT * FROM ft1 t1 WHERE t1.c1 = $1;
 | 
						|
EXPLAIN (VERBOSE, COSTS false) EXECUTE st4(1);
 | 
						|
                                         QUERY PLAN                                          
 | 
						|
---------------------------------------------------------------------------------------------
 | 
						|
 Foreign Scan on public.ft1 t1
 | 
						|
   Output: c1, c2, c3, c4, c5, c6, c7, c8
 | 
						|
   Remote SQL: SELECT "C 1", c2, c3, c4, c5, c6, c7, c8 FROM "S 1"."T 1" WHERE (("C 1" = 1))
 | 
						|
(3 rows)
 | 
						|
 | 
						|
EXPLAIN (VERBOSE, COSTS false) EXECUTE st4(1);
 | 
						|
                                         QUERY PLAN                                          
 | 
						|
---------------------------------------------------------------------------------------------
 | 
						|
 Foreign Scan on public.ft1 t1
 | 
						|
   Output: c1, c2, c3, c4, c5, c6, c7, c8
 | 
						|
   Remote SQL: SELECT "C 1", c2, c3, c4, c5, c6, c7, c8 FROM "S 1"."T 1" WHERE (("C 1" = 1))
 | 
						|
(3 rows)
 | 
						|
 | 
						|
EXPLAIN (VERBOSE, COSTS false) EXECUTE st4(1);
 | 
						|
                                         QUERY PLAN                                          
 | 
						|
---------------------------------------------------------------------------------------------
 | 
						|
 Foreign Scan on public.ft1 t1
 | 
						|
   Output: c1, c2, c3, c4, c5, c6, c7, c8
 | 
						|
   Remote SQL: SELECT "C 1", c2, c3, c4, c5, c6, c7, c8 FROM "S 1"."T 1" WHERE (("C 1" = 1))
 | 
						|
(3 rows)
 | 
						|
 | 
						|
EXPLAIN (VERBOSE, COSTS false) EXECUTE st4(1);
 | 
						|
                                         QUERY PLAN                                          
 | 
						|
---------------------------------------------------------------------------------------------
 | 
						|
 Foreign Scan on public.ft1 t1
 | 
						|
   Output: c1, c2, c3, c4, c5, c6, c7, c8
 | 
						|
   Remote SQL: SELECT "C 1", c2, c3, c4, c5, c6, c7, c8 FROM "S 1"."T 1" WHERE (("C 1" = 1))
 | 
						|
(3 rows)
 | 
						|
 | 
						|
EXPLAIN (VERBOSE, COSTS false) EXECUTE st4(1);
 | 
						|
                                         QUERY PLAN                                          
 | 
						|
---------------------------------------------------------------------------------------------
 | 
						|
 Foreign Scan on public.ft1 t1
 | 
						|
   Output: c1, c2, c3, c4, c5, c6, c7, c8
 | 
						|
   Remote SQL: SELECT "C 1", c2, c3, c4, c5, c6, c7, c8 FROM "S 1"."T 1" WHERE (("C 1" = 1))
 | 
						|
(3 rows)
 | 
						|
 | 
						|
-- once we try it enough times, should switch to generic plan
 | 
						|
EXPLAIN (VERBOSE, COSTS false) EXECUTE st4(1);
 | 
						|
                                              QUERY PLAN                                               
 | 
						|
-------------------------------------------------------------------------------------------------------
 | 
						|
 Foreign Scan on public.ft1 t1
 | 
						|
   Output: c1, c2, c3, c4, c5, c6, c7, c8
 | 
						|
   Remote SQL: SELECT "C 1", c2, c3, c4, c5, c6, c7, c8 FROM "S 1"."T 1" WHERE (("C 1" = $1::integer))
 | 
						|
(3 rows)
 | 
						|
 | 
						|
-- value of $1 should not be sent to remote
 | 
						|
PREPARE st5(user_enum,int) AS SELECT * FROM ft1 t1 WHERE c8 = $1 and c1 = $2;
 | 
						|
EXPLAIN (VERBOSE, COSTS false) EXECUTE st5('foo', 1);
 | 
						|
                                         QUERY PLAN                                          
 | 
						|
---------------------------------------------------------------------------------------------
 | 
						|
 Foreign Scan on public.ft1 t1
 | 
						|
   Output: c1, c2, c3, c4, c5, c6, c7, c8
 | 
						|
   Filter: (t1.c8 = 'foo'::user_enum)
 | 
						|
   Remote SQL: SELECT "C 1", c2, c3, c4, c5, c6, c7, c8 FROM "S 1"."T 1" WHERE (("C 1" = 1))
 | 
						|
(4 rows)
 | 
						|
 | 
						|
EXPLAIN (VERBOSE, COSTS false) EXECUTE st5('foo', 1);
 | 
						|
                                         QUERY PLAN                                          
 | 
						|
---------------------------------------------------------------------------------------------
 | 
						|
 Foreign Scan on public.ft1 t1
 | 
						|
   Output: c1, c2, c3, c4, c5, c6, c7, c8
 | 
						|
   Filter: (t1.c8 = 'foo'::user_enum)
 | 
						|
   Remote SQL: SELECT "C 1", c2, c3, c4, c5, c6, c7, c8 FROM "S 1"."T 1" WHERE (("C 1" = 1))
 | 
						|
(4 rows)
 | 
						|
 | 
						|
EXPLAIN (VERBOSE, COSTS false) EXECUTE st5('foo', 1);
 | 
						|
                                         QUERY PLAN                                          
 | 
						|
---------------------------------------------------------------------------------------------
 | 
						|
 Foreign Scan on public.ft1 t1
 | 
						|
   Output: c1, c2, c3, c4, c5, c6, c7, c8
 | 
						|
   Filter: (t1.c8 = 'foo'::user_enum)
 | 
						|
   Remote SQL: SELECT "C 1", c2, c3, c4, c5, c6, c7, c8 FROM "S 1"."T 1" WHERE (("C 1" = 1))
 | 
						|
(4 rows)
 | 
						|
 | 
						|
EXPLAIN (VERBOSE, COSTS false) EXECUTE st5('foo', 1);
 | 
						|
                                         QUERY PLAN                                          
 | 
						|
---------------------------------------------------------------------------------------------
 | 
						|
 Foreign Scan on public.ft1 t1
 | 
						|
   Output: c1, c2, c3, c4, c5, c6, c7, c8
 | 
						|
   Filter: (t1.c8 = 'foo'::user_enum)
 | 
						|
   Remote SQL: SELECT "C 1", c2, c3, c4, c5, c6, c7, c8 FROM "S 1"."T 1" WHERE (("C 1" = 1))
 | 
						|
(4 rows)
 | 
						|
 | 
						|
EXPLAIN (VERBOSE, COSTS false) EXECUTE st5('foo', 1);
 | 
						|
                                         QUERY PLAN                                          
 | 
						|
---------------------------------------------------------------------------------------------
 | 
						|
 Foreign Scan on public.ft1 t1
 | 
						|
   Output: c1, c2, c3, c4, c5, c6, c7, c8
 | 
						|
   Filter: (t1.c8 = 'foo'::user_enum)
 | 
						|
   Remote SQL: SELECT "C 1", c2, c3, c4, c5, c6, c7, c8 FROM "S 1"."T 1" WHERE (("C 1" = 1))
 | 
						|
(4 rows)
 | 
						|
 | 
						|
EXPLAIN (VERBOSE, COSTS false) EXECUTE st5('foo', 1);
 | 
						|
                                              QUERY PLAN                                               
 | 
						|
-------------------------------------------------------------------------------------------------------
 | 
						|
 Foreign Scan on public.ft1 t1
 | 
						|
   Output: c1, c2, c3, c4, c5, c6, c7, c8
 | 
						|
   Filter: (t1.c8 = $1)
 | 
						|
   Remote SQL: SELECT "C 1", c2, c3, c4, c5, c6, c7, c8 FROM "S 1"."T 1" WHERE (("C 1" = $1::integer))
 | 
						|
(4 rows)
 | 
						|
 | 
						|
EXECUTE st5('foo', 1);
 | 
						|
 c1 | c2 |  c3   |              c4              |            c5            | c6 |     c7     | c8  
 | 
						|
----+----+-------+------------------------------+--------------------------+----+------------+-----
 | 
						|
  1 |  1 | 00001 | Fri Jan 02 00:00:00 1970 PST | Fri Jan 02 00:00:00 1970 | 1  | 1          | foo
 | 
						|
(1 row)
 | 
						|
 | 
						|
-- cleanup
 | 
						|
DEALLOCATE st1;
 | 
						|
DEALLOCATE st2;
 | 
						|
DEALLOCATE st3;
 | 
						|
DEALLOCATE st4;
 | 
						|
DEALLOCATE st5;
 | 
						|
-- System columns, except ctid, should not be sent to remote
 | 
						|
EXPLAIN (VERBOSE, COSTS false)
 | 
						|
SELECT * FROM ft1 t1 WHERE t1.tableoid = 'pg_class'::regclass LIMIT 1;
 | 
						|
                                  QUERY PLAN                                   
 | 
						|
-------------------------------------------------------------------------------
 | 
						|
 Limit
 | 
						|
   Output: c1, c2, c3, c4, c5, c6, c7, c8
 | 
						|
   ->  Foreign Scan on public.ft1 t1
 | 
						|
         Output: c1, c2, c3, c4, c5, c6, c7, c8
 | 
						|
         Filter: (t1.tableoid = 1259::oid)
 | 
						|
         Remote SQL: SELECT "C 1", c2, c3, c4, c5, c6, c7, c8 FROM "S 1"."T 1"
 | 
						|
(6 rows)
 | 
						|
 | 
						|
SELECT * FROM ft1 t1 WHERE t1.tableoid = 'ft1'::regclass LIMIT 1;
 | 
						|
 c1 | c2 |  c3   |              c4              |            c5            | c6 |     c7     | c8  
 | 
						|
----+----+-------+------------------------------+--------------------------+----+------------+-----
 | 
						|
  1 |  1 | 00001 | Fri Jan 02 00:00:00 1970 PST | Fri Jan 02 00:00:00 1970 | 1  | 1          | foo
 | 
						|
(1 row)
 | 
						|
 | 
						|
EXPLAIN (VERBOSE, COSTS false)
 | 
						|
SELECT tableoid::regclass, * FROM ft1 t1 LIMIT 1;
 | 
						|
                                  QUERY PLAN                                   
 | 
						|
-------------------------------------------------------------------------------
 | 
						|
 Limit
 | 
						|
   Output: ((tableoid)::regclass), c1, c2, c3, c4, c5, c6, c7, c8
 | 
						|
   ->  Foreign Scan on public.ft1 t1
 | 
						|
         Output: (tableoid)::regclass, c1, c2, c3, c4, c5, c6, c7, c8
 | 
						|
         Remote SQL: SELECT "C 1", c2, c3, c4, c5, c6, c7, c8 FROM "S 1"."T 1"
 | 
						|
(5 rows)
 | 
						|
 | 
						|
SELECT tableoid::regclass, * FROM ft1 t1 LIMIT 1;
 | 
						|
 tableoid | c1 | c2 |  c3   |              c4              |            c5            | c6 |     c7     | c8  
 | 
						|
----------+----+----+-------+------------------------------+--------------------------+----+------------+-----
 | 
						|
 ft1      |  1 |  1 | 00001 | Fri Jan 02 00:00:00 1970 PST | Fri Jan 02 00:00:00 1970 | 1  | 1          | foo
 | 
						|
(1 row)
 | 
						|
 | 
						|
EXPLAIN (VERBOSE, COSTS false)
 | 
						|
SELECT * FROM ft1 t1 WHERE t1.ctid = '(0,2)';
 | 
						|
                                              QUERY PLAN                                               
 | 
						|
-------------------------------------------------------------------------------------------------------
 | 
						|
 Foreign Scan on public.ft1 t1
 | 
						|
   Output: c1, c2, c3, c4, c5, c6, c7, c8
 | 
						|
   Remote SQL: SELECT "C 1", c2, c3, c4, c5, c6, c7, c8 FROM "S 1"."T 1" WHERE ((ctid = '(0,2)'::tid))
 | 
						|
(3 rows)
 | 
						|
 | 
						|
SELECT * FROM ft1 t1 WHERE t1.ctid = '(0,2)';
 | 
						|
 c1 | c2 |  c3   |              c4              |            c5            | c6 |     c7     | c8  
 | 
						|
----+----+-------+------------------------------+--------------------------+----+------------+-----
 | 
						|
  2 |  2 | 00002 | Sat Jan 03 00:00:00 1970 PST | Sat Jan 03 00:00:00 1970 | 2  | 2          | foo
 | 
						|
(1 row)
 | 
						|
 | 
						|
EXPLAIN (VERBOSE, COSTS false)
 | 
						|
SELECT ctid, * FROM ft1 t1 LIMIT 1;
 | 
						|
                                     QUERY PLAN                                      
 | 
						|
-------------------------------------------------------------------------------------
 | 
						|
 Limit
 | 
						|
   Output: ctid, c1, c2, c3, c4, c5, c6, c7, c8
 | 
						|
   ->  Foreign Scan on public.ft1 t1
 | 
						|
         Output: ctid, c1, c2, c3, c4, c5, c6, c7, c8
 | 
						|
         Remote SQL: SELECT "C 1", c2, c3, c4, c5, c6, c7, c8, ctid FROM "S 1"."T 1"
 | 
						|
(5 rows)
 | 
						|
 | 
						|
SELECT ctid, * FROM ft1 t1 LIMIT 1;
 | 
						|
 ctid  | c1 | c2 |  c3   |              c4              |            c5            | c6 |     c7     | c8  
 | 
						|
-------+----+----+-------+------------------------------+--------------------------+----+------------+-----
 | 
						|
 (0,1) |  1 |  1 | 00001 | Fri Jan 02 00:00:00 1970 PST | Fri Jan 02 00:00:00 1970 | 1  | 1          | foo
 | 
						|
(1 row)
 | 
						|
 | 
						|
-- ===================================================================
 | 
						|
-- used in pl/pgsql function
 | 
						|
-- ===================================================================
 | 
						|
CREATE OR REPLACE FUNCTION f_test(p_c1 int) RETURNS int AS $$
 | 
						|
DECLARE
 | 
						|
	v_c1 int;
 | 
						|
BEGIN
 | 
						|
    SELECT c1 INTO v_c1 FROM ft1 WHERE c1 = p_c1 LIMIT 1;
 | 
						|
    PERFORM c1 FROM ft1 WHERE c1 = p_c1 AND p_c1 = v_c1 LIMIT 1;
 | 
						|
    RETURN v_c1;
 | 
						|
END;
 | 
						|
$$ LANGUAGE plpgsql;
 | 
						|
SELECT f_test(100);
 | 
						|
 f_test 
 | 
						|
--------
 | 
						|
    100
 | 
						|
(1 row)
 | 
						|
 | 
						|
DROP FUNCTION f_test(int);
 | 
						|
-- ===================================================================
 | 
						|
-- conversion error
 | 
						|
-- ===================================================================
 | 
						|
ALTER FOREIGN TABLE ft1 ALTER COLUMN c8 TYPE int;
 | 
						|
SELECT * FROM ft1 WHERE c1 = 1;  -- ERROR
 | 
						|
ERROR:  invalid input syntax for integer: "foo"
 | 
						|
CONTEXT:  column "c8" of foreign table "ft1"
 | 
						|
ALTER FOREIGN TABLE ft1 ALTER COLUMN c8 TYPE user_enum;
 | 
						|
-- ===================================================================
 | 
						|
-- subtransaction
 | 
						|
--  + local/remote error doesn't break cursor
 | 
						|
-- ===================================================================
 | 
						|
BEGIN;
 | 
						|
DECLARE c CURSOR FOR SELECT * FROM ft1 ORDER BY c1;
 | 
						|
FETCH c;
 | 
						|
 c1 | c2 |  c3   |              c4              |            c5            | c6 |     c7     | c8  
 | 
						|
----+----+-------+------------------------------+--------------------------+----+------------+-----
 | 
						|
  1 |  1 | 00001 | Fri Jan 02 00:00:00 1970 PST | Fri Jan 02 00:00:00 1970 | 1  | 1          | foo
 | 
						|
(1 row)
 | 
						|
 | 
						|
SAVEPOINT s;
 | 
						|
ERROR OUT;          -- ERROR
 | 
						|
ERROR:  syntax error at or near "ERROR"
 | 
						|
LINE 1: ERROR OUT;
 | 
						|
        ^
 | 
						|
ROLLBACK TO s;
 | 
						|
FETCH c;
 | 
						|
 c1 | c2 |  c3   |              c4              |            c5            | c6 |     c7     | c8  
 | 
						|
----+----+-------+------------------------------+--------------------------+----+------------+-----
 | 
						|
  2 |  2 | 00002 | Sat Jan 03 00:00:00 1970 PST | Sat Jan 03 00:00:00 1970 | 2  | 2          | foo
 | 
						|
(1 row)
 | 
						|
 | 
						|
SAVEPOINT s;
 | 
						|
SELECT * FROM ft1 WHERE 1 / (c1 - 1) > 0;  -- ERROR
 | 
						|
ERROR:  division by zero
 | 
						|
CONTEXT:  Remote SQL command: SELECT "C 1", c2, c3, c4, c5, c6, c7, c8 FROM "S 1"."T 1" WHERE (((1 / ("C 1" - 1)) > 0))
 | 
						|
ROLLBACK TO s;
 | 
						|
FETCH c;
 | 
						|
 c1 | c2 |  c3   |              c4              |            c5            | c6 |     c7     | c8  
 | 
						|
----+----+-------+------------------------------+--------------------------+----+------------+-----
 | 
						|
  3 |  3 | 00003 | Sun Jan 04 00:00:00 1970 PST | Sun Jan 04 00:00:00 1970 | 3  | 3          | foo
 | 
						|
(1 row)
 | 
						|
 | 
						|
SELECT * FROM ft1 ORDER BY c1 LIMIT 1;
 | 
						|
 c1 | c2 |  c3   |              c4              |            c5            | c6 |     c7     | c8  
 | 
						|
----+----+-------+------------------------------+--------------------------+----+------------+-----
 | 
						|
  1 |  1 | 00001 | Fri Jan 02 00:00:00 1970 PST | Fri Jan 02 00:00:00 1970 | 1  | 1          | foo
 | 
						|
(1 row)
 | 
						|
 | 
						|
COMMIT;
 | 
						|
-- ===================================================================
 | 
						|
-- test handling of collations
 | 
						|
-- ===================================================================
 | 
						|
create table loct3 (f1 text collate "C", f2 text);
 | 
						|
create foreign table ft3 (f1 text collate "C", f2 text)
 | 
						|
  server loopback options (table_name 'loct3');
 | 
						|
-- can be sent to remote
 | 
						|
explain (verbose, costs off) select * from ft3 where f1 = 'foo';
 | 
						|
                                QUERY PLAN                                
 | 
						|
--------------------------------------------------------------------------
 | 
						|
 Foreign Scan on public.ft3
 | 
						|
   Output: f1, f2
 | 
						|
   Remote SQL: SELECT f1, f2 FROM public.loct3 WHERE ((f1 = 'foo'::text))
 | 
						|
(3 rows)
 | 
						|
 | 
						|
explain (verbose, costs off) select * from ft3 where f1 COLLATE "C" = 'foo';
 | 
						|
                                QUERY PLAN                                
 | 
						|
--------------------------------------------------------------------------
 | 
						|
 Foreign Scan on public.ft3
 | 
						|
   Output: f1, f2
 | 
						|
   Remote SQL: SELECT f1, f2 FROM public.loct3 WHERE ((f1 = 'foo'::text))
 | 
						|
(3 rows)
 | 
						|
 | 
						|
explain (verbose, costs off) select * from ft3 where f2 = 'foo';
 | 
						|
                                QUERY PLAN                                
 | 
						|
--------------------------------------------------------------------------
 | 
						|
 Foreign Scan on public.ft3
 | 
						|
   Output: f1, f2
 | 
						|
   Remote SQL: SELECT f1, f2 FROM public.loct3 WHERE ((f2 = 'foo'::text))
 | 
						|
(3 rows)
 | 
						|
 | 
						|
-- can't be sent to remote
 | 
						|
explain (verbose, costs off) select * from ft3 where f1 COLLATE "POSIX" = 'foo';
 | 
						|
                  QUERY PLAN                   
 | 
						|
-----------------------------------------------
 | 
						|
 Foreign Scan on public.ft3
 | 
						|
   Output: f1, f2
 | 
						|
   Filter: ((ft3.f1)::text = 'foo'::text)
 | 
						|
   Remote SQL: SELECT f1, f2 FROM public.loct3
 | 
						|
(4 rows)
 | 
						|
 | 
						|
explain (verbose, costs off) select * from ft3 where f1 = 'foo' COLLATE "C";
 | 
						|
                  QUERY PLAN                   
 | 
						|
-----------------------------------------------
 | 
						|
 Foreign Scan on public.ft3
 | 
						|
   Output: f1, f2
 | 
						|
   Filter: (ft3.f1 = 'foo'::text COLLATE "C")
 | 
						|
   Remote SQL: SELECT f1, f2 FROM public.loct3
 | 
						|
(4 rows)
 | 
						|
 | 
						|
explain (verbose, costs off) select * from ft3 where f2 COLLATE "C" = 'foo';
 | 
						|
                  QUERY PLAN                   
 | 
						|
-----------------------------------------------
 | 
						|
 Foreign Scan on public.ft3
 | 
						|
   Output: f1, f2
 | 
						|
   Filter: ((ft3.f2)::text = 'foo'::text)
 | 
						|
   Remote SQL: SELECT f1, f2 FROM public.loct3
 | 
						|
(4 rows)
 | 
						|
 | 
						|
explain (verbose, costs off) select * from ft3 where f2 = 'foo' COLLATE "C";
 | 
						|
                  QUERY PLAN                   
 | 
						|
-----------------------------------------------
 | 
						|
 Foreign Scan on public.ft3
 | 
						|
   Output: f1, f2
 | 
						|
   Filter: (ft3.f2 = 'foo'::text COLLATE "C")
 | 
						|
   Remote SQL: SELECT f1, f2 FROM public.loct3
 | 
						|
(4 rows)
 | 
						|
 | 
						|
-- ===================================================================
 | 
						|
-- test writable foreign table stuff
 | 
						|
-- ===================================================================
 | 
						|
EXPLAIN (verbose, costs off)
 | 
						|
INSERT INTO ft2 (c1,c2,c3) SELECT c1+1000,c2+100, c3 || c3 FROM ft2 LIMIT 20;
 | 
						|
                                                                                                                    QUERY PLAN                                                                                                                    
 | 
						|
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
						|
 Insert on public.ft2
 | 
						|
   Remote SQL: INSERT INTO "S 1"."T 1"("C 1", c2, c3, c4, c5, c6, c7, c8) VALUES ($1, $2, $3, $4, $5, $6, $7, $8)
 | 
						|
   ->  Subquery Scan on "*SELECT*"
 | 
						|
         Output: "*SELECT*"."?column?", "*SELECT*"."?column?_1", NULL::integer, "*SELECT*"."?column?_2", NULL::timestamp with time zone, NULL::timestamp without time zone, NULL::character varying, 'ft2       '::character(10), NULL::user_enum
 | 
						|
         ->  Limit
 | 
						|
               Output: ((ft2_1.c1 + 1000)), ((ft2_1.c2 + 100)), ((ft2_1.c3 || ft2_1.c3))
 | 
						|
               ->  Foreign Scan on public.ft2 ft2_1
 | 
						|
                     Output: (ft2_1.c1 + 1000), (ft2_1.c2 + 100), (ft2_1.c3 || ft2_1.c3)
 | 
						|
                     Remote SQL: SELECT "C 1", c2, c3 FROM "S 1"."T 1"
 | 
						|
(9 rows)
 | 
						|
 | 
						|
INSERT INTO ft2 (c1,c2,c3) SELECT c1+1000,c2+100, c3 || c3 FROM ft2 LIMIT 20;
 | 
						|
INSERT INTO ft2 (c1,c2,c3)
 | 
						|
  VALUES (1101,201,'aaa'), (1102,202,'bbb'), (1103,203,'ccc') RETURNING *;
 | 
						|
  c1  | c2  | c3  | c4 | c5 | c6 |     c7     | c8 
 | 
						|
------+-----+-----+----+----+----+------------+----
 | 
						|
 1101 | 201 | aaa |    |    |    | ft2        | 
 | 
						|
 1102 | 202 | bbb |    |    |    | ft2        | 
 | 
						|
 1103 | 203 | ccc |    |    |    | ft2        | 
 | 
						|
(3 rows)
 | 
						|
 | 
						|
INSERT INTO ft2 (c1,c2,c3) VALUES (1104,204,'ddd'), (1105,205,'eee');
 | 
						|
UPDATE ft2 SET c2 = c2 + 300, c3 = c3 || '_update3' WHERE c1 % 10 = 3;
 | 
						|
UPDATE ft2 SET c2 = c2 + 400, c3 = c3 || '_update7' WHERE c1 % 10 = 7 RETURNING *;
 | 
						|
  c1  | c2  |         c3         |              c4              |            c5            | c6 |     c7     | c8  
 | 
						|
------+-----+--------------------+------------------------------+--------------------------+----+------------+-----
 | 
						|
    7 | 407 | 00007_update7      | Thu Jan 08 00:00:00 1970 PST | Thu Jan 08 00:00:00 1970 | 7  | 7          | foo
 | 
						|
   17 | 407 | 00017_update7      | Sun Jan 18 00:00:00 1970 PST | Sun Jan 18 00:00:00 1970 | 7  | 7          | foo
 | 
						|
   27 | 407 | 00027_update7      | Wed Jan 28 00:00:00 1970 PST | Wed Jan 28 00:00:00 1970 | 7  | 7          | foo
 | 
						|
   37 | 407 | 00037_update7      | Sat Feb 07 00:00:00 1970 PST | Sat Feb 07 00:00:00 1970 | 7  | 7          | foo
 | 
						|
   47 | 407 | 00047_update7      | Tue Feb 17 00:00:00 1970 PST | Tue Feb 17 00:00:00 1970 | 7  | 7          | foo
 | 
						|
   57 | 407 | 00057_update7      | Fri Feb 27 00:00:00 1970 PST | Fri Feb 27 00:00:00 1970 | 7  | 7          | foo
 | 
						|
   67 | 407 | 00067_update7      | Mon Mar 09 00:00:00 1970 PST | Mon Mar 09 00:00:00 1970 | 7  | 7          | foo
 | 
						|
   77 | 407 | 00077_update7      | Thu Mar 19 00:00:00 1970 PST | Thu Mar 19 00:00:00 1970 | 7  | 7          | foo
 | 
						|
   87 | 407 | 00087_update7      | Sun Mar 29 00:00:00 1970 PST | Sun Mar 29 00:00:00 1970 | 7  | 7          | foo
 | 
						|
   97 | 407 | 00097_update7      | Wed Apr 08 00:00:00 1970 PST | Wed Apr 08 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  107 | 407 | 00107_update7      | Thu Jan 08 00:00:00 1970 PST | Thu Jan 08 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  117 | 407 | 00117_update7      | Sun Jan 18 00:00:00 1970 PST | Sun Jan 18 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  127 | 407 | 00127_update7      | Wed Jan 28 00:00:00 1970 PST | Wed Jan 28 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  137 | 407 | 00137_update7      | Sat Feb 07 00:00:00 1970 PST | Sat Feb 07 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  147 | 407 | 00147_update7      | Tue Feb 17 00:00:00 1970 PST | Tue Feb 17 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  157 | 407 | 00157_update7      | Fri Feb 27 00:00:00 1970 PST | Fri Feb 27 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  167 | 407 | 00167_update7      | Mon Mar 09 00:00:00 1970 PST | Mon Mar 09 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  177 | 407 | 00177_update7      | Thu Mar 19 00:00:00 1970 PST | Thu Mar 19 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  187 | 407 | 00187_update7      | Sun Mar 29 00:00:00 1970 PST | Sun Mar 29 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  197 | 407 | 00197_update7      | Wed Apr 08 00:00:00 1970 PST | Wed Apr 08 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  207 | 407 | 00207_update7      | Thu Jan 08 00:00:00 1970 PST | Thu Jan 08 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  217 | 407 | 00217_update7      | Sun Jan 18 00:00:00 1970 PST | Sun Jan 18 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  227 | 407 | 00227_update7      | Wed Jan 28 00:00:00 1970 PST | Wed Jan 28 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  237 | 407 | 00237_update7      | Sat Feb 07 00:00:00 1970 PST | Sat Feb 07 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  247 | 407 | 00247_update7      | Tue Feb 17 00:00:00 1970 PST | Tue Feb 17 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  257 | 407 | 00257_update7      | Fri Feb 27 00:00:00 1970 PST | Fri Feb 27 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  267 | 407 | 00267_update7      | Mon Mar 09 00:00:00 1970 PST | Mon Mar 09 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  277 | 407 | 00277_update7      | Thu Mar 19 00:00:00 1970 PST | Thu Mar 19 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  287 | 407 | 00287_update7      | Sun Mar 29 00:00:00 1970 PST | Sun Mar 29 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  297 | 407 | 00297_update7      | Wed Apr 08 00:00:00 1970 PST | Wed Apr 08 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  307 | 407 | 00307_update7      | Thu Jan 08 00:00:00 1970 PST | Thu Jan 08 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  317 | 407 | 00317_update7      | Sun Jan 18 00:00:00 1970 PST | Sun Jan 18 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  327 | 407 | 00327_update7      | Wed Jan 28 00:00:00 1970 PST | Wed Jan 28 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  337 | 407 | 00337_update7      | Sat Feb 07 00:00:00 1970 PST | Sat Feb 07 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  347 | 407 | 00347_update7      | Tue Feb 17 00:00:00 1970 PST | Tue Feb 17 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  357 | 407 | 00357_update7      | Fri Feb 27 00:00:00 1970 PST | Fri Feb 27 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  367 | 407 | 00367_update7      | Mon Mar 09 00:00:00 1970 PST | Mon Mar 09 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  377 | 407 | 00377_update7      | Thu Mar 19 00:00:00 1970 PST | Thu Mar 19 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  387 | 407 | 00387_update7      | Sun Mar 29 00:00:00 1970 PST | Sun Mar 29 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  397 | 407 | 00397_update7      | Wed Apr 08 00:00:00 1970 PST | Wed Apr 08 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  407 | 407 | 00407_update7      | Thu Jan 08 00:00:00 1970 PST | Thu Jan 08 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  417 | 407 | 00417_update7      | Sun Jan 18 00:00:00 1970 PST | Sun Jan 18 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  427 | 407 | 00427_update7      | Wed Jan 28 00:00:00 1970 PST | Wed Jan 28 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  437 | 407 | 00437_update7      | Sat Feb 07 00:00:00 1970 PST | Sat Feb 07 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  447 | 407 | 00447_update7      | Tue Feb 17 00:00:00 1970 PST | Tue Feb 17 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  457 | 407 | 00457_update7      | Fri Feb 27 00:00:00 1970 PST | Fri Feb 27 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  467 | 407 | 00467_update7      | Mon Mar 09 00:00:00 1970 PST | Mon Mar 09 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  477 | 407 | 00477_update7      | Thu Mar 19 00:00:00 1970 PST | Thu Mar 19 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  487 | 407 | 00487_update7      | Sun Mar 29 00:00:00 1970 PST | Sun Mar 29 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  497 | 407 | 00497_update7      | Wed Apr 08 00:00:00 1970 PST | Wed Apr 08 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  507 | 407 | 00507_update7      | Thu Jan 08 00:00:00 1970 PST | Thu Jan 08 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  517 | 407 | 00517_update7      | Sun Jan 18 00:00:00 1970 PST | Sun Jan 18 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  527 | 407 | 00527_update7      | Wed Jan 28 00:00:00 1970 PST | Wed Jan 28 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  537 | 407 | 00537_update7      | Sat Feb 07 00:00:00 1970 PST | Sat Feb 07 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  547 | 407 | 00547_update7      | Tue Feb 17 00:00:00 1970 PST | Tue Feb 17 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  557 | 407 | 00557_update7      | Fri Feb 27 00:00:00 1970 PST | Fri Feb 27 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  567 | 407 | 00567_update7      | Mon Mar 09 00:00:00 1970 PST | Mon Mar 09 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  577 | 407 | 00577_update7      | Thu Mar 19 00:00:00 1970 PST | Thu Mar 19 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  587 | 407 | 00587_update7      | Sun Mar 29 00:00:00 1970 PST | Sun Mar 29 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  597 | 407 | 00597_update7      | Wed Apr 08 00:00:00 1970 PST | Wed Apr 08 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  607 | 407 | 00607_update7      | Thu Jan 08 00:00:00 1970 PST | Thu Jan 08 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  617 | 407 | 00617_update7      | Sun Jan 18 00:00:00 1970 PST | Sun Jan 18 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  627 | 407 | 00627_update7      | Wed Jan 28 00:00:00 1970 PST | Wed Jan 28 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  637 | 407 | 00637_update7      | Sat Feb 07 00:00:00 1970 PST | Sat Feb 07 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  647 | 407 | 00647_update7      | Tue Feb 17 00:00:00 1970 PST | Tue Feb 17 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  657 | 407 | 00657_update7      | Fri Feb 27 00:00:00 1970 PST | Fri Feb 27 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  667 | 407 | 00667_update7      | Mon Mar 09 00:00:00 1970 PST | Mon Mar 09 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  677 | 407 | 00677_update7      | Thu Mar 19 00:00:00 1970 PST | Thu Mar 19 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  687 | 407 | 00687_update7      | Sun Mar 29 00:00:00 1970 PST | Sun Mar 29 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  697 | 407 | 00697_update7      | Wed Apr 08 00:00:00 1970 PST | Wed Apr 08 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  707 | 407 | 00707_update7      | Thu Jan 08 00:00:00 1970 PST | Thu Jan 08 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  717 | 407 | 00717_update7      | Sun Jan 18 00:00:00 1970 PST | Sun Jan 18 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  727 | 407 | 00727_update7      | Wed Jan 28 00:00:00 1970 PST | Wed Jan 28 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  737 | 407 | 00737_update7      | Sat Feb 07 00:00:00 1970 PST | Sat Feb 07 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  747 | 407 | 00747_update7      | Tue Feb 17 00:00:00 1970 PST | Tue Feb 17 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  757 | 407 | 00757_update7      | Fri Feb 27 00:00:00 1970 PST | Fri Feb 27 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  767 | 407 | 00767_update7      | Mon Mar 09 00:00:00 1970 PST | Mon Mar 09 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  777 | 407 | 00777_update7      | Thu Mar 19 00:00:00 1970 PST | Thu Mar 19 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  787 | 407 | 00787_update7      | Sun Mar 29 00:00:00 1970 PST | Sun Mar 29 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  797 | 407 | 00797_update7      | Wed Apr 08 00:00:00 1970 PST | Wed Apr 08 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  807 | 407 | 00807_update7      | Thu Jan 08 00:00:00 1970 PST | Thu Jan 08 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  817 | 407 | 00817_update7      | Sun Jan 18 00:00:00 1970 PST | Sun Jan 18 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  827 | 407 | 00827_update7      | Wed Jan 28 00:00:00 1970 PST | Wed Jan 28 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  837 | 407 | 00837_update7      | Sat Feb 07 00:00:00 1970 PST | Sat Feb 07 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  847 | 407 | 00847_update7      | Tue Feb 17 00:00:00 1970 PST | Tue Feb 17 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  857 | 407 | 00857_update7      | Fri Feb 27 00:00:00 1970 PST | Fri Feb 27 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  867 | 407 | 00867_update7      | Mon Mar 09 00:00:00 1970 PST | Mon Mar 09 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  877 | 407 | 00877_update7      | Thu Mar 19 00:00:00 1970 PST | Thu Mar 19 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  887 | 407 | 00887_update7      | Sun Mar 29 00:00:00 1970 PST | Sun Mar 29 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  897 | 407 | 00897_update7      | Wed Apr 08 00:00:00 1970 PST | Wed Apr 08 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  907 | 407 | 00907_update7      | Thu Jan 08 00:00:00 1970 PST | Thu Jan 08 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  917 | 407 | 00917_update7      | Sun Jan 18 00:00:00 1970 PST | Sun Jan 18 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  927 | 407 | 00927_update7      | Wed Jan 28 00:00:00 1970 PST | Wed Jan 28 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  937 | 407 | 00937_update7      | Sat Feb 07 00:00:00 1970 PST | Sat Feb 07 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  947 | 407 | 00947_update7      | Tue Feb 17 00:00:00 1970 PST | Tue Feb 17 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  957 | 407 | 00957_update7      | Fri Feb 27 00:00:00 1970 PST | Fri Feb 27 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  967 | 407 | 00967_update7      | Mon Mar 09 00:00:00 1970 PST | Mon Mar 09 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  977 | 407 | 00977_update7      | Thu Mar 19 00:00:00 1970 PST | Thu Mar 19 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  987 | 407 | 00987_update7      | Sun Mar 29 00:00:00 1970 PST | Sun Mar 29 00:00:00 1970 | 7  | 7          | foo
 | 
						|
  997 | 407 | 00997_update7      | Wed Apr 08 00:00:00 1970 PST | Wed Apr 08 00:00:00 1970 | 7  | 7          | foo
 | 
						|
 1007 | 507 | 0000700007_update7 |                              |                          |    | ft2        | 
 | 
						|
 1017 | 507 | 0001700017_update7 |                              |                          |    | ft2        | 
 | 
						|
(102 rows)
 | 
						|
 | 
						|
EXPLAIN (verbose, costs off)
 | 
						|
UPDATE ft2 SET c2 = ft2.c2 + 500, c3 = ft2.c3 || '_update9', c7 = DEFAULT
 | 
						|
  FROM ft1 WHERE ft1.c1 = ft2.c2 AND ft1.c1 % 10 = 9;
 | 
						|
                                                                            QUERY PLAN                                                                             
 | 
						|
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
 | 
						|
 Update on public.ft2
 | 
						|
   Remote SQL: UPDATE "S 1"."T 1" SET c2 = $2, c3 = $3, c7 = $4 WHERE ctid = $1
 | 
						|
   ->  Hash Join
 | 
						|
         Output: ft2.c1, (ft2.c2 + 500), NULL::integer, (ft2.c3 || '_update9'::text), ft2.c4, ft2.c5, ft2.c6, 'ft2       '::character(10), ft2.c8, ft2.ctid, ft1.*
 | 
						|
         Hash Cond: (ft2.c2 = ft1.c1)
 | 
						|
         ->  Foreign Scan on public.ft2
 | 
						|
               Output: ft2.c1, ft2.c2, ft2.c3, ft2.c4, ft2.c5, ft2.c6, ft2.c8, ft2.ctid
 | 
						|
               Remote SQL: SELECT "C 1", c2, c3, c4, c5, c6, c8, ctid FROM "S 1"."T 1" FOR UPDATE
 | 
						|
         ->  Hash
 | 
						|
               Output: ft1.*, ft1.c1
 | 
						|
               ->  Foreign Scan on public.ft1
 | 
						|
                     Output: ft1.*, ft1.c1
 | 
						|
                     Remote SQL: SELECT "C 1", c2, c3, c4, c5, c6, c7, c8 FROM "S 1"."T 1" WHERE ((("C 1" % 10) = 9))
 | 
						|
(13 rows)
 | 
						|
 | 
						|
UPDATE ft2 SET c2 = ft2.c2 + 500, c3 = ft2.c3 || '_update9', c7 = DEFAULT
 | 
						|
  FROM ft1 WHERE ft1.c1 = ft2.c2 AND ft1.c1 % 10 = 9;
 | 
						|
EXPLAIN (verbose, costs off)
 | 
						|
  DELETE FROM ft2 WHERE c1 % 10 = 5 RETURNING c1, c4;
 | 
						|
                                       QUERY PLAN                                       
 | 
						|
----------------------------------------------------------------------------------------
 | 
						|
 Delete on public.ft2
 | 
						|
   Output: c1, c4
 | 
						|
   Remote SQL: DELETE FROM "S 1"."T 1" WHERE ctid = $1 RETURNING "C 1", c4
 | 
						|
   ->  Foreign Scan on public.ft2
 | 
						|
         Output: ctid
 | 
						|
         Remote SQL: SELECT ctid FROM "S 1"."T 1" WHERE ((("C 1" % 10) = 5)) FOR UPDATE
 | 
						|
(6 rows)
 | 
						|
 | 
						|
DELETE FROM ft2 WHERE c1 % 10 = 5 RETURNING c1, c4;
 | 
						|
  c1  |              c4              
 | 
						|
------+------------------------------
 | 
						|
    5 | Tue Jan 06 00:00:00 1970 PST
 | 
						|
   15 | Fri Jan 16 00:00:00 1970 PST
 | 
						|
   25 | Mon Jan 26 00:00:00 1970 PST
 | 
						|
   35 | Thu Feb 05 00:00:00 1970 PST
 | 
						|
   45 | Sun Feb 15 00:00:00 1970 PST
 | 
						|
   55 | Wed Feb 25 00:00:00 1970 PST
 | 
						|
   65 | Sat Mar 07 00:00:00 1970 PST
 | 
						|
   75 | Tue Mar 17 00:00:00 1970 PST
 | 
						|
   85 | Fri Mar 27 00:00:00 1970 PST
 | 
						|
   95 | Mon Apr 06 00:00:00 1970 PST
 | 
						|
  105 | Tue Jan 06 00:00:00 1970 PST
 | 
						|
  115 | Fri Jan 16 00:00:00 1970 PST
 | 
						|
  125 | Mon Jan 26 00:00:00 1970 PST
 | 
						|
  135 | Thu Feb 05 00:00:00 1970 PST
 | 
						|
  145 | Sun Feb 15 00:00:00 1970 PST
 | 
						|
  155 | Wed Feb 25 00:00:00 1970 PST
 | 
						|
  165 | Sat Mar 07 00:00:00 1970 PST
 | 
						|
  175 | Tue Mar 17 00:00:00 1970 PST
 | 
						|
  185 | Fri Mar 27 00:00:00 1970 PST
 | 
						|
  195 | Mon Apr 06 00:00:00 1970 PST
 | 
						|
  205 | Tue Jan 06 00:00:00 1970 PST
 | 
						|
  215 | Fri Jan 16 00:00:00 1970 PST
 | 
						|
  225 | Mon Jan 26 00:00:00 1970 PST
 | 
						|
  235 | Thu Feb 05 00:00:00 1970 PST
 | 
						|
  245 | Sun Feb 15 00:00:00 1970 PST
 | 
						|
  255 | Wed Feb 25 00:00:00 1970 PST
 | 
						|
  265 | Sat Mar 07 00:00:00 1970 PST
 | 
						|
  275 | Tue Mar 17 00:00:00 1970 PST
 | 
						|
  285 | Fri Mar 27 00:00:00 1970 PST
 | 
						|
  295 | Mon Apr 06 00:00:00 1970 PST
 | 
						|
  305 | Tue Jan 06 00:00:00 1970 PST
 | 
						|
  315 | Fri Jan 16 00:00:00 1970 PST
 | 
						|
  325 | Mon Jan 26 00:00:00 1970 PST
 | 
						|
  335 | Thu Feb 05 00:00:00 1970 PST
 | 
						|
  345 | Sun Feb 15 00:00:00 1970 PST
 | 
						|
  355 | Wed Feb 25 00:00:00 1970 PST
 | 
						|
  365 | Sat Mar 07 00:00:00 1970 PST
 | 
						|
  375 | Tue Mar 17 00:00:00 1970 PST
 | 
						|
  385 | Fri Mar 27 00:00:00 1970 PST
 | 
						|
  395 | Mon Apr 06 00:00:00 1970 PST
 | 
						|
  405 | Tue Jan 06 00:00:00 1970 PST
 | 
						|
  415 | Fri Jan 16 00:00:00 1970 PST
 | 
						|
  425 | Mon Jan 26 00:00:00 1970 PST
 | 
						|
  435 | Thu Feb 05 00:00:00 1970 PST
 | 
						|
  445 | Sun Feb 15 00:00:00 1970 PST
 | 
						|
  455 | Wed Feb 25 00:00:00 1970 PST
 | 
						|
  465 | Sat Mar 07 00:00:00 1970 PST
 | 
						|
  475 | Tue Mar 17 00:00:00 1970 PST
 | 
						|
  485 | Fri Mar 27 00:00:00 1970 PST
 | 
						|
  495 | Mon Apr 06 00:00:00 1970 PST
 | 
						|
  505 | Tue Jan 06 00:00:00 1970 PST
 | 
						|
  515 | Fri Jan 16 00:00:00 1970 PST
 | 
						|
  525 | Mon Jan 26 00:00:00 1970 PST
 | 
						|
  535 | Thu Feb 05 00:00:00 1970 PST
 | 
						|
  545 | Sun Feb 15 00:00:00 1970 PST
 | 
						|
  555 | Wed Feb 25 00:00:00 1970 PST
 | 
						|
  565 | Sat Mar 07 00:00:00 1970 PST
 | 
						|
  575 | Tue Mar 17 00:00:00 1970 PST
 | 
						|
  585 | Fri Mar 27 00:00:00 1970 PST
 | 
						|
  595 | Mon Apr 06 00:00:00 1970 PST
 | 
						|
  605 | Tue Jan 06 00:00:00 1970 PST
 | 
						|
  615 | Fri Jan 16 00:00:00 1970 PST
 | 
						|
  625 | Mon Jan 26 00:00:00 1970 PST
 | 
						|
  635 | Thu Feb 05 00:00:00 1970 PST
 | 
						|
  645 | Sun Feb 15 00:00:00 1970 PST
 | 
						|
  655 | Wed Feb 25 00:00:00 1970 PST
 | 
						|
  665 | Sat Mar 07 00:00:00 1970 PST
 | 
						|
  675 | Tue Mar 17 00:00:00 1970 PST
 | 
						|
  685 | Fri Mar 27 00:00:00 1970 PST
 | 
						|
  695 | Mon Apr 06 00:00:00 1970 PST
 | 
						|
  705 | Tue Jan 06 00:00:00 1970 PST
 | 
						|
  715 | Fri Jan 16 00:00:00 1970 PST
 | 
						|
  725 | Mon Jan 26 00:00:00 1970 PST
 | 
						|
  735 | Thu Feb 05 00:00:00 1970 PST
 | 
						|
  745 | Sun Feb 15 00:00:00 1970 PST
 | 
						|
  755 | Wed Feb 25 00:00:00 1970 PST
 | 
						|
  765 | Sat Mar 07 00:00:00 1970 PST
 | 
						|
  775 | Tue Mar 17 00:00:00 1970 PST
 | 
						|
  785 | Fri Mar 27 00:00:00 1970 PST
 | 
						|
  795 | Mon Apr 06 00:00:00 1970 PST
 | 
						|
  805 | Tue Jan 06 00:00:00 1970 PST
 | 
						|
  815 | Fri Jan 16 00:00:00 1970 PST
 | 
						|
  825 | Mon Jan 26 00:00:00 1970 PST
 | 
						|
  835 | Thu Feb 05 00:00:00 1970 PST
 | 
						|
  845 | Sun Feb 15 00:00:00 1970 PST
 | 
						|
  855 | Wed Feb 25 00:00:00 1970 PST
 | 
						|
  865 | Sat Mar 07 00:00:00 1970 PST
 | 
						|
  875 | Tue Mar 17 00:00:00 1970 PST
 | 
						|
  885 | Fri Mar 27 00:00:00 1970 PST
 | 
						|
  895 | Mon Apr 06 00:00:00 1970 PST
 | 
						|
  905 | Tue Jan 06 00:00:00 1970 PST
 | 
						|
  915 | Fri Jan 16 00:00:00 1970 PST
 | 
						|
  925 | Mon Jan 26 00:00:00 1970 PST
 | 
						|
  935 | Thu Feb 05 00:00:00 1970 PST
 | 
						|
  945 | Sun Feb 15 00:00:00 1970 PST
 | 
						|
  955 | Wed Feb 25 00:00:00 1970 PST
 | 
						|
  965 | Sat Mar 07 00:00:00 1970 PST
 | 
						|
  975 | Tue Mar 17 00:00:00 1970 PST
 | 
						|
  985 | Fri Mar 27 00:00:00 1970 PST
 | 
						|
  995 | Mon Apr 06 00:00:00 1970 PST
 | 
						|
 1005 | 
 | 
						|
 1015 | 
 | 
						|
 1105 | 
 | 
						|
(103 rows)
 | 
						|
 | 
						|
EXPLAIN (verbose, costs off)
 | 
						|
DELETE FROM ft2 USING ft1 WHERE ft1.c1 = ft2.c2 AND ft1.c1 % 10 = 2;
 | 
						|
                                                      QUERY PLAN                                                      
 | 
						|
----------------------------------------------------------------------------------------------------------------------
 | 
						|
 Delete on public.ft2
 | 
						|
   Remote SQL: DELETE FROM "S 1"."T 1" WHERE ctid = $1
 | 
						|
   ->  Hash Join
 | 
						|
         Output: ft2.ctid, ft1.*
 | 
						|
         Hash Cond: (ft2.c2 = ft1.c1)
 | 
						|
         ->  Foreign Scan on public.ft2
 | 
						|
               Output: ft2.ctid, ft2.c2
 | 
						|
               Remote SQL: SELECT c2, ctid FROM "S 1"."T 1" FOR UPDATE
 | 
						|
         ->  Hash
 | 
						|
               Output: ft1.*, ft1.c1
 | 
						|
               ->  Foreign Scan on public.ft1
 | 
						|
                     Output: ft1.*, ft1.c1
 | 
						|
                     Remote SQL: SELECT "C 1", c2, c3, c4, c5, c6, c7, c8 FROM "S 1"."T 1" WHERE ((("C 1" % 10) = 2))
 | 
						|
(13 rows)
 | 
						|
 | 
						|
DELETE FROM ft2 USING ft1 WHERE ft1.c1 = ft2.c2 AND ft1.c1 % 10 = 2;
 | 
						|
SELECT c1,c2,c3,c4 FROM ft2 ORDER BY c1;
 | 
						|
  c1  | c2  |         c3         |              c4              
 | 
						|
------+-----+--------------------+------------------------------
 | 
						|
    1 |   1 | 00001              | Fri Jan 02 00:00:00 1970 PST
 | 
						|
    3 | 303 | 00003_update3      | Sun Jan 04 00:00:00 1970 PST
 | 
						|
    4 |   4 | 00004              | Mon Jan 05 00:00:00 1970 PST
 | 
						|
    6 |   6 | 00006              | Wed Jan 07 00:00:00 1970 PST
 | 
						|
    7 | 407 | 00007_update7      | Thu Jan 08 00:00:00 1970 PST
 | 
						|
    8 |   8 | 00008              | Fri Jan 09 00:00:00 1970 PST
 | 
						|
    9 | 509 | 00009_update9      | Sat Jan 10 00:00:00 1970 PST
 | 
						|
   10 |   0 | 00010              | Sun Jan 11 00:00:00 1970 PST
 | 
						|
   11 |   1 | 00011              | Mon Jan 12 00:00:00 1970 PST
 | 
						|
   13 | 303 | 00013_update3      | Wed Jan 14 00:00:00 1970 PST
 | 
						|
   14 |   4 | 00014              | Thu Jan 15 00:00:00 1970 PST
 | 
						|
   16 |   6 | 00016              | Sat Jan 17 00:00:00 1970 PST
 | 
						|
   17 | 407 | 00017_update7      | Sun Jan 18 00:00:00 1970 PST
 | 
						|
   18 |   8 | 00018              | Mon Jan 19 00:00:00 1970 PST
 | 
						|
   19 | 509 | 00019_update9      | Tue Jan 20 00:00:00 1970 PST
 | 
						|
   20 |   0 | 00020              | Wed Jan 21 00:00:00 1970 PST
 | 
						|
   21 |   1 | 00021              | Thu Jan 22 00:00:00 1970 PST
 | 
						|
   23 | 303 | 00023_update3      | Sat Jan 24 00:00:00 1970 PST
 | 
						|
   24 |   4 | 00024              | Sun Jan 25 00:00:00 1970 PST
 | 
						|
   26 |   6 | 00026              | Tue Jan 27 00:00:00 1970 PST
 | 
						|
   27 | 407 | 00027_update7      | Wed Jan 28 00:00:00 1970 PST
 | 
						|
   28 |   8 | 00028              | Thu Jan 29 00:00:00 1970 PST
 | 
						|
   29 | 509 | 00029_update9      | Fri Jan 30 00:00:00 1970 PST
 | 
						|
   30 |   0 | 00030              | Sat Jan 31 00:00:00 1970 PST
 | 
						|
   31 |   1 | 00031              | Sun Feb 01 00:00:00 1970 PST
 | 
						|
   33 | 303 | 00033_update3      | Tue Feb 03 00:00:00 1970 PST
 | 
						|
   34 |   4 | 00034              | Wed Feb 04 00:00:00 1970 PST
 | 
						|
   36 |   6 | 00036              | Fri Feb 06 00:00:00 1970 PST
 | 
						|
   37 | 407 | 00037_update7      | Sat Feb 07 00:00:00 1970 PST
 | 
						|
   38 |   8 | 00038              | Sun Feb 08 00:00:00 1970 PST
 | 
						|
   39 | 509 | 00039_update9      | Mon Feb 09 00:00:00 1970 PST
 | 
						|
   40 |   0 | 00040              | Tue Feb 10 00:00:00 1970 PST
 | 
						|
   41 |   1 | 00041              | Wed Feb 11 00:00:00 1970 PST
 | 
						|
   43 | 303 | 00043_update3      | Fri Feb 13 00:00:00 1970 PST
 | 
						|
   44 |   4 | 00044              | Sat Feb 14 00:00:00 1970 PST
 | 
						|
   46 |   6 | 00046              | Mon Feb 16 00:00:00 1970 PST
 | 
						|
   47 | 407 | 00047_update7      | Tue Feb 17 00:00:00 1970 PST
 | 
						|
   48 |   8 | 00048              | Wed Feb 18 00:00:00 1970 PST
 | 
						|
   49 | 509 | 00049_update9      | Thu Feb 19 00:00:00 1970 PST
 | 
						|
   50 |   0 | 00050              | Fri Feb 20 00:00:00 1970 PST
 | 
						|
   51 |   1 | 00051              | Sat Feb 21 00:00:00 1970 PST
 | 
						|
   53 | 303 | 00053_update3      | Mon Feb 23 00:00:00 1970 PST
 | 
						|
   54 |   4 | 00054              | Tue Feb 24 00:00:00 1970 PST
 | 
						|
   56 |   6 | 00056              | Thu Feb 26 00:00:00 1970 PST
 | 
						|
   57 | 407 | 00057_update7      | Fri Feb 27 00:00:00 1970 PST
 | 
						|
   58 |   8 | 00058              | Sat Feb 28 00:00:00 1970 PST
 | 
						|
   59 | 509 | 00059_update9      | Sun Mar 01 00:00:00 1970 PST
 | 
						|
   60 |   0 | 00060              | Mon Mar 02 00:00:00 1970 PST
 | 
						|
   61 |   1 | 00061              | Tue Mar 03 00:00:00 1970 PST
 | 
						|
   63 | 303 | 00063_update3      | Thu Mar 05 00:00:00 1970 PST
 | 
						|
   64 |   4 | 00064              | Fri Mar 06 00:00:00 1970 PST
 | 
						|
   66 |   6 | 00066              | Sun Mar 08 00:00:00 1970 PST
 | 
						|
   67 | 407 | 00067_update7      | Mon Mar 09 00:00:00 1970 PST
 | 
						|
   68 |   8 | 00068              | Tue Mar 10 00:00:00 1970 PST
 | 
						|
   69 | 509 | 00069_update9      | Wed Mar 11 00:00:00 1970 PST
 | 
						|
   70 |   0 | 00070              | Thu Mar 12 00:00:00 1970 PST
 | 
						|
   71 |   1 | 00071              | Fri Mar 13 00:00:00 1970 PST
 | 
						|
   73 | 303 | 00073_update3      | Sun Mar 15 00:00:00 1970 PST
 | 
						|
   74 |   4 | 00074              | Mon Mar 16 00:00:00 1970 PST
 | 
						|
   76 |   6 | 00076              | Wed Mar 18 00:00:00 1970 PST
 | 
						|
   77 | 407 | 00077_update7      | Thu Mar 19 00:00:00 1970 PST
 | 
						|
   78 |   8 | 00078              | Fri Mar 20 00:00:00 1970 PST
 | 
						|
   79 | 509 | 00079_update9      | Sat Mar 21 00:00:00 1970 PST
 | 
						|
   80 |   0 | 00080              | Sun Mar 22 00:00:00 1970 PST
 | 
						|
   81 |   1 | 00081              | Mon Mar 23 00:00:00 1970 PST
 | 
						|
   83 | 303 | 00083_update3      | Wed Mar 25 00:00:00 1970 PST
 | 
						|
   84 |   4 | 00084              | Thu Mar 26 00:00:00 1970 PST
 | 
						|
   86 |   6 | 00086              | Sat Mar 28 00:00:00 1970 PST
 | 
						|
   87 | 407 | 00087_update7      | Sun Mar 29 00:00:00 1970 PST
 | 
						|
   88 |   8 | 00088              | Mon Mar 30 00:00:00 1970 PST
 | 
						|
   89 | 509 | 00089_update9      | Tue Mar 31 00:00:00 1970 PST
 | 
						|
   90 |   0 | 00090              | Wed Apr 01 00:00:00 1970 PST
 | 
						|
   91 |   1 | 00091              | Thu Apr 02 00:00:00 1970 PST
 | 
						|
   93 | 303 | 00093_update3      | Sat Apr 04 00:00:00 1970 PST
 | 
						|
   94 |   4 | 00094              | Sun Apr 05 00:00:00 1970 PST
 | 
						|
   96 |   6 | 00096              | Tue Apr 07 00:00:00 1970 PST
 | 
						|
   97 | 407 | 00097_update7      | Wed Apr 08 00:00:00 1970 PST
 | 
						|
   98 |   8 | 00098              | Thu Apr 09 00:00:00 1970 PST
 | 
						|
   99 | 509 | 00099_update9      | Fri Apr 10 00:00:00 1970 PST
 | 
						|
  100 |   0 | 00100              | Thu Jan 01 00:00:00 1970 PST
 | 
						|
  101 |   1 | 00101              | Fri Jan 02 00:00:00 1970 PST
 | 
						|
  103 | 303 | 00103_update3      | Sun Jan 04 00:00:00 1970 PST
 | 
						|
  104 |   4 | 00104              | Mon Jan 05 00:00:00 1970 PST
 | 
						|
  106 |   6 | 00106              | Wed Jan 07 00:00:00 1970 PST
 | 
						|
  107 | 407 | 00107_update7      | Thu Jan 08 00:00:00 1970 PST
 | 
						|
  108 |   8 | 00108              | Fri Jan 09 00:00:00 1970 PST
 | 
						|
  109 | 509 | 00109_update9      | Sat Jan 10 00:00:00 1970 PST
 | 
						|
  110 |   0 | 00110              | Sun Jan 11 00:00:00 1970 PST
 | 
						|
  111 |   1 | 00111              | Mon Jan 12 00:00:00 1970 PST
 | 
						|
  113 | 303 | 00113_update3      | Wed Jan 14 00:00:00 1970 PST
 | 
						|
  114 |   4 | 00114              | Thu Jan 15 00:00:00 1970 PST
 | 
						|
  116 |   6 | 00116              | Sat Jan 17 00:00:00 1970 PST
 | 
						|
  117 | 407 | 00117_update7      | Sun Jan 18 00:00:00 1970 PST
 | 
						|
  118 |   8 | 00118              | Mon Jan 19 00:00:00 1970 PST
 | 
						|
  119 | 509 | 00119_update9      | Tue Jan 20 00:00:00 1970 PST
 | 
						|
  120 |   0 | 00120              | Wed Jan 21 00:00:00 1970 PST
 | 
						|
  121 |   1 | 00121              | Thu Jan 22 00:00:00 1970 PST
 | 
						|
  123 | 303 | 00123_update3      | Sat Jan 24 00:00:00 1970 PST
 | 
						|
  124 |   4 | 00124              | Sun Jan 25 00:00:00 1970 PST
 | 
						|
  126 |   6 | 00126              | Tue Jan 27 00:00:00 1970 PST
 | 
						|
  127 | 407 | 00127_update7      | Wed Jan 28 00:00:00 1970 PST
 | 
						|
  128 |   8 | 00128              | Thu Jan 29 00:00:00 1970 PST
 | 
						|
  129 | 509 | 00129_update9      | Fri Jan 30 00:00:00 1970 PST
 | 
						|
  130 |   0 | 00130              | Sat Jan 31 00:00:00 1970 PST
 | 
						|
  131 |   1 | 00131              | Sun Feb 01 00:00:00 1970 PST
 | 
						|
  133 | 303 | 00133_update3      | Tue Feb 03 00:00:00 1970 PST
 | 
						|
  134 |   4 | 00134              | Wed Feb 04 00:00:00 1970 PST
 | 
						|
  136 |   6 | 00136              | Fri Feb 06 00:00:00 1970 PST
 | 
						|
  137 | 407 | 00137_update7      | Sat Feb 07 00:00:00 1970 PST
 | 
						|
  138 |   8 | 00138              | Sun Feb 08 00:00:00 1970 PST
 | 
						|
  139 | 509 | 00139_update9      | Mon Feb 09 00:00:00 1970 PST
 | 
						|
  140 |   0 | 00140              | Tue Feb 10 00:00:00 1970 PST
 | 
						|
  141 |   1 | 00141              | Wed Feb 11 00:00:00 1970 PST
 | 
						|
  143 | 303 | 00143_update3      | Fri Feb 13 00:00:00 1970 PST
 | 
						|
  144 |   4 | 00144              | Sat Feb 14 00:00:00 1970 PST
 | 
						|
  146 |   6 | 00146              | Mon Feb 16 00:00:00 1970 PST
 | 
						|
  147 | 407 | 00147_update7      | Tue Feb 17 00:00:00 1970 PST
 | 
						|
  148 |   8 | 00148              | Wed Feb 18 00:00:00 1970 PST
 | 
						|
  149 | 509 | 00149_update9      | Thu Feb 19 00:00:00 1970 PST
 | 
						|
  150 |   0 | 00150              | Fri Feb 20 00:00:00 1970 PST
 | 
						|
  151 |   1 | 00151              | Sat Feb 21 00:00:00 1970 PST
 | 
						|
  153 | 303 | 00153_update3      | Mon Feb 23 00:00:00 1970 PST
 | 
						|
  154 |   4 | 00154              | Tue Feb 24 00:00:00 1970 PST
 | 
						|
  156 |   6 | 00156              | Thu Feb 26 00:00:00 1970 PST
 | 
						|
  157 | 407 | 00157_update7      | Fri Feb 27 00:00:00 1970 PST
 | 
						|
  158 |   8 | 00158              | Sat Feb 28 00:00:00 1970 PST
 | 
						|
  159 | 509 | 00159_update9      | Sun Mar 01 00:00:00 1970 PST
 | 
						|
  160 |   0 | 00160              | Mon Mar 02 00:00:00 1970 PST
 | 
						|
  161 |   1 | 00161              | Tue Mar 03 00:00:00 1970 PST
 | 
						|
  163 | 303 | 00163_update3      | Thu Mar 05 00:00:00 1970 PST
 | 
						|
  164 |   4 | 00164              | Fri Mar 06 00:00:00 1970 PST
 | 
						|
  166 |   6 | 00166              | Sun Mar 08 00:00:00 1970 PST
 | 
						|
  167 | 407 | 00167_update7      | Mon Mar 09 00:00:00 1970 PST
 | 
						|
  168 |   8 | 00168              | Tue Mar 10 00:00:00 1970 PST
 | 
						|
  169 | 509 | 00169_update9      | Wed Mar 11 00:00:00 1970 PST
 | 
						|
  170 |   0 | 00170              | Thu Mar 12 00:00:00 1970 PST
 | 
						|
  171 |   1 | 00171              | Fri Mar 13 00:00:00 1970 PST
 | 
						|
  173 | 303 | 00173_update3      | Sun Mar 15 00:00:00 1970 PST
 | 
						|
  174 |   4 | 00174              | Mon Mar 16 00:00:00 1970 PST
 | 
						|
  176 |   6 | 00176              | Wed Mar 18 00:00:00 1970 PST
 | 
						|
  177 | 407 | 00177_update7      | Thu Mar 19 00:00:00 1970 PST
 | 
						|
  178 |   8 | 00178              | Fri Mar 20 00:00:00 1970 PST
 | 
						|
  179 | 509 | 00179_update9      | Sat Mar 21 00:00:00 1970 PST
 | 
						|
  180 |   0 | 00180              | Sun Mar 22 00:00:00 1970 PST
 | 
						|
  181 |   1 | 00181              | Mon Mar 23 00:00:00 1970 PST
 | 
						|
  183 | 303 | 00183_update3      | Wed Mar 25 00:00:00 1970 PST
 | 
						|
  184 |   4 | 00184              | Thu Mar 26 00:00:00 1970 PST
 | 
						|
  186 |   6 | 00186              | Sat Mar 28 00:00:00 1970 PST
 | 
						|
  187 | 407 | 00187_update7      | Sun Mar 29 00:00:00 1970 PST
 | 
						|
  188 |   8 | 00188              | Mon Mar 30 00:00:00 1970 PST
 | 
						|
  189 | 509 | 00189_update9      | Tue Mar 31 00:00:00 1970 PST
 | 
						|
  190 |   0 | 00190              | Wed Apr 01 00:00:00 1970 PST
 | 
						|
  191 |   1 | 00191              | Thu Apr 02 00:00:00 1970 PST
 | 
						|
  193 | 303 | 00193_update3      | Sat Apr 04 00:00:00 1970 PST
 | 
						|
  194 |   4 | 00194              | Sun Apr 05 00:00:00 1970 PST
 | 
						|
  196 |   6 | 00196              | Tue Apr 07 00:00:00 1970 PST
 | 
						|
  197 | 407 | 00197_update7      | Wed Apr 08 00:00:00 1970 PST
 | 
						|
  198 |   8 | 00198              | Thu Apr 09 00:00:00 1970 PST
 | 
						|
  199 | 509 | 00199_update9      | Fri Apr 10 00:00:00 1970 PST
 | 
						|
  200 |   0 | 00200              | Thu Jan 01 00:00:00 1970 PST
 | 
						|
  201 |   1 | 00201              | Fri Jan 02 00:00:00 1970 PST
 | 
						|
  203 | 303 | 00203_update3      | Sun Jan 04 00:00:00 1970 PST
 | 
						|
  204 |   4 | 00204              | Mon Jan 05 00:00:00 1970 PST
 | 
						|
  206 |   6 | 00206              | Wed Jan 07 00:00:00 1970 PST
 | 
						|
  207 | 407 | 00207_update7      | Thu Jan 08 00:00:00 1970 PST
 | 
						|
  208 |   8 | 00208              | Fri Jan 09 00:00:00 1970 PST
 | 
						|
  209 | 509 | 00209_update9      | Sat Jan 10 00:00:00 1970 PST
 | 
						|
  210 |   0 | 00210              | Sun Jan 11 00:00:00 1970 PST
 | 
						|
  211 |   1 | 00211              | Mon Jan 12 00:00:00 1970 PST
 | 
						|
  213 | 303 | 00213_update3      | Wed Jan 14 00:00:00 1970 PST
 | 
						|
  214 |   4 | 00214              | Thu Jan 15 00:00:00 1970 PST
 | 
						|
  216 |   6 | 00216              | Sat Jan 17 00:00:00 1970 PST
 | 
						|
  217 | 407 | 00217_update7      | Sun Jan 18 00:00:00 1970 PST
 | 
						|
  218 |   8 | 00218              | Mon Jan 19 00:00:00 1970 PST
 | 
						|
  219 | 509 | 00219_update9      | Tue Jan 20 00:00:00 1970 PST
 | 
						|
  220 |   0 | 00220              | Wed Jan 21 00:00:00 1970 PST
 | 
						|
  221 |   1 | 00221              | Thu Jan 22 00:00:00 1970 PST
 | 
						|
  223 | 303 | 00223_update3      | Sat Jan 24 00:00:00 1970 PST
 | 
						|
  224 |   4 | 00224              | Sun Jan 25 00:00:00 1970 PST
 | 
						|
  226 |   6 | 00226              | Tue Jan 27 00:00:00 1970 PST
 | 
						|
  227 | 407 | 00227_update7      | Wed Jan 28 00:00:00 1970 PST
 | 
						|
  228 |   8 | 00228              | Thu Jan 29 00:00:00 1970 PST
 | 
						|
  229 | 509 | 00229_update9      | Fri Jan 30 00:00:00 1970 PST
 | 
						|
  230 |   0 | 00230              | Sat Jan 31 00:00:00 1970 PST
 | 
						|
  231 |   1 | 00231              | Sun Feb 01 00:00:00 1970 PST
 | 
						|
  233 | 303 | 00233_update3      | Tue Feb 03 00:00:00 1970 PST
 | 
						|
  234 |   4 | 00234              | Wed Feb 04 00:00:00 1970 PST
 | 
						|
  236 |   6 | 00236              | Fri Feb 06 00:00:00 1970 PST
 | 
						|
  237 | 407 | 00237_update7      | Sat Feb 07 00:00:00 1970 PST
 | 
						|
  238 |   8 | 00238              | Sun Feb 08 00:00:00 1970 PST
 | 
						|
  239 | 509 | 00239_update9      | Mon Feb 09 00:00:00 1970 PST
 | 
						|
  240 |   0 | 00240              | Tue Feb 10 00:00:00 1970 PST
 | 
						|
  241 |   1 | 00241              | Wed Feb 11 00:00:00 1970 PST
 | 
						|
  243 | 303 | 00243_update3      | Fri Feb 13 00:00:00 1970 PST
 | 
						|
  244 |   4 | 00244              | Sat Feb 14 00:00:00 1970 PST
 | 
						|
  246 |   6 | 00246              | Mon Feb 16 00:00:00 1970 PST
 | 
						|
  247 | 407 | 00247_update7      | Tue Feb 17 00:00:00 1970 PST
 | 
						|
  248 |   8 | 00248              | Wed Feb 18 00:00:00 1970 PST
 | 
						|
  249 | 509 | 00249_update9      | Thu Feb 19 00:00:00 1970 PST
 | 
						|
  250 |   0 | 00250              | Fri Feb 20 00:00:00 1970 PST
 | 
						|
  251 |   1 | 00251              | Sat Feb 21 00:00:00 1970 PST
 | 
						|
  253 | 303 | 00253_update3      | Mon Feb 23 00:00:00 1970 PST
 | 
						|
  254 |   4 | 00254              | Tue Feb 24 00:00:00 1970 PST
 | 
						|
  256 |   6 | 00256              | Thu Feb 26 00:00:00 1970 PST
 | 
						|
  257 | 407 | 00257_update7      | Fri Feb 27 00:00:00 1970 PST
 | 
						|
  258 |   8 | 00258              | Sat Feb 28 00:00:00 1970 PST
 | 
						|
  259 | 509 | 00259_update9      | Sun Mar 01 00:00:00 1970 PST
 | 
						|
  260 |   0 | 00260              | Mon Mar 02 00:00:00 1970 PST
 | 
						|
  261 |   1 | 00261              | Tue Mar 03 00:00:00 1970 PST
 | 
						|
  263 | 303 | 00263_update3      | Thu Mar 05 00:00:00 1970 PST
 | 
						|
  264 |   4 | 00264              | Fri Mar 06 00:00:00 1970 PST
 | 
						|
  266 |   6 | 00266              | Sun Mar 08 00:00:00 1970 PST
 | 
						|
  267 | 407 | 00267_update7      | Mon Mar 09 00:00:00 1970 PST
 | 
						|
  268 |   8 | 00268              | Tue Mar 10 00:00:00 1970 PST
 | 
						|
  269 | 509 | 00269_update9      | Wed Mar 11 00:00:00 1970 PST
 | 
						|
  270 |   0 | 00270              | Thu Mar 12 00:00:00 1970 PST
 | 
						|
  271 |   1 | 00271              | Fri Mar 13 00:00:00 1970 PST
 | 
						|
  273 | 303 | 00273_update3      | Sun Mar 15 00:00:00 1970 PST
 | 
						|
  274 |   4 | 00274              | Mon Mar 16 00:00:00 1970 PST
 | 
						|
  276 |   6 | 00276              | Wed Mar 18 00:00:00 1970 PST
 | 
						|
  277 | 407 | 00277_update7      | Thu Mar 19 00:00:00 1970 PST
 | 
						|
  278 |   8 | 00278              | Fri Mar 20 00:00:00 1970 PST
 | 
						|
  279 | 509 | 00279_update9      | Sat Mar 21 00:00:00 1970 PST
 | 
						|
  280 |   0 | 00280              | Sun Mar 22 00:00:00 1970 PST
 | 
						|
  281 |   1 | 00281              | Mon Mar 23 00:00:00 1970 PST
 | 
						|
  283 | 303 | 00283_update3      | Wed Mar 25 00:00:00 1970 PST
 | 
						|
  284 |   4 | 00284              | Thu Mar 26 00:00:00 1970 PST
 | 
						|
  286 |   6 | 00286              | Sat Mar 28 00:00:00 1970 PST
 | 
						|
  287 | 407 | 00287_update7      | Sun Mar 29 00:00:00 1970 PST
 | 
						|
  288 |   8 | 00288              | Mon Mar 30 00:00:00 1970 PST
 | 
						|
  289 | 509 | 00289_update9      | Tue Mar 31 00:00:00 1970 PST
 | 
						|
  290 |   0 | 00290              | Wed Apr 01 00:00:00 1970 PST
 | 
						|
  291 |   1 | 00291              | Thu Apr 02 00:00:00 1970 PST
 | 
						|
  293 | 303 | 00293_update3      | Sat Apr 04 00:00:00 1970 PST
 | 
						|
  294 |   4 | 00294              | Sun Apr 05 00:00:00 1970 PST
 | 
						|
  296 |   6 | 00296              | Tue Apr 07 00:00:00 1970 PST
 | 
						|
  297 | 407 | 00297_update7      | Wed Apr 08 00:00:00 1970 PST
 | 
						|
  298 |   8 | 00298              | Thu Apr 09 00:00:00 1970 PST
 | 
						|
  299 | 509 | 00299_update9      | Fri Apr 10 00:00:00 1970 PST
 | 
						|
  300 |   0 | 00300              | Thu Jan 01 00:00:00 1970 PST
 | 
						|
  301 |   1 | 00301              | Fri Jan 02 00:00:00 1970 PST
 | 
						|
  303 | 303 | 00303_update3      | Sun Jan 04 00:00:00 1970 PST
 | 
						|
  304 |   4 | 00304              | Mon Jan 05 00:00:00 1970 PST
 | 
						|
  306 |   6 | 00306              | Wed Jan 07 00:00:00 1970 PST
 | 
						|
  307 | 407 | 00307_update7      | Thu Jan 08 00:00:00 1970 PST
 | 
						|
  308 |   8 | 00308              | Fri Jan 09 00:00:00 1970 PST
 | 
						|
  309 | 509 | 00309_update9      | Sat Jan 10 00:00:00 1970 PST
 | 
						|
  310 |   0 | 00310              | Sun Jan 11 00:00:00 1970 PST
 | 
						|
  311 |   1 | 00311              | Mon Jan 12 00:00:00 1970 PST
 | 
						|
  313 | 303 | 00313_update3      | Wed Jan 14 00:00:00 1970 PST
 | 
						|
  314 |   4 | 00314              | Thu Jan 15 00:00:00 1970 PST
 | 
						|
  316 |   6 | 00316              | Sat Jan 17 00:00:00 1970 PST
 | 
						|
  317 | 407 | 00317_update7      | Sun Jan 18 00:00:00 1970 PST
 | 
						|
  318 |   8 | 00318              | Mon Jan 19 00:00:00 1970 PST
 | 
						|
  319 | 509 | 00319_update9      | Tue Jan 20 00:00:00 1970 PST
 | 
						|
  320 |   0 | 00320              | Wed Jan 21 00:00:00 1970 PST
 | 
						|
  321 |   1 | 00321              | Thu Jan 22 00:00:00 1970 PST
 | 
						|
  323 | 303 | 00323_update3      | Sat Jan 24 00:00:00 1970 PST
 | 
						|
  324 |   4 | 00324              | Sun Jan 25 00:00:00 1970 PST
 | 
						|
  326 |   6 | 00326              | Tue Jan 27 00:00:00 1970 PST
 | 
						|
  327 | 407 | 00327_update7      | Wed Jan 28 00:00:00 1970 PST
 | 
						|
  328 |   8 | 00328              | Thu Jan 29 00:00:00 1970 PST
 | 
						|
  329 | 509 | 00329_update9      | Fri Jan 30 00:00:00 1970 PST
 | 
						|
  330 |   0 | 00330              | Sat Jan 31 00:00:00 1970 PST
 | 
						|
  331 |   1 | 00331              | Sun Feb 01 00:00:00 1970 PST
 | 
						|
  333 | 303 | 00333_update3      | Tue Feb 03 00:00:00 1970 PST
 | 
						|
  334 |   4 | 00334              | Wed Feb 04 00:00:00 1970 PST
 | 
						|
  336 |   6 | 00336              | Fri Feb 06 00:00:00 1970 PST
 | 
						|
  337 | 407 | 00337_update7      | Sat Feb 07 00:00:00 1970 PST
 | 
						|
  338 |   8 | 00338              | Sun Feb 08 00:00:00 1970 PST
 | 
						|
  339 | 509 | 00339_update9      | Mon Feb 09 00:00:00 1970 PST
 | 
						|
  340 |   0 | 00340              | Tue Feb 10 00:00:00 1970 PST
 | 
						|
  341 |   1 | 00341              | Wed Feb 11 00:00:00 1970 PST
 | 
						|
  343 | 303 | 00343_update3      | Fri Feb 13 00:00:00 1970 PST
 | 
						|
  344 |   4 | 00344              | Sat Feb 14 00:00:00 1970 PST
 | 
						|
  346 |   6 | 00346              | Mon Feb 16 00:00:00 1970 PST
 | 
						|
  347 | 407 | 00347_update7      | Tue Feb 17 00:00:00 1970 PST
 | 
						|
  348 |   8 | 00348              | Wed Feb 18 00:00:00 1970 PST
 | 
						|
  349 | 509 | 00349_update9      | Thu Feb 19 00:00:00 1970 PST
 | 
						|
  350 |   0 | 00350              | Fri Feb 20 00:00:00 1970 PST
 | 
						|
  351 |   1 | 00351              | Sat Feb 21 00:00:00 1970 PST
 | 
						|
  353 | 303 | 00353_update3      | Mon Feb 23 00:00:00 1970 PST
 | 
						|
  354 |   4 | 00354              | Tue Feb 24 00:00:00 1970 PST
 | 
						|
  356 |   6 | 00356              | Thu Feb 26 00:00:00 1970 PST
 | 
						|
  357 | 407 | 00357_update7      | Fri Feb 27 00:00:00 1970 PST
 | 
						|
  358 |   8 | 00358              | Sat Feb 28 00:00:00 1970 PST
 | 
						|
  359 | 509 | 00359_update9      | Sun Mar 01 00:00:00 1970 PST
 | 
						|
  360 |   0 | 00360              | Mon Mar 02 00:00:00 1970 PST
 | 
						|
  361 |   1 | 00361              | Tue Mar 03 00:00:00 1970 PST
 | 
						|
  363 | 303 | 00363_update3      | Thu Mar 05 00:00:00 1970 PST
 | 
						|
  364 |   4 | 00364              | Fri Mar 06 00:00:00 1970 PST
 | 
						|
  366 |   6 | 00366              | Sun Mar 08 00:00:00 1970 PST
 | 
						|
  367 | 407 | 00367_update7      | Mon Mar 09 00:00:00 1970 PST
 | 
						|
  368 |   8 | 00368              | Tue Mar 10 00:00:00 1970 PST
 | 
						|
  369 | 509 | 00369_update9      | Wed Mar 11 00:00:00 1970 PST
 | 
						|
  370 |   0 | 00370              | Thu Mar 12 00:00:00 1970 PST
 | 
						|
  371 |   1 | 00371              | Fri Mar 13 00:00:00 1970 PST
 | 
						|
  373 | 303 | 00373_update3      | Sun Mar 15 00:00:00 1970 PST
 | 
						|
  374 |   4 | 00374              | Mon Mar 16 00:00:00 1970 PST
 | 
						|
  376 |   6 | 00376              | Wed Mar 18 00:00:00 1970 PST
 | 
						|
  377 | 407 | 00377_update7      | Thu Mar 19 00:00:00 1970 PST
 | 
						|
  378 |   8 | 00378              | Fri Mar 20 00:00:00 1970 PST
 | 
						|
  379 | 509 | 00379_update9      | Sat Mar 21 00:00:00 1970 PST
 | 
						|
  380 |   0 | 00380              | Sun Mar 22 00:00:00 1970 PST
 | 
						|
  381 |   1 | 00381              | Mon Mar 23 00:00:00 1970 PST
 | 
						|
  383 | 303 | 00383_update3      | Wed Mar 25 00:00:00 1970 PST
 | 
						|
  384 |   4 | 00384              | Thu Mar 26 00:00:00 1970 PST
 | 
						|
  386 |   6 | 00386              | Sat Mar 28 00:00:00 1970 PST
 | 
						|
  387 | 407 | 00387_update7      | Sun Mar 29 00:00:00 1970 PST
 | 
						|
  388 |   8 | 00388              | Mon Mar 30 00:00:00 1970 PST
 | 
						|
  389 | 509 | 00389_update9      | Tue Mar 31 00:00:00 1970 PST
 | 
						|
  390 |   0 | 00390              | Wed Apr 01 00:00:00 1970 PST
 | 
						|
  391 |   1 | 00391              | Thu Apr 02 00:00:00 1970 PST
 | 
						|
  393 | 303 | 00393_update3      | Sat Apr 04 00:00:00 1970 PST
 | 
						|
  394 |   4 | 00394              | Sun Apr 05 00:00:00 1970 PST
 | 
						|
  396 |   6 | 00396              | Tue Apr 07 00:00:00 1970 PST
 | 
						|
  397 | 407 | 00397_update7      | Wed Apr 08 00:00:00 1970 PST
 | 
						|
  398 |   8 | 00398              | Thu Apr 09 00:00:00 1970 PST
 | 
						|
  399 | 509 | 00399_update9      | Fri Apr 10 00:00:00 1970 PST
 | 
						|
  400 |   0 | 00400              | Thu Jan 01 00:00:00 1970 PST
 | 
						|
  401 |   1 | 00401              | Fri Jan 02 00:00:00 1970 PST
 | 
						|
  403 | 303 | 00403_update3      | Sun Jan 04 00:00:00 1970 PST
 | 
						|
  404 |   4 | 00404              | Mon Jan 05 00:00:00 1970 PST
 | 
						|
  406 |   6 | 00406              | Wed Jan 07 00:00:00 1970 PST
 | 
						|
  407 | 407 | 00407_update7      | Thu Jan 08 00:00:00 1970 PST
 | 
						|
  408 |   8 | 00408              | Fri Jan 09 00:00:00 1970 PST
 | 
						|
  409 | 509 | 00409_update9      | Sat Jan 10 00:00:00 1970 PST
 | 
						|
  410 |   0 | 00410              | Sun Jan 11 00:00:00 1970 PST
 | 
						|
  411 |   1 | 00411              | Mon Jan 12 00:00:00 1970 PST
 | 
						|
  413 | 303 | 00413_update3      | Wed Jan 14 00:00:00 1970 PST
 | 
						|
  414 |   4 | 00414              | Thu Jan 15 00:00:00 1970 PST
 | 
						|
  416 |   6 | 00416              | Sat Jan 17 00:00:00 1970 PST
 | 
						|
  417 | 407 | 00417_update7      | Sun Jan 18 00:00:00 1970 PST
 | 
						|
  418 |   8 | 00418              | Mon Jan 19 00:00:00 1970 PST
 | 
						|
  419 | 509 | 00419_update9      | Tue Jan 20 00:00:00 1970 PST
 | 
						|
  420 |   0 | 00420              | Wed Jan 21 00:00:00 1970 PST
 | 
						|
  421 |   1 | 00421              | Thu Jan 22 00:00:00 1970 PST
 | 
						|
  423 | 303 | 00423_update3      | Sat Jan 24 00:00:00 1970 PST
 | 
						|
  424 |   4 | 00424              | Sun Jan 25 00:00:00 1970 PST
 | 
						|
  426 |   6 | 00426              | Tue Jan 27 00:00:00 1970 PST
 | 
						|
  427 | 407 | 00427_update7      | Wed Jan 28 00:00:00 1970 PST
 | 
						|
  428 |   8 | 00428              | Thu Jan 29 00:00:00 1970 PST
 | 
						|
  429 | 509 | 00429_update9      | Fri Jan 30 00:00:00 1970 PST
 | 
						|
  430 |   0 | 00430              | Sat Jan 31 00:00:00 1970 PST
 | 
						|
  431 |   1 | 00431              | Sun Feb 01 00:00:00 1970 PST
 | 
						|
  433 | 303 | 00433_update3      | Tue Feb 03 00:00:00 1970 PST
 | 
						|
  434 |   4 | 00434              | Wed Feb 04 00:00:00 1970 PST
 | 
						|
  436 |   6 | 00436              | Fri Feb 06 00:00:00 1970 PST
 | 
						|
  437 | 407 | 00437_update7      | Sat Feb 07 00:00:00 1970 PST
 | 
						|
  438 |   8 | 00438              | Sun Feb 08 00:00:00 1970 PST
 | 
						|
  439 | 509 | 00439_update9      | Mon Feb 09 00:00:00 1970 PST
 | 
						|
  440 |   0 | 00440              | Tue Feb 10 00:00:00 1970 PST
 | 
						|
  441 |   1 | 00441              | Wed Feb 11 00:00:00 1970 PST
 | 
						|
  443 | 303 | 00443_update3      | Fri Feb 13 00:00:00 1970 PST
 | 
						|
  444 |   4 | 00444              | Sat Feb 14 00:00:00 1970 PST
 | 
						|
  446 |   6 | 00446              | Mon Feb 16 00:00:00 1970 PST
 | 
						|
  447 | 407 | 00447_update7      | Tue Feb 17 00:00:00 1970 PST
 | 
						|
  448 |   8 | 00448              | Wed Feb 18 00:00:00 1970 PST
 | 
						|
  449 | 509 | 00449_update9      | Thu Feb 19 00:00:00 1970 PST
 | 
						|
  450 |   0 | 00450              | Fri Feb 20 00:00:00 1970 PST
 | 
						|
  451 |   1 | 00451              | Sat Feb 21 00:00:00 1970 PST
 | 
						|
  453 | 303 | 00453_update3      | Mon Feb 23 00:00:00 1970 PST
 | 
						|
  454 |   4 | 00454              | Tue Feb 24 00:00:00 1970 PST
 | 
						|
  456 |   6 | 00456              | Thu Feb 26 00:00:00 1970 PST
 | 
						|
  457 | 407 | 00457_update7      | Fri Feb 27 00:00:00 1970 PST
 | 
						|
  458 |   8 | 00458              | Sat Feb 28 00:00:00 1970 PST
 | 
						|
  459 | 509 | 00459_update9      | Sun Mar 01 00:00:00 1970 PST
 | 
						|
  460 |   0 | 00460              | Mon Mar 02 00:00:00 1970 PST
 | 
						|
  461 |   1 | 00461              | Tue Mar 03 00:00:00 1970 PST
 | 
						|
  463 | 303 | 00463_update3      | Thu Mar 05 00:00:00 1970 PST
 | 
						|
  464 |   4 | 00464              | Fri Mar 06 00:00:00 1970 PST
 | 
						|
  466 |   6 | 00466              | Sun Mar 08 00:00:00 1970 PST
 | 
						|
  467 | 407 | 00467_update7      | Mon Mar 09 00:00:00 1970 PST
 | 
						|
  468 |   8 | 00468              | Tue Mar 10 00:00:00 1970 PST
 | 
						|
  469 | 509 | 00469_update9      | Wed Mar 11 00:00:00 1970 PST
 | 
						|
  470 |   0 | 00470              | Thu Mar 12 00:00:00 1970 PST
 | 
						|
  471 |   1 | 00471              | Fri Mar 13 00:00:00 1970 PST
 | 
						|
  473 | 303 | 00473_update3      | Sun Mar 15 00:00:00 1970 PST
 | 
						|
  474 |   4 | 00474              | Mon Mar 16 00:00:00 1970 PST
 | 
						|
  476 |   6 | 00476              | Wed Mar 18 00:00:00 1970 PST
 | 
						|
  477 | 407 | 00477_update7      | Thu Mar 19 00:00:00 1970 PST
 | 
						|
  478 |   8 | 00478              | Fri Mar 20 00:00:00 1970 PST
 | 
						|
  479 | 509 | 00479_update9      | Sat Mar 21 00:00:00 1970 PST
 | 
						|
  480 |   0 | 00480              | Sun Mar 22 00:00:00 1970 PST
 | 
						|
  481 |   1 | 00481              | Mon Mar 23 00:00:00 1970 PST
 | 
						|
  483 | 303 | 00483_update3      | Wed Mar 25 00:00:00 1970 PST
 | 
						|
  484 |   4 | 00484              | Thu Mar 26 00:00:00 1970 PST
 | 
						|
  486 |   6 | 00486              | Sat Mar 28 00:00:00 1970 PST
 | 
						|
  487 | 407 | 00487_update7      | Sun Mar 29 00:00:00 1970 PST
 | 
						|
  488 |   8 | 00488              | Mon Mar 30 00:00:00 1970 PST
 | 
						|
  489 | 509 | 00489_update9      | Tue Mar 31 00:00:00 1970 PST
 | 
						|
  490 |   0 | 00490              | Wed Apr 01 00:00:00 1970 PST
 | 
						|
  491 |   1 | 00491              | Thu Apr 02 00:00:00 1970 PST
 | 
						|
  493 | 303 | 00493_update3      | Sat Apr 04 00:00:00 1970 PST
 | 
						|
  494 |   4 | 00494              | Sun Apr 05 00:00:00 1970 PST
 | 
						|
  496 |   6 | 00496              | Tue Apr 07 00:00:00 1970 PST
 | 
						|
  497 | 407 | 00497_update7      | Wed Apr 08 00:00:00 1970 PST
 | 
						|
  498 |   8 | 00498              | Thu Apr 09 00:00:00 1970 PST
 | 
						|
  499 | 509 | 00499_update9      | Fri Apr 10 00:00:00 1970 PST
 | 
						|
  500 |   0 | 00500              | Thu Jan 01 00:00:00 1970 PST
 | 
						|
  501 |   1 | 00501              | Fri Jan 02 00:00:00 1970 PST
 | 
						|
  503 | 303 | 00503_update3      | Sun Jan 04 00:00:00 1970 PST
 | 
						|
  504 |   4 | 00504              | Mon Jan 05 00:00:00 1970 PST
 | 
						|
  506 |   6 | 00506              | Wed Jan 07 00:00:00 1970 PST
 | 
						|
  507 | 407 | 00507_update7      | Thu Jan 08 00:00:00 1970 PST
 | 
						|
  508 |   8 | 00508              | Fri Jan 09 00:00:00 1970 PST
 | 
						|
  509 | 509 | 00509_update9      | Sat Jan 10 00:00:00 1970 PST
 | 
						|
  510 |   0 | 00510              | Sun Jan 11 00:00:00 1970 PST
 | 
						|
  511 |   1 | 00511              | Mon Jan 12 00:00:00 1970 PST
 | 
						|
  513 | 303 | 00513_update3      | Wed Jan 14 00:00:00 1970 PST
 | 
						|
  514 |   4 | 00514              | Thu Jan 15 00:00:00 1970 PST
 | 
						|
  516 |   6 | 00516              | Sat Jan 17 00:00:00 1970 PST
 | 
						|
  517 | 407 | 00517_update7      | Sun Jan 18 00:00:00 1970 PST
 | 
						|
  518 |   8 | 00518              | Mon Jan 19 00:00:00 1970 PST
 | 
						|
  519 | 509 | 00519_update9      | Tue Jan 20 00:00:00 1970 PST
 | 
						|
  520 |   0 | 00520              | Wed Jan 21 00:00:00 1970 PST
 | 
						|
  521 |   1 | 00521              | Thu Jan 22 00:00:00 1970 PST
 | 
						|
  523 | 303 | 00523_update3      | Sat Jan 24 00:00:00 1970 PST
 | 
						|
  524 |   4 | 00524              | Sun Jan 25 00:00:00 1970 PST
 | 
						|
  526 |   6 | 00526              | Tue Jan 27 00:00:00 1970 PST
 | 
						|
  527 | 407 | 00527_update7      | Wed Jan 28 00:00:00 1970 PST
 | 
						|
  528 |   8 | 00528              | Thu Jan 29 00:00:00 1970 PST
 | 
						|
  529 | 509 | 00529_update9      | Fri Jan 30 00:00:00 1970 PST
 | 
						|
  530 |   0 | 00530              | Sat Jan 31 00:00:00 1970 PST
 | 
						|
  531 |   1 | 00531              | Sun Feb 01 00:00:00 1970 PST
 | 
						|
  533 | 303 | 00533_update3      | Tue Feb 03 00:00:00 1970 PST
 | 
						|
  534 |   4 | 00534              | Wed Feb 04 00:00:00 1970 PST
 | 
						|
  536 |   6 | 00536              | Fri Feb 06 00:00:00 1970 PST
 | 
						|
  537 | 407 | 00537_update7      | Sat Feb 07 00:00:00 1970 PST
 | 
						|
  538 |   8 | 00538              | Sun Feb 08 00:00:00 1970 PST
 | 
						|
  539 | 509 | 00539_update9      | Mon Feb 09 00:00:00 1970 PST
 | 
						|
  540 |   0 | 00540              | Tue Feb 10 00:00:00 1970 PST
 | 
						|
  541 |   1 | 00541              | Wed Feb 11 00:00:00 1970 PST
 | 
						|
  543 | 303 | 00543_update3      | Fri Feb 13 00:00:00 1970 PST
 | 
						|
  544 |   4 | 00544              | Sat Feb 14 00:00:00 1970 PST
 | 
						|
  546 |   6 | 00546              | Mon Feb 16 00:00:00 1970 PST
 | 
						|
  547 | 407 | 00547_update7      | Tue Feb 17 00:00:00 1970 PST
 | 
						|
  548 |   8 | 00548              | Wed Feb 18 00:00:00 1970 PST
 | 
						|
  549 | 509 | 00549_update9      | Thu Feb 19 00:00:00 1970 PST
 | 
						|
  550 |   0 | 00550              | Fri Feb 20 00:00:00 1970 PST
 | 
						|
  551 |   1 | 00551              | Sat Feb 21 00:00:00 1970 PST
 | 
						|
  553 | 303 | 00553_update3      | Mon Feb 23 00:00:00 1970 PST
 | 
						|
  554 |   4 | 00554              | Tue Feb 24 00:00:00 1970 PST
 | 
						|
  556 |   6 | 00556              | Thu Feb 26 00:00:00 1970 PST
 | 
						|
  557 | 407 | 00557_update7      | Fri Feb 27 00:00:00 1970 PST
 | 
						|
  558 |   8 | 00558              | Sat Feb 28 00:00:00 1970 PST
 | 
						|
  559 | 509 | 00559_update9      | Sun Mar 01 00:00:00 1970 PST
 | 
						|
  560 |   0 | 00560              | Mon Mar 02 00:00:00 1970 PST
 | 
						|
  561 |   1 | 00561              | Tue Mar 03 00:00:00 1970 PST
 | 
						|
  563 | 303 | 00563_update3      | Thu Mar 05 00:00:00 1970 PST
 | 
						|
  564 |   4 | 00564              | Fri Mar 06 00:00:00 1970 PST
 | 
						|
  566 |   6 | 00566              | Sun Mar 08 00:00:00 1970 PST
 | 
						|
  567 | 407 | 00567_update7      | Mon Mar 09 00:00:00 1970 PST
 | 
						|
  568 |   8 | 00568              | Tue Mar 10 00:00:00 1970 PST
 | 
						|
  569 | 509 | 00569_update9      | Wed Mar 11 00:00:00 1970 PST
 | 
						|
  570 |   0 | 00570              | Thu Mar 12 00:00:00 1970 PST
 | 
						|
  571 |   1 | 00571              | Fri Mar 13 00:00:00 1970 PST
 | 
						|
  573 | 303 | 00573_update3      | Sun Mar 15 00:00:00 1970 PST
 | 
						|
  574 |   4 | 00574              | Mon Mar 16 00:00:00 1970 PST
 | 
						|
  576 |   6 | 00576              | Wed Mar 18 00:00:00 1970 PST
 | 
						|
  577 | 407 | 00577_update7      | Thu Mar 19 00:00:00 1970 PST
 | 
						|
  578 |   8 | 00578              | Fri Mar 20 00:00:00 1970 PST
 | 
						|
  579 | 509 | 00579_update9      | Sat Mar 21 00:00:00 1970 PST
 | 
						|
  580 |   0 | 00580              | Sun Mar 22 00:00:00 1970 PST
 | 
						|
  581 |   1 | 00581              | Mon Mar 23 00:00:00 1970 PST
 | 
						|
  583 | 303 | 00583_update3      | Wed Mar 25 00:00:00 1970 PST
 | 
						|
  584 |   4 | 00584              | Thu Mar 26 00:00:00 1970 PST
 | 
						|
  586 |   6 | 00586              | Sat Mar 28 00:00:00 1970 PST
 | 
						|
  587 | 407 | 00587_update7      | Sun Mar 29 00:00:00 1970 PST
 | 
						|
  588 |   8 | 00588              | Mon Mar 30 00:00:00 1970 PST
 | 
						|
  589 | 509 | 00589_update9      | Tue Mar 31 00:00:00 1970 PST
 | 
						|
  590 |   0 | 00590              | Wed Apr 01 00:00:00 1970 PST
 | 
						|
  591 |   1 | 00591              | Thu Apr 02 00:00:00 1970 PST
 | 
						|
  593 | 303 | 00593_update3      | Sat Apr 04 00:00:00 1970 PST
 | 
						|
  594 |   4 | 00594              | Sun Apr 05 00:00:00 1970 PST
 | 
						|
  596 |   6 | 00596              | Tue Apr 07 00:00:00 1970 PST
 | 
						|
  597 | 407 | 00597_update7      | Wed Apr 08 00:00:00 1970 PST
 | 
						|
  598 |   8 | 00598              | Thu Apr 09 00:00:00 1970 PST
 | 
						|
  599 | 509 | 00599_update9      | Fri Apr 10 00:00:00 1970 PST
 | 
						|
  600 |   0 | 00600              | Thu Jan 01 00:00:00 1970 PST
 | 
						|
  601 |   1 | 00601              | Fri Jan 02 00:00:00 1970 PST
 | 
						|
  603 | 303 | 00603_update3      | Sun Jan 04 00:00:00 1970 PST
 | 
						|
  604 |   4 | 00604              | Mon Jan 05 00:00:00 1970 PST
 | 
						|
  606 |   6 | 00606              | Wed Jan 07 00:00:00 1970 PST
 | 
						|
  607 | 407 | 00607_update7      | Thu Jan 08 00:00:00 1970 PST
 | 
						|
  608 |   8 | 00608              | Fri Jan 09 00:00:00 1970 PST
 | 
						|
  609 | 509 | 00609_update9      | Sat Jan 10 00:00:00 1970 PST
 | 
						|
  610 |   0 | 00610              | Sun Jan 11 00:00:00 1970 PST
 | 
						|
  611 |   1 | 00611              | Mon Jan 12 00:00:00 1970 PST
 | 
						|
  613 | 303 | 00613_update3      | Wed Jan 14 00:00:00 1970 PST
 | 
						|
  614 |   4 | 00614              | Thu Jan 15 00:00:00 1970 PST
 | 
						|
  616 |   6 | 00616              | Sat Jan 17 00:00:00 1970 PST
 | 
						|
  617 | 407 | 00617_update7      | Sun Jan 18 00:00:00 1970 PST
 | 
						|
  618 |   8 | 00618              | Mon Jan 19 00:00:00 1970 PST
 | 
						|
  619 | 509 | 00619_update9      | Tue Jan 20 00:00:00 1970 PST
 | 
						|
  620 |   0 | 00620              | Wed Jan 21 00:00:00 1970 PST
 | 
						|
  621 |   1 | 00621              | Thu Jan 22 00:00:00 1970 PST
 | 
						|
  623 | 303 | 00623_update3      | Sat Jan 24 00:00:00 1970 PST
 | 
						|
  624 |   4 | 00624              | Sun Jan 25 00:00:00 1970 PST
 | 
						|
  626 |   6 | 00626              | Tue Jan 27 00:00:00 1970 PST
 | 
						|
  627 | 407 | 00627_update7      | Wed Jan 28 00:00:00 1970 PST
 | 
						|
  628 |   8 | 00628              | Thu Jan 29 00:00:00 1970 PST
 | 
						|
  629 | 509 | 00629_update9      | Fri Jan 30 00:00:00 1970 PST
 | 
						|
  630 |   0 | 00630              | Sat Jan 31 00:00:00 1970 PST
 | 
						|
  631 |   1 | 00631              | Sun Feb 01 00:00:00 1970 PST
 | 
						|
  633 | 303 | 00633_update3      | Tue Feb 03 00:00:00 1970 PST
 | 
						|
  634 |   4 | 00634              | Wed Feb 04 00:00:00 1970 PST
 | 
						|
  636 |   6 | 00636              | Fri Feb 06 00:00:00 1970 PST
 | 
						|
  637 | 407 | 00637_update7      | Sat Feb 07 00:00:00 1970 PST
 | 
						|
  638 |   8 | 00638              | Sun Feb 08 00:00:00 1970 PST
 | 
						|
  639 | 509 | 00639_update9      | Mon Feb 09 00:00:00 1970 PST
 | 
						|
  640 |   0 | 00640              | Tue Feb 10 00:00:00 1970 PST
 | 
						|
  641 |   1 | 00641              | Wed Feb 11 00:00:00 1970 PST
 | 
						|
  643 | 303 | 00643_update3      | Fri Feb 13 00:00:00 1970 PST
 | 
						|
  644 |   4 | 00644              | Sat Feb 14 00:00:00 1970 PST
 | 
						|
  646 |   6 | 00646              | Mon Feb 16 00:00:00 1970 PST
 | 
						|
  647 | 407 | 00647_update7      | Tue Feb 17 00:00:00 1970 PST
 | 
						|
  648 |   8 | 00648              | Wed Feb 18 00:00:00 1970 PST
 | 
						|
  649 | 509 | 00649_update9      | Thu Feb 19 00:00:00 1970 PST
 | 
						|
  650 |   0 | 00650              | Fri Feb 20 00:00:00 1970 PST
 | 
						|
  651 |   1 | 00651              | Sat Feb 21 00:00:00 1970 PST
 | 
						|
  653 | 303 | 00653_update3      | Mon Feb 23 00:00:00 1970 PST
 | 
						|
  654 |   4 | 00654              | Tue Feb 24 00:00:00 1970 PST
 | 
						|
  656 |   6 | 00656              | Thu Feb 26 00:00:00 1970 PST
 | 
						|
  657 | 407 | 00657_update7      | Fri Feb 27 00:00:00 1970 PST
 | 
						|
  658 |   8 | 00658              | Sat Feb 28 00:00:00 1970 PST
 | 
						|
  659 | 509 | 00659_update9      | Sun Mar 01 00:00:00 1970 PST
 | 
						|
  660 |   0 | 00660              | Mon Mar 02 00:00:00 1970 PST
 | 
						|
  661 |   1 | 00661              | Tue Mar 03 00:00:00 1970 PST
 | 
						|
  663 | 303 | 00663_update3      | Thu Mar 05 00:00:00 1970 PST
 | 
						|
  664 |   4 | 00664              | Fri Mar 06 00:00:00 1970 PST
 | 
						|
  666 |   6 | 00666              | Sun Mar 08 00:00:00 1970 PST
 | 
						|
  667 | 407 | 00667_update7      | Mon Mar 09 00:00:00 1970 PST
 | 
						|
  668 |   8 | 00668              | Tue Mar 10 00:00:00 1970 PST
 | 
						|
  669 | 509 | 00669_update9      | Wed Mar 11 00:00:00 1970 PST
 | 
						|
  670 |   0 | 00670              | Thu Mar 12 00:00:00 1970 PST
 | 
						|
  671 |   1 | 00671              | Fri Mar 13 00:00:00 1970 PST
 | 
						|
  673 | 303 | 00673_update3      | Sun Mar 15 00:00:00 1970 PST
 | 
						|
  674 |   4 | 00674              | Mon Mar 16 00:00:00 1970 PST
 | 
						|
  676 |   6 | 00676              | Wed Mar 18 00:00:00 1970 PST
 | 
						|
  677 | 407 | 00677_update7      | Thu Mar 19 00:00:00 1970 PST
 | 
						|
  678 |   8 | 00678              | Fri Mar 20 00:00:00 1970 PST
 | 
						|
  679 | 509 | 00679_update9      | Sat Mar 21 00:00:00 1970 PST
 | 
						|
  680 |   0 | 00680              | Sun Mar 22 00:00:00 1970 PST
 | 
						|
  681 |   1 | 00681              | Mon Mar 23 00:00:00 1970 PST
 | 
						|
  683 | 303 | 00683_update3      | Wed Mar 25 00:00:00 1970 PST
 | 
						|
  684 |   4 | 00684              | Thu Mar 26 00:00:00 1970 PST
 | 
						|
  686 |   6 | 00686              | Sat Mar 28 00:00:00 1970 PST
 | 
						|
  687 | 407 | 00687_update7      | Sun Mar 29 00:00:00 1970 PST
 | 
						|
  688 |   8 | 00688              | Mon Mar 30 00:00:00 1970 PST
 | 
						|
  689 | 509 | 00689_update9      | Tue Mar 31 00:00:00 1970 PST
 | 
						|
  690 |   0 | 00690              | Wed Apr 01 00:00:00 1970 PST
 | 
						|
  691 |   1 | 00691              | Thu Apr 02 00:00:00 1970 PST
 | 
						|
  693 | 303 | 00693_update3      | Sat Apr 04 00:00:00 1970 PST
 | 
						|
  694 |   4 | 00694              | Sun Apr 05 00:00:00 1970 PST
 | 
						|
  696 |   6 | 00696              | Tue Apr 07 00:00:00 1970 PST
 | 
						|
  697 | 407 | 00697_update7      | Wed Apr 08 00:00:00 1970 PST
 | 
						|
  698 |   8 | 00698              | Thu Apr 09 00:00:00 1970 PST
 | 
						|
  699 | 509 | 00699_update9      | Fri Apr 10 00:00:00 1970 PST
 | 
						|
  700 |   0 | 00700              | Thu Jan 01 00:00:00 1970 PST
 | 
						|
  701 |   1 | 00701              | Fri Jan 02 00:00:00 1970 PST
 | 
						|
  703 | 303 | 00703_update3      | Sun Jan 04 00:00:00 1970 PST
 | 
						|
  704 |   4 | 00704              | Mon Jan 05 00:00:00 1970 PST
 | 
						|
  706 |   6 | 00706              | Wed Jan 07 00:00:00 1970 PST
 | 
						|
  707 | 407 | 00707_update7      | Thu Jan 08 00:00:00 1970 PST
 | 
						|
  708 |   8 | 00708              | Fri Jan 09 00:00:00 1970 PST
 | 
						|
  709 | 509 | 00709_update9      | Sat Jan 10 00:00:00 1970 PST
 | 
						|
  710 |   0 | 00710              | Sun Jan 11 00:00:00 1970 PST
 | 
						|
  711 |   1 | 00711              | Mon Jan 12 00:00:00 1970 PST
 | 
						|
  713 | 303 | 00713_update3      | Wed Jan 14 00:00:00 1970 PST
 | 
						|
  714 |   4 | 00714              | Thu Jan 15 00:00:00 1970 PST
 | 
						|
  716 |   6 | 00716              | Sat Jan 17 00:00:00 1970 PST
 | 
						|
  717 | 407 | 00717_update7      | Sun Jan 18 00:00:00 1970 PST
 | 
						|
  718 |   8 | 00718              | Mon Jan 19 00:00:00 1970 PST
 | 
						|
  719 | 509 | 00719_update9      | Tue Jan 20 00:00:00 1970 PST
 | 
						|
  720 |   0 | 00720              | Wed Jan 21 00:00:00 1970 PST
 | 
						|
  721 |   1 | 00721              | Thu Jan 22 00:00:00 1970 PST
 | 
						|
  723 | 303 | 00723_update3      | Sat Jan 24 00:00:00 1970 PST
 | 
						|
  724 |   4 | 00724              | Sun Jan 25 00:00:00 1970 PST
 | 
						|
  726 |   6 | 00726              | Tue Jan 27 00:00:00 1970 PST
 | 
						|
  727 | 407 | 00727_update7      | Wed Jan 28 00:00:00 1970 PST
 | 
						|
  728 |   8 | 00728              | Thu Jan 29 00:00:00 1970 PST
 | 
						|
  729 | 509 | 00729_update9      | Fri Jan 30 00:00:00 1970 PST
 | 
						|
  730 |   0 | 00730              | Sat Jan 31 00:00:00 1970 PST
 | 
						|
  731 |   1 | 00731              | Sun Feb 01 00:00:00 1970 PST
 | 
						|
  733 | 303 | 00733_update3      | Tue Feb 03 00:00:00 1970 PST
 | 
						|
  734 |   4 | 00734              | Wed Feb 04 00:00:00 1970 PST
 | 
						|
  736 |   6 | 00736              | Fri Feb 06 00:00:00 1970 PST
 | 
						|
  737 | 407 | 00737_update7      | Sat Feb 07 00:00:00 1970 PST
 | 
						|
  738 |   8 | 00738              | Sun Feb 08 00:00:00 1970 PST
 | 
						|
  739 | 509 | 00739_update9      | Mon Feb 09 00:00:00 1970 PST
 | 
						|
  740 |   0 | 00740              | Tue Feb 10 00:00:00 1970 PST
 | 
						|
  741 |   1 | 00741              | Wed Feb 11 00:00:00 1970 PST
 | 
						|
  743 | 303 | 00743_update3      | Fri Feb 13 00:00:00 1970 PST
 | 
						|
  744 |   4 | 00744              | Sat Feb 14 00:00:00 1970 PST
 | 
						|
  746 |   6 | 00746              | Mon Feb 16 00:00:00 1970 PST
 | 
						|
  747 | 407 | 00747_update7      | Tue Feb 17 00:00:00 1970 PST
 | 
						|
  748 |   8 | 00748              | Wed Feb 18 00:00:00 1970 PST
 | 
						|
  749 | 509 | 00749_update9      | Thu Feb 19 00:00:00 1970 PST
 | 
						|
  750 |   0 | 00750              | Fri Feb 20 00:00:00 1970 PST
 | 
						|
  751 |   1 | 00751              | Sat Feb 21 00:00:00 1970 PST
 | 
						|
  753 | 303 | 00753_update3      | Mon Feb 23 00:00:00 1970 PST
 | 
						|
  754 |   4 | 00754              | Tue Feb 24 00:00:00 1970 PST
 | 
						|
  756 |   6 | 00756              | Thu Feb 26 00:00:00 1970 PST
 | 
						|
  757 | 407 | 00757_update7      | Fri Feb 27 00:00:00 1970 PST
 | 
						|
  758 |   8 | 00758              | Sat Feb 28 00:00:00 1970 PST
 | 
						|
  759 | 509 | 00759_update9      | Sun Mar 01 00:00:00 1970 PST
 | 
						|
  760 |   0 | 00760              | Mon Mar 02 00:00:00 1970 PST
 | 
						|
  761 |   1 | 00761              | Tue Mar 03 00:00:00 1970 PST
 | 
						|
  763 | 303 | 00763_update3      | Thu Mar 05 00:00:00 1970 PST
 | 
						|
  764 |   4 | 00764              | Fri Mar 06 00:00:00 1970 PST
 | 
						|
  766 |   6 | 00766              | Sun Mar 08 00:00:00 1970 PST
 | 
						|
  767 | 407 | 00767_update7      | Mon Mar 09 00:00:00 1970 PST
 | 
						|
  768 |   8 | 00768              | Tue Mar 10 00:00:00 1970 PST
 | 
						|
  769 | 509 | 00769_update9      | Wed Mar 11 00:00:00 1970 PST
 | 
						|
  770 |   0 | 00770              | Thu Mar 12 00:00:00 1970 PST
 | 
						|
  771 |   1 | 00771              | Fri Mar 13 00:00:00 1970 PST
 | 
						|
  773 | 303 | 00773_update3      | Sun Mar 15 00:00:00 1970 PST
 | 
						|
  774 |   4 | 00774              | Mon Mar 16 00:00:00 1970 PST
 | 
						|
  776 |   6 | 00776              | Wed Mar 18 00:00:00 1970 PST
 | 
						|
  777 | 407 | 00777_update7      | Thu Mar 19 00:00:00 1970 PST
 | 
						|
  778 |   8 | 00778              | Fri Mar 20 00:00:00 1970 PST
 | 
						|
  779 | 509 | 00779_update9      | Sat Mar 21 00:00:00 1970 PST
 | 
						|
  780 |   0 | 00780              | Sun Mar 22 00:00:00 1970 PST
 | 
						|
  781 |   1 | 00781              | Mon Mar 23 00:00:00 1970 PST
 | 
						|
  783 | 303 | 00783_update3      | Wed Mar 25 00:00:00 1970 PST
 | 
						|
  784 |   4 | 00784              | Thu Mar 26 00:00:00 1970 PST
 | 
						|
  786 |   6 | 00786              | Sat Mar 28 00:00:00 1970 PST
 | 
						|
  787 | 407 | 00787_update7      | Sun Mar 29 00:00:00 1970 PST
 | 
						|
  788 |   8 | 00788              | Mon Mar 30 00:00:00 1970 PST
 | 
						|
  789 | 509 | 00789_update9      | Tue Mar 31 00:00:00 1970 PST
 | 
						|
  790 |   0 | 00790              | Wed Apr 01 00:00:00 1970 PST
 | 
						|
  791 |   1 | 00791              | Thu Apr 02 00:00:00 1970 PST
 | 
						|
  793 | 303 | 00793_update3      | Sat Apr 04 00:00:00 1970 PST
 | 
						|
  794 |   4 | 00794              | Sun Apr 05 00:00:00 1970 PST
 | 
						|
  796 |   6 | 00796              | Tue Apr 07 00:00:00 1970 PST
 | 
						|
  797 | 407 | 00797_update7      | Wed Apr 08 00:00:00 1970 PST
 | 
						|
  798 |   8 | 00798              | Thu Apr 09 00:00:00 1970 PST
 | 
						|
  799 | 509 | 00799_update9      | Fri Apr 10 00:00:00 1970 PST
 | 
						|
  800 |   0 | 00800              | Thu Jan 01 00:00:00 1970 PST
 | 
						|
  801 |   1 | 00801              | Fri Jan 02 00:00:00 1970 PST
 | 
						|
  803 | 303 | 00803_update3      | Sun Jan 04 00:00:00 1970 PST
 | 
						|
  804 |   4 | 00804              | Mon Jan 05 00:00:00 1970 PST
 | 
						|
  806 |   6 | 00806              | Wed Jan 07 00:00:00 1970 PST
 | 
						|
  807 | 407 | 00807_update7      | Thu Jan 08 00:00:00 1970 PST
 | 
						|
  808 |   8 | 00808              | Fri Jan 09 00:00:00 1970 PST
 | 
						|
  809 | 509 | 00809_update9      | Sat Jan 10 00:00:00 1970 PST
 | 
						|
  810 |   0 | 00810              | Sun Jan 11 00:00:00 1970 PST
 | 
						|
  811 |   1 | 00811              | Mon Jan 12 00:00:00 1970 PST
 | 
						|
  813 | 303 | 00813_update3      | Wed Jan 14 00:00:00 1970 PST
 | 
						|
  814 |   4 | 00814              | Thu Jan 15 00:00:00 1970 PST
 | 
						|
  816 |   6 | 00816              | Sat Jan 17 00:00:00 1970 PST
 | 
						|
  817 | 407 | 00817_update7      | Sun Jan 18 00:00:00 1970 PST
 | 
						|
  818 |   8 | 00818              | Mon Jan 19 00:00:00 1970 PST
 | 
						|
  819 | 509 | 00819_update9      | Tue Jan 20 00:00:00 1970 PST
 | 
						|
  820 |   0 | 00820              | Wed Jan 21 00:00:00 1970 PST
 | 
						|
  821 |   1 | 00821              | Thu Jan 22 00:00:00 1970 PST
 | 
						|
  823 | 303 | 00823_update3      | Sat Jan 24 00:00:00 1970 PST
 | 
						|
  824 |   4 | 00824              | Sun Jan 25 00:00:00 1970 PST
 | 
						|
  826 |   6 | 00826              | Tue Jan 27 00:00:00 1970 PST
 | 
						|
  827 | 407 | 00827_update7      | Wed Jan 28 00:00:00 1970 PST
 | 
						|
  828 |   8 | 00828              | Thu Jan 29 00:00:00 1970 PST
 | 
						|
  829 | 509 | 00829_update9      | Fri Jan 30 00:00:00 1970 PST
 | 
						|
  830 |   0 | 00830              | Sat Jan 31 00:00:00 1970 PST
 | 
						|
  831 |   1 | 00831              | Sun Feb 01 00:00:00 1970 PST
 | 
						|
  833 | 303 | 00833_update3      | Tue Feb 03 00:00:00 1970 PST
 | 
						|
  834 |   4 | 00834              | Wed Feb 04 00:00:00 1970 PST
 | 
						|
  836 |   6 | 00836              | Fri Feb 06 00:00:00 1970 PST
 | 
						|
  837 | 407 | 00837_update7      | Sat Feb 07 00:00:00 1970 PST
 | 
						|
  838 |   8 | 00838              | Sun Feb 08 00:00:00 1970 PST
 | 
						|
  839 | 509 | 00839_update9      | Mon Feb 09 00:00:00 1970 PST
 | 
						|
  840 |   0 | 00840              | Tue Feb 10 00:00:00 1970 PST
 | 
						|
  841 |   1 | 00841              | Wed Feb 11 00:00:00 1970 PST
 | 
						|
  843 | 303 | 00843_update3      | Fri Feb 13 00:00:00 1970 PST
 | 
						|
  844 |   4 | 00844              | Sat Feb 14 00:00:00 1970 PST
 | 
						|
  846 |   6 | 00846              | Mon Feb 16 00:00:00 1970 PST
 | 
						|
  847 | 407 | 00847_update7      | Tue Feb 17 00:00:00 1970 PST
 | 
						|
  848 |   8 | 00848              | Wed Feb 18 00:00:00 1970 PST
 | 
						|
  849 | 509 | 00849_update9      | Thu Feb 19 00:00:00 1970 PST
 | 
						|
  850 |   0 | 00850              | Fri Feb 20 00:00:00 1970 PST
 | 
						|
  851 |   1 | 00851              | Sat Feb 21 00:00:00 1970 PST
 | 
						|
  853 | 303 | 00853_update3      | Mon Feb 23 00:00:00 1970 PST
 | 
						|
  854 |   4 | 00854              | Tue Feb 24 00:00:00 1970 PST
 | 
						|
  856 |   6 | 00856              | Thu Feb 26 00:00:00 1970 PST
 | 
						|
  857 | 407 | 00857_update7      | Fri Feb 27 00:00:00 1970 PST
 | 
						|
  858 |   8 | 00858              | Sat Feb 28 00:00:00 1970 PST
 | 
						|
  859 | 509 | 00859_update9      | Sun Mar 01 00:00:00 1970 PST
 | 
						|
  860 |   0 | 00860              | Mon Mar 02 00:00:00 1970 PST
 | 
						|
  861 |   1 | 00861              | Tue Mar 03 00:00:00 1970 PST
 | 
						|
  863 | 303 | 00863_update3      | Thu Mar 05 00:00:00 1970 PST
 | 
						|
  864 |   4 | 00864              | Fri Mar 06 00:00:00 1970 PST
 | 
						|
  866 |   6 | 00866              | Sun Mar 08 00:00:00 1970 PST
 | 
						|
  867 | 407 | 00867_update7      | Mon Mar 09 00:00:00 1970 PST
 | 
						|
  868 |   8 | 00868              | Tue Mar 10 00:00:00 1970 PST
 | 
						|
  869 | 509 | 00869_update9      | Wed Mar 11 00:00:00 1970 PST
 | 
						|
  870 |   0 | 00870              | Thu Mar 12 00:00:00 1970 PST
 | 
						|
  871 |   1 | 00871              | Fri Mar 13 00:00:00 1970 PST
 | 
						|
  873 | 303 | 00873_update3      | Sun Mar 15 00:00:00 1970 PST
 | 
						|
  874 |   4 | 00874              | Mon Mar 16 00:00:00 1970 PST
 | 
						|
  876 |   6 | 00876              | Wed Mar 18 00:00:00 1970 PST
 | 
						|
  877 | 407 | 00877_update7      | Thu Mar 19 00:00:00 1970 PST
 | 
						|
  878 |   8 | 00878              | Fri Mar 20 00:00:00 1970 PST
 | 
						|
  879 | 509 | 00879_update9      | Sat Mar 21 00:00:00 1970 PST
 | 
						|
  880 |   0 | 00880              | Sun Mar 22 00:00:00 1970 PST
 | 
						|
  881 |   1 | 00881              | Mon Mar 23 00:00:00 1970 PST
 | 
						|
  883 | 303 | 00883_update3      | Wed Mar 25 00:00:00 1970 PST
 | 
						|
  884 |   4 | 00884              | Thu Mar 26 00:00:00 1970 PST
 | 
						|
  886 |   6 | 00886              | Sat Mar 28 00:00:00 1970 PST
 | 
						|
  887 | 407 | 00887_update7      | Sun Mar 29 00:00:00 1970 PST
 | 
						|
  888 |   8 | 00888              | Mon Mar 30 00:00:00 1970 PST
 | 
						|
  889 | 509 | 00889_update9      | Tue Mar 31 00:00:00 1970 PST
 | 
						|
  890 |   0 | 00890              | Wed Apr 01 00:00:00 1970 PST
 | 
						|
  891 |   1 | 00891              | Thu Apr 02 00:00:00 1970 PST
 | 
						|
  893 | 303 | 00893_update3      | Sat Apr 04 00:00:00 1970 PST
 | 
						|
  894 |   4 | 00894              | Sun Apr 05 00:00:00 1970 PST
 | 
						|
  896 |   6 | 00896              | Tue Apr 07 00:00:00 1970 PST
 | 
						|
  897 | 407 | 00897_update7      | Wed Apr 08 00:00:00 1970 PST
 | 
						|
  898 |   8 | 00898              | Thu Apr 09 00:00:00 1970 PST
 | 
						|
  899 | 509 | 00899_update9      | Fri Apr 10 00:00:00 1970 PST
 | 
						|
  900 |   0 | 00900              | Thu Jan 01 00:00:00 1970 PST
 | 
						|
  901 |   1 | 00901              | Fri Jan 02 00:00:00 1970 PST
 | 
						|
  903 | 303 | 00903_update3      | Sun Jan 04 00:00:00 1970 PST
 | 
						|
  904 |   4 | 00904              | Mon Jan 05 00:00:00 1970 PST
 | 
						|
  906 |   6 | 00906              | Wed Jan 07 00:00:00 1970 PST
 | 
						|
  907 | 407 | 00907_update7      | Thu Jan 08 00:00:00 1970 PST
 | 
						|
  908 |   8 | 00908              | Fri Jan 09 00:00:00 1970 PST
 | 
						|
  909 | 509 | 00909_update9      | Sat Jan 10 00:00:00 1970 PST
 | 
						|
  910 |   0 | 00910              | Sun Jan 11 00:00:00 1970 PST
 | 
						|
  911 |   1 | 00911              | Mon Jan 12 00:00:00 1970 PST
 | 
						|
  913 | 303 | 00913_update3      | Wed Jan 14 00:00:00 1970 PST
 | 
						|
  914 |   4 | 00914              | Thu Jan 15 00:00:00 1970 PST
 | 
						|
  916 |   6 | 00916              | Sat Jan 17 00:00:00 1970 PST
 | 
						|
  917 | 407 | 00917_update7      | Sun Jan 18 00:00:00 1970 PST
 | 
						|
  918 |   8 | 00918              | Mon Jan 19 00:00:00 1970 PST
 | 
						|
  919 | 509 | 00919_update9      | Tue Jan 20 00:00:00 1970 PST
 | 
						|
  920 |   0 | 00920              | Wed Jan 21 00:00:00 1970 PST
 | 
						|
  921 |   1 | 00921              | Thu Jan 22 00:00:00 1970 PST
 | 
						|
  923 | 303 | 00923_update3      | Sat Jan 24 00:00:00 1970 PST
 | 
						|
  924 |   4 | 00924              | Sun Jan 25 00:00:00 1970 PST
 | 
						|
  926 |   6 | 00926              | Tue Jan 27 00:00:00 1970 PST
 | 
						|
  927 | 407 | 00927_update7      | Wed Jan 28 00:00:00 1970 PST
 | 
						|
  928 |   8 | 00928              | Thu Jan 29 00:00:00 1970 PST
 | 
						|
  929 | 509 | 00929_update9      | Fri Jan 30 00:00:00 1970 PST
 | 
						|
  930 |   0 | 00930              | Sat Jan 31 00:00:00 1970 PST
 | 
						|
  931 |   1 | 00931              | Sun Feb 01 00:00:00 1970 PST
 | 
						|
  933 | 303 | 00933_update3      | Tue Feb 03 00:00:00 1970 PST
 | 
						|
  934 |   4 | 00934              | Wed Feb 04 00:00:00 1970 PST
 | 
						|
  936 |   6 | 00936              | Fri Feb 06 00:00:00 1970 PST
 | 
						|
  937 | 407 | 00937_update7      | Sat Feb 07 00:00:00 1970 PST
 | 
						|
  938 |   8 | 00938              | Sun Feb 08 00:00:00 1970 PST
 | 
						|
  939 | 509 | 00939_update9      | Mon Feb 09 00:00:00 1970 PST
 | 
						|
  940 |   0 | 00940              | Tue Feb 10 00:00:00 1970 PST
 | 
						|
  941 |   1 | 00941              | Wed Feb 11 00:00:00 1970 PST
 | 
						|
  943 | 303 | 00943_update3      | Fri Feb 13 00:00:00 1970 PST
 | 
						|
  944 |   4 | 00944              | Sat Feb 14 00:00:00 1970 PST
 | 
						|
  946 |   6 | 00946              | Mon Feb 16 00:00:00 1970 PST
 | 
						|
  947 | 407 | 00947_update7      | Tue Feb 17 00:00:00 1970 PST
 | 
						|
  948 |   8 | 00948              | Wed Feb 18 00:00:00 1970 PST
 | 
						|
  949 | 509 | 00949_update9      | Thu Feb 19 00:00:00 1970 PST
 | 
						|
  950 |   0 | 00950              | Fri Feb 20 00:00:00 1970 PST
 | 
						|
  951 |   1 | 00951              | Sat Feb 21 00:00:00 1970 PST
 | 
						|
  953 | 303 | 00953_update3      | Mon Feb 23 00:00:00 1970 PST
 | 
						|
  954 |   4 | 00954              | Tue Feb 24 00:00:00 1970 PST
 | 
						|
  956 |   6 | 00956              | Thu Feb 26 00:00:00 1970 PST
 | 
						|
  957 | 407 | 00957_update7      | Fri Feb 27 00:00:00 1970 PST
 | 
						|
  958 |   8 | 00958              | Sat Feb 28 00:00:00 1970 PST
 | 
						|
  959 | 509 | 00959_update9      | Sun Mar 01 00:00:00 1970 PST
 | 
						|
  960 |   0 | 00960              | Mon Mar 02 00:00:00 1970 PST
 | 
						|
  961 |   1 | 00961              | Tue Mar 03 00:00:00 1970 PST
 | 
						|
  963 | 303 | 00963_update3      | Thu Mar 05 00:00:00 1970 PST
 | 
						|
  964 |   4 | 00964              | Fri Mar 06 00:00:00 1970 PST
 | 
						|
  966 |   6 | 00966              | Sun Mar 08 00:00:00 1970 PST
 | 
						|
  967 | 407 | 00967_update7      | Mon Mar 09 00:00:00 1970 PST
 | 
						|
  968 |   8 | 00968              | Tue Mar 10 00:00:00 1970 PST
 | 
						|
  969 | 509 | 00969_update9      | Wed Mar 11 00:00:00 1970 PST
 | 
						|
  970 |   0 | 00970              | Thu Mar 12 00:00:00 1970 PST
 | 
						|
  971 |   1 | 00971              | Fri Mar 13 00:00:00 1970 PST
 | 
						|
  973 | 303 | 00973_update3      | Sun Mar 15 00:00:00 1970 PST
 | 
						|
  974 |   4 | 00974              | Mon Mar 16 00:00:00 1970 PST
 | 
						|
  976 |   6 | 00976              | Wed Mar 18 00:00:00 1970 PST
 | 
						|
  977 | 407 | 00977_update7      | Thu Mar 19 00:00:00 1970 PST
 | 
						|
  978 |   8 | 00978              | Fri Mar 20 00:00:00 1970 PST
 | 
						|
  979 | 509 | 00979_update9      | Sat Mar 21 00:00:00 1970 PST
 | 
						|
  980 |   0 | 00980              | Sun Mar 22 00:00:00 1970 PST
 | 
						|
  981 |   1 | 00981              | Mon Mar 23 00:00:00 1970 PST
 | 
						|
  983 | 303 | 00983_update3      | Wed Mar 25 00:00:00 1970 PST
 | 
						|
  984 |   4 | 00984              | Thu Mar 26 00:00:00 1970 PST
 | 
						|
  986 |   6 | 00986              | Sat Mar 28 00:00:00 1970 PST
 | 
						|
  987 | 407 | 00987_update7      | Sun Mar 29 00:00:00 1970 PST
 | 
						|
  988 |   8 | 00988              | Mon Mar 30 00:00:00 1970 PST
 | 
						|
  989 | 509 | 00989_update9      | Tue Mar 31 00:00:00 1970 PST
 | 
						|
  990 |   0 | 00990              | Wed Apr 01 00:00:00 1970 PST
 | 
						|
  991 |   1 | 00991              | Thu Apr 02 00:00:00 1970 PST
 | 
						|
  993 | 303 | 00993_update3      | Sat Apr 04 00:00:00 1970 PST
 | 
						|
  994 |   4 | 00994              | Sun Apr 05 00:00:00 1970 PST
 | 
						|
  996 |   6 | 00996              | Tue Apr 07 00:00:00 1970 PST
 | 
						|
  997 | 407 | 00997_update7      | Wed Apr 08 00:00:00 1970 PST
 | 
						|
  998 |   8 | 00998              | Thu Apr 09 00:00:00 1970 PST
 | 
						|
  999 | 509 | 00999_update9      | Fri Apr 10 00:00:00 1970 PST
 | 
						|
 1000 |   0 | 01000              | Thu Jan 01 00:00:00 1970 PST
 | 
						|
 1001 | 101 | 0000100001         | 
 | 
						|
 1003 | 403 | 0000300003_update3 | 
 | 
						|
 1004 | 104 | 0000400004         | 
 | 
						|
 1006 | 106 | 0000600006         | 
 | 
						|
 1007 | 507 | 0000700007_update7 | 
 | 
						|
 1008 | 108 | 0000800008         | 
 | 
						|
 1009 | 609 | 0000900009_update9 | 
 | 
						|
 1010 | 100 | 0001000010         | 
 | 
						|
 1011 | 101 | 0001100011         | 
 | 
						|
 1013 | 403 | 0001300013_update3 | 
 | 
						|
 1014 | 104 | 0001400014         | 
 | 
						|
 1016 | 106 | 0001600016         | 
 | 
						|
 1017 | 507 | 0001700017_update7 | 
 | 
						|
 1018 | 108 | 0001800018         | 
 | 
						|
 1019 | 609 | 0001900019_update9 | 
 | 
						|
 1020 | 100 | 0002000020         | 
 | 
						|
 1101 | 201 | aaa                | 
 | 
						|
 1103 | 503 | ccc_update3        | 
 | 
						|
 1104 | 204 | ddd                | 
 | 
						|
(819 rows)
 | 
						|
 | 
						|
-- Test that trigger on remote table works as expected
 | 
						|
CREATE OR REPLACE FUNCTION "S 1".F_BRTRIG() RETURNS trigger AS $$
 | 
						|
BEGIN
 | 
						|
    NEW.c3 = NEW.c3 || '_trig_update';
 | 
						|
    RETURN NEW;
 | 
						|
END;
 | 
						|
$$ LANGUAGE plpgsql;
 | 
						|
CREATE TRIGGER t1_br_insert BEFORE INSERT OR UPDATE
 | 
						|
    ON "S 1"."T 1" FOR EACH ROW EXECUTE PROCEDURE "S 1".F_BRTRIG();
 | 
						|
INSERT INTO ft2 (c1,c2,c3) VALUES (1208, 818, 'fff') RETURNING *;
 | 
						|
  c1  | c2  |       c3        | c4 | c5 | c6 |     c7     | c8 
 | 
						|
------+-----+-----------------+----+----+----+------------+----
 | 
						|
 1208 | 818 | fff_trig_update |    |    |    | ft2        | 
 | 
						|
(1 row)
 | 
						|
 | 
						|
INSERT INTO ft2 (c1,c2,c3,c6) VALUES (1218, 818, 'ggg', '(--;') RETURNING *;
 | 
						|
  c1  | c2  |       c3        | c4 | c5 |  c6  |     c7     | c8 
 | 
						|
------+-----+-----------------+----+----+------+------------+----
 | 
						|
 1218 | 818 | ggg_trig_update |    |    | (--; | ft2        | 
 | 
						|
(1 row)
 | 
						|
 | 
						|
UPDATE ft2 SET c2 = c2 + 600 WHERE c1 % 10 = 8 AND c1 < 1200 RETURNING *;
 | 
						|
  c1  | c2  |           c3           |              c4              |            c5            | c6 |     c7     | c8  
 | 
						|
------+-----+------------------------+------------------------------+--------------------------+----+------------+-----
 | 
						|
    8 | 608 | 00008_trig_update      | Fri Jan 09 00:00:00 1970 PST | Fri Jan 09 00:00:00 1970 | 8  | 8          | foo
 | 
						|
   18 | 608 | 00018_trig_update      | Mon Jan 19 00:00:00 1970 PST | Mon Jan 19 00:00:00 1970 | 8  | 8          | foo
 | 
						|
   28 | 608 | 00028_trig_update      | Thu Jan 29 00:00:00 1970 PST | Thu Jan 29 00:00:00 1970 | 8  | 8          | foo
 | 
						|
   38 | 608 | 00038_trig_update      | Sun Feb 08 00:00:00 1970 PST | Sun Feb 08 00:00:00 1970 | 8  | 8          | foo
 | 
						|
   48 | 608 | 00048_trig_update      | Wed Feb 18 00:00:00 1970 PST | Wed Feb 18 00:00:00 1970 | 8  | 8          | foo
 | 
						|
   58 | 608 | 00058_trig_update      | Sat Feb 28 00:00:00 1970 PST | Sat Feb 28 00:00:00 1970 | 8  | 8          | foo
 | 
						|
   68 | 608 | 00068_trig_update      | Tue Mar 10 00:00:00 1970 PST | Tue Mar 10 00:00:00 1970 | 8  | 8          | foo
 | 
						|
   78 | 608 | 00078_trig_update      | Fri Mar 20 00:00:00 1970 PST | Fri Mar 20 00:00:00 1970 | 8  | 8          | foo
 | 
						|
   88 | 608 | 00088_trig_update      | Mon Mar 30 00:00:00 1970 PST | Mon Mar 30 00:00:00 1970 | 8  | 8          | foo
 | 
						|
   98 | 608 | 00098_trig_update      | Thu Apr 09 00:00:00 1970 PST | Thu Apr 09 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  108 | 608 | 00108_trig_update      | Fri Jan 09 00:00:00 1970 PST | Fri Jan 09 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  118 | 608 | 00118_trig_update      | Mon Jan 19 00:00:00 1970 PST | Mon Jan 19 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  128 | 608 | 00128_trig_update      | Thu Jan 29 00:00:00 1970 PST | Thu Jan 29 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  138 | 608 | 00138_trig_update      | Sun Feb 08 00:00:00 1970 PST | Sun Feb 08 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  148 | 608 | 00148_trig_update      | Wed Feb 18 00:00:00 1970 PST | Wed Feb 18 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  158 | 608 | 00158_trig_update      | Sat Feb 28 00:00:00 1970 PST | Sat Feb 28 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  168 | 608 | 00168_trig_update      | Tue Mar 10 00:00:00 1970 PST | Tue Mar 10 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  178 | 608 | 00178_trig_update      | Fri Mar 20 00:00:00 1970 PST | Fri Mar 20 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  188 | 608 | 00188_trig_update      | Mon Mar 30 00:00:00 1970 PST | Mon Mar 30 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  198 | 608 | 00198_trig_update      | Thu Apr 09 00:00:00 1970 PST | Thu Apr 09 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  208 | 608 | 00208_trig_update      | Fri Jan 09 00:00:00 1970 PST | Fri Jan 09 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  218 | 608 | 00218_trig_update      | Mon Jan 19 00:00:00 1970 PST | Mon Jan 19 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  228 | 608 | 00228_trig_update      | Thu Jan 29 00:00:00 1970 PST | Thu Jan 29 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  238 | 608 | 00238_trig_update      | Sun Feb 08 00:00:00 1970 PST | Sun Feb 08 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  248 | 608 | 00248_trig_update      | Wed Feb 18 00:00:00 1970 PST | Wed Feb 18 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  258 | 608 | 00258_trig_update      | Sat Feb 28 00:00:00 1970 PST | Sat Feb 28 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  268 | 608 | 00268_trig_update      | Tue Mar 10 00:00:00 1970 PST | Tue Mar 10 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  278 | 608 | 00278_trig_update      | Fri Mar 20 00:00:00 1970 PST | Fri Mar 20 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  288 | 608 | 00288_trig_update      | Mon Mar 30 00:00:00 1970 PST | Mon Mar 30 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  298 | 608 | 00298_trig_update      | Thu Apr 09 00:00:00 1970 PST | Thu Apr 09 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  308 | 608 | 00308_trig_update      | Fri Jan 09 00:00:00 1970 PST | Fri Jan 09 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  318 | 608 | 00318_trig_update      | Mon Jan 19 00:00:00 1970 PST | Mon Jan 19 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  328 | 608 | 00328_trig_update      | Thu Jan 29 00:00:00 1970 PST | Thu Jan 29 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  338 | 608 | 00338_trig_update      | Sun Feb 08 00:00:00 1970 PST | Sun Feb 08 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  348 | 608 | 00348_trig_update      | Wed Feb 18 00:00:00 1970 PST | Wed Feb 18 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  358 | 608 | 00358_trig_update      | Sat Feb 28 00:00:00 1970 PST | Sat Feb 28 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  368 | 608 | 00368_trig_update      | Tue Mar 10 00:00:00 1970 PST | Tue Mar 10 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  378 | 608 | 00378_trig_update      | Fri Mar 20 00:00:00 1970 PST | Fri Mar 20 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  388 | 608 | 00388_trig_update      | Mon Mar 30 00:00:00 1970 PST | Mon Mar 30 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  398 | 608 | 00398_trig_update      | Thu Apr 09 00:00:00 1970 PST | Thu Apr 09 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  408 | 608 | 00408_trig_update      | Fri Jan 09 00:00:00 1970 PST | Fri Jan 09 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  418 | 608 | 00418_trig_update      | Mon Jan 19 00:00:00 1970 PST | Mon Jan 19 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  428 | 608 | 00428_trig_update      | Thu Jan 29 00:00:00 1970 PST | Thu Jan 29 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  438 | 608 | 00438_trig_update      | Sun Feb 08 00:00:00 1970 PST | Sun Feb 08 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  448 | 608 | 00448_trig_update      | Wed Feb 18 00:00:00 1970 PST | Wed Feb 18 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  458 | 608 | 00458_trig_update      | Sat Feb 28 00:00:00 1970 PST | Sat Feb 28 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  468 | 608 | 00468_trig_update      | Tue Mar 10 00:00:00 1970 PST | Tue Mar 10 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  478 | 608 | 00478_trig_update      | Fri Mar 20 00:00:00 1970 PST | Fri Mar 20 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  488 | 608 | 00488_trig_update      | Mon Mar 30 00:00:00 1970 PST | Mon Mar 30 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  498 | 608 | 00498_trig_update      | Thu Apr 09 00:00:00 1970 PST | Thu Apr 09 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  508 | 608 | 00508_trig_update      | Fri Jan 09 00:00:00 1970 PST | Fri Jan 09 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  518 | 608 | 00518_trig_update      | Mon Jan 19 00:00:00 1970 PST | Mon Jan 19 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  528 | 608 | 00528_trig_update      | Thu Jan 29 00:00:00 1970 PST | Thu Jan 29 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  538 | 608 | 00538_trig_update      | Sun Feb 08 00:00:00 1970 PST | Sun Feb 08 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  548 | 608 | 00548_trig_update      | Wed Feb 18 00:00:00 1970 PST | Wed Feb 18 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  558 | 608 | 00558_trig_update      | Sat Feb 28 00:00:00 1970 PST | Sat Feb 28 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  568 | 608 | 00568_trig_update      | Tue Mar 10 00:00:00 1970 PST | Tue Mar 10 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  578 | 608 | 00578_trig_update      | Fri Mar 20 00:00:00 1970 PST | Fri Mar 20 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  588 | 608 | 00588_trig_update      | Mon Mar 30 00:00:00 1970 PST | Mon Mar 30 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  598 | 608 | 00598_trig_update      | Thu Apr 09 00:00:00 1970 PST | Thu Apr 09 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  608 | 608 | 00608_trig_update      | Fri Jan 09 00:00:00 1970 PST | Fri Jan 09 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  618 | 608 | 00618_trig_update      | Mon Jan 19 00:00:00 1970 PST | Mon Jan 19 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  628 | 608 | 00628_trig_update      | Thu Jan 29 00:00:00 1970 PST | Thu Jan 29 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  638 | 608 | 00638_trig_update      | Sun Feb 08 00:00:00 1970 PST | Sun Feb 08 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  648 | 608 | 00648_trig_update      | Wed Feb 18 00:00:00 1970 PST | Wed Feb 18 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  658 | 608 | 00658_trig_update      | Sat Feb 28 00:00:00 1970 PST | Sat Feb 28 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  668 | 608 | 00668_trig_update      | Tue Mar 10 00:00:00 1970 PST | Tue Mar 10 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  678 | 608 | 00678_trig_update      | Fri Mar 20 00:00:00 1970 PST | Fri Mar 20 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  688 | 608 | 00688_trig_update      | Mon Mar 30 00:00:00 1970 PST | Mon Mar 30 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  698 | 608 | 00698_trig_update      | Thu Apr 09 00:00:00 1970 PST | Thu Apr 09 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  708 | 608 | 00708_trig_update      | Fri Jan 09 00:00:00 1970 PST | Fri Jan 09 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  718 | 608 | 00718_trig_update      | Mon Jan 19 00:00:00 1970 PST | Mon Jan 19 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  728 | 608 | 00728_trig_update      | Thu Jan 29 00:00:00 1970 PST | Thu Jan 29 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  738 | 608 | 00738_trig_update      | Sun Feb 08 00:00:00 1970 PST | Sun Feb 08 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  748 | 608 | 00748_trig_update      | Wed Feb 18 00:00:00 1970 PST | Wed Feb 18 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  758 | 608 | 00758_trig_update      | Sat Feb 28 00:00:00 1970 PST | Sat Feb 28 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  768 | 608 | 00768_trig_update      | Tue Mar 10 00:00:00 1970 PST | Tue Mar 10 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  778 | 608 | 00778_trig_update      | Fri Mar 20 00:00:00 1970 PST | Fri Mar 20 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  788 | 608 | 00788_trig_update      | Mon Mar 30 00:00:00 1970 PST | Mon Mar 30 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  798 | 608 | 00798_trig_update      | Thu Apr 09 00:00:00 1970 PST | Thu Apr 09 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  808 | 608 | 00808_trig_update      | Fri Jan 09 00:00:00 1970 PST | Fri Jan 09 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  818 | 608 | 00818_trig_update      | Mon Jan 19 00:00:00 1970 PST | Mon Jan 19 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  828 | 608 | 00828_trig_update      | Thu Jan 29 00:00:00 1970 PST | Thu Jan 29 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  838 | 608 | 00838_trig_update      | Sun Feb 08 00:00:00 1970 PST | Sun Feb 08 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  848 | 608 | 00848_trig_update      | Wed Feb 18 00:00:00 1970 PST | Wed Feb 18 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  858 | 608 | 00858_trig_update      | Sat Feb 28 00:00:00 1970 PST | Sat Feb 28 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  868 | 608 | 00868_trig_update      | Tue Mar 10 00:00:00 1970 PST | Tue Mar 10 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  878 | 608 | 00878_trig_update      | Fri Mar 20 00:00:00 1970 PST | Fri Mar 20 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  888 | 608 | 00888_trig_update      | Mon Mar 30 00:00:00 1970 PST | Mon Mar 30 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  898 | 608 | 00898_trig_update      | Thu Apr 09 00:00:00 1970 PST | Thu Apr 09 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  908 | 608 | 00908_trig_update      | Fri Jan 09 00:00:00 1970 PST | Fri Jan 09 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  918 | 608 | 00918_trig_update      | Mon Jan 19 00:00:00 1970 PST | Mon Jan 19 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  928 | 608 | 00928_trig_update      | Thu Jan 29 00:00:00 1970 PST | Thu Jan 29 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  938 | 608 | 00938_trig_update      | Sun Feb 08 00:00:00 1970 PST | Sun Feb 08 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  948 | 608 | 00948_trig_update      | Wed Feb 18 00:00:00 1970 PST | Wed Feb 18 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  958 | 608 | 00958_trig_update      | Sat Feb 28 00:00:00 1970 PST | Sat Feb 28 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  968 | 608 | 00968_trig_update      | Tue Mar 10 00:00:00 1970 PST | Tue Mar 10 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  978 | 608 | 00978_trig_update      | Fri Mar 20 00:00:00 1970 PST | Fri Mar 20 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  988 | 608 | 00988_trig_update      | Mon Mar 30 00:00:00 1970 PST | Mon Mar 30 00:00:00 1970 | 8  | 8          | foo
 | 
						|
  998 | 608 | 00998_trig_update      | Thu Apr 09 00:00:00 1970 PST | Thu Apr 09 00:00:00 1970 | 8  | 8          | foo
 | 
						|
 1008 | 708 | 0000800008_trig_update |                              |                          |    | ft2        | 
 | 
						|
 1018 | 708 | 0001800018_trig_update |                              |                          |    | ft2        | 
 | 
						|
(102 rows)
 | 
						|
 | 
						|
-- Test errors thrown on remote side during update
 | 
						|
ALTER TABLE "S 1"."T 1" ADD CONSTRAINT c2positive CHECK (c2 >= 0);
 | 
						|
INSERT INTO ft1(c1, c2) VALUES(11, 12);  -- duplicate key
 | 
						|
ERROR:  duplicate key value violates unique constraint "t1_pkey"
 | 
						|
DETAIL:  Key ("C 1")=(11) already exists.
 | 
						|
CONTEXT:  Remote SQL command: INSERT INTO "S 1"."T 1"("C 1", c2, c3, c4, c5, c6, c7, c8) VALUES ($1, $2, $3, $4, $5, $6, $7, $8)
 | 
						|
INSERT INTO ft1(c1, c2) VALUES(1111, -2);  -- c2positive
 | 
						|
ERROR:  new row for relation "T 1" violates check constraint "c2positive"
 | 
						|
DETAIL:  Failing row contains (1111, -2, null, null, null, null, ft1       , null).
 | 
						|
CONTEXT:  Remote SQL command: INSERT INTO "S 1"."T 1"("C 1", c2, c3, c4, c5, c6, c7, c8) VALUES ($1, $2, $3, $4, $5, $6, $7, $8)
 | 
						|
UPDATE ft1 SET c2 = -c2 WHERE c1 = 1;  -- c2positive
 | 
						|
ERROR:  new row for relation "T 1" violates check constraint "c2positive"
 | 
						|
DETAIL:  Failing row contains (1, -1, 00001_trig_update, 1970-01-02 08:00:00+00, 1970-01-02 00:00:00, 1, 1         , foo).
 | 
						|
CONTEXT:  Remote SQL command: UPDATE "S 1"."T 1" SET c2 = $2 WHERE ctid = $1
 | 
						|
-- Test savepoint/rollback behavior
 | 
						|
select c2, count(*) from ft2 where c2 < 500 group by 1 order by 1;
 | 
						|
 c2  | count 
 | 
						|
-----+-------
 | 
						|
   0 |   100
 | 
						|
   1 |   100
 | 
						|
   4 |   100
 | 
						|
   6 |   100
 | 
						|
 100 |     2
 | 
						|
 101 |     2
 | 
						|
 104 |     2
 | 
						|
 106 |     2
 | 
						|
 201 |     1
 | 
						|
 204 |     1
 | 
						|
 303 |   100
 | 
						|
 403 |     2
 | 
						|
 407 |   100
 | 
						|
(13 rows)
 | 
						|
 | 
						|
select c2, count(*) from "S 1"."T 1" where c2 < 500 group by 1 order by 1;
 | 
						|
 c2  | count 
 | 
						|
-----+-------
 | 
						|
   0 |   100
 | 
						|
   1 |   100
 | 
						|
   4 |   100
 | 
						|
   6 |   100
 | 
						|
 100 |     2
 | 
						|
 101 |     2
 | 
						|
 104 |     2
 | 
						|
 106 |     2
 | 
						|
 201 |     1
 | 
						|
 204 |     1
 | 
						|
 303 |   100
 | 
						|
 403 |     2
 | 
						|
 407 |   100
 | 
						|
(13 rows)
 | 
						|
 | 
						|
begin;
 | 
						|
update ft2 set c2 = 42 where c2 = 0;
 | 
						|
select c2, count(*) from ft2 where c2 < 500 group by 1 order by 1;
 | 
						|
 c2  | count 
 | 
						|
-----+-------
 | 
						|
   1 |   100
 | 
						|
   4 |   100
 | 
						|
   6 |   100
 | 
						|
  42 |   100
 | 
						|
 100 |     2
 | 
						|
 101 |     2
 | 
						|
 104 |     2
 | 
						|
 106 |     2
 | 
						|
 201 |     1
 | 
						|
 204 |     1
 | 
						|
 303 |   100
 | 
						|
 403 |     2
 | 
						|
 407 |   100
 | 
						|
(13 rows)
 | 
						|
 | 
						|
savepoint s1;
 | 
						|
update ft2 set c2 = 44 where c2 = 4;
 | 
						|
select c2, count(*) from ft2 where c2 < 500 group by 1 order by 1;
 | 
						|
 c2  | count 
 | 
						|
-----+-------
 | 
						|
   1 |   100
 | 
						|
   6 |   100
 | 
						|
  42 |   100
 | 
						|
  44 |   100
 | 
						|
 100 |     2
 | 
						|
 101 |     2
 | 
						|
 104 |     2
 | 
						|
 106 |     2
 | 
						|
 201 |     1
 | 
						|
 204 |     1
 | 
						|
 303 |   100
 | 
						|
 403 |     2
 | 
						|
 407 |   100
 | 
						|
(13 rows)
 | 
						|
 | 
						|
release savepoint s1;
 | 
						|
select c2, count(*) from ft2 where c2 < 500 group by 1 order by 1;
 | 
						|
 c2  | count 
 | 
						|
-----+-------
 | 
						|
   1 |   100
 | 
						|
   6 |   100
 | 
						|
  42 |   100
 | 
						|
  44 |   100
 | 
						|
 100 |     2
 | 
						|
 101 |     2
 | 
						|
 104 |     2
 | 
						|
 106 |     2
 | 
						|
 201 |     1
 | 
						|
 204 |     1
 | 
						|
 303 |   100
 | 
						|
 403 |     2
 | 
						|
 407 |   100
 | 
						|
(13 rows)
 | 
						|
 | 
						|
savepoint s2;
 | 
						|
update ft2 set c2 = 46 where c2 = 6;
 | 
						|
select c2, count(*) from ft2 where c2 < 500 group by 1 order by 1;
 | 
						|
 c2  | count 
 | 
						|
-----+-------
 | 
						|
   1 |   100
 | 
						|
  42 |   100
 | 
						|
  44 |   100
 | 
						|
  46 |   100
 | 
						|
 100 |     2
 | 
						|
 101 |     2
 | 
						|
 104 |     2
 | 
						|
 106 |     2
 | 
						|
 201 |     1
 | 
						|
 204 |     1
 | 
						|
 303 |   100
 | 
						|
 403 |     2
 | 
						|
 407 |   100
 | 
						|
(13 rows)
 | 
						|
 | 
						|
rollback to savepoint s2;
 | 
						|
select c2, count(*) from ft2 where c2 < 500 group by 1 order by 1;
 | 
						|
 c2  | count 
 | 
						|
-----+-------
 | 
						|
   1 |   100
 | 
						|
   6 |   100
 | 
						|
  42 |   100
 | 
						|
  44 |   100
 | 
						|
 100 |     2
 | 
						|
 101 |     2
 | 
						|
 104 |     2
 | 
						|
 106 |     2
 | 
						|
 201 |     1
 | 
						|
 204 |     1
 | 
						|
 303 |   100
 | 
						|
 403 |     2
 | 
						|
 407 |   100
 | 
						|
(13 rows)
 | 
						|
 | 
						|
release savepoint s2;
 | 
						|
select c2, count(*) from ft2 where c2 < 500 group by 1 order by 1;
 | 
						|
 c2  | count 
 | 
						|
-----+-------
 | 
						|
   1 |   100
 | 
						|
   6 |   100
 | 
						|
  42 |   100
 | 
						|
  44 |   100
 | 
						|
 100 |     2
 | 
						|
 101 |     2
 | 
						|
 104 |     2
 | 
						|
 106 |     2
 | 
						|
 201 |     1
 | 
						|
 204 |     1
 | 
						|
 303 |   100
 | 
						|
 403 |     2
 | 
						|
 407 |   100
 | 
						|
(13 rows)
 | 
						|
 | 
						|
savepoint s3;
 | 
						|
update ft2 set c2 = -2 where c2 = 42 and c1 = 10; -- fail on remote side
 | 
						|
ERROR:  new row for relation "T 1" violates check constraint "c2positive"
 | 
						|
DETAIL:  Failing row contains (10, -2, 00010_trig_update_trig_update, 1970-01-11 08:00:00+00, 1970-01-11 00:00:00, 0, 0         , foo).
 | 
						|
CONTEXT:  Remote SQL command: UPDATE "S 1"."T 1" SET c2 = $2 WHERE ctid = $1
 | 
						|
rollback to savepoint s3;
 | 
						|
select c2, count(*) from ft2 where c2 < 500 group by 1 order by 1;
 | 
						|
 c2  | count 
 | 
						|
-----+-------
 | 
						|
   1 |   100
 | 
						|
   6 |   100
 | 
						|
  42 |   100
 | 
						|
  44 |   100
 | 
						|
 100 |     2
 | 
						|
 101 |     2
 | 
						|
 104 |     2
 | 
						|
 106 |     2
 | 
						|
 201 |     1
 | 
						|
 204 |     1
 | 
						|
 303 |   100
 | 
						|
 403 |     2
 | 
						|
 407 |   100
 | 
						|
(13 rows)
 | 
						|
 | 
						|
release savepoint s3;
 | 
						|
select c2, count(*) from ft2 where c2 < 500 group by 1 order by 1;
 | 
						|
 c2  | count 
 | 
						|
-----+-------
 | 
						|
   1 |   100
 | 
						|
   6 |   100
 | 
						|
  42 |   100
 | 
						|
  44 |   100
 | 
						|
 100 |     2
 | 
						|
 101 |     2
 | 
						|
 104 |     2
 | 
						|
 106 |     2
 | 
						|
 201 |     1
 | 
						|
 204 |     1
 | 
						|
 303 |   100
 | 
						|
 403 |     2
 | 
						|
 407 |   100
 | 
						|
(13 rows)
 | 
						|
 | 
						|
-- none of the above is committed yet remotely
 | 
						|
select c2, count(*) from "S 1"."T 1" where c2 < 500 group by 1 order by 1;
 | 
						|
 c2  | count 
 | 
						|
-----+-------
 | 
						|
   0 |   100
 | 
						|
   1 |   100
 | 
						|
   4 |   100
 | 
						|
   6 |   100
 | 
						|
 100 |     2
 | 
						|
 101 |     2
 | 
						|
 104 |     2
 | 
						|
 106 |     2
 | 
						|
 201 |     1
 | 
						|
 204 |     1
 | 
						|
 303 |   100
 | 
						|
 403 |     2
 | 
						|
 407 |   100
 | 
						|
(13 rows)
 | 
						|
 | 
						|
commit;
 | 
						|
select c2, count(*) from ft2 where c2 < 500 group by 1 order by 1;
 | 
						|
 c2  | count 
 | 
						|
-----+-------
 | 
						|
   1 |   100
 | 
						|
   6 |   100
 | 
						|
  42 |   100
 | 
						|
  44 |   100
 | 
						|
 100 |     2
 | 
						|
 101 |     2
 | 
						|
 104 |     2
 | 
						|
 106 |     2
 | 
						|
 201 |     1
 | 
						|
 204 |     1
 | 
						|
 303 |   100
 | 
						|
 403 |     2
 | 
						|
 407 |   100
 | 
						|
(13 rows)
 | 
						|
 | 
						|
select c2, count(*) from "S 1"."T 1" where c2 < 500 group by 1 order by 1;
 | 
						|
 c2  | count 
 | 
						|
-----+-------
 | 
						|
   1 |   100
 | 
						|
   6 |   100
 | 
						|
  42 |   100
 | 
						|
  44 |   100
 | 
						|
 100 |     2
 | 
						|
 101 |     2
 | 
						|
 104 |     2
 | 
						|
 106 |     2
 | 
						|
 201 |     1
 | 
						|
 204 |     1
 | 
						|
 303 |   100
 | 
						|
 403 |     2
 | 
						|
 407 |   100
 | 
						|
(13 rows)
 | 
						|
 | 
						|
-- ===================================================================
 | 
						|
-- test serial columns (ie, sequence-based defaults)
 | 
						|
-- ===================================================================
 | 
						|
create table loc1 (f1 serial, f2 text);
 | 
						|
create foreign table rem1 (f1 serial, f2 text)
 | 
						|
  server loopback options(table_name 'loc1');
 | 
						|
select pg_catalog.setval('rem1_f1_seq', 10, false);
 | 
						|
 setval 
 | 
						|
--------
 | 
						|
     10
 | 
						|
(1 row)
 | 
						|
 | 
						|
insert into loc1(f2) values('hi');
 | 
						|
insert into rem1(f2) values('hi remote');
 | 
						|
insert into loc1(f2) values('bye');
 | 
						|
insert into rem1(f2) values('bye remote');
 | 
						|
select * from loc1;
 | 
						|
 f1 |     f2     
 | 
						|
----+------------
 | 
						|
  1 | hi
 | 
						|
 10 | hi remote
 | 
						|
  2 | bye
 | 
						|
 11 | bye remote
 | 
						|
(4 rows)
 | 
						|
 | 
						|
select * from rem1;
 | 
						|
 f1 |     f2     
 | 
						|
----+------------
 | 
						|
  1 | hi
 | 
						|
 10 | hi remote
 | 
						|
  2 | bye
 | 
						|
 11 | bye remote
 | 
						|
(4 rows)
 | 
						|
 |