New patch with corrected README attached.

Also quickly added mention that it may be a qualified schema name.

Rod Taylor
This commit is contained in:
Bruce Momjian 2003-06-12 08:02:57 +00:00
parent ef2ba42717
commit a647e30ba3
18 changed files with 146 additions and 30 deletions

View File

@ -8,7 +8,7 @@ pgstattuple README 2002/08/29 Tatsuo Ishii
test=# \x test=# \x
Expanded display is on. Expanded display is on.
test=# select * from pgstattuple('pg_proc'); test=# select * from pgstattuple('pg_catalog.pg_proc');
-[ RECORD 1 ]------+------- -[ RECORD 1 ]------+-------
table_len | 458752 table_len | 458752
tuple_count | 1470 tuple_count | 1470
@ -45,9 +45,14 @@ free_percent -- free space in %
CREATE OR REPLACE FUNCTION pgstattuple(text) RETURNS pgstattuple_type CREATE OR REPLACE FUNCTION pgstattuple(text) RETURNS pgstattuple_type
AS 'MODULE_PATHNAME', 'pgstattuple' AS 'MODULE_PATHNAME', 'pgstattuple'
LANGUAGE 'c' WITH (isstrict); LANGUAGE 'c' STRICT;
The argument is the table name. Note that pgstattuple only returns CREATE OR REPLACE FUNCTION pgstattuple(oid) RETURNS pgstattuple_type
AS 'MODULE_PATHNAME', 'pgstattuplebyid'
LANGUAGE 'c' STRICT;
The argument is the table name (optionally it may be qualified)
or the OID of the table. Note that pgstattuple only returns
one row. one row.
4. Notes 4. Notes

View File

@ -1,5 +1,5 @@
/* /*
* $Header: /cvsroot/pgsql/contrib/pgstattuple/pgstattuple.c,v 1.9 2002/09/04 20:31:08 momjian Exp $ * $Header: /cvsroot/pgsql/contrib/pgstattuple/pgstattuple.c,v 1.10 2003/06/12 08:02:53 momjian Exp $
* *
* Copyright (c) 2001,2002 Tatsuo Ishii * Copyright (c) 2001,2002 Tatsuo Ishii
* *
@ -33,8 +33,12 @@
PG_FUNCTION_INFO_V1(pgstattuple); PG_FUNCTION_INFO_V1(pgstattuple);
PG_FUNCTION_INFO_V1(pgstattuplebyid);
extern Datum pgstattuple(PG_FUNCTION_ARGS); extern Datum pgstattuple(PG_FUNCTION_ARGS);
extern Datum pgstattuplebyid(PG_FUNCTION_ARGS);
static Datum pgstattuple_real(Relation rel);
/* ---------- /* ----------
* pgstattuple: * pgstattuple:
@ -46,7 +50,7 @@ extern Datum pgstattuple(PG_FUNCTION_ARGS);
* ---------- * ----------
*/ */
#define DUMMY_TUPLE "pgstattuple_type" #define DUMMY_TUPLE "public.pgstattuple_type"
#define NCOLUMNS 9 #define NCOLUMNS 9
#define NCHARS 32 #define NCHARS 32
@ -56,6 +60,41 @@ pgstattuple(PG_FUNCTION_ARGS)
text *relname = PG_GETARG_TEXT_P(0); text *relname = PG_GETARG_TEXT_P(0);
RangeVar *relrv; RangeVar *relrv;
Relation rel; Relation rel;
Datum result;
/* open relation */
relrv = makeRangeVarFromNameList(textToQualifiedNameList(relname,
"pgstattuple"));
rel = heap_openrv(relrv, AccessShareLock);
result = pgstattuple_real(rel);
PG_RETURN_DATUM(result);
}
Datum
pgstattuplebyid(PG_FUNCTION_ARGS)
{
Oid relid = PG_GETARG_OID(0);
Relation rel;
Datum result;
/* open relation */
rel = heap_open(relid, AccessShareLock);
result = pgstattuple_real(rel);
PG_RETURN_DATUM(result);
}
/*
* pgstattuple_real
*
* The real work occurs here
*/
static Datum
pgstattuple_real(Relation rel)
{
HeapScanDesc scan; HeapScanDesc scan;
HeapTuple tuple; HeapTuple tuple;
BlockNumber nblocks; BlockNumber nblocks;
@ -92,11 +131,6 @@ pgstattuple(PG_FUNCTION_ARGS)
*/ */
attinmeta = TupleDescGetAttInMetadata(tupdesc); attinmeta = TupleDescGetAttInMetadata(tupdesc);
/* open relation */
relrv = makeRangeVarFromNameList(textToQualifiedNameList(relname,
"pgstattuple"));
rel = heap_openrv(relrv, AccessShareLock);
nblocks = RelationGetNumberOfBlocks(rel); nblocks = RelationGetNumberOfBlocks(rel);
scan = heap_beginscan(rel, SnapshotAny, 0, NULL); scan = heap_beginscan(rel, SnapshotAny, 0, NULL);
@ -187,5 +221,5 @@ pgstattuple(PG_FUNCTION_ARGS)
pfree(values[i]); pfree(values[i]);
pfree(values); pfree(values);
PG_RETURN_DATUM(result); return(result);
} }

