Run pgindent on the changes of the previous patch.
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 25 Jul 2025 20:36:44 +0000 (16:36 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 25 Jul 2025 20:36:44 +0000 (16:36 -0400)
This step can be checked mechanically.

Author: Tom Lane <tgl@sss.pgh.pa.us>
Reviewed-by: Matheus Alcantara <matheusssilv97@gmail.com>
Discussion: https://postgr.es/m/2976982.1748049023@sss.pgh.pa.us

contrib/dblink/dblink.c
contrib/postgres_fdw/connection.c
contrib/postgres_fdw/postgres_fdw.c
src/include/libpq/libpq-be-fe-helpers.h

index fc423c0544d3f4b207cbd8af759f59f7e25039e8..f98805fb5f73500e0bd83960274312abee35345d 100644 (file)
@@ -870,115 +870,115 @@ materializeResult(FunctionCallInfo fcinfo, PGconn *conn, PGresult *res)
    /* prepTuplestoreResult must have been called previously */
    Assert(rsinfo->returnMode == SFRM_Materialize);
 
-       if (PQresultStatus(res) == PGRES_COMMAND_OK)
-       {
-           is_sql_cmd = true;
-
-           /*
-            * need a tuple descriptor representing one TEXT column to return
-            * the command status string as our result tuple
-            */
-           tupdesc = CreateTemplateTupleDesc(1);
-           TupleDescInitEntry(tupdesc, (AttrNumber) 1, "status",
-                              TEXTOID, -1, 0);
-           ntuples = 1;
-           nfields = 1;
-       }
-       else
-       {
-           Assert(PQresultStatus(res) == PGRES_TUPLES_OK);
+   if (PQresultStatus(res) == PGRES_COMMAND_OK)
+   {
+       is_sql_cmd = true;
 
-           is_sql_cmd = false;
+       /*
+        * need a tuple descriptor representing one TEXT column to return the
+        * command status string as our result tuple
+        */
+       tupdesc = CreateTemplateTupleDesc(1);
+       TupleDescInitEntry(tupdesc, (AttrNumber) 1, "status",
+                          TEXTOID, -1, 0);
+       ntuples = 1;
+       nfields = 1;
+   }
+   else
+   {
+       Assert(PQresultStatus(res) == PGRES_TUPLES_OK);
 
-           /* get a tuple descriptor for our result type */
-           switch (get_call_result_type(fcinfo, NULL, &tupdesc))
-           {
-               case TYPEFUNC_COMPOSITE:
-                   /* success */
-                   break;
-               case TYPEFUNC_RECORD:
-                   /* failed to determine actual type of RECORD */
-                   ereport(ERROR,
-                           (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
-                            errmsg("function returning record called in context "
-                                   "that cannot accept type record")));
-                   break;
-               default:
-                   /* result type isn't composite */
-                   elog(ERROR, "return type must be a row type");
-                   break;
-           }
+       is_sql_cmd = false;
 
-           /* make sure we have a persistent copy of the tupdesc */
-           tupdesc = CreateTupleDescCopy(tupdesc);
-           ntuples = PQntuples(res);
-           nfields = PQnfields(res);
+       /* get a tuple descriptor for our result type */
+       switch (get_call_result_type(fcinfo, NULL, &tupdesc))
+       {
+           case TYPEFUNC_COMPOSITE:
+               /* success */
+               break;
+           case TYPEFUNC_RECORD:
+               /* failed to determine actual type of RECORD */
+               ereport(ERROR,
+                       (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
+                        errmsg("function returning record called in context "
+                               "that cannot accept type record")));
+               break;
+           default:
+               /* result type isn't composite */
+               elog(ERROR, "return type must be a row type");
+               break;
        }
 
-       /*
-        * check result and tuple descriptor have the same number of columns
-        */
-       if (nfields != tupdesc->natts)
-           ereport(ERROR,
-                   (errcode(ERRCODE_DATATYPE_MISMATCH),
-                    errmsg("remote query result rowtype does not match "
-                           "the specified FROM clause rowtype")));
+       /* make sure we have a persistent copy of the tupdesc */
+       tupdesc = CreateTupleDescCopy(tupdesc);
+       ntuples = PQntuples(res);
+       nfields = PQnfields(res);
+   }
 
-       if (ntuples > 0)
-       {
-           AttInMetadata *attinmeta;
-           int         nestlevel = -1;
-           Tuplestorestate *tupstore;
-           MemoryContext oldcontext;
-           int         row;
-           char      **values;
+   /*
+    * check result and tuple descriptor have the same number of columns
+    */
+   if (nfields != tupdesc->natts)
+       ereport(ERROR,
+               (errcode(ERRCODE_DATATYPE_MISMATCH),
+                errmsg("remote query result rowtype does not match "
+                       "the specified FROM clause rowtype")));
 
-           attinmeta = TupleDescGetAttInMetadata(tupdesc);
+   if (ntuples > 0)
+   {
+       AttInMetadata *attinmeta;
+       int         nestlevel = -1;
+       Tuplestorestate *tupstore;
+       MemoryContext oldcontext;
+       int         row;
+       char      **values;
 
-           /* Set GUCs to ensure we read GUC-sensitive data types correctly */
-           if (!is_sql_cmd)
-               nestlevel = applyRemoteGucs(conn);
+       attinmeta = TupleDescGetAttInMetadata(tupdesc);
 
-           oldcontext = MemoryContextSwitchTo(rsinfo->econtext->ecxt_per_query_memory);
-           tupstore = tuplestore_begin_heap(true, false, work_mem);
-           rsinfo->setResult = tupstore;
-           rsinfo->setDesc = tupdesc;
-           MemoryContextSwitchTo(oldcontext);
+       /* Set GUCs to ensure we read GUC-sensitive data types correctly */
+       if (!is_sql_cmd)
+           nestlevel = applyRemoteGucs(conn);
 
-           values = palloc_array(char *, nfields);
+       oldcontext = MemoryContextSwitchTo(rsinfo->econtext->ecxt_per_query_memory);
+       tupstore = tuplestore_begin_heap(true, false, work_mem);
+       rsinfo->setResult = tupstore;
+       rsinfo->setDesc = tupdesc;
+       MemoryContextSwitchTo(oldcontext);
 
-           /* put all tuples into the tuplestore */
-           for (row = 0; row < ntuples; row++)
+       values = palloc_array(char *, nfields);
+
+       /* put all tuples into the tuplestore */
+       for (row = 0; row < ntuples; row++)
+       {
+           HeapTuple   tuple;
+
+           if (!is_sql_cmd)
            {
-               HeapTuple   tuple;
+               int         i;
 
-               if (!is_sql_cmd)
-               {
-                   int         i;
-
-                   for (i = 0; i < nfields; i++)
-                   {
-                       if (PQgetisnull(res, row, i))
-                           values[i] = NULL;
-                       else
-                           values[i] = PQgetvalue(res, row, i);
-                   }
-               }
-               else
+               for (i = 0; i < nfields; i++)
                {
-                   values[0] = PQcmdStatus(res);
+                   if (PQgetisnull(res, row, i))
+                       values[i] = NULL;
+                   else
+                       values[i] = PQgetvalue(res, row, i);
                }
-
-               /* build the tuple and put it into the tuplestore. */
-               tuple = BuildTupleFromCStrings(attinmeta, values);
-               tuplestore_puttuple(tupstore, tuple);
+           }
+           else
+           {
+               values[0] = PQcmdStatus(res);
            }
 
-           /* clean up GUC settings, if we changed any */
-           restoreLocalGucs(nestlevel);
+           /* build the tuple and put it into the tuplestore. */
+           tuple = BuildTupleFromCStrings(attinmeta, values);
+           tuplestore_puttuple(tupstore, tuple);
        }
 
-       PQclear(res);
+       /* clean up GUC settings, if we changed any */
+       restoreLocalGucs(nestlevel);
+   }
+
+   PQclear(res);
 }
 
 /*
index c654c1a1ff0a744e596e7794b568953bfa4804b7..a33843fcf8531b0aec5704cd7c781942d0faea21 100644 (file)
@@ -982,40 +982,40 @@ void
 pgfdw_report_error(int elevel, PGresult *res, PGconn *conn,
                   const char *sql)
 {
-       char       *diag_sqlstate = PQresultErrorField(res, PG_DIAG_SQLSTATE);
-       char       *message_primary = PQresultErrorField(res, PG_DIAG_MESSAGE_PRIMARY);
-       char       *message_detail = PQresultErrorField(res, PG_DIAG_MESSAGE_DETAIL);
-       char       *message_hint = PQresultErrorField(res, PG_DIAG_MESSAGE_HINT);
-       char       *message_context = PQresultErrorField(res, PG_DIAG_CONTEXT);
-       int         sqlstate;
-
-       if (diag_sqlstate)
-           sqlstate = MAKE_SQLSTATE(diag_sqlstate[0],
-                                    diag_sqlstate[1],
-                                    diag_sqlstate[2],
-                                    diag_sqlstate[3],
-                                    diag_sqlstate[4]);
-       else
-           sqlstate = ERRCODE_CONNECTION_FAILURE;
+   char       *diag_sqlstate = PQresultErrorField(res, PG_DIAG_SQLSTATE);
+   char       *message_primary = PQresultErrorField(res, PG_DIAG_MESSAGE_PRIMARY);
+   char       *message_detail = PQresultErrorField(res, PG_DIAG_MESSAGE_DETAIL);
+   char       *message_hint = PQresultErrorField(res, PG_DIAG_MESSAGE_HINT);
+   char       *message_context = PQresultErrorField(res, PG_DIAG_CONTEXT);
+   int         sqlstate;
+
+   if (diag_sqlstate)
+       sqlstate = MAKE_SQLSTATE(diag_sqlstate[0],
+                                diag_sqlstate[1],
+                                diag_sqlstate[2],
+                                diag_sqlstate[3],
+                                diag_sqlstate[4]);
+   else
+       sqlstate = ERRCODE_CONNECTION_FAILURE;
 
-       /*
-        * If we don't get a message from the PGresult, try the PGconn.  This
-        * is needed because for connection-level failures, PQgetResult may
-        * just return NULL, not a PGresult at all.
-        */
-       if (message_primary == NULL)
-           message_primary = pchomp(PQerrorMessage(conn));
-
-       ereport(elevel,
-               (errcode(sqlstate),
-                (message_primary != NULL && message_primary[0] != '\0') ?
-                errmsg_internal("%s", message_primary) :
-                errmsg("could not obtain message string for remote error"),
-                message_detail ? errdetail_internal("%s", message_detail) : 0,
-                message_hint ? errhint("%s", message_hint) : 0,
-                message_context ? errcontext("%s", message_context) : 0,
-                sql ? errcontext("remote SQL command: %s", sql) : 0));
-           PQclear(res);
+   /*
+    * If we don't get a message from the PGresult, try the PGconn.  This is
+    * needed because for connection-level failures, PQgetResult may just
+    * return NULL, not a PGresult at all.
+    */
+   if (message_primary == NULL)
+       message_primary = pchomp(PQerrorMessage(conn));
+
+   ereport(elevel,
+           (errcode(sqlstate),
+            (message_primary != NULL && message_primary[0] != '\0') ?
+            errmsg_internal("%s", message_primary) :
+            errmsg("could not obtain message string for remote error"),
+            message_detail ? errdetail_internal("%s", message_detail) : 0,
+            message_hint ? errhint("%s", message_hint) : 0,
+            message_context ? errcontext("%s", message_context) : 0,
+            sql ? errcontext("remote SQL command: %s", sql) : 0));
+   PQclear(res);
 }
 
 /*
@@ -1617,83 +1617,83 @@ pgfdw_get_cleanup_result(PGconn *conn, TimestampTz endtime,
 
    *result = NULL;
    *timed_out = false;
-       for (;;)
+   for (;;)
+   {
+       PGresult   *res;
+
+       while (PQisBusy(conn))
        {
-           PGresult   *res;
+           int         wc;
+           TimestampTz now = GetCurrentTimestamp();
+           long        cur_timeout;
 
-           while (PQisBusy(conn))
+           /* If timeout has expired, give up. */
+           if (now >= endtime)
            {
-               int         wc;
-               TimestampTz now = GetCurrentTimestamp();
-               long        cur_timeout;
-
-               /* If timeout has expired, give up. */
-               if (now >= endtime)
-               {
-                   *timed_out = true;
-                   failed = true;
-                   goto exit;
-               }
+               *timed_out = true;
+               failed = true;
+               goto exit;
+           }
 
-               /* If we need to re-issue the cancel request, do that. */
-               if (now >= retrycanceltime)
-               {
-                   /* We ignore failure to issue the repeated request. */
-                   (void) libpqsrv_cancel(conn, endtime);
+           /* If we need to re-issue the cancel request, do that. */
+           if (now >= retrycanceltime)
+           {
+               /* We ignore failure to issue the repeated request. */
+               (void) libpqsrv_cancel(conn, endtime);
 
-                   /* Recompute "now" in case that took measurable time. */
-                   now = GetCurrentTimestamp();
+               /* Recompute "now" in case that took measurable time. */
+               now = GetCurrentTimestamp();
 
-                   /* Adjust re-cancel timeout in increasing steps. */
-                   retrycanceltime = TimestampTzPlusMilliseconds(now,
-                                                                 canceldelta);
-                   canceldelta += canceldelta;
-               }
+               /* Adjust re-cancel timeout in increasing steps. */
+               retrycanceltime = TimestampTzPlusMilliseconds(now,
+                                                             canceldelta);
+               canceldelta += canceldelta;
+           }
 
-               /* If timeout has expired, give up, else get sleep time. */
-               cur_timeout = TimestampDifferenceMilliseconds(now,
-                                                             Min(endtime,
-                                                                 retrycanceltime));
-               if (cur_timeout <= 0)
-               {
-                   *timed_out = true;
-                   failed = true;
-                   goto exit;
-               }
+           /* If timeout has expired, give up, else get sleep time. */
+           cur_timeout = TimestampDifferenceMilliseconds(now,
+                                                         Min(endtime,
+                                                             retrycanceltime));
+           if (cur_timeout <= 0)
+           {
+               *timed_out = true;
+               failed = true;
+               goto exit;
+           }
 
-               /* first time, allocate or get the custom wait event */
-               if (pgfdw_we_cleanup_result == 0)
-                   pgfdw_we_cleanup_result = WaitEventExtensionNew("PostgresFdwCleanupResult");
+           /* first time, allocate or get the custom wait event */
+           if (pgfdw_we_cleanup_result == 0)
+               pgfdw_we_cleanup_result = WaitEventExtensionNew("PostgresFdwCleanupResult");
 
-               /* Sleep until there's something to do */
-               wc = WaitLatchOrSocket(MyLatch,
-                                      WL_LATCH_SET | WL_SOCKET_READABLE |
-                                      WL_TIMEOUT | WL_EXIT_ON_PM_DEATH,
-                                      PQsocket(conn),
-                                      cur_timeout, pgfdw_we_cleanup_result);
-               ResetLatch(MyLatch);
+           /* Sleep until there's something to do */
+           wc = WaitLatchOrSocket(MyLatch,
+                                  WL_LATCH_SET | WL_SOCKET_READABLE |
+                                  WL_TIMEOUT | WL_EXIT_ON_PM_DEATH,
+                                  PQsocket(conn),
+                                  cur_timeout, pgfdw_we_cleanup_result);
+           ResetLatch(MyLatch);
 
-               CHECK_FOR_INTERRUPTS();
+           CHECK_FOR_INTERRUPTS();
 
-               /* Data available in socket? */
-               if (wc & WL_SOCKET_READABLE)
+           /* Data available in socket? */
+           if (wc & WL_SOCKET_READABLE)
+           {
+               if (!PQconsumeInput(conn))
                {
-                   if (!PQconsumeInput(conn))
-                   {
-                       /* connection trouble */
-                       failed = true;
-                       goto exit;
-                   }
+                   /* connection trouble */
+                   failed = true;
+                   goto exit;
                }
            }
+       }
 
