aboutsummaryrefslogtreecommitdiff
path: root/src/backend/libpq/util.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/libpq/util.c')
-rw-r--r--src/backend/libpq/util.c101
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;
+}
+
+
+
+