diff options
Diffstat (limited to 'src/backend/libpq/util.c')
-rw-r--r-- | src/backend/libpq/util.c | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/src/backend/libpq/util.c b/src/backend/libpq/util.c new file mode 100644 index 00000000000..3330280753e --- /dev/null +++ b/src/backend/libpq/util.c @@ -0,0 +1,101 @@ +/*------------------------------------------------------------------------- + * + * util.c-- + * general routines for libpq backend + * + * Copyright (c) 1994, Regents of the University of California + * + * + * IDENTIFICATION + * $Header: /cvsroot/pgsql/src/backend/libpq/Attic/util.c,v 1.1 1996/10/11 09:47:14 bryanh Exp $ + * + *------------------------------------------------------------------------- + */ +/* + * UTILITY ROUTINES + * pqdebug - send a string to the debugging output port + * pqdebug2 - send two strings to stdout + * PQtrace - turn on pqdebug() tracing + * PQuntrace - turn off pqdebug() tracing + */ + +#include <stdio.h> /* for sprintf() */ +#include <string.h> + +#include "c.h" +#include "lib/dllist.h" +#include "libpq/libpq.h" /* where the declarations go */ +#include "utils/exc.h" +#include "utils/palloc.h" + + +/* ---------------- + * exceptions + * ---------------- + */ +Exception MemoryError = {"Memory Allocation Error"}; +Exception PortalError = {"Invalid arguments to portal functions"}; +Exception PostquelError = {"Sql Error"}; +Exception ProtocolError = {"Protocol Error"}; +char PQerrormsg[ERROR_MSG_LENGTH]; + +int PQtracep = 0; /* 1 to print out debugging messages */ +FILE *debug_port = (FILE *) NULL; + +/* ---------------------------------------------------------------- + * PQ utility routines + * ---------------------------------------------------------------- + */ +void +pqdebug(char *target, char *msg) +{ + if (!target) + return; + + if (PQtracep) { + /* + * if nothing else was suggested default to stdout + */ + if (!debug_port) + debug_port = stdout; + fprintf(debug_port, target, msg); + fprintf(debug_port, "\n"); + } +} + +void +pqdebug2(char *target, char *msg1, char *msg2) +{ + if (!target) + return; + + if (PQtracep) { + /* + * if nothing else was suggested default to stdout + */ + if (!debug_port) + debug_port = stdout; + fprintf(debug_port, target, msg1, msg2); + fprintf(debug_port, "\n"); + } +} + +/* -------------------------------- + * PQtrace() / PQuntrace() + * -------------------------------- + */ +void +PQtrace() +{ + PQtracep = 1; +} + +void +PQuntrace() +{ + PQtracep = 0; +} + + + + |