-           res = PQgetResult(conn);
-           if (res == NULL)
-               break;          /* query is complete */
+       res = PQgetResult(conn);
+       if (res == NULL)
+           break;              /* query is complete */
 
-           PQclear(last_res);
-           last_res = res;
-       }
+       PQclear(last_res);
+       last_res = res;
+   }
 exit:
    if (failed)
        PQclear(last_res);
index f2dee7b1c69ab3f70869531fbc1e83b30eb23f2f..25b287be069fa70a8b6f41296b8db682dcf13389 100644 (file)
@@ -3605,31 +3605,31 @@ get_remote_estimate(const char *sql, PGconn *conn,
                    Cost *startup_cost, Cost *total_cost)
 {
    PGresult   *res;
-       char       *line;
-       char       *p;
-       int         n;
+   char       *line;
+   char       *p;
+   int         n;
 
-       /*
-        * Execute EXPLAIN remotely.
-        */
-       res = pgfdw_exec_query(conn, sql, NULL);
-       if (PQresultStatus(res) != PGRES_TUPLES_OK)
-           pgfdw_report_error(ERROR, res, conn, sql);
+   /*
+    * Execute EXPLAIN remotely.
+    */
+   res = pgfdw_exec_query(conn, sql, NULL);
+   if (PQresultStatus(res) != PGRES_TUPLES_OK)
+       pgfdw_report_error(ERROR, res, conn, sql);
 
-       /*
-        * Extract cost numbers for topmost plan node.  Note we search for a
-        * left paren from the end of the line to avoid being confused by
-        * other uses of parentheses.
-        */
-       line = PQgetvalue(res, 0, 0);
-       p = strrchr(line, '(');
-       if (p == NULL)
-           elog(ERROR, "could not interpret EXPLAIN output: \"%s\"", line);
-       n = sscanf(p, "(cost=%lf..%lf rows=%lf width=%d)",
-                  startup_cost, total_cost, rows, width);
-       if (n != 4)
-           elog(ERROR, "could not interpret EXPLAIN output: \"%s\"", line);
-       PQclear(res);
+   /*
+    * Extract cost numbers for topmost plan node.  Note we search for a left
+    * paren from the end of the line to avoid being confused by other uses of
+    * parentheses.
+    */
+   line = PQgetvalue(res, 0, 0);
+   p = strrchr(line, '(');
+   if (p == NULL)
+       elog(ERROR, "could not interpret EXPLAIN output: \"%s\"", line);
+   n = sscanf(p, "(cost=%lf..%lf rows=%lf width=%d)",
+              startup_cost, total_cost, rows, width);
+   if (n != 4)
+       elog(ERROR, "could not interpret EXPLAIN output: \"%s\"", line);
+   PQclear(res);
 }
 
 /*
@@ -3812,63 +3812,63 @@ fetch_more_data(ForeignScanState *node)
    MemoryContextReset(fsstate->batch_cxt);
    oldcontext = MemoryContextSwitchTo(fsstate->batch_cxt);
 
-       if (fsstate->async_capable)
-       {
-           Assert(fsstate->conn_state->pendingAreq);
+   if (fsstate->async_capable)
+   {
+       Assert(fsstate->conn_state->pendingAreq);
 
-           /*
-            * The query was already sent by an earlier call to
-            * fetch_more_data_begin.  So now we just fetch the result.
-            */
-           res = pgfdw_get_result(conn);
-           /* On error, report the original query, not the FETCH. */
-           if (PQresultStatus(res) != PGRES_TUPLES_OK)
-               pgfdw_report_error(ERROR, res, conn, fsstate->query);
+       /*
+        * The query was already sent by an earlier call to
+        * fetch_more_data_begin.  So now we just fetch the result.
+        */
+       res = pgfdw_get_result(conn);
+       /* On error, report the original query, not the FETCH. */
+       if (PQresultStatus(res) != PGRES_TUPLES_OK)
+           pgfdw_report_error(ERROR, res, conn, fsstate->query);
 
