# GNUmakefile won't exist yet, so we catch that case as well.
-all install clean dep depend distclean maintainer-clean:
+all check install installdirs installcheck uninstall dep depend clean distclean maintainer-clean:
@if ! [ -f GNUmakefile ] ; then \
echo "You need to run the \`configure' program first. See the file"; \
echo "\`INSTALL' for installation instructions." ; \
@IFS=':' ; \
for dir in $$PATH; do \
for prog in gmake gnumake make; do \
- if [ -f $$dir/$$prog ] && ( $$dir/$$prog --version | grep GNU >/dev/null 2>&1 ) ; then \
+ if [ -f $$dir/$$prog ] && ( $$dir/$$prog --version 2>/dev/null | grep GNU >/dev/null 2>&1 ) ; then \
GMAKE=$$dir/$$prog; \
break 2; \
fi; \
{"Gist", gist_redo, gist_undo, gist_desc}
};
-#else
+#else /* not XLOG */
-RmgrData RmgrTable[] = {};
+/*
+ * This is a dummy, but don't write RmgrTable[] = {} here,
+ * that's not accepted by some compilers. -- petere
+ */
+RmgrData RmgrTable[1];
-#endif
+#endif /* not XLOG */
* Portions Copyright (c) 1996-2000, PostgreSQL, Inc
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $Id: pqcomm.c,v 1.106 2000/10/14 23:56:58 momjian Exp $
+ * $Id: pqcomm.c,v 1.107 2000/10/22 22:14:54 petere Exp $
*
*-------------------------------------------------------------------------
*/
return STATUS_ERROR;
}
+#ifdef PG_ON_UNIXWARE
+ /*
+ * Only UnixWare 7+ are known to have this bug, but it shouldn't
+ * hurt it catch if for all of them.
+ */
+ if (port->raddr.sa.sa_family == 0)
+ port->raddr.sa.sa_family = AF_UNIX;
+#endif
+
/* fill in the server (local) address */
addrlen = sizeof(port->laddr);
if (getsockname(port->sock, (struct sockaddr *) & port->laddr,
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/nodes/print.c,v 1.43 2000/10/05 19:11:27 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/nodes/print.c,v 1.44 2000/10/22 22:14:54 petere Exp $
*
* HISTORY
* AUTHOR DATE MAJOR EVENT
{
case T_Plan:
return "PLAN";
- break;
case T_Result:
return "RESULT";
- break;
case T_Append:
return "APPEND";
- break;
case T_Scan:
return "SCAN";
- break;
case T_SeqScan:
return "SEQSCAN";
- break;
case T_IndexScan:
return "INDEXSCAN";
- break;
case T_TidScan:
return "TIDSCAN";
- break;
case T_SubqueryScan:
return "SUBQUERYSCAN";
- break;
case T_Join:
return "JOIN";
- break;
case T_NestLoop:
return "NESTLOOP";
- break;
case T_MergeJoin:
return "MERGEJOIN";
- break;
case T_HashJoin:
return "HASHJOIN";
- break;
case T_Material:
return "MATERIAL";
- break;
case T_Sort:
return "SORT";
- break;
case T_Agg:
return "AGG";
- break;
case T_Unique:
return "UNIQUE";
- break;
case T_SetOp:
return "SETOP";
- break;
case T_Hash:
return "HASH";
- break;
case T_Group:
return "GROUP";
- break;
default:
return "UNKNOWN";
- break;
}
}
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/nodes/readfuncs.c,v 1.98 2000/10/05 19:11:27 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/nodes/readfuncs.c,v 1.99 2000/10/22 22:14:54 petere Exp $
*
* NOTES
* Most of the read functions for plan nodes are tested. (In fact, they
* ----------------
*/
static Query *
-_readQuery()
+_readQuery(void)
{
Query *local_node;
char *token;
* ----------------
*/
static SortClause *
-_readSortClause()
+_readSortClause(void)
{
SortClause *local_node;
char *token;
* ----------------
*/
static GroupClause *
-_readGroupClause()
+_readGroupClause(void)
{
GroupClause *local_node;
char *token;
* ----------------
*/
static SetOperationStmt *
-_readSetOperationStmt()
+_readSetOperationStmt(void)
{
SetOperationStmt *local_node;
char *token;
* ----------------
*/
static Plan *
-_readPlan()
+_readPlan(void)
{
Plan *local_node;
* ----------------
*/
static Result *
-_readResult()
+_readResult(void)
{
Result *local_node;
char *token;
*/
static Append *
-_readAppend()
+_readAppend(void)
{
Append *local_node;
char *token;
* ----------------
*/
static Join *
-_readJoin()
+_readJoin(void)
{
Join *local_node;
*/
static NestLoop *
-_readNestLoop()
+_readNestLoop(void)
{
NestLoop *local_node;
* ----------------
*/
static MergeJoin *
-_readMergeJoin()
+_readMergeJoin(void)
{
MergeJoin *local_node;
char *token;
* ----------------
*/
static HashJoin *
-_readHashJoin()
+_readHashJoin(void)
{
HashJoin *local_node;
char *token;
* ----------------
*/
static Scan *
-_readScan()
+_readScan(void)
{
Scan *local_node;
* ----------------
*/
static SeqScan *
-_readSeqScan()
+_readSeqScan(void)
{
SeqScan *local_node;
* ----------------
*/
static IndexScan *
-_readIndexScan()
+_readIndexScan(void)
{
IndexScan *local_node;
char *token;
* ----------------
*/
static TidScan *
-_readTidScan()
+_readTidScan(void)
{
TidScan *local_node;
char *token;
* ----------------
*/
static SubqueryScan *
-_readSubqueryScan()
+_readSubqueryScan(void)
{
SubqueryScan *local_node;
char *token;
* ----------------
*/
static Sort *
-_readSort()
+_readSort(void)
{
Sort *local_node;
char *token;
}
static Agg *
-_readAgg()
+_readAgg(void)
{
Agg *local_node;
* ----------------
*/
static Hash *
-_readHash()
+_readHash(void)
{
Hash *local_node;
char *token;
* ----------------
*/
static Resdom *
-_readResdom()
+_readResdom(void)
{
Resdom *local_node;
char *token;
* ----------------
*/
static Expr *
-_readExpr()
+_readExpr(void)
{
Expr *local_node;
char *token;
* ----------------
*/
static CaseExpr *
-_readCaseExpr()
+_readCaseExpr(void)
{
CaseExpr *local_node;
char *token;
* ----------------
*/
static CaseWhen *
-_readCaseWhen()
+_readCaseWhen(void)
{
CaseWhen *local_node;
char *token;
* ----------------
*/
static Var *
-_readVar()
+_readVar(void)
{
Var *local_node;
char *token;
* ----------------
*/
static ArrayRef *
-_readArrayRef()
+_readArrayRef(void)
{
ArrayRef *local_node;
char *token;
* ----------------
*/
static Const *
-_readConst()
+_readConst(void)
{
Const *local_node;
char *token;
* ----------------
*/
static Func *
-_readFunc()
+_readFunc(void)
{
Func *local_node;
char *token;
* ----------------
*/
static Oper *
-_readOper()
+_readOper(void)
{
Oper *local_node;
char *token;
* ----------------
*/
static Param *
-_readParam()
+_readParam(void)
{
Param *local_node;
char *token;
* ----------------
*/
static Aggref *
-_readAggref()
+_readAggref(void)
{
Aggref *local_node;
char *token;
* ----------------
*/
static SubLink *
-_readSubLink()
+_readSubLink(void)
{
SubLink *local_node;
char *token;
* ----------------
*/
static FieldSelect *
-_readFieldSelect()
+_readFieldSelect(void)
{
FieldSelect *local_node;
char *token;
* ----------------
*/
static RelabelType *
-_readRelabelType()
+_readRelabelType(void)
{
RelabelType *local_node;
char *token;
* ----------------
*/
static RangeTblRef *
-_readRangeTblRef()
+_readRangeTblRef(void)
{
RangeTblRef *local_node;
char *token;
* ----------------
*/
static FromExpr *
-_readFromExpr()
+_readFromExpr(void)
{
FromExpr *local_node;
char *token;
* ----------------
*/
static JoinExpr *
-_readJoinExpr()
+_readJoinExpr(void)
{
JoinExpr *local_node;
char *token;
* ----------------
*/
static EState *
-_readEState()
+_readEState(void)
{
EState *local_node;
char *token;
* ----------------
*/
static RelOptInfo *
-_readRelOptInfo()
+_readRelOptInfo(void)
{
RelOptInfo *local_node;
char *token;
* ----------------
*/
static TargetEntry *
-_readTargetEntry()
+_readTargetEntry(void)
{
TargetEntry *local_node;
char *token;
}
static Attr *
-_readAttr()
+_readAttr(void)
{
Attr *local_node;
char *token;
* ----------------
*/
static RangeTblEntry *
-_readRangeTblEntry()
+_readRangeTblEntry(void)
{
RangeTblEntry *local_node;
char *token;
* ----------------
*/
static Path *
-_readPath()
+_readPath(void)
{
Path *local_node;
char *token;
* ----------------
*/
static IndexPath *
-_readIndexPath()
+_readIndexPath(void)
{
IndexPath *local_node;
char *token;
* ----------------
*/
static TidPath *
-_readTidPath()
+_readTidPath(void)
{
TidPath *local_node;
char *token;
* ----------------
*/
static NestPath *
-_readNestPath()
+_readNestPath(void)
{
NestPath *local_node;
char *token;
* ----------------
*/
static MergePath *
-_readMergePath()
+_readMergePath(void)
{
MergePath *local_node;
char *token;
* ----------------
*/
static HashPath *
-_readHashPath()
+_readHashPath(void)
{
HashPath *local_node;
char *token;
* ----------------
*/
static PathKeyItem *
-_readPathKeyItem()
+_readPathKeyItem(void)
{
PathKeyItem *local_node;
char *token;
* ----------------
*/
static RestrictInfo *
-_readRestrictInfo()
+_readRestrictInfo(void)
{
RestrictInfo *local_node;
char *token;
* ----------------
*/
static JoinInfo *
-_readJoinInfo()
+_readJoinInfo(void)
{
JoinInfo *local_node;
char *token;
* ----------------
*/
static Iter *
-_readIter()
+_readIter(void)
{
Iter *local_node;
char *token;
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/tcop/dest.c,v 1.39 2000/07/08 03:04:15 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/tcop/dest.c,v 1.40 2000/10/22 22:14:55 petere Exp $
*
*-------------------------------------------------------------------------
*/
{
switch (dest)
{
- case Remote:
- /* printtup wants a dynamically allocated DestReceiver */
+ case Remote:
+ /* printtup wants a dynamically allocated DestReceiver */
return printtup_create_DR();
- break;
case RemoteInternal:
return &printtup_internalDR;
- break;
case Debug:
return &debugtupDR;
- break;
case SPI:
return &spi_printtupDR;
- break;
case None:
default:
return &donothingDR;
- break;
}
/*
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/utils/adt/numutils.c,v 1.42 2000/08/01 18:29:35 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/utils/adt/numutils.c,v 1.43 2000/10/22 22:14:56 petere Exp $
*
*-------------------------------------------------------------------------
*/
l = (long) 0;
else
l = strtol(s, &badp, 10);
- if (errno) /* strtol must set ERANGE */
+ /*
+ * strtol() normally only sets ERANGE. On some systems it also
+ * may set EINVAL, which simply means it couldn't parse the
+ * input string. This is handled by the second "if" consistent
+ * across platforms.
+ */
+ if (errno && errno != EINVAL)
elog(ERROR, "pg_atoi: error reading \"%s\": %m", s);
if (badp && *badp && (*badp != c))
elog(ERROR, "pg_atoi: error in \"%s\": can\'t parse \"%s\"", s, badp);
#define USE_POSIX_TIME
-#define NO_EMPTY_STMTS
#define SYSV_DIRENT
#define HAS_TEST_AND_SET
#define NEED_I386_TAS_ASM
+/* see src/backend/libpq/pqcomm.c */
+#define PG_ON_UNIXWARE
+
/***************************************
* Define this if you are compiling with
* the native UNIXWARE C compiler.
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/include/storage/s_lock.h,v 1.72 2000/10/08 04:38:21 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/include/storage/s_lock.h,v 1.73 2000/10/22 22:15:03 petere Exp $
*
*-------------------------------------------------------------------------
*/
#define TAS(lock) tas(lock)
asm int
-tas(slock_t *s_lock)
+tas(volatile slock_t *s_lock)
{
/* UNIVEL wants %mem in column 1, so we don't pg_indent this file */
%mem s_lock
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-connect.c,v 1.140 2000/10/17 17:43:13 petere Exp $
+ * $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-connect.c,v 1.141 2000/10/22 22:15:04 petere Exp $
*
*-------------------------------------------------------------------------
*/
# error "You must compile this file with SYSCONFDIR defined."
#endif
+#define MAXBUFSIZE 256
+
int parseServiceInfo(PQconninfoOption *options, PQExpBuffer errorMessage) {
char *service = conninfo_getval(options, "service");
char *serviceFile = SYSCONFDIR "/pg_service.conf";
- int MAXBUFSIZE = 256;
int group_found = 0;
int linenr=0, i;
AROPT = crs
export_dynamic = -Wl,-Bexport
DLSUFFIX = .so
+ifeq ($(GCC), yes)
+CFLAGS_SL = -fpic
+else
CFLAGS_SL = -K PIC
+endif
%.so: %.o
$(LD) -G -Bdynamic -o $@ $<
-
-INSTALL= /usr/ucb/install
-CFLAGS='-O -K host,inline,loop_unroll,alloca -Dsvr4'
-SRCH_INC='/opt/include'
-SRCH_LIB='/opt/lib'
+if test "$GCC" = yes; then
+ CFLAGS=-O2
+else
+ CFLAGS='-O -K inline'
+fi
| Sun Jan 14 03:14:21 1973 PST | 1973 | 1 | 14 | 3 | 14 | 21
| Mon May 01 00:30:30 1995 PDT | 1995 | 5 | 1 | 0 | 30 | 30
(4 rows)
+
-- HOROLOGY
--
--
+-- date, time arithmetic
+--
+SELECT date '1981-02-03' + time '04:05:06' AS "Date + Time";
+ Date + Time
+------------------------------
+ Tue Feb 03 04:05:06 1981 PST
+(1 row)
+
+SELECT date '1991-02-03' + time with time zone '04:05:06 PST' AS "Date + Time PST";
+ Date + Time PST
+------------------------------
+ Sun Feb 03 04:05:06 1991 PST
+(1 row)
+
+SELECT date '2001-02-03' + time with time zone '04:05:06 UTC' AS "Date + Time UTC";
+ Date + Time UTC
+------------------------------
+ Fri Feb 02 20:05:06 2001 PST
+(1 row)
+
+SELECT date '1991-02-03' + interval '2 years' AS "Add Two Years";
+ Add Two Years
+------------------------------
+ Wed Feb 03 00:00:00 1993 PST
+(1 row)
+
+SELECT date '2001-12-13' - interval '2 years' AS "Subtract Two Years";
+ Subtract Two Years
+------------------------------
+ Mon Dec 13 00:00:00 1999 PST
+(1 row)
+
+SELECT date '1991-02-03' - time '04:05:06' AS "Subtract Time";
+ Subtract Time
+------------------------------
+ Sat Feb 02 19:54:54 1991 PST
+(1 row)
+
+SELECT date '1991-02-03' - time with time zone '04:05:06 UTC' AS "Subtract Time UTC";
+ERROR: Unable to identify an operator '-' for types 'date' and 'timetz'
+ You will have to retype this query using an explicit cast
+--
-- timestamp, interval arithmetic
--
SELECT timestamp '1996-03-01' - interval '1 second' AS "Feb 29";
#! /bin/sh
-# $Header: /cvsroot/pgsql/src/test/regress/Attic/pg_regress.sh,v 1.7 2000/10/07 20:23:03 petere Exp $
+# $Header: /cvsroot/pgsql/src/test/regress/Attic/pg_regress.sh,v 1.8 2000/10/22 22:15:09 petere Exp $
me=`basename $0`
: ${TMPDIR=/tmp}
export PGPORT
dbname=regression
-hostname=`hostname` || hostname=localhost
+hostname=localhost
: ${GMAKE='@GMAKE@'}
fi
message "creating temporary installation"
- mkdir -p "$LOGDIR" || { (exit 2); exit; }
+ if [ ! -d "$LOGDIR" ]; then
+ mkdir -p "$LOGDIR" || { (exit 2); exit; }
+ fi
$GMAKE -C "$top_builddir" DESTDIR="$temp_install" install >"$LOGDIR/install.log" 2>&1
if [ $? -ne 0 ]
message "running regression test queries"
-mkdir -p "$outputdir/results" || { (exit 2); exit; }
+if [ ! -d "$outputdir/results" ]; then
+ mkdir -p "$outputdir/results" || { (exit 2); exit; }
+fi
result_summary_file=$outputdir/regression.out
diff_file=$outputdir/regression.diffs
else
# Start a parallel group
$ECHO_N "parallel group ($# tests): " $ECHO_C
- for name; do
+ for name do
( $PSQL -d $dbname <"$inputdir/sql/$name.sql" >"$outputdir/results/$name.out" 2>&1
- $ECHO_N " $name $ECHO_C"
+ $ECHO_N " $name$ECHO_C"
) &
done
wait
# subshells.)
# ----------
- for name; do
+ for name do
if [ $# -ne 1 ]; then
formatted=`echo "$name" | awk '{printf "%-20.20s", $1;}'`
$ECHO_N " $formatted ... $ECHO_C"
abstime/alpha.*-dec-osf=abstime-solaris-1947
abstime/i.86-pc-solaris=abstime-solaris-1947
abstime/sparc-sun-solaris=abstime-solaris-1947
+abstime/.*-sysv5uw=abstime-solaris-1947
float4/.*-qnx=float4-exp-three-digits
float8/.*-bsdi=float8-small-is-zero
float8/.*-freebsd*=float8-small-is-zero
horology/.*aix4=horology-1947-PDT
horology/.*-irix6=horology-1947-PDT
horology/alpha.*-dec-osf=horology-solaris-1947
-horology/*-*-cygwin*=horology-no-DST-before-1970
+horology/.*-cygwin=horology-no-DST-before-1970
horology/hppa=horology-no-DST-before-1970
horology/i.86-pc-solaris=horology-solaris-1947
horology/sparc-sun-solaris=horology-solaris-1947
+horology/.*-sysv5uw=horology-solaris-1947
int2/.*-aix4=int2-too-large
int2/.*-bsdi=int2-too-large
int2/.*-freebsd=int2-too-large
int2/i.86-pc-solaris=int2-too-large
int2/powerpc-unknown-linux-gnulibc1=int2-not-representable
int2/sparc-sun-solaris=int2-too-large
+int2/.*-sysv5uw=int2-too-large
int2/.*beos=int2-range-error
int4/.*-aix4=int4-too-large
int4/.*-bsdi=int4-too-large
int4/i.86-pc-solaris=int4-too-large
int4/powerpc-unknown-linux-gnulibc1=int4-not-representable
int4/sparc-sun-solaris=int4-too-large
+int4/.*-sysv5uw=int4-too-large
int4/.*beos=int4-range-error
int8/.*-qnx=int8-exp-three-digits
tinterval/.*aix4=tinterval-1947-PDT
tinterval/alpha.*-dec-osf=tinterval-solaris-1947
tinterval/i.86-pc-solaris=tinterval-solaris-1947
tinterval/sparc-sun-solaris=tinterval-solaris-1947
+tinterval/.*-sysv5uw=tinterval-solaris-1947