aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile4
-rw-r--r--src/backend/access/transam/rmgr.c10
-rw-r--r--src/backend/libpq/pqcomm.c11
-rw-r--r--src/backend/nodes/print.c22
-rw-r--r--src/backend/nodes/readfuncs.c104
-rw-r--r--src/backend/tcop/dest.c11
-rw-r--r--src/backend/utils/adt/numutils.c10
-rw-r--r--src/include/port/unixware.h4
-rw-r--r--src/include/storage/s_lock.h4
-rw-r--r--src/interfaces/libpq/fe-connect.c5
-rw-r--r--src/makefiles/Makefile.unixware6
-rw-r--r--src/template/unixware8
-rw-r--r--src/test/regress/expected/abstime-solaris-1947.out1
-rw-r--r--src/test/regress/expected/horology-solaris-1947.out42
-rw-r--r--src/test/regress/pg_regress.sh18
-rw-r--r--src/test/regress/resultmap7
16 files changed, 160 insertions, 107 deletions
diff --git a/Makefile b/Makefile
index c5eca7a9d2e..ba03d24c5d6 100644
--- a/Makefile
+++ b/Makefile
@@ -11,7 +11,7 @@
# 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." ; \
@@ -20,7 +20,7 @@ all install clean dep depend distclean maintainer-clean:
@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; \
diff --git a/src/backend/access/transam/rmgr.c b/src/backend/access/transam/rmgr.c
index 147256653ac..5a1b250b824 100644
--- a/src/backend/access/transam/rmgr.c
+++ b/src/backend/access/transam/rmgr.c
@@ -52,8 +52,12 @@ RmgrData RmgrTable[] = {
{"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 */
diff --git a/src/backend/libpq/pqcomm.c b/src/backend/libpq/pqcomm.c
index 5cae5b63c7a..1a051db623d 100644
--- a/src/backend/libpq/pqcomm.c
+++ b/src/backend/libpq/pqcomm.c
@@ -29,7 +29,7 @@
* 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 $
*
*-------------------------------------------------------------------------
*/
@@ -332,6 +332,15 @@ StreamConnection(int server_fd, Port *port)
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,
diff --git a/src/backend/nodes/print.c b/src/backend/nodes/print.c
index c507cea3c45..44de7fc6e20 100644
--- a/src/backend/nodes/print.c
+++ b/src/backend/nodes/print.c
@@ -8,7 +8,7 @@
*
*
* 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
@@ -292,64 +292,44 @@ plannode_type(Plan *p)
{
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;
}
}
diff --git a/src/backend/nodes/readfuncs.c b/src/backend/nodes/readfuncs.c
index 57174bfb60e..354ac8d5839 100644
--- a/src/backend/nodes/readfuncs.c
+++ b/src/backend/nodes/readfuncs.c
@@ -8,7 +8,7 @@
*
*
* 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
@@ -57,7 +57,7 @@ toIntList(List *list)
* ----------------
*/
static Query *
-_readQuery()
+_readQuery(void)
{
Query *local_node;
char *token;
@@ -158,7 +158,7 @@ _readQuery()
* ----------------
*/
static SortClause *
-_readSortClause()
+_readSortClause(void)
{
SortClause *local_node;
char *token;
@@ -182,7 +182,7 @@ _readSortClause()
* ----------------
*/
static GroupClause *
-_readGroupClause()
+_readGroupClause(void)
{
GroupClause *local_node;
char *token;
@@ -206,7 +206,7 @@ _readGroupClause()
* ----------------
*/
static SetOperationStmt *
-_readSetOperationStmt()
+_readSetOperationStmt(void)
{
SetOperationStmt *local_node;
char *token;
@@ -295,7 +295,7 @@ _getPlan(Plan *node)
* ----------------
*/
static Plan *
-_readPlan()
+_readPlan(void)
{
Plan *local_node;
@@ -311,7 +311,7 @@ _readPlan()
* ----------------
*/
static Result *
-_readResult()
+_readResult(void)
{
Result *local_node;
char *token;
@@ -335,7 +335,7 @@ _readResult()
*/
static Append *
-_readAppend()
+_readAppend(void)
{
Append *local_node;
char *token;
@@ -386,7 +386,7 @@ _getJoin(Join *node)
* ----------------
*/
static Join *
-_readJoin()
+_readJoin(void)
{
Join *local_node;
@@ -405,7 +405,7 @@ _readJoin()
*/
static NestLoop *
-_readNestLoop()
+_readNestLoop(void)
{
NestLoop *local_node;
@@ -423,7 +423,7 @@ _readNestLoop()
* ----------------
*/
static MergeJoin *
-_readMergeJoin()
+_readMergeJoin(void)
{
MergeJoin *local_node;
char *token;
@@ -446,7 +446,7 @@ _readMergeJoin()
* ----------------
*/
static HashJoin *
-_readHashJoin()
+_readHashJoin(void)
{
HashJoin *local_node;
char *token;
@@ -494,7 +494,7 @@ _getScan(Scan *node)
* ----------------
*/
static Scan *
-_readScan()
+_readScan(void)
{
Scan *local_node;
@@ -512,7 +512,7 @@ _readScan()
* ----------------
*/
static SeqScan *
-_readSeqScan()
+_readSeqScan(void)
{
SeqScan *local_node;
@@ -530,7 +530,7 @@ _readSeqScan()
* ----------------
*/
static IndexScan *
-_readIndexScan()
+_readIndexScan(void)
{
IndexScan *local_node;
char *token;
@@ -563,7 +563,7 @@ _readIndexScan()
* ----------------
*/
static TidScan *
-_readTidScan()
+_readTidScan(void)
{
TidScan *local_node;
char *token;
@@ -590,7 +590,7 @@ _readTidScan()
* ----------------
*/
static SubqueryScan *
-_readSubqueryScan()
+_readSubqueryScan(void)
{
SubqueryScan *local_node;
char *token;
@@ -613,7 +613,7 @@ _readSubqueryScan()
* ----------------
*/
static Sort *
-_readSort()
+_readSort(void)
{
Sort *local_node;
char *token;
@@ -631,7 +631,7 @@ _readSort()
}
static Agg *
-_readAgg()
+_readAgg(void)
{
Agg *local_node;
@@ -648,7 +648,7 @@ _readAgg()
* ----------------
*/
static Hash *
-_readHash()
+_readHash(void)
{
Hash *local_node;
char *token;
@@ -675,7 +675,7 @@ _readHash()
* ----------------
*/
static Resdom *
-_readResdom()
+_readResdom(void)
{
Resdom *local_node;
char *token;
@@ -728,7 +728,7 @@ _readResdom()
* ----------------
*/
static Expr *
-_readExpr()
+_readExpr(void)
{
Expr *local_node;
char *token;
@@ -773,7 +773,7 @@ _readExpr()
* ----------------
*/
static CaseExpr *
-_readCaseExpr()
+_readCaseExpr(void)
{
CaseExpr *local_node;
char *token;
@@ -804,7 +804,7 @@ _readCaseExpr()
* ----------------
*/
static CaseWhen *
-_readCaseWhen()
+_readCaseWhen(void)
{
CaseWhen *local_node;
char *token;
@@ -826,7 +826,7 @@ _readCaseWhen()
* ----------------
*/
static Var *
-_readVar()
+_readVar(void)
{
Var *local_node;
char *token;
@@ -872,7 +872,7 @@ _readVar()
* ----------------
*/
static ArrayRef *
-_readArrayRef()
+_readArrayRef(void)
{
ArrayRef *local_node;
char *token;
@@ -918,7 +918,7 @@ _readArrayRef()
* ----------------
*/
static Const *
-_readConst()
+_readConst(void)
{
Const *local_node;
char *token;
@@ -977,7 +977,7 @@ _readConst()
* ----------------
*/
static Func *
-_readFunc()
+_readFunc(void)
{
Func *local_node;
char *token;
@@ -1005,7 +1005,7 @@ _readFunc()
* ----------------
*/
static Oper *
-_readOper()
+_readOper(void)
{
Oper *local_node;
char *token;
@@ -1037,7 +1037,7 @@ _readOper()
* ----------------
*/
static Param *
-_readParam()
+_readParam(void)
{
Param *local_node;
char *token;
@@ -1074,7 +1074,7 @@ _readParam()
* ----------------
*/
static Aggref *
-_readAggref()
+_readAggref(void)
{
Aggref *local_node;
char *token;
@@ -1115,7 +1115,7 @@ _readAggref()
* ----------------
*/
static SubLink *
-_readSubLink()
+_readSubLink(void)
{
SubLink *local_node;
char *token;
@@ -1150,7 +1150,7 @@ _readSubLink()
* ----------------
*/
static FieldSelect *
-_readFieldSelect()
+_readFieldSelect(void)
{
FieldSelect *local_node;
char *token;
@@ -1183,7 +1183,7 @@ _readFieldSelect()
* ----------------
*/
static RelabelType *
-_readRelabelType()
+_readRelabelType(void)
{
RelabelType *local_node;
char *token;
@@ -1212,7 +1212,7 @@ _readRelabelType()
* ----------------
*/
static RangeTblRef *
-_readRangeTblRef()
+_readRangeTblRef(void)
{
RangeTblRef *local_node;
char *token;
@@ -1233,7 +1233,7 @@ _readRangeTblRef()
* ----------------
*/
static FromExpr *
-_readFromExpr()
+_readFromExpr(void)
{
FromExpr *local_node;
char *token;
@@ -1257,7 +1257,7 @@ _readFromExpr()
* ----------------
*/
static JoinExpr *
-_readJoinExpr()
+_readJoinExpr(void)
{
JoinExpr *local_node;
char *token;
@@ -1308,7 +1308,7 @@ _readJoinExpr()
* ----------------
*/
static EState *
-_readEState()
+_readEState(void)
{
EState *local_node;
char *token;
@@ -1343,7 +1343,7 @@ _readEState()
* ----------------
*/
static RelOptInfo *
-_readRelOptInfo()
+_readRelOptInfo(void)
{
RelOptInfo *local_node;
char *token;
@@ -1421,7 +1421,7 @@ _readRelOptInfo()
* ----------------
*/
static TargetEntry *
-_readTargetEntry()
+_readTargetEntry(void)
{
TargetEntry *local_node;
char *token;
@@ -1439,7 +1439,7 @@ _readTargetEntry()
}
static Attr *
-_readAttr()
+_readAttr(void)
{
Attr *local_node;
char *token;
@@ -1462,7 +1462,7 @@ _readAttr()
* ----------------
*/
static RangeTblEntry *
-_readRangeTblEntry()
+_readRangeTblEntry(void)
{
RangeTblEntry *local_node;
char *token;
@@ -1520,7 +1520,7 @@ _readRangeTblEntry()
* ----------------
*/
static Path *
-_readPath()
+_readPath(void)
{
Path *local_node;
char *token;
@@ -1553,7 +1553,7 @@ _readPath()
* ----------------
*/
static IndexPath *
-_readIndexPath()
+_readIndexPath(void)
{
IndexPath *local_node;
char *token;
@@ -1607,7 +1607,7 @@ _readIndexPath()
* ----------------
*/
static TidPath *
-_readTidPath()
+_readTidPath(void)
{
TidPath *local_node;
char *token;
@@ -1646,7 +1646,7 @@ _readTidPath()
* ----------------
*/
static NestPath *
-_readNestPath()
+_readNestPath(void)
{
NestPath *local_node;
char *token;
@@ -1692,7 +1692,7 @@ _readNestPath()
* ----------------
*/
static MergePath *
-_readMergePath()
+_readMergePath(void)
{
MergePath *local_node;
char *token;
@@ -1747,7 +1747,7 @@ _readMergePath()
* ----------------
*/
static HashPath *
-_readHashPath()
+_readHashPath(void)
{
HashPath *local_node;
char *token;
@@ -1796,7 +1796,7 @@ _readHashPath()
* ----------------
*/
static PathKeyItem *
-_readPathKeyItem()
+_readPathKeyItem(void)
{
PathKeyItem *local_node;
char *token;
@@ -1822,7 +1822,7 @@ _readPathKeyItem()
* ----------------
*/
static RestrictInfo *
-_readRestrictInfo()
+_readRestrictInfo(void)
{
RestrictInfo *local_node;
char *token;
@@ -1866,7 +1866,7 @@ _readRestrictInfo()
* ----------------
*/
static JoinInfo *
-_readJoinInfo()
+_readJoinInfo(void)
{
JoinInfo *local_node;
char *token;
@@ -1889,7 +1889,7 @@ _readJoinInfo()
* ----------------
*/
static Iter *
-_readIter()
+_readIter(void)
{
Iter *local_node;
char *token;
diff --git a/src/backend/tcop/dest.c b/src/backend/tcop/dest.c
index 0505c4c5cf2..ad3475ba8a4 100644
--- a/src/backend/tcop/dest.c
+++ b/src/backend/tcop/dest.c
@@ -8,7 +8,7 @@
*
*
* 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 $
*
*-------------------------------------------------------------------------
*/
@@ -179,27 +179,22 @@ DestToFunction(CommandDest dest)
{
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;
}
/*
diff --git a/src/backend/utils/adt/numutils.c b/src/backend/utils/adt/numutils.c
index ea188e70f31..9291439cfa6 100644
--- a/src/backend/utils/adt/numutils.c
+++ b/src/backend/utils/adt/numutils.c
@@ -11,7 +11,7 @@
*
*
* 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 $
*
*-------------------------------------------------------------------------
*/
@@ -63,7 +63,13 @@ pg_atoi(char *s, int size, int c)
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);
diff --git a/src/include/port/unixware.h b/src/include/port/unixware.h
index 10fe5928d18..06ee4e4da76 100644
--- a/src/include/port/unixware.h
+++ b/src/include/port/unixware.h
@@ -1,10 +1,12 @@
#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.
diff --git a/src/include/storage/s_lock.h b/src/include/storage/s_lock.h
index 86acb8bb56a..9f0fd7c68e3 100644
--- a/src/include/storage/s_lock.h
+++ b/src/include/storage/s_lock.h
@@ -8,7 +8,7 @@
*
*
* 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 $
*
*-------------------------------------------------------------------------
*/
@@ -236,7 +236,7 @@ tas(volatile slock_t *lock)
#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
diff --git a/src/interfaces/libpq/fe-connect.c b/src/interfaces/libpq/fe-connect.c
index e6ecfe153e3..751980dce3b 100644
--- a/src/interfaces/libpq/fe-connect.c
+++ b/src/interfaces/libpq/fe-connect.c
@@ -8,7 +8,7 @@
*
*
* 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 $
*
*-------------------------------------------------------------------------
*/
@@ -2101,10 +2101,11 @@ pqPacketSend(PGconn *conn, const char *buf, size_t len)
# 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;
diff --git a/src/makefiles/Makefile.unixware b/src/makefiles/Makefile.unixware
index f91cf357e73..7e007adc2e6 100644
--- a/src/makefiles/Makefile.unixware
+++ b/src/makefiles/Makefile.unixware
@@ -1,9 +1,11 @@
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
diff --git a/src/template/unixware b/src/template/unixware
index a7e715bdc3a..3dc45073c6f 100644
--- a/src/template/unixware
+++ b/src/template/unixware
@@ -1,3 +1,5 @@
-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
diff --git a/src/test/regress/expected/abstime-solaris-1947.out b/src/test/regress/expected/abstime-solaris-1947.out
index efe333967d1..f5b78a1b4f8 100644
--- a/src/test/regress/expected/abstime-solaris-1947.out
+++ b/src/test/regress/expected/abstime-solaris-1947.out
@@ -126,3 +126,4 @@ SELECT '' AS four, f1 AS abstime,
| 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)
+
diff --git a/src/test/regress/expected/horology-solaris-1947.out b/src/test/regress/expected/horology-solaris-1947.out
index 0097d383ba1..44aa90d9e14 100644
--- a/src/test/regress/expected/horology-solaris-1947.out
+++ b/src/test/regress/expected/horology-solaris-1947.out
@@ -2,6 +2,48 @@
-- 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";
diff --git a/src/test/regress/pg_regress.sh b/src/test/regress/pg_regress.sh
index 34584a6e4f0..01cc436afe8 100644
--- a/src/test/regress/pg_regress.sh
+++ b/src/test/regress/pg_regress.sh
@@ -1,5 +1,5 @@
#! /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}
@@ -85,7 +85,7 @@ export PGHOST
export PGPORT
dbname=regression
-hostname=`hostname` || hostname=localhost
+hostname=localhost
: ${GMAKE='@GMAKE@'}
@@ -287,7 +287,9 @@ then
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 ]
@@ -423,7 +425,9 @@ esac
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
@@ -469,9 +473,9 @@ do
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
@@ -485,7 +489,7 @@ do
# subshells.)
# ----------
- for name; do
+ for name do
if [ $# -ne 1 ]; then
formatted=`echo "$name" | awk '{printf "%-20.20s", $1;}'`
$ECHO_N " $formatted ... $ECHO_C"
diff --git a/src/test/regress/resultmap b/src/test/regress/resultmap
index 98b064ac3ea..2c80aec16c8 100644
--- a/src/test/regress/resultmap
+++ b/src/test/regress/resultmap
@@ -3,6 +3,7 @@ abstime/.*-irix6=abstime-1947-PDT
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
@@ -27,10 +28,11 @@ geometry/.*beos=geometry-intel-beos
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
@@ -44,6 +46,7 @@ int2/i.86-pc-linux-gnulibc=int2-not-representable
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
@@ -58,6 +61,7 @@ int4/i.86-pc-linux-gnulibc=int4-not-representable
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
@@ -65,3 +69,4 @@ tinterval/.*-irix6=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