-           /* Reset per-connection state */
-           fsstate->conn_state->pendingAreq = NULL;
-       }
-       else
-       {
-           char        sql[64];
+       /* Reset per-connection state */
+       fsstate->conn_state->pendingAreq = NULL;
+   }
+   else
+   {
+       char        sql[64];
 
-           /* This is a regular synchronous fetch. */
-           snprintf(sql, sizeof(sql), "FETCH %d FROM c%u",
-                    fsstate->fetch_size, fsstate->cursor_number);
+       /* This is a regular synchronous fetch. */
+       snprintf(sql, sizeof(sql), "FETCH %d FROM c%u",
+                fsstate->fetch_size, fsstate->cursor_number);
 
-           res = pgfdw_exec_query(conn, sql, fsstate->conn_state);
-           /* On error, report the original query, not the FETCH. */
-           if (PQresultStatus(res) != PGRES_TUPLES_OK)
-               pgfdw_report_error(ERROR, res, conn, fsstate->query);
-       }
+       res = pgfdw_exec_query(conn, sql, fsstate->conn_state);
+       /* On error, report the original query, not the FETCH. */
+       if (PQresultStatus(res) != PGRES_TUPLES_OK)
+           pgfdw_report_error(ERROR, res, conn, fsstate->query);
+   }
 
