Remote SQL: SELECT c1, c2, c3 FROM public.t1 WHERE ((c3 < now()) AND (c1 = 1) AND (c2 = 'foo'::text))
(3 rows)
+-- prepared statement
+PREPARE st(int) AS SELECT * FROM ft1 WHERE c1 > $1 ORDER BY c1;
+EXECUTE st(1);
+ c1 | c2 | c3
+----+-----+------------
+ 2 | bar | 01-02-1970
+ 3 | buz | 01-03-1970
+(2 rows)
+
+EXECUTE st(2);
+ c1 | c2 | c3
+----+-----+------------
+ 3 | buz | 01-03-1970
+(1 row)
+
+DEALLOCATE st;
-- clean up
DROP FOREIGN DATA WRAPPER postgresql_fdw CASCADE;
NOTICE: drop cascades to 6 other objects
-- WHERE clause push-down
SELECT * FROM ft1 WHERE c1 = 1 AND c2 = lower('FOO') AND c3 < now() and c3 < clock_timestamp();
EXPLAIN (COSTS FALSE) SELECT * FROM ft1 WHERE c1 = 1 AND c2 = lower('FOO') AND c3 < now() and c3 < clock_timestamp();
+-- prepared statement
+PREPARE st(int) AS SELECT * FROM ft1 WHERE c1 > $1 ORDER BY c1;
+EXECUTE st(1);
+EXECUTE st(2);
+DEALLOCATE st;
-- clean up
DROP FOREIGN DATA WRAPPER postgresql_fdw CASCADE;