mirror of
https://github.com/neondatabase/neon.git
synced 2025-12-22 21:59:59 +00:00
## Problem This is a prerequisite for neondatabase/neon#12575 to keep all things relevant to `build-tools` image in a single directory ## Summary of changes - Rename `build_tools/` to `build-tools/` - Move `build-tools.Dockerfile` to `build-tools/Dockerfile`
58 lines
1.6 KiB
Diff
58 lines
1.6 KiB
Diff
diff --git a/src/bin/pgcopydb/copydb.c b/src/bin/pgcopydb/copydb.c
|
|
index d730b03..69a9be9 100644
|
|
--- a/src/bin/pgcopydb/copydb.c
|
|
+++ b/src/bin/pgcopydb/copydb.c
|
|
@@ -44,6 +44,7 @@ GUC dstSettings[] = {
|
|
{ "synchronous_commit", "'off'" },
|
|
{ "statement_timeout", "0" },
|
|
{ "lock_timeout", "0" },
|
|
+ { "idle_in_transaction_session_timeout", "0" },
|
|
{ NULL, NULL },
|
|
};
|
|
|
|
diff --git a/src/bin/pgcopydb/pgsql.c b/src/bin/pgcopydb/pgsql.c
|
|
index 94f2f46..e051ba8 100644
|
|
--- a/src/bin/pgcopydb/pgsql.c
|
|
+++ b/src/bin/pgcopydb/pgsql.c
|
|
@@ -2319,6 +2319,11 @@ pgsql_execute_log_error(PGSQL *pgsql,
|
|
|
|
LinesBuffer lbuf = { 0 };
|
|
|
|
+ if (message != NULL){
|
|
+ // make sure message is writable by splitLines
|
|
+ message = strdup(message);
|
|
+ }
|
|
+
|
|
if (!splitLines(&lbuf, message))
|
|
{
|
|
/* errors have already been logged */
|
|
@@ -2332,6 +2337,7 @@ pgsql_execute_log_error(PGSQL *pgsql,
|
|
PQbackendPID(pgsql->connection),
|
|
lbuf.lines[lineNumber]);
|
|
}
|
|
+ free(message); // free copy of message we created above
|
|
|
|
if (pgsql->logSQL)
|
|
{
|
|
@@ -3174,11 +3180,18 @@ pgcopy_log_error(PGSQL *pgsql, PGresult *res, const char *context)
|
|
/* errors have already been logged */
|
|
return;
|
|
}
|
|
-
|
|
if (res != NULL)
|
|
{
|
|
char *sqlstate = PQresultErrorField(res, PG_DIAG_SQLSTATE);
|
|
- strlcpy(pgsql->sqlstate, sqlstate, sizeof(pgsql->sqlstate));
|
|
+ if (sqlstate == NULL)
|
|
+ {
|
|
+ // PQresultErrorField returned NULL!
|
|
+ pgsql->sqlstate[0] = '\0'; // Set to an empty string to avoid segfault
|
|
+ }
|
|
+ else
|
|
+ {
|
|
+ strlcpy(pgsql->sqlstate, sqlstate, sizeof(pgsql->sqlstate));
|
|
+ }
|
|
}
|
|
|
|
char *endpoint =
|