-       /* Convert the data into HeapTuples */
-       numrows = PQntuples(res);
-       fsstate->tuples = (HeapTuple *) palloc0(numrows * sizeof(HeapTuple));
-       fsstate->num_tuples = numrows;
-       fsstate->next_tuple = 0;
+   /* Convert the data into HeapTuples */
+   numrows = PQntuples(res);
+   fsstate->tuples = (HeapTuple *) palloc0(numrows * sizeof(HeapTuple));
+   fsstate->num_tuples = numrows;
+   fsstate->next_tuple = 0;
 
-       for (i = 0; i < numrows; i++)
-       {
-           Assert(IsA(node->ss.ps.plan, ForeignScan));
-
-           fsstate->tuples[i] =
-               make_tuple_from_result_row(res, i,
-                                          fsstate->rel,
-                                          fsstate->attinmeta,
-                                          fsstate->retrieved_attrs,
-                                          node,
-                                          fsstate->temp_cxt);
-       }
+   for (i = 0; i < numrows; i++)
+   {
+       Assert(IsA(node->ss.ps.plan, ForeignScan));
+
+       fsstate->tuples[i] =
+           make_tuple_from_result_row(res, i,
+                                      fsstate->rel,
+                                      fsstate->attinmeta,
+                                      fsstate->retrieved_attrs,
+                                      node,
+                                      fsstate->temp_cxt);
+   }
 
-       /* Update fetch_ct_2 */
-       if (fsstate->fetch_ct_2 < 2)
-           fsstate->fetch_ct_2++;
+   /* Update fetch_ct_2 */
+   if (fsstate->fetch_ct_2 < 2)
+       fsstate->fetch_ct_2++;
 
-       /* Must be EOF if we didn't get as many tuples as we asked for. */
-       fsstate->eof_reached = (numrows < fsstate->fetch_size);
+   /* Must be EOF if we didn't get as many tuples as we asked for. */
+   fsstate->eof_reached = (numrows < fsstate->fetch_size);
 
-       PQclear(res);
+   PQclear(res);
 
    MemoryContextSwitchTo(oldcontext);
 }
