summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/c/urweb.c2
-rw-r--r--src/postgres.sml6
2 files changed, 7 insertions, 1 deletions
diff --git a/src/c/urweb.c b/src/c/urweb.c
index 0ec741cc..ad0d33d9 100644
--- a/src/c/urweb.c
+++ b/src/c/urweb.c
@@ -2884,7 +2884,7 @@ int uw_rollback(uw_context ctx) {
if (ctx->transactionals[i].free)
ctx->transactionals[i].free(ctx->transactionals[i].data);
- return ctx->app->db_rollback(ctx);
+ return ctx->app ? ctx->app->db_rollback(ctx) : 0;
}
void uw_commit(uw_context ctx) {
diff --git a/src/postgres.sml b/src/postgres.sml
index 59fa3330..a3f33db1 100644
--- a/src/postgres.sml
+++ b/src/postgres.sml
@@ -411,6 +411,8 @@ fun init {dbstring, prepared = ss, tables, views, sequences} =
newline],
string "}",
newline,
+ string "PQclear(res);",
+ newline,
string "return 0;",
newline,
string "}",
@@ -434,6 +436,8 @@ fun init {dbstring, prepared = ss, tables, views, sequences} =
newline],
string "}",
newline,
+ string "PQclear(res);",
+ newline,
string "return 0;",
newline,
string "}",
@@ -457,6 +461,8 @@ fun init {dbstring, prepared = ss, tables, views, sequences} =
newline],
string "}",
newline,
+ string "PQclear(res);",
+ newline,
string "return 0;",
newline,
string "}",