diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2013-02-21 05:26:23 -0500 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2013-02-21 05:27:16 -0500 |
commit | d0d75c402217421b691050857eb3d7af82d0c770 (patch) | |
tree | 1d934b75b12e41c80520ce3aea6830e3bbe4b718 /contrib/postgres_fdw/postgres_fdw.h | |
parent | f435cd1d385859a0cdb1d70fccc21dde2b1ee116 (diff) | |
download | postgresql-d0d75c402217421b691050857eb3d7af82d0c770.tar.gz postgresql-d0d75c402217421b691050857eb3d7af82d0c770.zip |
Add postgres_fdw contrib module.
There's still a lot of room for improvement, but it basically works,
and we need this to be present before we can do anything much with the
writable-foreign-tables patch. So let's commit it and get on with testing.
Shigeru Hanada, reviewed by KaiGai Kohei and Tom Lane
Diffstat (limited to 'contrib/postgres_fdw/postgres_fdw.h')
-rw-r--r-- | contrib/postgres_fdw/postgres_fdw.h | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/contrib/postgres_fdw/postgres_fdw.h b/contrib/postgres_fdw/postgres_fdw.h new file mode 100644 index 00000000000..52d1d49b25e --- /dev/null +++ b/contrib/postgres_fdw/postgres_fdw.h @@ -0,0 +1,52 @@ +/*------------------------------------------------------------------------- + * + * postgres_fdw.h + * Foreign-data wrapper for remote PostgreSQL servers + * + * Portions Copyright (c) 2012-2013, PostgreSQL Global Development Group + * + * IDENTIFICATION + * contrib/postgres_fdw/postgres_fdw.h + * + *------------------------------------------------------------------------- + */ +#ifndef POSTGRES_FDW_H +#define POSTGRES_FDW_H + +#include "foreign/foreign.h" +#include "lib/stringinfo.h" +#include "nodes/relation.h" +#include "utils/rel.h" + +#include "libpq-fe.h" + +/* in connection.c */ +extern PGconn *GetConnection(ForeignServer *server, UserMapping *user); +extern void ReleaseConnection(PGconn *conn); +extern unsigned int GetCursorNumber(PGconn *conn); +extern void pgfdw_report_error(int elevel, PGresult *res, bool clear, + const char *sql); + +/* in option.c */ +extern int ExtractConnectionOptions(List *defelems, + const char **keywords, + const char **values); + +/* in deparse.c */ +extern void classifyConditions(PlannerInfo *root, + RelOptInfo *baserel, + List **remote_conds, + List **param_conds, + List **local_conds, + List **param_numbers); +extern void deparseSimpleSql(StringInfo buf, + PlannerInfo *root, + RelOptInfo *baserel, + List *local_conds); +extern void appendWhereClause(StringInfo buf, + bool has_where, + List *exprs, + PlannerInfo *root); +extern void deparseAnalyzeSql(StringInfo buf, Relation rel); + +#endif /* POSTGRES_FDW_H */ |