@@ -4322,20 +4322,20 @@ static void
 store_returning_result(PgFdwModifyState *fmstate,
                       TupleTableSlot *slot, PGresult *res)
 {
-       HeapTuple   newtup;
+   HeapTuple   newtup;
 
-       newtup = make_tuple_from_result_row(res, 0,
-                                           fmstate->rel,
-                                           fmstate->attinmeta,
-                                           fmstate->retrieved_attrs,
-                                           NULL,
-                                           fmstate->temp_cxt);
+   newtup = make_tuple_from_result_row(res, 0,
+                                       fmstate->rel,
+                                       fmstate->attinmeta,
+                                       fmstate->retrieved_attrs,
+                                       NULL,
+                                       fmstate->temp_cxt);
 
-       /*
-        * The returning slot will not necessarily be suitable to store
-        * heaptuples directly, so allow for conversion.
-        */
-       ExecForceStoreHeapTuple(newtup, slot, true);
+   /*
+    * The returning slot will not necessarily be suitable to store heaptuples
+    * directly, so allow for conversion.
+    */
+   ExecForceStoreHeapTuple(newtup, slot, true);
 }
 
 /*
@@ -4921,14 +4921,14 @@ postgresAnalyzeForeignTable(Relation relation,
    initStringInfo(&sql);
    deparseAnalyzeSizeSql(&sql, relation);
 
-       res = pgfdw_exec_query(conn, sql.data, NULL);
-       if (PQresultStatus(res) != PGRES_TUPLES_OK)
-           pgfdw_report_error(ERROR, res, conn, sql.data);
+   res = pgfdw_exec_query(conn, sql.data, NULL);
+   if (PQresultStatus(res) != PGRES_TUPLES_OK)
+       pgfdw_report_error(ERROR, res, conn, sql.data);
 
-       if (PQntuples(res) != 1 || PQnfields(res) != 1)
-           elog(ERROR, "unexpected result from deparseAnalyzeSizeSql query");
-       *totalpages = strtoul(PQgetvalue(res, 0, 0), NULL, 10);
-       PQclear(res);
+   if (PQntuples(res) != 1 || PQnfields(res) != 1)
+       elog(ERROR, "unexpected result from deparseAnalyzeSizeSql query");
+   *totalpages = strtoul(PQgetvalue(res, 0, 0), NULL, 10);
+   PQclear(res);
 
    ReleaseConnection(conn);
 
@@ -4970,15 +4970,15 @@ postgresGetAnalyzeInfoForForeignTable(Relation relation, bool *can_tablesample)
    initStringInfo(&sql);
    deparseAnalyzeInfoSql(&sql, relation);
 
-       res = pgfdw_exec_query(conn, sql.data, NULL);
-       if (PQresultStatus(res) != PGRES_TUPLES_OK)
-           pgfdw_report_error(ERROR, res, conn, sql.data);
+   res = pgfdw_exec_query(conn, sql.data, NULL);
+   if (PQresultStatus(res) != PGRES_TUPLES_OK)
+       pgfdw_report_error(ERROR, res, conn, sql.data);
 
-       if (PQntuples(res) != 1 || PQnfields(res) != 2)
-           elog(ERROR, "unexpected result from deparseAnalyzeInfoSql query");
-       reltuples = strtod(PQgetvalue(res, 0, 0), NULL);
-       relkind = *(PQgetvalue(res, 0, 1));
-           PQclear(res);
+   if (PQntuples(res) != 1 || PQnfields(res) != 2)
+       elog(ERROR, "unexpected result from deparseAnalyzeInfoSql query");
+   reltuples = strtod(PQgetvalue(res, 0, 0), NULL);
+   relkind = *(PQgetvalue(res, 0, 1));
+   PQclear(res);
 
    ReleaseConnection(conn);
 
@@ -5200,76 +5200,76 @@ postgresAcquireSampleRowsFunc(Relation relation, int elevel,
 
    deparseAnalyzeSql(&sql, relation, method, sample_frac, &astate.retrieved_attrs);
 
-       res = pgfdw_exec_query(conn, sql.data, NULL);
-       if (PQresultStatus(res) != PGRES_COMMAND_OK)
-           pgfdw_report_error(ERROR, res, conn, sql.data);
-       PQclear(res);
+   res = pgfdw_exec_query(conn, sql.data, NULL);
+   if (PQresultStatus(res) != PGRES_COMMAND_OK)
+       pgfdw_report_error(ERROR, res, conn, sql.data);
+   PQclear(res);
 
-       /*
-        * Determine the fetch size.  The default is arbitrary, but shouldn't
-        * be enormous.
-        */
-       fetch_size = 100;
-       foreach(lc, server->options)
-       {
-           DefElem    *def = (DefElem *) lfirst(lc);
+   /*
+    * Determine the fetch size.  The default is arbitrary, but shouldn't be
+    * enormous.
+    */
+   fetch_size = 100;
+   foreach(lc, server->options)
+   {
+       DefElem    *def = (DefElem *) lfirst(lc);
 
-           if (strcmp(def->defname, "fetch_size") == 0)
-           {
-               (void) parse_int(defGetString(def), &fetch_size, 0, NULL);
-               break;
-           }
-       }
-       foreach(lc, table->options)
+       if (strcmp(def->defname, "fetch_size") == 0)
        {
-           DefElem    *def = (DefElem *) lfirst(lc);
+           (void) parse_int(defGetString(def), &fetch_size, 0, NULL);
+           break;
+       }
+   }
+   foreach(lc, table->options)
+   {
+       DefElem    *def = (DefElem *) lfirst(lc);
 
-           if (strcmp(def->defname, "fetch_size") == 0)
-           {
-               (void) parse_int(defGetString(def), &fetch_size, 0, NULL);
-               break;
-           }
+       if (strcmp(def->defname, "fetch_size") == 0)
+       {
+           (void) parse_int(defGetString(def), &fetch_size, 0, NULL);
+           break;
        }
+   }
 
-       /* Construct command to fetch rows from remote. */
-       snprintf(fetch_sql, sizeof(fetch_sql), "FETCH %d FROM c%u",
-                fetch_size, cursor_number);
+   /* Construct command to fetch rows from remote. */
+   snprintf(fetch_sql, sizeof(fetch_sql), "FETCH %d FROM c%u",
+            fetch_size, cursor_number);
 
-       /* Retrieve and process rows a batch at a time. */
-       for (;;)
-       {
-           int         numrows;
-           int         i;
+   /* Retrieve and process rows a batch at a time. */
+   for (;;)
+   {
+       int         numrows;
+       int         i;
 
-           /* Allow users to cancel long query */
-           CHECK_FOR_INTERRUPTS();
+       /* Allow users to cancel long query */
+       CHECK_FOR_INTERRUPTS();
 
-           /*
-            * XXX possible future improvement: if rowstoskip is large, we
-            * could issue a MOVE rather than physically fetching the rows,
-            * then just adjust rowstoskip and samplerows appropriately.
-            */
+       /*
+        * XXX possible future improvement: if rowstoskip is large, we could
+        * issue a MOVE rather than physically fetching the rows, then just
+        * adjust rowstoskip and samplerows appropriately.
+        */
 
-           /* Fetch some rows */
-           res = pgfdw_exec_query(conn, fetch_sql, NULL);
-           /* On error, report the original query, not the FETCH. */
-           if (PQresultStatus(res) != PGRES_TUPLES_OK)
-               pgfdw_report_error(ERROR, res, conn, sql.data);
+       /* Fetch some rows */
+       res = pgfdw_exec_query(conn, fetch_sql, NULL);
+       /* On error, report the original query, not the FETCH. */
+       if (PQresultStatus(res) != PGRES_TUPLES_OK)
+           pgfdw_report_error(ERROR, res, conn, sql.data);
 
-           /* Process whatever we got. */
-           numrows = PQntuples(res);
-           for (i = 0; i < numrows; i++)
-               analyze_row_processor(res, i, &astate);
+       /* Process whatever we got. */
+       numrows = PQntuples(res);
+       for (i = 0; i < numrows; i++)
+           analyze_row_processor(res, i, &astate);
 
-           PQclear(res);
+       PQclear(res);
 
-           /* Must be EOF if we didn't get all the rows requested. */
-           if (numrows < fetch_size)
-               break;
-       }
+       /* Must be EOF if we didn't get all the rows requested. */
+       if (numrows < fetch_size)
+           break;
+   }
 
-       /* Close the cursor, just to be tidy. */
-       close_cursor(conn, cursor_number, NULL);
+   /* Close the cursor, just to be tidy. */
+   close_cursor(conn, cursor_number, NULL);
 
    ReleaseConnection(conn);
 
@@ -5420,234 +5420,231 @@ postgresImportForeignSchema(ImportForeignSchemaStmt *stmt, Oid serverOid)
    /* Create workspace for strings */
    initStringInfo(&buf);
 
-       /* Check that the schema really exists */
-       appendStringInfoString(&buf, "SELECT 1 FROM pg_catalog.pg_namespace WHERE nspname = ");
-       deparseStringLiteral(&buf, stmt->remote_schema);
+   /* Check that the schema really exists */
+   appendStringInfoString(&buf, "SELECT 1 FROM pg_catalog.pg_namespace WHERE nspname = ");
+   deparseStringLiteral(&buf, stmt->remote_schema);
 
