mirror of
https://github.com/postgres/postgres.git
synced 2025-06-10 00:01:28 -04:00
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:
parent
ef2ba42717
commit
a647e30ba3
@ -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
|
||||||
|
@ -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);
|
||||||
}
|
}
|
||||||
|
@ -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;
|
||||||
|
@ -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"
|
||||||
|
|
||||||
|
|
||||||
|
@ -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>
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
@ -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"
|
||||||
|
|
||||||
|
@ -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"
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
@ -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) @<<
|
||||||
|
@ -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);
|
||||||
|
@ -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"
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
Loading…
x
Reference in New Issue
Block a user