# Makefile for access/common
#
# IDENTIFICATION
-# $Header: /cvsroot/pgsql/src/backend/access/common/Makefile,v 1.12 1998/07/26 04:30:16 scrappy Exp $
+# $Header: /cvsroot/pgsql/src/backend/access/common/Makefile,v 1.13 1999/05/26 12:55:05 momjian Exp $
#
#-------------------------------------------------------------------------
CFLAGS+= $(MBFLAGS)
endif
-OBJS = heaptuple.o heapvalid.o indextuple.o indexvalid.o printtup.o \
+OBJS = heaptuple.o indextuple.o indexvalid.o printtup.o \
scankey.o tupdesc.o
all: SUBSYS.o
+++ /dev/null
-/*-------------------------------------------------------------------------
- *
- * heapvalid.c
- * heap tuple qualification validity checking code
- *
- * Copyright (c) 1994, Regents of the University of California
- *
- *
- * IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/access/common/Attic/heapvalid.c,v 1.23 1999/02/13 23:14:11 momjian Exp $
- *
- *-------------------------------------------------------------------------
- */
-
-#include <postgres.h>
-
-#include <access/valid.h>
-#include <access/xact.h>
-
-/*
- * TupleUpdatedByCurXactAndCmd() -- Returns true if this tuple has
- * already been updated once by the current transaction/command
- * pair.
- */
-bool
-TupleUpdatedByCurXactAndCmd(HeapTuple t)
-{
- if (TransactionIdEquals(t->t_data->t_xmax,
- GetCurrentTransactionId()) &&
- CommandIdGEScanCommandId(t->t_data->t_cmax))
- return true;
-
- return false;
-}
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/commands/copy.c,v 1.77 1999/05/25 16:08:19 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/commands/copy.c,v 1.78 1999/05/26 12:55:10 momjian Exp $
*
*-------------------------------------------------------------------------
*/
/*
* Internal communications functions
*/
-inline void CopySendData(void *databuf, int datasize, FILE *fp);
-inline void CopySendString(char *str, FILE *fp);
-inline void CopySendChar(char c, FILE *fp);
-inline void CopyGetData(void *databuf, int datasize, FILE *fp);
-inline int CopyGetChar(FILE *fp);
-inline int CopyGetEof(FILE *fp);
-inline int CopyPeekChar(FILE *fp);
-inline void CopyDonePeek(FILE *fp, int c, int pickup);
+static void CopySendData(void *databuf, int datasize, FILE *fp);
+static void CopySendString(char *str, FILE *fp);
+static void CopySendChar(char c, FILE *fp);
+static void CopyGetData(void *databuf, int datasize, FILE *fp);
+static int CopyGetChar(FILE *fp);
+static int CopyGetEof(FILE *fp);
+static int CopyPeekChar(FILE *fp);
+static void CopyDonePeek(FILE *fp, int c, int pickup);
/*
* CopySendData sends output data either to the file
*
* NB: no data conversion is applied by these functions
*/
-inline void
+static void
CopySendData(void *databuf, int datasize, FILE *fp)
{
if (!fp)
fwrite(databuf, datasize, 1, fp);
}
-inline void
+static void
CopySendString(char *str, FILE *fp)
{
CopySendData(str, strlen(str), fp);
}
-inline void
+static void
CopySendChar(char c, FILE *fp)
{
CopySendData(&c, 1, fp);
*
* NB: no data conversion is applied by these functions
*/
-inline void
+static void
CopyGetData(void *databuf, int datasize, FILE *fp)
{
if (!fp)
fread(databuf, datasize, 1, fp);
}
-inline int
+static int
CopyGetChar(FILE *fp)
{
if (!fp)
return getc(fp);
}
-inline int
+static int
CopyGetEof(FILE *fp)
{
if (!fp)
* CopyDonePeek will either take the peeked char off the steam
* (if pickup is != 0) or leave it on the stream (if pickup == 0)
*/
-inline int
+static int
CopyPeekChar(FILE *fp)
{
if (!fp)
return getc(fp);
}
-inline void
+static void
CopyDonePeek(FILE *fp, int c, int pickup)
{
if (!fp)
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: stringinfo.c,v 1.16 1999/05/25 16:08:53 momjian Exp $
+ * $Id: stringinfo.c,v 1.17 1999/05/26 12:55:14 momjian Exp $
*
*-------------------------------------------------------------------------
*/
#include "postgres.h"
#include "lib/stringinfo.h"
+#ifdef NOT_USED
/*
* makeStringInfo
*
return res;
}
+#endif
/*
* initStringInfo
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/libpq/auth.c,v 1.36 1999/05/25 16:08:55 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/libpq/auth.c,v 1.37 1999/05/26 12:55:15 momjian Exp $
*
*-------------------------------------------------------------------------
*/
static int checkPassword(Port *port, char *user, char *password);
static int old_be_recvauth(Port *port);
static int map_old_to_new(Port *port, UserAuth old, int status);
+static void auth_failed(Port *port);
#ifdef KRB4
* postmaster log, which we hope is only readable by good guys.
*/
-void
+static void
auth_failed(Port *port)
{
char buffer[512];
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/nodes/Attic/freefuncs.c,v 1.18 1999/05/25 22:41:13 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/nodes/Attic/freefuncs.c,v 1.19 1999/05/26 12:55:20 momjian Exp $
*
*-------------------------------------------------------------------------
*/
* plannodes.h free functions
* ****************************************************************
*/
+static void freeObject(void *obj);
/* ----------------
* FreePlanFields
* recursively frees its items.
* ----------------
*/
-void
+static void
freeObject(void *node)
{
if (node == NULL)
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/optimizer/path/joinrels.c,v 1.34 1999/05/25 22:41:31 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/optimizer/path/joinrels.c,v 1.35 1999/05/26 12:55:27 momjian Exp $
*
*-------------------------------------------------------------------------
*/
static bool is_subset(List *s1, List *s2);
static void set_joinrel_size(RelOptInfo *joinrel, RelOptInfo *outer_rel,
RelOptInfo *inner_rel, JoinInfo *jinfo);
+static RelOptInfo *make_join_rel(RelOptInfo *outer_rel, RelOptInfo *inner_rel,
+ JoinInfo *joininfo);
+static List *new_join_tlist(List *tlist, int first_resdomno);
/*
* make_rels_by_joins
*
* Returns the new join relation node.
*/
-RelOptInfo *
+static RelOptInfo *
make_join_rel(RelOptInfo *outer_rel, RelOptInfo *inner_rel, JoinInfo *joininfo)
{
RelOptInfo *joinrel = makeNode(RelOptInfo);
*
* Returns the new target list.
*/
-List *
+static List *
new_join_tlist(List *tlist,
int first_resdomno)
{
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/optimizer/plan/setrefs.c,v 1.48 1999/05/25 22:41:41 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/optimizer/plan/setrefs.c,v 1.49 1999/05/26 12:55:28 momjian Exp $
*
*-------------------------------------------------------------------------
*/
static List *pull_agg_clause(Node *clause);
static Node *del_agg_clause(Node *clause);
static void set_result_tlist_references(Result *resultNode);
+static void replace_vars_with_subplan_refs(Node *clause,
+ Index subvarno,
+ List *subplanTargetList);
/*****************************************************************************
*
* Afterwards, all Var nodes have varno = subvarno, varattno = resno
* of corresponding subplan target.
*/
-void
+static void
replace_vars_with_subplan_refs(Node *clause,
Index subvarno,
List *subplanTargetList)
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/parser/parse_clause.c,v 1.36 1999/05/25 16:10:14 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/parser/parse_clause.c,v 1.37 1999/05/26 12:55:35 momjian Exp $
*
*-------------------------------------------------------------------------
*/
static void parseFromClause(ParseState *pstate, List *frmList, Node **qual);
-Attr *makeAttr(char *relname, char *attname);
-
#ifdef ENABLE_OUTER_JOINS
Node *transformUsingClause(ParseState *pstate, List *onList, char *lname, char *rname);
#endif
-char *transformTableEntry(ParseState *pstate, RangeVar *r);
+static char *transformTableEntry(ParseState *pstate, RangeVar *r);
/*
return qual;
}
-Attr *
+#ifdef NOT_USED
+static Attr *
makeAttr(char *relname, char *attname)
{
Attr *a = makeNode(Attr);
return a;
}
+#endif
#ifdef ENABLE_OUTER_JOINS
/* transformUsingClause()
#endif
-char *
+static char *
transformTableEntry(ParseState *pstate, RangeVar *r)
{
RelExpr *baserel = r->relExpr;
* Let's just try matching in pairs for now (right to left) and see if it works.
* - thomas 1998-05-22
*/
-List *
+#ifdef NOT_USED
+static List *
transformUnionClause(List *unionClause, List *targetlist)
{
List *union_list = NIL;
}
else
return NIL;
-} /* transformUnionClause() */
+}
+#endif
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/parser/parse_expr.c,v 1.48 1999/05/25 16:10:16 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/parser/parse_expr.c,v 1.49 1999/05/26 12:55:37 momjian Exp $
*
*-------------------------------------------------------------------------
*/
#include "utils/builtins.h"
static Node *parser_typecast(Value *expr, TypeName *typename, int32 atttypmod);
+static Node *transformIdent(ParseState *pstate, Node *expr, int precedence);
/*
* transformExpr -
return result;
}
-Node *
+static Node *
transformIdent(ParseState *pstate, Node *expr, int precedence)
{
Ident *ident = (Ident *) expr;
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/rewrite/rewriteHandler.c,v 1.45 1999/05/25 16:10:50 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/rewrite/rewriteHandler.c,v 1.46 1999/05/26 12:55:46 momjian Exp $
*
*-------------------------------------------------------------------------
*/
static void modifyAggrefQual(Node **nodePtr, Query *parsetree);
static bool checkQueryHasAggs(Node *node);
static Query *fireRIRrules(Query *parsetree);
-
+static Query *Except_Intersect_Rewrite(Query *parsetree);
+static void check_targetlists_are_compatible(List *prev_target,
+ List *current_target);
+static void create_intersect_list(Node *ptr, List **intersect_list);
+static Node *intersect_tree_analyze(Node *tree, Node *first_select,
+ Node *parsetree);
/*
* gatherRewriteMeta -
/* This function takes two targetlists as arguments and checks if the
* targetlists are compatible (i.e. both select for the same number of
* attributes and the types are compatible */
-void
+static void
check_targetlists_are_compatible(List *prev_target, List *current_target)
{
List *tl,
* new top Node can differ from the parsetree given as argument because of
* the translation to DNF. That's why we have to remember the sortClause or
* unique flag!) */
-Query *
+static Query *
Except_Intersect_Rewrite(Query *parsetree)
{
* returned
*/
intersect_list = NIL;
- create_list((Node *) lfirst(intersect), &intersect_list);
+ create_intersect_list((Node *) lfirst(intersect), &intersect_list);
/*
* This one will become the Select Query node, all other nodes are
* least one non negated Query node. This node is attached to the
* beginning of the list */
-void
-create_list(Node *ptr, List **intersect_list)
+static void
+create_intersect_list(Node *ptr, List **intersect_list)
{
List *arg;
else
{
foreach(arg, ((Expr *) ptr)->args)
- create_list(lfirst(arg), intersect_list);
+ create_intersect_list(lfirst(arg), intersect_list);
return;
}
return;
* The node given in first_select has already been cooked, so don't transform
* it again but return a pointer to the previously cooked version given in 'parsetree'
* instead. */
-Node *
+static Node *
intersect_tree_analyze(Node *tree, Node *first_select, Node *parsetree)
{
Node *result = (Node *) NIL;
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/rewrite/rewriteManip.c,v 1.31 1999/05/25 16:10:52 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/rewrite/rewriteManip.c,v 1.32 1999/05/26 12:55:48 momjian Exp $
*
*-------------------------------------------------------------------------
*/
parsetree->havingQual = (Node *) make_andclause(makeList(parsetree->havingQual, copy, -1));
}
+#ifdef NOT_USED
void
AddNotHavingQual(Query *parsetree, Node *havingQual)
{
AddHavingQual(parsetree, copy);
}
+#endif
void
AddNotQual(Query *parsetree, Node *qual)
* Copyright (c) 1994, Regents of the University of California
*
* IDENTIFICATION
- * $Id: fd.c,v 1.41 1999/05/25 22:41:57 momjian Exp $
+ * $Id: fd.c,v 1.42 1999/05/26 12:55:51 momjian Exp $
*
* NOTES:
*
static File fileNameOpenFile(FileName fileName, int fileFlags, int fileMode);
static char *filepath(char *filename);
static long pg_nofile(void);
+static int BufFileFlush(BufFile *file);
/*
* pg_fsync --- same as fsync except does nothing if -F switch was given
*
* Like fflush()
*/
-int
+static int
BufFileFlush(BufFile *file)
{
if (file->dirty)
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/tcop/postgres.c,v 1.116 1999/05/25 16:11:40 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/tcop/postgres.c,v 1.117 1999/05/26 12:55:55 momjian Exp $
*
* NOTES
* this is the "main" module of the postgres backend and
static char InteractiveBackend(char *inBuf);
static char SocketBackend(char *inBuf);
static char ReadCommand(char *inBuf);
+static void pg_exec_query(char *query_string);
/* ----------------------------------------------------------------
* ----------------------------------------------------------------
*/
-void
+static void
pg_exec_query(char *query_string)
{
pg_exec_query_dest(query_string, whereToSendOutput, FALSE);
if (!IsUnderPostmaster)
{
puts("\nPOSTGRES backend interactive interface ");
- puts("$Revision: 1.116 $ $Date: 1999/05/25 16:11:40 $\n");
+ puts("$Revision: 1.117 $ $Date: 1999/05/26 12:55:55 $\n");
}
/* ----------------
/*
* Edmund Mergl <E.Mergl@bawue.de>
*
- * $Id: oracle_compat.c,v 1.17 1999/02/21 03:49:32 scrappy Exp $
+ * $Id: oracle_compat.c,v 1.18 1999/05/26 12:56:00 momjian Exp $
*
*/
*
********************************************************************/
+#ifdef NOT_USED
text *
substr(text *string, int4 m, int4 n)
{
return ret;
}
-
+#endif
/********************************************************************
*
/*
* Print a timestamp and a message to stdout or to syslog.
*/
+#ifdef NOT_USED
int
tprintf1(const char *fmt,...)
{
return 1;
}
+#endif
/*
* Print a timestamp and a message to stderr.
#endif
-int
+#ifdef NOT_USED
+static int
option_flag(int flag)
{
if ((flag < 0) || (flag >= NUM_PG_OPTIONS))
pg_options[flag] = value;
return value;
}
+#endif
/*
* Parse an option string like "name,name+,name-,name=value".
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/utils/mmgr/Attic/oset.c,v 1.12 1999/05/25 16:12:54 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/utils/mmgr/Attic/oset.c,v 1.13 1999/05/26 12:56:05 momjian Exp $
*
* NOTE
* XXX This is a preliminary implementation which lacks fail-fast
* OrderedSetContains
* True iff ordered set contains given element.
*/
+#ifdef NOT_USED
bool
OrderedSetContains(OrderedSet set, OrderedElem elem)
{
return (bool) (elem->set == set && (elem->next || elem->prev));
}
+#endif
/*
* OrderedSetGetHead
#endif
char *comname;
-void usage(FILE *stream);
-void read_pwd_file(char *filename);
-void write_pwd_file(char *filename, char *bkname);
-void encrypt_pwd(char key[9], char salt[3], char passwd[14]);
-int check_pwd(char key[9], char passwd[14]);
-void prompt_for_username(char *username);
-void prompt_for_password(char *prompt, char *password);
-
-void
+static void usage(FILE *stream);
+static void read_pwd_file(char *filename);
+static void write_pwd_file(char *filename, char *bkname);
+static void encrypt_pwd(char key[9], char salt[3], char passwd[14]);
+static void prompt_for_username(char *username);
+static void prompt_for_password(char *prompt, char *password);
+
+static void
usage(FILE *stream)
{
fprintf(stream, "Usage: %s <password file>\n", comname);
int npwds = 0;
-void
+static void
read_pwd_file(char *filename)
{
FILE *fp;
fclose(fp);
}
-void
+static void
write_pwd_file(char *filename, char *bkname)
{
FILE *fp;
fclose(fp);
}
-void
+static void
encrypt_pwd(char key[9], char salt[3], char passwd[14])
{
int n;
*/
}
-int
+#ifdef NOT_USED
+static int
check_pwd(char key[9], char passwd[14])
{
char shouldbe[14];
return strncmp(shouldbe, passwd, 13) == 0 ? 1 : 0;
}
+#endif
-void
+static void
prompt_for_username(char *username)
{
int length;
username[length - 1] = '\0';
}
-void
+static void
prompt_for_password(char *prompt, char *password)
{
int length;
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: valid.h,v 1.17 1999/02/13 23:20:59 momjian Exp $
+ * $Id: valid.h,v 1.18 1999/05/26 12:56:15 momjian Exp $
*
*-------------------------------------------------------------------------
*/
} \
} while (0)
-extern bool TupleUpdatedByCurXactAndCmd(HeapTuple t);
-
#endif /* VALID_H */
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: stringinfo.h,v 1.12 1999/05/25 16:13:59 momjian Exp $
+ * $Id: stringinfo.h,v 1.13 1999/05/26 12:56:27 momjian Exp $
*
*-------------------------------------------------------------------------
*/
*-------------------------
*/
+#ifdef NOT_USED
/*------------------------
* makeStringInfo
* Create an empty 'StringInfoData' & return a pointer to it.
*/
extern StringInfo makeStringInfo(void);
+#endif
/*------------------------
* initStringInfo
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: auth.h,v 1.11 1999/02/13 23:21:33 momjian Exp $
+ * $Id: auth.h,v 1.12 1999/05/26 12:56:29 momjian Exp $
*
*-------------------------------------------------------------------------
*/
*/
void be_recvauth(Port *port);
-void auth_failed(Port *port);
#define PG_KRB4_VERSION "PGVER4.1" /* at most KRB_SENDAUTH_VLEN chars */
#define PG_KRB5_VERSION "PGVER5.1"
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: nodes.h,v 1.48 1999/03/23 16:51:03 momjian Exp $
+ * $Id: nodes.h,v 1.49 1999/05/26 12:56:33 momjian Exp $
*
*-------------------------------------------------------------------------
*/
extern void *copyObject(void *obj);
/*
- * nodes/freefuncs.c
- */
-extern void freeObject(void *obj);
-
-/*
* nodes/equalfuncs.c
*/
extern bool equal(void *a, void *b);
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: paths.h,v 1.29 1999/05/25 22:43:11 momjian Exp $
+ * $Id: paths.h,v 1.30 1999/05/26 12:56:35 momjian Exp $
*
*-------------------------------------------------------------------------
*/
List *joininfo_list, Relids only_relids);
extern List *make_rels_by_clauseless_joins(RelOptInfo *old_rel,
List *inner_rels);
-extern RelOptInfo *make_join_rel(RelOptInfo *outer_rel, RelOptInfo *inner_rel, JoinInfo *joininfo);
-extern List *new_join_tlist(List *tlist, int first_resdomno);
extern RelOptInfo *get_cheapest_complete_rel(List *join_rel_list);
/*
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: planmain.h,v 1.26 1999/05/25 16:14:22 momjian Exp $
+ * $Id: planmain.h,v 1.27 1999/05/26 12:56:36 momjian Exp $
*
*-------------------------------------------------------------------------
*/
extern void replace_tlist_with_subplan_refs(List *tlist,
Index subvarno,
List *subplanTargetList);
-extern void replace_vars_with_subplan_refs(Node *clause,
- Index subvarno,
- List *subplanTargetList);
extern bool set_agg_tlist_references(Agg *aggNode);
extern void del_agg_tlist_references(List *tlist);
extern void check_having_for_ungrouped_vars(Node *clause,
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: parse_clause.h,v 1.8 1999/02/23 08:05:27 thomas Exp $
+ * $Id: parse_clause.h,v 1.9 1999/05/26 12:56:41 momjian Exp $
*
*-------------------------------------------------------------------------
*/
extern List *transformSortClause(ParseState *pstate,
List *orderlist, List *sortClause,
List *targetlist, char *uniqueFlag);
-extern List *transformUnionClause(List *unionClause, List *targetlist);
-
#endif /* PARSE_CLAUSE_H */
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: parse_expr.h,v 1.10 1998/09/01 04:37:33 momjian Exp $
+ * $Id: parse_expr.h,v 1.11 1999/05/26 12:56:41 momjian Exp $
*
*-------------------------------------------------------------------------
*/
#include <parser/parse_node.h>
extern Node *transformExpr(ParseState *pstate, Node *expr, int precedence);
-extern Node *transformIdent(ParseState *pstate, Node *expr, int precedence);
extern Oid exprType(Node *expr);
extern Node *parser_typecast2(Node *expr, Oid exprType, Type tp, int32 attypmod);
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: rewriteHandler.h,v 1.9 1999/05/25 16:14:34 momjian Exp $
+ * $Id: rewriteHandler.h,v 1.10 1999/05/26 12:56:48 momjian Exp $
*
*-------------------------------------------------------------------------
*/
extern List *QueryRewrite(Query *parsetree);
-/***S*I***/
-extern Query *Except_Intersect_Rewrite(Query *parsetree);
-extern void create_list(Node *ptr, List **intersect_list);
-extern Node *intersect_tree_analyze(Node *tree, Node *first_select, Node *parsetree);
-extern void check_targetlists_are_compatible(List *prev_target, List *current_target);
#endif /* REWRITEHANDLER_H */
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: rewriteManip.h,v 1.15 1999/05/25 16:14:35 momjian Exp $
+ * $Id: rewriteManip.h,v 1.16 1999/05/26 12:56:50 momjian Exp $
*
*-------------------------------------------------------------------------
*/
void AddHavingQual(Query *parsetree, Node *havingQual);
void AddNotQual(Query *parsetree, Node *qual);
-void AddNotHavingQual(Query *parsetree, Node *havingQual);
void AddGroupClause(Query *parsetree, List *group_by, List *tlist);
void FixNew(RewriteInfo *info, Query *parsetree);
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: fd.h,v 1.15 1999/05/25 22:43:24 momjian Exp $
+ * $Id: fd.h,v 1.16 1999/05/26 12:56:53 momjian Exp $
*
*-------------------------------------------------------------------------
*/
extern void BufFileClose(BufFile *file);
extern size_t BufFileRead(BufFile *file, void *ptr, size_t size);
extern size_t BufFileWrite(BufFile *file, void *ptr, size_t size);
-extern int BufFileFlush(BufFile *file);
extern long BufFileSeek(BufFile *file, long offset, int whence);
/* Miscellaneous support routines */
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: tcopprot.h,v 1.20 1999/05/25 16:14:48 momjian Exp $
+ * $Id: tcopprot.h,v 1.21 1999/05/26 12:56:58 momjian Exp $
*
* OLD COMMENTS
* This file was created so that other c files could get the two
extern List *pg_parse_and_plan(char *query_string, Oid *typev, int nargs,
List **queryListP, CommandDest dest,
bool aclOverride);
-extern void pg_exec_query(char *query_string);
extern void pg_exec_query_acl_override(char *query_string);
extern void
pg_exec_query_dest(char *query_string, CommandDest dest, bool aclOverride);
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: builtins.h,v 1.80 1999/05/25 22:43:31 momjian Exp $
+ * $Id: builtins.h,v 1.81 1999/05/26 12:57:03 momjian Exp $
*
* NOTES
* This should normally only be included by fmgr.h.
extern text *rpad(text *string1, int4 len, text *string2);
extern text *ltrim(text *string, text *set);
extern text *rtrim(text *string, text *set);
-extern text *substr(text *string, int4 m, int4 n);
extern text *translate(text *string, char from, char to);
/* acl.c */
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: memutils.h,v 1.26 1999/05/25 22:43:36 momjian Exp $
+ * $Id: memutils.h,v 1.27 1999/05/26 12:57:07 momjian Exp $
*
* NOTES
* some of the information in this file will be moved to
};
extern void OrderedSetInit(OrderedSet set, Offset offset);
-extern bool OrderedSetContains(OrderedSet set, OrderedElem elem);
extern Pointer OrderedSetGetHead(OrderedSet set);
extern Pointer OrderedElemGetPredecessor(OrderedElem elem);
extern Pointer OrderedElemGetSuccessor(OrderedElem elem);
#define TIMESTAMP_SIZE 0
#endif
-extern int tprintf1(const char *fmt,...);
extern int tprintf(int flag, const char *fmt,...);
extern int eprintf(const char *fmt,...);
-extern int option_flag(int flag);
-extern int set_option_flag(int flag, int value);
extern void write_syslog(int level, char *line);
extern void parse_options(char *str, bool secure);
extern void read_pg_options(SIGNAL_ARGS);
* procedural language (PL)
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/pl/tcl/pltcl.c,v 1.11 1999/05/25 22:43:51 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/pl/tcl/pltcl.c,v 1.12 1999/05/26 12:57:23 momjian Exp $
*
* This software is copyrighted by Jan Wieck - Hamburg.
*
#endif /* PLTCL_UNKNOWN_SUPPORT */
Datum pltcl_call_handler(FmgrInfo *proinfo,
- FmgrValues *proargs, bool *isNull);
+ FmgrValues *proargs, bool *isNull);
static Datum pltcl_func_handler(FmgrInfo *proinfo,
FmgrValues *proargs, bool *isNull);
* call this function for execution of
* PL/Tcl procedures.
**********************************************************************/
+
+/* keep non-static */
Datum
pltcl_call_handler(FmgrInfo *proinfo,
FmgrValues *proargs,
return retval;
}
-
/**********************************************************************
* pltcl_func_handler() - Handler for regular function calls
**********************************************************************/