View File

@ -17,4 +17,9 @@ CREATE TYPE pgstattuple_type AS (
CREATE OR REPLACE FUNCTION pgstattuple(text) CREATE OR REPLACE FUNCTION pgstattuple(text)
RETURNS pgstattuple_type RETURNS pgstattuple_type
AS 'MODULE_PATHNAME', 'pgstattuple' AS 'MODULE_PATHNAME', 'pgstattuple'
LANGUAGE 'C' WITH (isstrict); LANGUAGE 'C' STRICT;
CREATE OR REPLACE FUNCTION pgstattuple(oid)
RETURNS pgstattuple_type
AS 'MODULE_PATHNAME', 'pgstattuplebyid'
LANGUAGE 'C' STRICT;

View File

@ -8,7 +8,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/libpq/ip.c,v 1.12 2003/06/12 07:36:51 momjian Exp $ * $Header: /cvsroot/pgsql/src/backend/libpq/ip.c,v 1.13 2003/06/12 08:02:53 momjian Exp $
* *
* This file and the IPV6 implementation were initially provided by * This file and the IPV6 implementation were initially provided by
* Nigel Kukard <nkukard@lbsd.net>, Linux Based Systems Design * Nigel Kukard <nkukard@lbsd.net>, Linux Based Systems Design
@ -20,6 +20,8 @@
/* This is intended to be used in both frontend and backend, so use c.h */ /* This is intended to be used in both frontend and backend, so use c.h */
#include "c.h" #include "c.h"
#if !defined(_MSC_VER) && !defined(__BORLANDC__)
#include <errno.h> #include <errno.h>
#include <unistd.h> #include <unistd.h>
#include <sys/types.h> #include <sys/types.h>
@ -33,6 +35,8 @@
#include <arpa/inet.h> #include <arpa/inet.h>
#include <sys/file.h> #include <sys/file.h>
#endif
#include "libpq/ip.h" #include "libpq/ip.h"

View File

@ -2,7 +2,7 @@
* Encoding names and routines for work with it. All * Encoding names and routines for work with it. All
* in this file is shared bedween FE and BE. * in this file is shared bedween FE and BE.
* *
* $Id: encnames.c,v 1.13 2003/05/15 16:35:29 momjian Exp $ * $Id: encnames.c,v 1.14 2003/06/12 08:02:53 momjian Exp $
*/ */
#ifdef FRONTEND #ifdef FRONTEND
#include "postgres_fe.h" #include "postgres_fe.h"
@ -13,7 +13,9 @@
#include "utils/builtins.h" #include "utils/builtins.h"
#endif #endif
#if !defined(_MSC_VER) && !defined(__BORLANDC__)
#include <unistd.h> #include <unistd.h>
#endif
#include "mb/pg_wchar.h" #include "mb/pg_wchar.h"
#include <ctype.h> #include <ctype.h>

View File

@ -12,7 +12,7 @@
* Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group * Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California * Portions Copyright (c) 1994, Regents of the University of California
* *
* $Id: c.h,v 1.147 2003/05/16 01:57:51 momjian Exp $ * $Id: c.h,v 1.148 2003/06/12 08:02:56 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
@ -73,7 +73,7 @@
#include <SupportDefs.h> #include <SupportDefs.h>
#endif #endif
#ifdef WIN32 #if defined(WIN32) && !defined(_MSC_VER) && !defined(__BORLANDC__)
/* We have to redefine some system functions after they are included above */ /* We have to redefine some system functions after they are included above */
#include "pg_config_os.h" #include "pg_config_os.h"
#endif #endif

View File

@ -16,15 +16,17 @@
* *
* Copyright (c) 2003, PostgreSQL Global Development Group * Copyright (c) 2003, PostgreSQL Global Development Group
* *
* $Id: getaddrinfo.h,v 1.3 2003/06/12 07:36:51 momjian Exp $ * $Id: getaddrinfo.h,v 1.4 2003/06/12 08:02:56 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
#ifndef GETADDRINFO_H #ifndef GETADDRINFO_H
#define GETADDRINFO_H #define GETADDRINFO_H
#if !defined(WIN32) || (!defined(_MSC_VER) && !defined(__BORLANDC__))
#include <sys/socket.h> #include <sys/socket.h>
#include <netdb.h> #include <netdb.h>
#endif
#ifndef HAVE_STRUCT_ADDRINFO #ifndef HAVE_STRUCT_ADDRINFO

View File

@ -21,6 +21,10 @@
#define HAVE_ATEXIT #define HAVE_ATEXIT
#define HAVE_MEMMOVE #define HAVE_MEMMOVE
#ifdef __BORLANDC__
#define HAVE_RANDOM
#endif
/* use _snprintf instead of snprintf */ /* use _snprintf instead of snprintf */
#define HAVE_DECL_SNPRINTF 1 #define HAVE_DECL_SNPRINTF 1
#define snprintf _snprintf #define snprintf _snprintf

View File

@ -6,7 +6,7 @@
* Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group * Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California * Portions Copyright (c) 1994, Regents of the University of California
* *
* $Id: port.h,v 1.3 2003/05/16 04:59:22 momjian Exp $ * $Id: port.h,v 1.4 2003/06/12 08:02:56 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
@ -76,8 +76,10 @@ extern double rint(double x);
#endif #endif
#ifndef HAVE_INET_ATON #ifndef HAVE_INET_ATON
#if !defined(WIN32) || (!defined(_MSC_VER) && !defined(__BORLANDC__))
# include <netinet/in.h> # include <netinet/in.h>
# include <arpa/inet.h> # include <arpa/inet.h>
#endif
extern int inet_aton(const char *cp, struct in_addr * addr); extern int inet_aton(const char *cp, struct in_addr * addr);
#endif #endif

View File

@ -4,7 +4,7 @@
# and a Win32 dynamic library libpq.dll with import library libpqdll.lib # and a Win32 dynamic library libpq.dll with import library libpqdll.lib
# Borland C++ base install directory goes here # Borland C++ base install directory goes here
BCB=d:\Borland\Bcc55 # BCB=d:\Borland\Bcc55
!MESSAGE Building the Win32 DLL and Static Library... !MESSAGE Building the Win32 DLL and Static Library...
!MESSAGE !MESSAGE
@ -63,8 +63,13 @@ LIB32=tlib.exe
LIB32_FLAGS= LIB32_FLAGS=
LIB32_OBJS= \ LIB32_OBJS= \
"$(OUTDIR)\win32.obj" \ "$(OUTDIR)\win32.obj" \
"$(INTDIR)\getaddrinfo.obj" \
"$(INTDIR)\inet_aton.obj" \
"$(INTDIR)\crypt.obj" \
"$(INTDIR)\path.obj" \
"$(INTDIR)\dllist.obj" \ "$(INTDIR)\dllist.obj" \
"$(INTDIR)\md5.obj" \ "$(INTDIR)\md5.obj" \
"$(INTDIR)\ip.obj" \
"$(INTDIR)\fe-auth.obj" \ "$(INTDIR)\fe-auth.obj" \
"$(INTDIR)\fe-connect.obj" \ "$(INTDIR)\fe-connect.obj" \
"$(INTDIR)\fe-exec.obj" \ "$(INTDIR)\fe-exec.obj" \
@ -77,7 +82,7 @@ LIB32_OBJS= \
"$(INTDIR)\encnames.obj" "$(INTDIR)\encnames.obj"
RSC=brcc32.exe RSC=brcc32.exe
RSC_PROJ=/l 0x409 /fo"$(INTDIR)\libpq.res" RSC_PROJ=-l 0x409 -i$(BCB)\include -fo"$(INTDIR)\libpq.res"
LINK32=ilink32.exe LINK32=ilink32.exe
LINK32_FLAGS = -Gn -L$(BCB)\lib;$(INTDIR); -x -Tpd -v LINK32_FLAGS = -Gn -L$(BCB)\lib;$(INTDIR); -x -Tpd -v
@ -86,15 +91,20 @@ LINK32_OBJS= "$(INTDIR)\libpqdll.obj"
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------
.path.obj = $(INTDIR) .path.obj = $(INTDIR)
.path.c = .;..\..\backend\libpq;..\..\backend\lib;..\..\backend\utils\mb .path.c = .;..\..\port;..\..\backend\libpq;..\..\backend\lib;..\..\backend\utils\mb
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------
ALL: "$(OUTDIR)" "$(OUTDIR)\blibpq.dll" "$(OUTDIR)\blibpq.lib" ALL: "$(OUTDIR)" "$(OUTDIR)\blibpq.dll" "$(OUTDIR)\blibpq.lib"
CLEAN : CLEAN :
-@erase "$(INTDIR)\getaddrinfo.obj"
-@erase "$(INTDIR)\inet_aton.obj"
-@erase "$(INTDIR)\crypt.obj"
-@erase "$(INTDIR)\path.obj"
-@erase "$(INTDIR)\dllist.obj" -@erase "$(INTDIR)\dllist.obj"
-@erase "$(INTDIR)\md5.obj" -@erase "$(INTDIR)\md5.obj"
-@erase "$(INTDIR)\ip.obj"
-@erase "$(INTDIR)\fe-auth.obj" -@erase "$(INTDIR)\fe-auth.obj"
-@erase "$(INTDIR)\fe-connect.obj" -@erase "$(INTDIR)\fe-connect.obj"
-@erase "$(INTDIR)\fe-exec.obj" -@erase "$(INTDIR)\fe-exec.obj"
@ -125,7 +135,7 @@ CLEAN :
"$(OUTDIR)\blibpq.lib" import32.lib cw32mti.lib, + "$(OUTDIR)\blibpq.lib" import32.lib cw32mti.lib, +
blibpqdll.def,"$(INTDIR)\libpq.res" blibpqdll.def,"$(INTDIR)\libpq.res"
! !
implib -a "$(OUTDIR)\blibpqdll.lib" blibpqdll.def $@ implib -w "$(OUTDIR)\blibpqdll.lib" blibpqdll.def $@
"$(INTDIR)\libpq.res" : "$(INTDIR)" libpq.rc "$(INTDIR)\libpq.res" : "$(INTDIR)" libpq.rc
$(RSC) $(RSC_PROJ) libpq.rc $(RSC) $(RSC_PROJ) libpq.rc

View File

@ -96,7 +96,7 @@ EXPORTS
_pg_encoding_to_char @ 92 _pg_encoding_to_char @ 92
_pg_utf_mblen @ 93 _pg_utf_mblen @ 93
_PQunescapeBytea @ 94 _PQunescapeBytea @ 94
_PQfreeMem @ 95 _PQfreemem @ 95
; Aliases for MS compatible names ; Aliases for MS compatible names
PQconnectdb = _PQconnectdb PQconnectdb = _PQconnectdb
@ -193,5 +193,5 @@ EXPORTS
pg_encoding_to_char = _pg_encoding_to_char pg_encoding_to_char = _pg_encoding_to_char
pg_utf_mblen = _pg_utf_mblen pg_utf_mblen = _pg_utf_mblen
PQunescapeBytea = _PQunescapeBytea PQunescapeBytea = _PQunescapeBytea
PQfreeMem = _PQfreeMem PQfreemem = _PQfreemem

View File

@ -8,7 +8,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-connect.c,v 1.244 2003/06/12 07:36:51 momjian Exp $ * $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-connect.c,v 1.245 2003/06/12 08:02:57 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
@ -49,6 +49,10 @@
#include "libpq/ip.h" #include "libpq/ip.h"
#include "mb/pg_wchar.h" #include "mb/pg_wchar.h"
/* For FNCTL_NONBLOCK */
#if defined(WIN32) || defined(__BEOS__)
long ioctlsocket_ret;
#endif
#define PGPASSFILE ".pgpass" #define PGPASSFILE ".pgpass"

View File

@ -23,7 +23,7 @@
* Portions Copyright (c) 1994, Regents of the University of California * Portions Copyright (c) 1994, Regents of the University of California
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-misc.c,v 1.92 2003/06/08 17:43:00 tgl Exp $ * $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-misc.c,v 1.93 2003/06/12 08:02:57 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
@ -33,8 +33,11 @@
#include <errno.h> #include <errno.h>
#include <signal.h> #include <signal.h>
#include <time.h> #include <time.h>
#if !defined(_MSC_VER) && !defined(__BORLANDC__)
#include <netinet/in.h> #include <netinet/in.h>
#include <arpa/inet.h> #include <arpa/inet.h>
#endif
#ifdef WIN32 #ifdef WIN32
#include "win32.h" #include "win32.h"

View File

@ -96,5 +96,5 @@ EXPORTS
pg_encoding_to_char @ 92 pg_encoding_to_char @ 92
pg_utf_mblen @ 93 pg_utf_mblen @ 93
PQunescapeBytea @ 94 PQunescapeBytea @ 94
PQfreeMem @ 95 PQfreemem @ 95

View File

@ -36,8 +36,13 @@ OutDir=.\Release
ALL : "$(OUTDIR)\libpq.lib" "$(OUTDIR)\libpq.dll" ALL : "$(OUTDIR)\libpq.lib" "$(OUTDIR)\libpq.dll"
CLEAN : CLEAN :
-@erase "$(INTDIR)\getaddrinfo.obj"
-@erase "$(INTDIR)\inet_aton.obj"
-@erase "$(INTDIR)\crypt.obj"
-@erase "$(INTDIR)\path.obj"
-@erase "$(INTDIR)\dllist.obj" -@erase "$(INTDIR)\dllist.obj"
-@erase "$(INTDIR)\md5.obj" -@erase "$(INTDIR)\md5.obj"
-@erase "$(INTDIR)\ip.obj"
-@erase "$(INTDIR)\fe-auth.obj" -@erase "$(INTDIR)\fe-auth.obj"
-@erase "$(INTDIR)\fe-connect.obj" -@erase "$(INTDIR)\fe-connect.obj"
-@erase "$(INTDIR)\fe-exec.obj" -@erase "$(INTDIR)\fe-exec.obj"
@ -72,8 +77,13 @@ LIB32=link.exe -lib
LIB32_FLAGS=$(LOPT) /nologo /out:"$(OUTDIR)\libpq.lib" LIB32_FLAGS=$(LOPT) /nologo /out:"$(OUTDIR)\libpq.lib"
LIB32_OBJS= \ LIB32_OBJS= \
"$(OUTDIR)\win32.obj" \ "$(OUTDIR)\win32.obj" \
"$(INTDIR)\getaddrinfo.obj" \
"$(INTDIR)\inet_aton.obj" \
"$(INTDIR)\crypt.obj" \
"$(INTDIR)\path.obj" \
"$(INTDIR)\dllist.obj" \ "$(INTDIR)\dllist.obj" \
"$(INTDIR)\md5.obj" \ "$(INTDIR)\md5.obj" \
"$(INTDIR)\ip.obj" \
"$(INTDIR)\fe-auth.obj" \ "$(INTDIR)\fe-auth.obj" \
"$(INTDIR)\fe-connect.obj" \ "$(INTDIR)\fe-connect.obj" \
"$(INTDIR)\fe-exec.obj" \ "$(INTDIR)\fe-exec.obj" \
@ -112,6 +122,25 @@ LINK32_OBJS= \
$(LINK32_FLAGS) $(LINK32_OBJS) $(LINK32_FLAGS) $(LINK32_OBJS)
<< <<
"$(OUTDIR)\getaddrinfo.obj" : ..\..\port\getaddrinfo.c
$(CPP) @<<
$(CPP_PROJ) ..\..\port\getaddrinfo.c
<<
"$(OUTDIR)\inet_aton.obj" : ..\..\port\inet_aton.c
$(CPP) @<<
$(CPP_PROJ) ..\..\port\inet_aton.c
<<
"$(OUTDIR)\crypt.obj" : ..\..\port\crypt.c
$(CPP) @<<
$(CPP_PROJ) ..\..\port\crypt.c
<<
"$(OUTDIR)\path.obj" : ..\..\port\path.c
$(CPP) @<<
$(CPP_PROJ) ..\..\port\path.c
<<
"$(OUTDIR)\dllist.obj" : ..\..\backend\lib\dllist.c "$(OUTDIR)\dllist.obj" : ..\..\backend\lib\dllist.c
$(CPP) @<< $(CPP) @<<
@ -124,6 +153,10 @@ LINK32_OBJS= \
$(CPP_PROJ) ..\..\backend\libpq\md5.c $(CPP_PROJ) ..\..\backend\libpq\md5.c
<< <<
"$(OUTDIR)\ip.obj" : ..\..\backend\libpq\ip.c
$(CPP) @<<
$(CPP_PROJ) ..\..\backend\libpq\ip.c
<<
"$(INTDIR)\wchar.obj" : ..\..\backend\utils\mb\wchar.c "$(INTDIR)\wchar.obj" : ..\..\backend\utils\mb\wchar.c
$(CPP) @<< $(CPP) @<<

View File

@ -50,8 +50,12 @@ __RCSID("$NetBSD: crypt.c,v 1.18 2001/03/01 14:37:35 wiz Exp $");
#include <sys/types.h> #include <sys/types.h>
#include <limits.h> #include <limits.h>
#include <stdlib.h> #include <stdlib.h>
#include <unistd.h>
#ifdef WIN32
#include <windows.h> #include <windows.h>
#else
#include <unistd.h>
#endif
static int des_setkey(const char *key); static int des_setkey(const char *key);
static int des_cipher(const char *in, char *out, long salt, int num_iter); static int des_cipher(const char *in, char *out, long salt, int num_iter);

View File

@ -8,7 +8,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/port/getaddrinfo.c,v 1.4 2003/06/12 07:36:51 momjian Exp $ * $Header: /cvsroot/pgsql/src/port/getaddrinfo.c,v 1.5 2003/06/12 08:02:57 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
@ -16,6 +16,7 @@
/* This is intended to be used in both frontend and backend, so use c.h */ /* This is intended to be used in both frontend and backend, so use c.h */
#include "c.h" #include "c.h"
#if !defined(_MSC_VER) && !defined(__BORLANDC__)
#include <sys/types.h> #include <sys/types.h>
#include <sys/socket.h> #include <sys/socket.h>
#include <netdb.h> #include <netdb.h>
@ -24,6 +25,7 @@
#ifdef HAVE_UNIX_SOCKETS #ifdef HAVE_UNIX_SOCKETS
#include <sys/un.h> #include <sys/un.h>
#endif #endif
#endif
#include "getaddrinfo.h" #include "getaddrinfo.h"

View File

@ -1,4 +1,4 @@
/* $Id: inet_aton.c,v 1.2 2002/09/02 02:47:07 momjian Exp $ /* $Id: inet_aton.c,v 1.3 2003/06/12 08:02:57 momjian Exp $
* *
* This inet_aton() function was taken from the GNU C library and * This inet_aton() function was taken from the GNU C library and
* incorporated into Postgres for those systems which do not have this * incorporated into Postgres for those systems which do not have this
@ -44,8 +44,10 @@
#include "c.h" #include "c.h"
#if !defined(WIN32) || (!defined(_MSC_VER) && !defined(__BORLANDC__))
#include <netinet/in.h> #include <netinet/in.h>
#include <ctype.h> #include <ctype.h>
#endif
/* /*
* Check whether "cp" is a valid ascii representation * Check whether "cp" is a valid ascii representation