-       res = pgfdw_exec_query(conn, buf.data, NULL);
-       if (PQresultStatus(res) != PGRES_TUPLES_OK)
-           pgfdw_report_error(ERROR, res, conn, buf.data);
+   res = pgfdw_exec_query(conn, buf.data, NULL);
+   if (PQresultStatus(res) != PGRES_TUPLES_OK)
+       pgfdw_report_error(ERROR, res, conn, buf.data);
 
-       if (PQntuples(res) != 1)
-           ereport(ERROR,
-                   (errcode(ERRCODE_FDW_SCHEMA_NOT_FOUND),
-                    errmsg("schema \"%s\" is not present on foreign server \"%s\"",
-                           stmt->remote_schema, server->servername)));
+   if (PQntuples(res) != 1)
+       ereport(ERROR,
+               (errcode(ERRCODE_FDW_SCHEMA_NOT_FOUND),
+                errmsg("schema \"%s\" is not present on foreign server \"%s\"",
+                       stmt->remote_schema, server->servername)));
 
-       PQclear(res);
-       resetStringInfo(&buf);
+   PQclear(res);
+   resetStringInfo(&buf);
 
-       /*
-        * Fetch all table data from this schema, possibly restricted by
-        * EXCEPT or LIMIT TO.  (We don't actually need to pay any attention
-        * to EXCEPT/LIMIT TO here, because the core code will filter the
-        * statements we return according to those lists anyway.  But it
-        * should save a few cycles to not process excluded tables in the
-        * first place.)
-        *
-        * Import table data for partitions only when they are explicitly
-        * specified in LIMIT TO clause. Otherwise ignore them and only
-        * include the definitions of the root partitioned tables to allow
-        * access to the complete remote data set locally in the schema
-        * imported.
-        *
-        * Note: because we run the connection with search_path restricted to
-        * pg_catalog, the format_type() and pg_get_expr() outputs will always
-        * include a schema name for types/functions in other schemas, which
-        * is what we want.
-        */
+   /*
+    * Fetch all table data from this schema, possibly restricted by EXCEPT or
+    * LIMIT TO.  (We don't actually need to pay any attention to EXCEPT/LIMIT
+    * TO here, because the core code will filter the statements we return
+    * according to those lists anyway.  But it should save a few cycles to
+    * not process excluded tables in the first place.)
+    *
+    * Import table data for partitions only when they are explicitly
+    * specified in LIMIT TO clause. Otherwise ignore them and only include
+    * the definitions of the root partitioned tables to allow access to the
+    * complete remote data set locally in the schema imported.
+    *
+    * Note: because we run the connection with search_path restricted to
+    * pg_catalog, the format_type() and pg_get_expr() outputs will always
+    * include a schema name for types/functions in other schemas, which is
+    * what we want.
+    */
+   appendStringInfoString(&buf,
+                          "SELECT relname, "
+                          "  attname, "
+                          "  format_type(atttypid, atttypmod), "
+                          "  attnotnull, "
+                          "  pg_get_expr(adbin, adrelid), ");
+
+   /* Generated columns are supported since Postgres 12 */
+   if (PQserverVersion(conn) >= 120000)
        appendStringInfoString(&buf,
-                              "SELECT relname, "
-                              "  attname, "
-                              "  format_type(atttypid, atttypmod), "
-                              "  attnotnull, "
-                              "  pg_get_expr(adbin, adrelid), ");
-
-       /* Generated columns are supported since Postgres 12 */
-       if (PQserverVersion(conn) >= 120000)
-           appendStringInfoString(&buf,
-                                  "  attgenerated, ");
-       else
-           appendStringInfoString(&buf,
-                                  "  NULL, ");
-
-       if (import_collate)
-           appendStringInfoString(&buf,
-                                  "  collname, "
-                                  "  collnsp.nspname ");
-       else
-           appendStringInfoString(&buf,
-                                  "  NULL, NULL ");
-
+                              "  attgenerated, ");
+   else
        appendStringInfoString(&buf,
-                              "FROM pg_class c "
-                              "  JOIN pg_namespace n ON "
-                              "    relnamespace = n.oid "
-                              "  LEFT JOIN pg_attribute a ON "
-                              "    attrelid = c.oid AND attnum > 0 "
-                              "      AND NOT attisdropped "
-                              "  LEFT JOIN pg_attrdef ad ON "
-                              "    adrelid = c.oid AND adnum = attnum ");
-
-       if (import_collate)
-           appendStringInfoString(&buf,
-                                  "  LEFT JOIN pg_collation coll ON "
-                                  "    coll.oid = attcollation "
-                                  "  LEFT JOIN pg_namespace collnsp ON "
-                                  "    collnsp.oid = collnamespace ");
+                              "  NULL, ");
 
