blob: 5b2b6097a1889ac6f25d0a27c9c5865d99d0a892 [file] [log] [blame]
/*-------------------------------------------------------------------------
*
* pg_foreign_server.h
* definition of the system "foreign server" relation (pg_foreign_server)
*
* Copyright (c) 2009-2010, Greenplum Inc
* Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
* $PostgreSQL: pgsql/src/include/catalog/pg_foreign_server.h,v 1.3 2009/06/11 14:49:09 momjian Exp $
*
* NOTES
* the genbki.sh script reads this file and generates .bki
* information from the DATA() statements.
*
*-------------------------------------------------------------------------
*/
#ifndef PG_FOREIGN_SERVER_H
#define PG_FOREIGN_SERVER_H
#include "catalog/genbki.h"
/* TIDYCAT_BEGINFAKEDEF
CREATE TABLE pg_foreign_server
with (camelcase=ForeignServer, relid=2899, reltype_oid=6448)
(
srvname name, -- foreign server name
srvowner oid, -- server owner
srvfdw oid, -- server FDW
-- VARIABLE LENGTH FIELDS start here. These fields may be NULL, too.
srvtype text,
srvversion text,
srvacl aclitem[], -- access permissions
srvoptions text[] -- FDW-specific options
);
create unique index on pg_foreign_server(oid) with (indexid=3308, CamelCase=ForeignServerOid, syscacheid=FOREIGNSERVEROID, syscache_nbuckets=32);
create unique index on pg_foreign_server(srvname) with (indexid=3309, CamelCase=ForeignServerName, syscacheid=FOREIGNSERVERNAME, syscache_nbuckets=32);
alter table pg_foreign_server add fk srvowner on pg_authid(oid);
alter table pg_foreign_server add fk srvfdw on pg_foreign_data_wrapper(oid);
TIDYCAT_ENDFAKEDEF
*/
/* ----------------
* pg_foreign_server definition. cpp turns this into
* typedef struct FormData_pg_foreign_server
* ----------------
*/
#define ForeignServerRelationId 2899
CATALOG(pg_foreign_server,2899)
{
NameData srvname; /* foreign server name */
Oid srvowner; /* server owner */
Oid srvfdw; /* server FDW */
/*
* VARIABLE LENGTH FIELDS start here. These fields may be NULL, too.
*/
text srvtype;
text srvversion;
aclitem srvacl[1]; /* access permissions */
text srvoptions[1]; /* FDW-specific options */
} FormData_pg_foreign_server;
/* ----------------
* Form_pg_foreign_server corresponds to a pointer to a tuple with
* the format of pg_foreign_server relation.
* ----------------
*/
typedef FormData_pg_foreign_server *Form_pg_foreign_server;
/* ----------------
* compiler constants for pg_foreign_server
* ----------------
*/
#define Natts_pg_foreign_server 7
#define Anum_pg_foreign_server_srvname 1
#define Anum_pg_foreign_server_srvowner 2
#define Anum_pg_foreign_server_srvfdw 3
#define Anum_pg_foreign_server_srvtype 4
#define Anum_pg_foreign_server_srvversion 5
#define Anum_pg_foreign_server_srvacl 6
#define Anum_pg_foreign_server_srvoptions 7
#endif /* PG_FOREIGN_SERVER_H */