mirror of
https://github.com/postgres/postgres.git
synced 2025-07-28 23:42:10 +03:00
Allow remote query execution (dblink)
Joe Conway
This commit is contained in:
70
contrib/dblink/dblink.h
Normal file
70
contrib/dblink/dblink.h
Normal file
@ -0,0 +1,70 @@
|
||||
/*
|
||||
* dblink.h
|
||||
*
|
||||
* Functions returning results from a remote database
|
||||
*
|
||||
* Copyright (c) Joseph Conway <joe.conway@mail.com>, 2001;
|
||||
*
|
||||
* Permission to use, copy, modify, and distribute this software and its
|
||||
* documentation for any purpose, without fee, and without a written agreement
|
||||
* is hereby granted, provided that the above copyright notice and this
|
||||
* paragraph and the following two paragraphs appear in all copies.
|
||||
*
|
||||
* IN NO EVENT SHALL THE AUTHOR OR DISTRIBUTORS BE LIABLE TO ANY PARTY FOR
|
||||
* DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING
|
||||
* LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS
|
||||
* DOCUMENTATION, EVEN IF THE AUTHOR OR DISTRIBUTORS HAVE BEEN ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* THE AUTHOR AND DISTRIBUTORS SPECIFICALLY DISCLAIMS ANY WARRANTIES,
|
||||
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
* AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
|
||||
* ON AN "AS IS" BASIS, AND THE AUTHOR AND DISTRIBUTORS HAS NO OBLIGATIONS TO
|
||||
* PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef DBLINK_H
|
||||
#define DBLINK_H
|
||||
|
||||
#include <string.h>
|
||||
#include "postgres.h"
|
||||
#include "libpq-fe.h"
|
||||
#include "libpq-int.h"
|
||||
#include "fmgr.h"
|
||||
#include "access/tupdesc.h"
|
||||
#include "executor/executor.h"
|
||||
#include "nodes/nodes.h"
|
||||
#include "nodes/execnodes.h"
|
||||
#include "utils/builtins.h"
|
||||
|
||||
/*
|
||||
* This struct holds the results of the remote query.
|
||||
* Use fn_extra to hold a pointer to it across calls
|
||||
*/
|
||||
typedef struct
|
||||
{
|
||||
/*
|
||||
* last tuple number accessed
|
||||
*/
|
||||
int tup_num;
|
||||
|
||||
/*
|
||||
* the actual query results
|
||||
*/
|
||||
PGresult *res;
|
||||
|
||||
} dblink_results;
|
||||
|
||||
/*
|
||||
* External declarations
|
||||
*/
|
||||
extern Datum dblink(PG_FUNCTION_ARGS);
|
||||
extern Datum dblink_tok(PG_FUNCTION_ARGS);
|
||||
|
||||
/*
|
||||
* Internal declarations
|
||||
*/
|
||||
dblink_results *init_dblink_results(MemoryContext fn_mcxt);
|
||||
|
||||
#endif /* DBLINK_H */
|
Reference in New Issue
Block a user