+   if (import_collate)
        appendStringInfoString(&buf,
-                              "WHERE c.relkind IN ("
-                              CppAsString2(RELKIND_RELATION) ","
-                              CppAsString2(RELKIND_VIEW) ","
-                              CppAsString2(RELKIND_FOREIGN_TABLE) ","
-                              CppAsString2(RELKIND_MATVIEW) ","
-                              CppAsString2(RELKIND_PARTITIONED_TABLE) ") "
-                              "  AND n.nspname = ");
-       deparseStringLiteral(&buf, stmt->remote_schema);
+                              "  collname, "
+                              "  collnsp.nspname ");
+   else
+       appendStringInfoString(&buf,
+                              "  NULL, NULL ");
+
+   appendStringInfoString(&buf,
+                          "FROM pg_class c "
+                          "  JOIN pg_namespace n ON "
+                          "    relnamespace = n.oid "
+                          "  LEFT JOIN pg_attribute a ON "
+                          "    attrelid = c.oid AND attnum > 0 "
+                          "      AND NOT attisdropped "
+                          "  LEFT JOIN pg_attrdef ad ON "
+                          "    adrelid = c.oid AND adnum = attnum ");
+
+   if (import_collate)
+       appendStringInfoString(&buf,
+                              "  LEFT JOIN pg_collation coll ON "
+                              "    coll.oid = attcollation "
+                              "  LEFT JOIN pg_namespace collnsp ON "
+                              "    collnsp.oid = collnamespace ");
+
+   appendStringInfoString(&buf,
+                          "WHERE c.relkind IN ("
+                          CppAsString2(RELKIND_RELATION) ","
+                          CppAsString2(RELKIND_VIEW) ","
+                          CppAsString2(RELKIND_FOREIGN_TABLE) ","
+                          CppAsString2(RELKIND_MATVIEW) ","
+                          CppAsString2(RELKIND_PARTITIONED_TABLE) ") "
+                          "  AND n.nspname = ");
+   deparseStringLiteral(&buf, stmt->remote_schema);
+
+   /* Partitions are supported since Postgres 10 */
+   if (PQserverVersion(conn) >= 100000 &&
+       stmt->list_type != FDW_IMPORT_SCHEMA_LIMIT_TO)
+       appendStringInfoString(&buf, " AND NOT c.relispartition ");
+
+   /* Apply restrictions for LIMIT TO and EXCEPT */
+   if (stmt->list_type == FDW_IMPORT_SCHEMA_LIMIT_TO ||
+       stmt->list_type == FDW_IMPORT_SCHEMA_EXCEPT)
+   {
+       bool        first_item = true;
 
-       /* Partitions are supported since Postgres 10 */
-       if (PQserverVersion(conn) >= 100000 &&
-           stmt->list_type != FDW_IMPORT_SCHEMA_LIMIT_TO)
-           appendStringInfoString(&buf, " AND NOT c.relispartition ");
+       appendStringInfoString(&buf, " AND c.relname ");
+       if (stmt->list_type == FDW_IMPORT_SCHEMA_EXCEPT)
+           appendStringInfoString(&buf, "NOT ");
+       appendStringInfoString(&buf, "IN (");
 
-       /* Apply restrictions for LIMIT TO and EXCEPT */
-       if (stmt->list_type == FDW_IMPORT_SCHEMA_LIMIT_TO ||
-           stmt->list_type == FDW_IMPORT_SCHEMA_EXCEPT)
+       /* Append list of table names within IN clause */
+       foreach(lc, stmt->table_list)
        {
-           bool        first_item = true;
+           RangeVar   *rv = (RangeVar *) lfirst(lc);
 
-           appendStringInfoString(&buf, " AND c.relname ");
-           if (stmt->list_type == FDW_IMPORT_SCHEMA_EXCEPT)
-               appendStringInfoString(&buf, "NOT ");
-           appendStringInfoString(&buf, "IN (");
+           if (first_item)
+               first_item = false;
+           else
+               appendStringInfoString(&buf, ", ");
+           deparseStringLiteral(&buf, rv->relname);
+       }
+       appendStringInfoChar(&buf, ')');
+   }
 
-           /* Append list of table names within IN clause */
-           foreach(lc, stmt->table_list)
-           {
-               RangeVar   *rv = (RangeVar *) lfirst(lc);
+   /* Append ORDER BY at the end of query to ensure output ordering */
+   appendStringInfoString(&buf, " ORDER BY c.relname, a.attnum");
 
-               if (first_item)
-                   first_item = false;
-               else
-                   appendStringInfoString(&buf, ", ");
-               deparseStringLiteral(&buf, rv->relname);
-           }
-           appendStringInfoChar(&buf, ')');
-       }
+   /* Fetch the data */
+   res = pgfdw_exec_query(conn, buf.data, NULL);
+   if (PQresultStatus(res) != PGRES_TUPLES_OK)
+       pgfdw_report_error(ERROR, res, conn, buf.data);
 
