aboutsummaryrefslogtreecommitdiff
path: root/src/interfaces/ecpg/lib
diff options
context:
space:
mode:
authorMichael Meskes <meskes@postgresql.org>2000-04-05 09:05:40 +0000
committerMichael Meskes <meskes@postgresql.org>2000-04-05 09:05:40 +0000
commit9fb20f105fc70db9b9c46240b4090ec597f28fa0 (patch)
tree7f876d53d90315d1555fe10338f8e149f290340b /src/interfaces/ecpg/lib
parent5f39ba814239688813f15f4bfe50725348f78a1f (diff)
downloadpostgresql-9fb20f105fc70db9b9c46240b4090ec597f28fa0.tar.gz
postgresql-9fb20f105fc70db9b9c46240b4090ec597f28fa0.zip
*** empty log message ***
Diffstat (limited to 'src/interfaces/ecpg/lib')
-rw-r--r--src/interfaces/ecpg/lib/error.c15
-rw-r--r--src/interfaces/ecpg/lib/execute.c8
2 files changed, 14 insertions, 9 deletions
diff --git a/src/interfaces/ecpg/lib/error.c b/src/interfaces/ecpg/lib/error.c
index 5aa4b771566..e7e976116b8 100644
--- a/src/interfaces/ecpg/lib/error.c
+++ b/src/interfaces/ecpg/lib/error.c
@@ -7,9 +7,10 @@
#include <sqlca.h>
void
-ECPGraise(int line, int code, const char *str)
+ECPGraise(int line, int code, char *str)
{
sqlca.sqlcode = code;
+
switch (code)
{
case ECPG_NOT_FOUND:
@@ -117,9 +118,13 @@ ECPGraise(int line, int code, const char *str)
"Variable is not a character type in line %d.", line);
break;
- case ECPG_PGSQL:
+ case ECPG_PGSQL:
+ /* strip trailing newline */
+ if (str[strlen(str)-1] == '\n')
+ str[strlen(str)-1] = '\0';
+
snprintf(sqlca.sqlerrm.sqlerrmc,sizeof(sqlca.sqlerrm.sqlerrmc),
- "Postgres error '%s' in line %d.", str, line);
+ "'%s' in line %d.", str, line);
break;
case ECPG_TRANS:
@@ -134,12 +139,12 @@ ECPGraise(int line, int code, const char *str)
default:
snprintf(sqlca.sqlerrm.sqlerrmc,sizeof(sqlca.sqlerrm.sqlerrmc),
- "SQL error #%d in line %d.",code, line);
+ "SQL error #%d in line %d.", code, line);
break;
}
sqlca.sqlerrm.sqlerrml = strlen(sqlca.sqlerrm.sqlerrmc);
-
+
/* free all memory we have allocated for the user */
free_auto_mem();
}
diff --git a/src/interfaces/ecpg/lib/execute.c b/src/interfaces/ecpg/lib/execute.c
index 875eb843115..89d756787e2 100644
--- a/src/interfaces/ecpg/lib/execute.c
+++ b/src/interfaces/ecpg/lib/execute.c
@@ -479,7 +479,7 @@ ECPGexecute(struct statement * stmt)
strncpy(mallocedval + strlen(mallocedval) - 1, "}'", sizeof("}'"));
}
else
- sprintf(mallocedval, "%c,", (*((char *) var->value)) ? 't' : 'f');
+ sprintf(mallocedval, "%c", (*((char *) var->value)) ? 't' : 'f');
tobeinserted = mallocedval;
break;
@@ -541,7 +541,7 @@ ECPGexecute(struct statement * stmt)
default:
/* Not implemented yet */
- ECPGraise(stmt->lineno, ECPG_UNSUPPORTED, ECPGtype_name(var->type));
+ ECPGraise(stmt->lineno, ECPG_UNSUPPORTED, (char *)ECPGtype_name(var->type));
return false;
break;
}
@@ -859,7 +859,7 @@ ECPGdo(int lineno, const char *connection_name, char *query, ...)
*
* Copyright (c) 2000, Christof Petig <christof.petig@wtal.de>
*
- * $Header: /cvsroot/pgsql/src/interfaces/ecpg/lib/Attic/execute.c,v 1.3 2000/04/03 19:34:25 meskes Exp $
+ * $Header: /cvsroot/pgsql/src/interfaces/ecpg/lib/Attic/execute.c,v 1.4 2000/04/05 09:05:28 meskes Exp $
*/
PGconn *ECPG_internal_get_connection(char *name);
@@ -1024,6 +1024,6 @@ bool ECPGdo_descriptor(int line,const char *connection,
}
}
- ECPGraise(line, ECPG_UNKNOWN_DESCRIPTOR, descriptor);
+ ECPGraise(line, ECPG_UNKNOWN_DESCRIPTOR, (char *) descriptor);
return false;
}