*** pgsql_fdw.out.orig 2012-07-12 18:01:49.000000000 +0900 --- pgsql_fdw.out 2012-07-12 18:11:15.000000000 +0900 *************** *** 445,464 **** -- subquery using stable function (can't be pushed down) 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 EXTRACT(dow FROM c4) = 6) ORDER BY c1; EXPLAIN (COSTS false) EXECUTE st2(10, 20); ! QUERY PLAN ! ----------------------------------------------------------------------------------------------------------------------------------------------- Sort Sort Key: t1.c1 ! -> Hash Join ! Hash Cond: (t1.c3 = t2.c3) -> Foreign Scan on ft1 t1 Remote SQL: SELECT "C 1", c2, c3, c4, c5, c6, c7 FROM "S 1"."T 1" WHERE (("C 1" OPERATOR(pg_catalog.<) 20)) ! -> Hash ! -> HashAggregate ! -> Foreign Scan on ft2 t2 ! Filter: (date_part('dow'::text, c4) = 6::double precision) ! Remote SQL: SELECT "C 1", NULL, c3, c4, NULL, NULL, NULL FROM "S 1"."T 1" WHERE (("C 1" OPERATOR(pg_catalog.>) 10)) ! (11 rows) EXECUTE st2(10, 20); c1 | c2 | c3 | c4 | c5 | c6 | c7 --- 445,463 ---- -- subquery using stable function (can't be pushed down) 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 EXTRACT(dow FROM c4) = 6) ORDER BY c1; EXPLAIN (COSTS false) EXECUTE st2(10, 20); ! QUERY PLAN ! ----------------------------------------------------------------------------------------------------------------------------------------- Sort Sort Key: t1.c1 ! -> Nested Loop Semi Join ! Join Filter: (t1.c3 = t2.c3) -> Foreign Scan on ft1 t1 Remote SQL: SELECT "C 1", c2, c3, c4, c5, c6, c7 FROM "S 1"."T 1" WHERE (("C 1" OPERATOR(pg_catalog.<) 20)) ! -> Materialize ! -> Foreign Scan on ft2 t2 ! Filter: (date_part('dow'::text, c4) = 6::double precision) ! Remote SQL: SELECT "C 1", NULL, c3, c4, NULL, NULL, NULL FROM "S 1"."T 1" WHERE (("C 1" OPERATOR(pg_catalog.>) 10)) ! (10 rows) EXECUTE st2(10, 20); c1 | c2 | c3 | c4 | c5 | c6 | c7 *************** *** 574,580 **** -- =================================================================== ALTER FOREIGN TABLE ft1 ALTER COLUMN c5 TYPE int; SELECT * FROM ft1 WHERE c1 = 1; -- ERROR ! ERROR: invalid input syntax for integer: "1970-01-02 00:00:00" CONTEXT: column c5 of foreign table ft1 ALTER FOREIGN TABLE ft1 ALTER COLUMN c5 TYPE timestamp; -- =================================================================== --- 573,579 ---- -- =================================================================== ALTER FOREIGN TABLE ft1 ALTER COLUMN c5 TYPE int; SELECT * FROM ft1 WHERE c1 = 1; -- ERROR ! ERROR: invalid input syntax for integer: "Fri Jan 02 00:00:00 1970" CONTEXT: column c5 of foreign table ft1 ALTER FOREIGN TABLE ft1 ALTER COLUMN c5 TYPE timestamp; -- ===================================================================