-       /* Append ORDER BY at the end of query to ensure output ordering */
-       appendStringInfoString(&buf, " ORDER BY c.relname, a.attnum");
+   /* Process results */
+   numrows = PQntuples(res);
+   /* note: incrementation of i happens in inner loop's while() test */
+   for (i = 0; i < numrows;)
+   {
+       char       *tablename = PQgetvalue(res, i, 0);
+       bool        first_item = true;
 
-       /* Fetch the data */
-       res = pgfdw_exec_query(conn, buf.data, NULL);
-       if (PQresultStatus(res) != PGRES_TUPLES_OK)
-           pgfdw_report_error(ERROR, res, conn, buf.data);
+       resetStringInfo(&buf);
+       appendStringInfo(&buf, "CREATE FOREIGN TABLE %s (\n",
+                        quote_identifier(tablename));
 
-       /* Process results */
-       numrows = PQntuples(res);
-       /* note: incrementation of i happens in inner loop's while() test */
-       for (i = 0; i < numrows;)
+       /* Scan all rows for this table */
+       do
        {
-           char       *tablename = PQgetvalue(res, i, 0);
-           bool        first_item = true;
+           char       *attname;
+           char       *typename;
+           char       *attnotnull;
+           char       *attgenerated;
+           char       *attdefault;
+           char       *collname;
+           char       *collnamespace;
+
+           /* If table has no columns, we'll see nulls here */
+           if (PQgetisnull(res, i, 1))
+               continue;
 
-           resetStringInfo(&buf);
-           appendStringInfo(&buf, "CREATE FOREIGN TABLE %s (\n",
-                            quote_identifier(tablename));
+           attname = PQgetvalue(res, i, 1);
+           typename = PQgetvalue(res, i, 2);
+           attnotnull = PQgetvalue(res, i, 3);
+           attdefault = PQgetisnull(res, i, 4) ? NULL :
+               PQgetvalue(res, i, 4);
+           attgenerated = PQgetisnull(res, i, 5) ? NULL :
+               PQgetvalue(res, i, 5);
+           collname = PQgetisnull(res, i, 6) ? NULL :
+               PQgetvalue(res, i, 6);
+           collnamespace = PQgetisnull(res, i, 7) ? NULL :
+               PQgetvalue(res, i, 7);
+
+           if (first_item)
+               first_item = false;
+           else
+               appendStringInfoString(&buf, ",\n");
 
-           /* Scan all rows for this table */
-           do
-           {
-               char       *attname;
-               char       *typename;
-               char       *attnotnull;
-               char       *attgenerated;
-               char       *attdefault;
-               char       *collname;
-               char       *collnamespace;
-
-               /* If table has no columns, we'll see nulls here */
-               if (PQgetisnull(res, i, 1))
-                   continue;
+           /* Print column name and type */
+           appendStringInfo(&buf, "  %s %s",
+                            quote_identifier(attname),
+                            typename);
 
-               attname = PQgetvalue(res, i, 1);
-               typename = PQgetvalue(res, i, 2);
-               attnotnull = PQgetvalue(res, i, 3);
-               attdefault = PQgetisnull(res, i, 4) ? NULL :
-                   PQgetvalue(res, i, 4);
-               attgenerated = PQgetisnull(res, i, 5) ? NULL :
-                   PQgetvalue(res, i, 5);
-               collname = PQgetisnull(res, i, 6) ? NULL :
-                   PQgetvalue(res, i, 6);
-               collnamespace = PQgetisnull(res, i, 7) ? NULL :
-                   PQgetvalue(res, i, 7);
-
-               if (first_item)
-                   first_item = false;
-               else
-                   appendStringInfoString(&buf, ",\n");
+           /*
+            * Add column_name option so that renaming the foreign table's
+            * column doesn't break the association to the underlying column.
+            */
+           appendStringInfoString(&buf, " OPTIONS (column_name ");
+           deparseStringLiteral(&buf, attname);
+           appendStringInfoChar(&buf, ')');
 
-               /* Print column name and type */
-               appendStringInfo(&buf, "  %s %s",
-                                quote_identifier(attname),
-                                typename);
+           /* Add COLLATE if needed */
+           if (import_collate && collname != NULL && collnamespace != NULL)
+               appendStringInfo(&buf, " COLLATE %s.%s",
+                                quote_identifier(collnamespace),
+                                quote_identifier(collname));
 
-               /*
-                * Add column_name option so that renaming the foreign table's
-                * column doesn't break the association to the underlying
-                * column.
-                */
-               appendStringInfoString(&buf, " OPTIONS (column_name ");
-               deparseStringLiteral(&buf, attname);
-               appendStringInfoChar(&buf, ')');
-
-               /* Add COLLATE if needed */
-               if (import_collate && collname != NULL && collnamespace != NULL)
-                   appendStringInfo(&buf, " COLLATE %s.%s",
-                                    quote_identifier(collnamespace),
-                                    quote_identifier(collname));
-
-               /* Add DEFAULT if needed */
-               if (import_default && attdefault != NULL &&
-                   (!attgenerated || !attgenerated[0]))
-                   appendStringInfo(&buf, " DEFAULT %s", attdefault);
-
-               /* Add GENERATED if needed */
-               if (import_generated && attgenerated != NULL &&
-                   attgenerated[0] == ATTRIBUTE_GENERATED_STORED)
-               {
-                   Assert(attdefault != NULL);
-                   appendStringInfo(&buf,
-                                    " GENERATED ALWAYS AS (%s) STORED",
-                                    attdefault);
-               }
+           /* Add DEFAULT if needed */
+           if (import_default && attdefault != NULL &&
+               (!attgenerated || !attgenerated[0]))
+               appendStringInfo(&buf, " DEFAULT %s", attdefault);
 
-               /* Add NOT NULL if needed */
-               if (import_not_null && attnotnull[0] == 't')
-                   appendStringInfoString(&buf, " NOT NULL");
+           /* Add GENERATED if needed */
+           if (import_generated && attgenerated != NULL &&
+               attgenerated[0] == ATTRIBUTE_GENERATED_STORED)
+           {
+               Assert(attdefault != NULL);
+               appendStringInfo(&buf,
+                                " GENERATED ALWAYS AS (%s) STORED",
+                                attdefault);
            }
-           while (++i < numrows &&
-                  strcmp(PQgetvalue(res, i, 0), tablename) == 0);
 
-           /*
-            * Add server name and table-level options.  We specify remote
-            * schema and table name as options (the latter to ensure that
-            * renaming the foreign table doesn't break the association).
-            */
-           appendStringInfo(&buf, "\n) SERVER %s\nOPTIONS (",
-                            quote_identifier(server->servername));
+           /* Add NOT NULL if needed */
+           if (import_not_null && attnotnull[0] == 't')
+               appendStringInfoString(&buf, " NOT NULL");
+       }
+       while (++i < numrows &&
+              strcmp(PQgetvalue(res, i, 0), tablename) == 0);
 
-           appendStringInfoString(&buf, "schema_name ");
-           deparseStringLiteral(&buf, stmt->remote_schema);
-           appendStringInfoString(&buf, ", table_name ");
-           deparseStringLiteral(&buf, tablename);
+       /*
+        * Add server name and table-level options.  We specify remote schema
+        * and table name as options (the latter to ensure that renaming the
+        * foreign table doesn't break the association).
+        */
+       appendStringInfo(&buf, "\n) SERVER %s\nOPTIONS (",
+                        quote_identifier(server->servername));
 
-           appendStringInfoString(&buf, ");");
+       appendStringInfoString(&buf, "schema_name ");
+       deparseStringLiteral(&buf, stmt->remote_schema);
+       appendStringInfoString(&buf, ", table_name ");
+       deparseStringLiteral(&buf, tablename);
 
-           commands = lappend(commands, pstrdup(buf.data));
-       }
-       PQclear(res);
+       appendStringInfoString(&buf, ");");
+
+       commands = lappend(commands, pstrdup(buf.data));
+   }
+   PQclear(res);
 
    ReleaseConnection(conn);
 
index 4ba635aa96f92713898060d5d6c5a4a96f78bc62..1c4a342090c33d2410048defdaaed8e313424f3f 100644 (file)
@@ -281,28 +281,28 @@ libpqsrv_get_result_last(PGconn *conn, uint32 wait_event_info)
 {
    PGresult   *lastResult = NULL;
 
-       for (;;)
-       {
-           /* Wait for, and collect, the next PGresult. */
-           PGresult   *result;
+   for (;;)
+   {
+       /* Wait for, and collect, the next PGresult. */
+       PGresult   *result;
 
-           result = libpqsrv_get_result(conn, wait_event_info);
-           if (result == NULL)
-               break;          /* query is complete, or failure */
+       result = libpqsrv_get_result(conn, wait_event_info);
+       if (result == NULL)
+           break;              /* query is complete, or failure */
 
-           /*
-            * Emulate PQexec()'s behavior of returning the last result when
-            * there are many.
-            */
-           PQclear(lastResult);
-           lastResult = result;
+       /*
+        * Emulate PQexec()'s behavior of returning the last result when there
+        * are many.
+        */
+       PQclear(lastResult);
+       lastResult = result;
 
-           if (PQresultStatus(lastResult) == PGRES_COPY_IN ||
-               PQresultStatus(lastResult) == PGRES_COPY_OUT ||
-               PQresultStatus(lastResult) == PGRES_COPY_BOTH ||
-               PQstatus(conn) == CONNECTION_BAD)
-               break;
-       }
+       if (PQresultStatus(lastResult) == PGRES_COPY_IN ||
+           PQresultStatus(lastResult) == PGRES_COPY_OUT ||
+           PQresultStatus(lastResult) == PGRES_COPY_BOTH ||
+           PQstatus(conn) == CONNECTION_BAD)
+           break;
+   }
    return lastResult;
 }