aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/interfaces/ecpg/ecpglib/misc.c20
-rw-r--r--src/interfaces/ecpg/include/sqlca.h2
2 files changed, 18 insertions, 4 deletions
diff --git a/src/interfaces/ecpg/ecpglib/misc.c b/src/interfaces/ecpg/ecpglib/misc.c
index fbe02bac10d..ef46496e753 100644
--- a/src/interfaces/ecpg/ecpglib/misc.c
+++ b/src/interfaces/ecpg/ecpglib/misc.c
@@ -1,4 +1,4 @@
-/* $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/misc.c,v 1.27 2006/06/21 11:38:07 meskes Exp $ */
+/* $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/misc.c,v 1.28 2006/07/31 10:15:30 meskes Exp $ */
#define POSTGRES_ECPG_INTERNAL
#include "postgres_fe.h"
@@ -246,7 +246,8 @@ ECPGlog(const char *format,...)
if (simple_debug)
{
- char *f = (char *) malloc(strlen(format) + 100);
+ int bufsize = strlen(format) + 100;
+ char *f = (char *) malloc(bufsize);
if (f == NULL)
{
@@ -256,11 +257,24 @@ ECPGlog(const char *format,...)
return;
}
- sprintf(f, "[%d]: %s", (int) getpid(), format);
+ /*
+ * regression tests set this environment variable to get the same
+ * output for every run.
+ */
+ if (getenv("ECPG_DONT_LOG_PID"))
+ snprintf(f, bufsize, "[NO_PID]: %s", format);
+ else
+ snprintf(f, bufsize, "[%d]: %s", (int) getpid(), format);
va_start(ap, format);
vfprintf(debugstream, f, ap);
va_end(ap);
+
+ /* dump out internal sqlca variables */
+ if (getenv("ECPG_DONT_LOG_PID"))
+ fprintf(debugstream, "[NO_PID]: sqlca: code: %ld, state: %s\n",
+ sqlca.sqlcode, sqlca.sqlstate);
+
fflush(debugstream);
ECPGfree(f);
diff --git a/src/interfaces/ecpg/include/sqlca.h b/src/interfaces/ecpg/include/sqlca.h
index aaf97d0ecf3..32a09be0be0 100644
--- a/src/interfaces/ecpg/include/sqlca.h
+++ b/src/interfaces/ecpg/include/sqlca.h
@@ -9,7 +9,7 @@
#endif /* __CYGWIN__ */
#endif /* DLLIMPORT */
-#define SQLERRMC_LEN 70
+#define SQLERRMC_LEN 150
#ifdef __cplusplus
extern "C"