agora inbox for [email protected]  
help / color / mirror / Atom feed
[PATCH]make pg_rewind to not copy useless WAL files
986+ messages / 4 participants
[nested] [flat]

* [PATCH]make pg_rewind to not copy useless WAL files
@ 2017-09-16 14:56 chenhj <[email protected]>
  2017-09-16 18:19 ` Re: [PATCH]make pg_rewind to not copy useless WAL files Alexander Korotkov <[email protected]>
  0 siblings, 1 reply; 986+ messages in thread

From: chenhj @ 2017-09-16 14:56 UTC (permalink / raw)
  To: pgsql-hackers

Hi all,


Currently, pg_rewind copies all WAL files from the source server, whether or not they are needed.
In some circumstances, will bring a lot of unnecessary network and disk IO consumption, and also increase the execution time of pg_rewind.
Such as when wal_keep_segments or max_wal_size is large.


According to pg_rewind's processing logic, only need to copy the WAL after the divergence from the source server. 
The WAL before the divergence must already exists on the target server.
Also, there is no need to copy WALs that have been recovered.


This patch optimizes the above mentioned issues, as follows:
1. In the target data directory, do not delete the WAL files before the divergence.
2. When copying files from the source server, do not copy the WAL files before the divergence and the WAL files after the current WAL insert localtion.


Note:
The "current WAL insert localtion" above is obtained before copying data files. If a runing PostgreSQL server is used as the source server, the newly generated WAL files during pg_rewind running will not be copied to 
the target data directory.
However, in this case the target server is typically used as a standby of the source server after pg_rewind is executed, so these WAL files will be copied via streaming replication later.


--
Best regards
Chen Huajun

-- 
Sent via pgsql-hackers mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Attachments:

  [application/octet-stream] pg_rewind_wal_copy_reduce.patch (4.6K, ../../[email protected]/3-pg_rewind_wal_copy_reduce.patch)
  download | inline diff:
*** a/src/bin/pg_rewind/filemap.c
--- b/src/bin/pg_rewind/filemap.c
***************
*** 21,26 ****
--- 21,27 ----
  #include "common/string.h"
  #include "catalog/pg_tablespace.h"
  #include "storage/fd.h"
+ #include "access/xlog_internal.h"
  
  filemap_t  *filemap = NULL;
  
***************
*** 168,179 **** process_source_file(const char *path, file_type_t type, size_t newsize,
--- 169,191 ----
  				 *
  				 * An exception: PG_VERSIONs should be identical, but avoid
  				 * overwriting it for paranoia.
+ 				 *
+ 				 * Another exception: Do not copy WAL files before the
+ 				 * divergence and the WAL files after the current WAL insert
+ 				 * location of the source server for performance reasons.
  				 */
  				if (pg_str_endswith(path, "PG_VERSION"))
  				{
  					action = FILE_ACTION_NONE;
  					oldsize = statbuf.st_size;
  				}
+ 				else if (strncmp(path, "pg_wal", 6) == 0 && IsXLogFileName(path + 7) &&
+ 						 (strcmp(path + 7 + 8, divergence_wal_filename + 8) < 0 ||
+ 						  strcmp(path + 7 + 8, last_source_wal_filename + 8) > 0))
+ 				{
+ 					action = FILE_ACTION_NONE;
+ 					oldsize = exists ? statbuf.st_size : 0;
+ 				}
  				else
  				{
  					action = FILE_ACTION_COPY;
***************
*** 303,310 **** process_target_file(const char *path, file_type_t type, size_t oldsize,
  	exists = (bsearch(&key_ptr, map->array, map->narray, sizeof(file_entry_t *),
  					  path_cmp) != NULL);
  
! 	/* Remove any file or folder that doesn't exist in the source system. */
! 	if (!exists)
  	{
  		entry = pg_malloc(sizeof(file_entry_t));
  		entry->path = pg_strdup(path);
--- 315,326 ----
  	exists = (bsearch(&key_ptr, map->array, map->narray, sizeof(file_entry_t *),
  					  path_cmp) != NULL);
  
! 	/* Remove any file or folder that doesn't exist in the source system
! 	 * except the WAL files before the divergence.
! 	 */
! 	if (!exists &&
! 		!(strncmp(path, "pg_wal", 6) == 0 && IsXLogFileName(path + 7) &&
! 		  strcmp(path + 7 + 8, divergence_wal_filename + 8) < 0))
  	{
  		entry = pg_malloc(sizeof(file_entry_t));
  		entry->path = pg_strdup(path);
*** a/src/bin/pg_rewind/pg_rewind.c
--- b/src/bin/pg_rewind/pg_rewind.c
***************
*** 27,32 ****
--- 27,33 ----
  #include "common/restricted_token.h"
  #include "getopt_long.h"
  #include "storage/bufpage.h"
+ #include "access/xlog_internal.h"
  
  static void usage(const char *progname);
  
***************
*** 58,63 **** bool		dry_run = false;
--- 59,68 ----
  TimeLineHistoryEntry *targetHistory;
  int			targetNentries;
  
+ /* WAL location */
+ char		divergence_wal_filename[MAXFNAMELEN];
+ char		last_source_wal_filename[MAXFNAMELEN];
+ 
  static void
  usage(const char *progname)
  {
***************
*** 103,108 **** main(int argc, char **argv)
--- 108,115 ----
  	XLogRecPtr	endrec;
  	TimeLineID	endtli;
  	ControlFileData ControlFile_new;
+ 	XLogSegNo	startsegno;
+ 	XLogSegNo	endsegno;
  
  	set_pglocale_pgservice(argv[0], PG_TEXTDOMAIN("pg_rewind"));
  	progname = get_progname(argv[0]);
***************
*** 280,285 **** main(int argc, char **argv)
--- 287,317 ----
  		   chkpttli);
  
  	/*
+ 	 * Save the WAL filenames of the divergence and the current WAL insert
+ 	 * location of the source server. Later only the WAL files between those
+ 	 * would be copied to the target data directory.
+ 	 * Note:The later generated WAL files in the source server before the end
+ 	 * of the copy of the data files must be made available when the target
+ 	 * server is started. This can be done by configuring the target server as
+ 	 * a standby of the source server.
+ 	 */
+ 	if (connstr_source)
+ 	{
+ 		endrec = libpqGetCurrentXlogInsertLocation();
+ 		endtli = ControlFile_source.checkPointCopy.ThisTimeLineID;
+ 	}
+ 	else
+ 	{
+ 		endrec = ControlFile_source.checkPoint;
+ 		endtli = ControlFile_source.checkPointCopy.ThisTimeLineID;
+ 	}
+ 
+ 	XLByteToSeg(divergerec, startsegno);
+ 	XLogFileName(divergence_wal_filename, targetHistory[lastcommontliIndex].tli, startsegno);
+ 	XLByteToPrevSeg(endrec, endsegno);
+ 	XLogFileName(last_source_wal_filename, endtli, endsegno);
+ 
+ 	/*
  	 * Build the filemap, by comparing the source and target data directories.
  	 */
  	filemap_create();
*** a/src/bin/pg_rewind/pg_rewind.h
--- b/src/bin/pg_rewind/pg_rewind.h
***************
*** 29,34 **** extern bool dry_run;
--- 29,38 ----
  extern TimeLineHistoryEntry *targetHistory;
  extern int	targetNentries;
  
+ /* WAL location */
+ extern char	divergence_wal_filename[];
+ extern char	last_source_wal_filename[];
+ 
  /* in parsexlog.c */
  extern void extractPageMap(const char *datadir, XLogRecPtr startpoint,
  			   int tliIndex, XLogRecPtr endpoint);


^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* Re: [PATCH]make pg_rewind to not copy useless WAL files
  2017-09-16 14:56 [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
@ 2017-09-16 18:19 ` Alexander Korotkov <[email protected]>
  2017-09-17 00:33   ` Re: [PATCH]make pg_rewind to not copy useless WAL files Michael Paquier <[email protected]>
  0 siblings, 1 reply; 986+ messages in thread

From: Alexander Korotkov @ 2017-09-16 18:19 UTC (permalink / raw)
  To: chenhj <[email protected]>; +Cc: pgsql-hackers

Hi!

On Sat, Sep 16, 2017 at 5:56 PM, chenhj <[email protected]> wrote:

> This patch optimizes the above mentioned issues, as follows:
> 1. In the target data directory, do not delete the WAL files before the
> divergence.
> 2. When copying files from the source server, do not copy the WAL files
> before the divergence and the WAL files after the current WAL insert
> localtion.
>

Looks like cool optimization for me.  Please, add this patch to the next
commitfest.
Do you think this patch should modify pg_rewind tap tests too?  It would be
nice to make WAL files fetching more covered by tap tests.  In particular,
new tests may generate more WAL files and make sure that pg_rewind fetches
only required files among them.

------
Alexander Korotkov
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company


^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* Re: [PATCH]make pg_rewind to not copy useless WAL files
  2017-09-16 14:56 [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  2017-09-16 18:19 ` Re: [PATCH]make pg_rewind to not copy useless WAL files Alexander Korotkov <[email protected]>
@ 2017-09-17 00:33   ` Michael Paquier <[email protected]>
  2017-09-18 17:00     ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  0 siblings, 1 reply; 986+ messages in thread

From: Michael Paquier @ 2017-09-17 00:33 UTC (permalink / raw)
  To: Alexander Korotkov <[email protected]>; +Cc: chenhj <[email protected]>; pgsql-hackers

On Sun, Sep 17, 2017 at 3:19 AM, Alexander Korotkov
<[email protected]> wrote:
> Hi!
>
> On Sat, Sep 16, 2017 at 5:56 PM, chenhj <[email protected]> wrote:
>>
>> This patch optimizes the above mentioned issues, as follows:
>> 1. In the target data directory, do not delete the WAL files before the
>> divergence.
>> 2. When copying files from the source server, do not copy the WAL files
>> before the divergence and the WAL files after the current WAL insert
>> localtion.
>
>
> Looks like cool optimization for me.  Please, add this patch to the next
> commitfest.

Agreed.

> Do you think this patch should modify pg_rewind tap tests too?  It would be
> nice to make WAL files fetching more covered by tap tests.  In particular,
> new tests may generate more WAL files and make sure that pg_rewind fetches
> only required files among them.

This looks mandatory to me. Using pg_switch_wal() and a minimum amount
of WAL generated you could just make the set of WAL segments skipped
minimal data.

I have not checked in details, but I think that the positions where
you are applying the filters are using the right approach.

!         !(strncmp(path, "pg_wal", 6) == 0 && IsXLogFileName(path + 7) &&
Please use XLOGDIR here.
-- 
Michael


-- 
Sent via pgsql-hackers mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* Re: [PATCH]make pg_rewind to not copy useless WAL files
  2017-09-16 14:56 [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  2017-09-16 18:19 ` Re: [PATCH]make pg_rewind to not copy useless WAL files Alexander Korotkov <[email protected]>
  2017-09-17 00:33   ` Re: [PATCH]make pg_rewind to not copy useless WAL files Michael Paquier <[email protected]>
@ 2017-09-18 17:00     ` chenhj <[email protected]>
  2017-09-22 16:16       ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  0 siblings, 1 reply; 986+ messages in thread

From: chenhj @ 2017-09-18 17:00 UTC (permalink / raw)
  To: Michael Paquier <[email protected]>; +Cc: Alexander Korotkov <[email protected]>; pgsql-hackers


At 2017-09-17 08:33:33, "Michael Paquier" <[email protected]> wrote:
>On Sun, Sep 17, 2017 at 3:19 AM, Alexander Korotkov
><[email protected]> wrote:
>> Hi!
>>
>> On Sat, Sep 16, 2017 at 5:56 PM, chenhj <[email protected]> wrote:
>>>
>>> This patch optimizes the above mentioned issues, as follows:
>>> 1. In the target data directory, do not delete the WAL files before the
>>> divergence.
>>> 2. When copying files from the source server, do not copy the WAL files
>>> before the divergence and the WAL files after the current WAL insert
>>> localtion.
>>
>>
>> Looks like cool optimization for me.  Please, add this patch to the next
>> commitfest.
>
>Agreed.
>
>> Do you think this patch should modify pg_rewind tap tests too?  It would be
>> nice to make WAL files fetching more covered by tap tests.  In particular,
>> new tests may generate more WAL files and make sure that pg_rewind fetches
>> only required files among them.
>
>This looks mandatory to me. Using pg_switch_wal() and a minimum amount
>of WAL generated you could just make the set of WAL segments skipped
>minimal data.
>
>I have not checked in details, but I think that the positions where
>you are applying the filters are using the right approach.
>
>!         !(strncmp(path, "pg_wal", 6) == 0 && IsXLogFileName(path + 7) &&
>Please use XLOGDIR here.
>-- 
>Michael
>

Thanks, I will use XLOGDIR and add TAP tests later.


--
Chen Huajun 

^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* Re: [PATCH]make pg_rewind to not copy useless WAL files
  2017-09-16 14:56 [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  2017-09-16 18:19 ` Re: [PATCH]make pg_rewind to not copy useless WAL files Alexander Korotkov <[email protected]>
  2017-09-17 00:33   ` Re: [PATCH]make pg_rewind to not copy useless WAL files Michael Paquier <[email protected]>
  2017-09-18 17:00     ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
@ 2017-09-22 16:16       ` chenhj <[email protected]>
  2017-09-22 17:59         ` Re: [PATCH]make pg_rewind to not copy useless WAL files Alexander Korotkov <[email protected]>
  0 siblings, 1 reply; 986+ messages in thread

From: chenhj @ 2017-09-22 16:16 UTC (permalink / raw)
  To: chenhj <[email protected]>; +Cc: Michael Paquier <[email protected]>; Alexander Korotkov <[email protected]>; pgsql-hackers

Hi


This is the new pacth with TAP test and use Macro XLOGDIR.
And i had add this patch to the commitfest, 
    https://commitfest.postgresql.org/15/1302/


--
Best Regards,
Chen Huajun

-- 
Sent via pgsql-hackers mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Attachments:

  [application/octet-stream] pg_rewind_wal_copy_reduce_v2.patch (10.3K, ../../[email protected]/3-pg_rewind_wal_copy_reduce_v2.patch)
  download | inline diff:
*** a/src/bin/pg_rewind/RewindTest.pm
--- b/src/bin/pg_rewind/RewindTest.pm
***************
*** 52,57 **** our @EXPORT = qw(
--- 52,60 ----
    standby_psql
    check_query
  
+   master_query
+   standby_query
+ 
    setup_cluster
    start_master
    create_standby
***************
*** 112,117 **** sub check_query
--- 115,163 ----
  	}
  }
  
+ sub master_query
+ {
+ 	my $query = shift;
+ 
+ 	return run_query($node_master->connstr('postgres'), $query);
+ }
+ 
+ sub standby_query
+ {
+ 	my $query = shift;
+ 
+ 	return run_query($node_standby->connstr('postgres'), $query);
+ }
+ 
+ # Run a query, and return the output
+ sub run_query
+ {
+ 	my ($connstr, $query) = @_;
+ 	my ($stdout, $stderr);
+ 
+ 	# we want just the output, no formatting
+ 	my $result = run [
+ 		'psql', '-q', '-A', '-t', '--no-psqlrc', '-d',
+ 		$connstr,
+ 		'-c', $query ],
+ 	  '>', \$stdout, '2>', \$stderr;
+ 
+ 	if (!$result)
+ 	{
+ 		BAIL_OUT("psql failed: exit code = $result");
+ 	}
+ 	elsif ($stderr ne '')
+ 	{
+ 		BAIL_OUT("psql failed: $stderr");
+ 	}
+ 	else
+ 	{
+ 		$stdout =~ s/\n//g ;
+ 		$stdout =~ s/\r//g if $Config{osname} eq 'msys';
+ 	}
+ 	return $stdout;
+ }
+ 
  sub setup_cluster
  {
  	my $extra_name = shift;
*** a/src/bin/pg_rewind/filemap.c
--- b/src/bin/pg_rewind/filemap.c
***************
*** 21,26 ****
--- 21,27 ----
  #include "common/string.h"
  #include "catalog/pg_tablespace.h"
  #include "storage/fd.h"
+ #include "access/xlog_internal.h"
  
  filemap_t  *filemap = NULL;
  
***************
*** 168,179 **** process_source_file(const char *path, file_type_t type, size_t newsize,
--- 169,192 ----
  				 *
  				 * An exception: PG_VERSIONs should be identical, but avoid
  				 * overwriting it for paranoia.
+ 				 *
+ 				 * Another exception: Do not copy WAL files before the
+ 				 * divergence and the WAL files after the current WAL insert
+ 				 * location of the source server for performance reasons.
  				 */
  				if (pg_str_endswith(path, "PG_VERSION"))
  				{
  					action = FILE_ACTION_NONE;
  					oldsize = statbuf.st_size;
  				}
+ 				else if (strncmp(path, XLOGDIR"/", strlen(XLOGDIR"/")) == 0 &&
+                                                  IsXLogFileName(path + strlen(XLOGDIR"/")) &&
+ 						 (strcmp(path + strlen(XLOGDIR"/") + 8, divergence_wal_filename + 8) < 0 ||
+ 						  strcmp(path + strlen(XLOGDIR"/") + 8, last_source_wal_filename + 8) > 0))
+ 				{
+ 					action = FILE_ACTION_NONE;
+ 					oldsize = exists ? statbuf.st_size : 0;
+ 				}
  				else
  				{
  					action = FILE_ACTION_COPY;
***************
*** 303,310 **** process_target_file(const char *path, file_type_t type, size_t oldsize,
  	exists = (bsearch(&key_ptr, map->array, map->narray, sizeof(file_entry_t *),
  					  path_cmp) != NULL);
  
! 	/* Remove any file or folder that doesn't exist in the source system. */
! 	if (!exists)
  	{
  		entry = pg_malloc(sizeof(file_entry_t));
  		entry->path = pg_strdup(path);
--- 316,328 ----
  	exists = (bsearch(&key_ptr, map->array, map->narray, sizeof(file_entry_t *),
  					  path_cmp) != NULL);
  
! 	/* Remove any file or folder that doesn't exist in the source system
! 	 * except the WAL files before the divergence.
! 	 */
! 	if (!exists &&
! 		!(strncmp(path, XLOGDIR"/", strlen(XLOGDIR"/")) == 0 &&
! 		  IsXLogFileName(path + strlen(XLOGDIR"/")) &&
! 		  strcmp(path + strlen(XLOGDIR"/") + 8, divergence_wal_filename + 8) < 0))
  	{
  		entry = pg_malloc(sizeof(file_entry_t));
  		entry->path = pg_strdup(path);
*** a/src/bin/pg_rewind/pg_rewind.c
--- b/src/bin/pg_rewind/pg_rewind.c
***************
*** 27,32 ****
--- 27,33 ----
  #include "common/restricted_token.h"
  #include "getopt_long.h"
  #include "storage/bufpage.h"
+ #include "access/xlog_internal.h"
  
  static void usage(const char *progname);
  
***************
*** 58,63 **** bool		dry_run = false;
--- 59,68 ----
  TimeLineHistoryEntry *targetHistory;
  int			targetNentries;
  
+ /* WAL location */
+ char		divergence_wal_filename[MAXFNAMELEN];
+ char		last_source_wal_filename[MAXFNAMELEN];
+ 
  static void
  usage(const char *progname)
  {
***************
*** 103,108 **** main(int argc, char **argv)
--- 108,115 ----
  	XLogRecPtr	endrec;
  	TimeLineID	endtli;
  	ControlFileData ControlFile_new;
+ 	XLogSegNo	startsegno;
+ 	XLogSegNo	endsegno;
  
  	set_pglocale_pgservice(argv[0], PG_TEXTDOMAIN("pg_rewind"));
  	progname = get_progname(argv[0]);
***************
*** 280,285 **** main(int argc, char **argv)
--- 287,317 ----
  		   chkpttli);
  
  	/*
+ 	 * Save the WAL filenames of the divergence and the current WAL insert
+ 	 * location of the source server. Later only the WAL files between those
+ 	 * would be copied to the target data directory.
+ 	 * Note:The later generated WAL files in the source server before the end
+ 	 * of the copy of the data files must be made available when the target
+ 	 * server is started. This can be done by configuring the target server as
+ 	 * a standby of the source server.
+ 	 */
+ 	if (connstr_source)
+ 	{
+ 		endrec = libpqGetCurrentXlogInsertLocation();
+ 		endtli = ControlFile_source.checkPointCopy.ThisTimeLineID;
+ 	}
+ 	else
+ 	{
+ 		endrec = ControlFile_source.checkPoint;
+ 		endtli = ControlFile_source.checkPointCopy.ThisTimeLineID;
+ 	}
+ 
+ 	XLByteToSeg(divergerec, startsegno);
+ 	XLogFileName(divergence_wal_filename, targetHistory[lastcommontliIndex].tli, startsegno);
+ 	XLByteToPrevSeg(endrec, endsegno);
+ 	XLogFileName(last_source_wal_filename, endtli, endsegno);
+ 
+ 	/*
  	 * Build the filemap, by comparing the source and target data directories.
  	 */
  	filemap_create();
*** a/src/bin/pg_rewind/pg_rewind.h
--- b/src/bin/pg_rewind/pg_rewind.h
***************
*** 29,34 **** extern bool dry_run;
--- 29,38 ----
  extern TimeLineHistoryEntry *targetHistory;
  extern int	targetNentries;
  
+ /* WAL location */
+ extern char	divergence_wal_filename[];
+ extern char	last_source_wal_filename[];
+ 
  /* in parsexlog.c */
  extern void extractPageMap(const char *datadir, XLogRecPtr startpoint,
  			   int tliIndex, XLogRecPtr endpoint);
*** /dev/null
--- b/src/bin/pg_rewind/t/006_wal_copy.pl
***************
*** 0 ****
--- 1,124 ----
+ #
+ # Test pg_rewind only copy needed WALs from the source.
+ #
+ use strict;
+ use warnings;
+ use TestLib;
+ use Test::More tests => 12;
+ 
+ use RewindTest;
+ 
+ sub run_test
+ {
+ 	my $test_mode = shift;
+ 
+ 	RewindTest::setup_cluster($test_mode);
+ 	RewindTest::start_master();
+ 
+ 	# Setup parameter for WAL reclaim 
+ 	master_psql("ALTER SYSTEM SET checkpoint_timeout = '1d'");
+ 	master_psql("ALTER SYSTEM SET min_wal_size = '80MB'");
+ 	master_psql("ALTER SYSTEM SET wal_keep_segments = 4");
+ 	master_psql("SELECT pg_reload_conf()");
+ 	
+ 	RewindTest::create_standby($test_mode);
+ 	
+ 	# Create a test table and insert rows in master.
+ 	master_psql("CREATE TABLE tbl1 (d text)");
+ 	master_psql("INSERT INTO tbl1 VALUES ('in master, wal 1')");
+ 	
+ 	master_psql("SELECT pg_switch_wal()");
+ 	master_psql("INSERT INTO tbl1 VALUES ('in master, wal 2')");
+ 
+ 	master_psql("SELECT pg_switch_wal()");
+ 	master_psql("INSERT INTO tbl1 VALUES ('in master, wal 3')");
+ 
+ 	master_psql("SELECT pg_switch_wal()");
+ 	master_psql("INSERT INTO tbl1 VALUES ('in master, wal 4')");
+ 			
+ 	master_psql("SELECT pg_switch_wal()");
+ 	master_psql("INSERT INTO tbl1 VALUES ('in master, wal 5, checkpoint')");
+ 	master_psql("CHECKPOINT");
+ 	
+ 	master_psql("SELECT pg_switch_wal()");
+ 	master_psql("INSERT INTO tbl1 VALUES ('in master, wal 6, before promotion')");
+ 	
+ 	# Promote standby
+ 	my $master_divergence_wal = master_query("SELECT pg_walfile_name(pg_current_wal_insert_lsn())");
+ 	RewindTest::promote_standby();
+ 	
+ 	# Insert rows in master after promotion
+ 	master_psql("INSERT INTO tbl1 VALUES ('in master, wal 6, after promotion')");
+ 
+ 	master_psql("SELECT pg_switch_wal()");
+ 	master_psql("INSERT INTO tbl1 VALUES ('in master, wal 7, after promotion')");
+ 	
+ 	master_psql("CHECKPOINT");
+ 		
+ 	# Insert rows in standby after promotion
+ 	standby_psql("INSERT INTO tbl1 VALUES ('in standby, wal 6, after promotion')");
+ 	
+ 	standby_psql("SELECT pg_switch_wal()");
+ 	standby_psql("INSERT INTO tbl1 VALUES ('in standby, wal 7, after promotion')");
+ 	
+ 	standby_psql("SELECT pg_switch_wal()");
+ 	standby_psql("INSERT INTO tbl1 VALUES ('in standby, wal 8, after promotion')");	
+ 
+ 	standby_psql("CHECKPOINT");
+ 	
+ 	# Check WALs before pg_rewind
+ 	master_psql("SELECT * from pg_ls_waldir()");
+ 	print("master_divergence_wal: $master_divergence_wal\n");
+ 	my $master_wal_count_before_divergence = master_query("SELECT count(*) FROM pg_ls_waldir() WHERE name ~ '^[0-9A-F]{24}\$' AND name < '$master_divergence_wal'");
+ 	ok( $master_wal_count_before_divergence > 0, 'master_wal_count_before_divergence > 0');
+ 
+ 	standby_psql("SELECT * from pg_ls_waldir()");
+ 	my $standby_current_wal = standby_query("SELECT pg_walfile_name(pg_current_wal_insert_lsn())");
+ 	print("standby_current_wal: $standby_current_wal\n");
+ 	my $standby_reclaimed_wal_count = standby_query("SELECT count(*) FROM pg_ls_waldir() WHERE name ~ '^[0-9A-F]{24}\$' AND name > '$standby_current_wal'");
+ 	ok( $standby_reclaimed_wal_count > 0, 'standby_reclaimed_wal_count > 0');
+ 
+ 	#  The accuracy of imodification from pg_ls_waldir() is seconds, so sleep one seconds
+ 	sleep(1);	
+ 	my $pg_rewind_time = master_query("SELECT now()");
+ 	print("pg_rewind_time: $pg_rewind_time\n");
+ 	
+ 	# Run pg_rewind and check
+ 	RewindTest::run_pg_rewind($test_mode);
+ 
+ 	master_psql("SELECT * from pg_ls_waldir()");
+ 
+ 	check_query(
+ 		'SELECT * FROM tbl1',
+ 		qq(in master, wal 1
+ in master, wal 2
+ in master, wal 3
+ in master, wal 4
+ in master, wal 5, checkpoint
+ in master, wal 6, before promotion
+ in standby, wal 6, after promotion
+ in standby, wal 7, after promotion
+ in standby, wal 8, after promotion
+ ),
+ 		'table content');
+ 		
+ 	check_query(
+ 		"SELECT count(*) FROM pg_ls_waldir() WHERE name ~ '^[0-9A-F]{24}\$' AND name < '$master_divergence_wal' AND modification < '$pg_rewind_time' ",
+ 		qq($master_wal_count_before_divergence
+ ),
+ 		'reserve master wals before divergence');
+ 
+ 	check_query(
+ 		"SELECT count(*) FROM pg_ls_waldir() WHERE name ~ '^[0-9A-F]{24}\$' AND name > '$standby_current_wal' AND modification >= '$pg_rewind_time' ",
+ 		qq(0
+ ),
+ 		'do not copy reclaimed wals from standby(new master)');
+ 		
+ 	RewindTest::clean_rewind_test();
+ }
+ 
+ # Run the test in both modes
+ run_test('local');
+ run_test('remote');
+ 
+ exit(0);


^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* Re: [PATCH]make pg_rewind to not copy useless WAL files
  2017-09-16 14:56 [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  2017-09-16 18:19 ` Re: [PATCH]make pg_rewind to not copy useless WAL files Alexander Korotkov <[email protected]>
  2017-09-17 00:33   ` Re: [PATCH]make pg_rewind to not copy useless WAL files Michael Paquier <[email protected]>
  2017-09-18 17:00     ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  2017-09-22 16:16       ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
@ 2017-09-22 17:59         ` Alexander Korotkov <[email protected]>
  2017-09-25 15:26           ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  0 siblings, 1 reply; 986+ messages in thread

From: Alexander Korotkov @ 2017-09-22 17:59 UTC (permalink / raw)
  To: chenhj <[email protected]>; +Cc: Michael Paquier <[email protected]>; pgsql-hackers

On Fri, Sep 22, 2017 at 7:16 PM, chenhj <[email protected]> wrote:

> This is the new pacth with TAP test and use Macro XLOGDIR.
>

Good.  I took a quick look over the patch.
Why do you need master_query(), standby_query() and run_query() in
RewindTest.pm?
You can do just $node_master->safe_psql() and $node_slave->safe_psql()
instead.

------
Alexander Korotkov
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company


^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* Re: [PATCH]make pg_rewind to not copy useless WAL files
  2017-09-16 14:56 [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  2017-09-16 18:19 ` Re: [PATCH]make pg_rewind to not copy useless WAL files Alexander Korotkov <[email protected]>
  2017-09-17 00:33   ` Re: [PATCH]make pg_rewind to not copy useless WAL files Michael Paquier <[email protected]>
  2017-09-18 17:00     ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  2017-09-22 16:16       ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  2017-09-22 17:59         ` Re: [PATCH]make pg_rewind to not copy useless WAL files Alexander Korotkov <[email protected]>
@ 2017-09-25 15:26           ` chenhj <[email protected]>
  2017-09-27 17:29             ` Re: [PATCH]make pg_rewind to not copy useless WAL files Alexander Korotkov <[email protected]>
  0 siblings, 1 reply; 986+ messages in thread

From: chenhj @ 2017-09-25 15:26 UTC (permalink / raw)
  To: pgsql-hackers

On 2017-09-23 01:59:0, "Alexander Korotkov" <[email protected]> wrote:

On Fri, Sep 22, 2017 at 7:16 PM, chenhj <[email protected]> wrote:

This is the new pacth with TAP test and use Macro XLOGDIR.


Good.  I took a quick look over the patch.
Why do you need master_query(), standby_query() and run_query() in RewindTest.pm?
You can do just $node_master->safe_psql() and $node_slave->safe_psql() instead.


Ooh, i did not notice that function.Thank you for your advice!
 
---
Regards,
Chen Huajun

-- 
Sent via pgsql-hackers mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Attachments:

  [application/octet-stream] pg_rewind_wal_copy_reduce_v3.patch (9.2K, ../../[email protected]/3-pg_rewind_wal_copy_reduce_v3.patch)
  download | inline diff:
*** a/src/bin/pg_rewind/filemap.c
--- b/src/bin/pg_rewind/filemap.c
***************
*** 21,26 ****
--- 21,27 ----
  #include "common/string.h"
  #include "catalog/pg_tablespace.h"
  #include "storage/fd.h"
+ #include "access/xlog_internal.h"
  
  filemap_t  *filemap = NULL;
  
***************
*** 168,179 **** process_source_file(const char *path, file_type_t type, size_t newsize,
--- 169,192 ----
  				 *
  				 * An exception: PG_VERSIONs should be identical, but avoid
  				 * overwriting it for paranoia.
+ 				 *
+ 				 * Another exception: Do not copy WAL files before the
+ 				 * divergence and the WAL files after the current WAL insert
+ 				 * location of the source server for performance reasons.
  				 */
  				if (pg_str_endswith(path, "PG_VERSION"))
  				{
  					action = FILE_ACTION_NONE;
  					oldsize = statbuf.st_size;
  				}
+ 				else if (strncmp(path, XLOGDIR"/", strlen(XLOGDIR"/")) == 0 &&
+                                                  IsXLogFileName(path + strlen(XLOGDIR"/")) &&
+ 						 (strcmp(path + strlen(XLOGDIR"/") + 8, divergence_wal_filename + 8) < 0 ||
+ 						  strcmp(path + strlen(XLOGDIR"/") + 8, last_source_wal_filename + 8) > 0))
+ 				{
+ 					action = FILE_ACTION_NONE;
+ 					oldsize = exists ? statbuf.st_size : 0;
+ 				}
  				else
  				{
  					action = FILE_ACTION_COPY;
***************
*** 303,310 **** process_target_file(const char *path, file_type_t type, size_t oldsize,
  	exists = (bsearch(&key_ptr, map->array, map->narray, sizeof(file_entry_t *),
  					  path_cmp) != NULL);
  
! 	/* Remove any file or folder that doesn't exist in the source system. */
! 	if (!exists)
  	{
  		entry = pg_malloc(sizeof(file_entry_t));
  		entry->path = pg_strdup(path);
--- 316,328 ----
  	exists = (bsearch(&key_ptr, map->array, map->narray, sizeof(file_entry_t *),
  					  path_cmp) != NULL);
  
! 	/* Remove any file or folder that doesn't exist in the source system
! 	 * except the WAL files before the divergence.
! 	 */
! 	if (!exists &&
! 		!(strncmp(path, XLOGDIR"/", strlen(XLOGDIR"/")) == 0 &&
! 		  IsXLogFileName(path + strlen(XLOGDIR"/")) &&
! 		  strcmp(path + strlen(XLOGDIR"/") + 8, divergence_wal_filename + 8) < 0))
  	{
  		entry = pg_malloc(sizeof(file_entry_t));
  		entry->path = pg_strdup(path);
*** a/src/bin/pg_rewind/pg_rewind.c
--- b/src/bin/pg_rewind/pg_rewind.c
***************
*** 27,32 ****
--- 27,33 ----
  #include "common/restricted_token.h"
  #include "getopt_long.h"
  #include "storage/bufpage.h"
+ #include "access/xlog_internal.h"
  
  static void usage(const char *progname);
  
***************
*** 58,63 **** bool		dry_run = false;
--- 59,68 ----
  TimeLineHistoryEntry *targetHistory;
  int			targetNentries;
  
+ /* WAL location */
+ char		divergence_wal_filename[MAXFNAMELEN];
+ char		last_source_wal_filename[MAXFNAMELEN];
+ 
  static void
  usage(const char *progname)
  {
***************
*** 103,108 **** main(int argc, char **argv)
--- 108,115 ----
  	XLogRecPtr	endrec;
  	TimeLineID	endtli;
  	ControlFileData ControlFile_new;
+ 	XLogSegNo	startsegno;
+ 	XLogSegNo	endsegno;
  
  	set_pglocale_pgservice(argv[0], PG_TEXTDOMAIN("pg_rewind"));
  	progname = get_progname(argv[0]);
***************
*** 280,285 **** main(int argc, char **argv)
--- 287,317 ----
  		   chkpttli);
  
  	/*
+ 	 * Save the WAL filenames of the divergence and the current WAL insert
+ 	 * location of the source server. Later only the WAL files between those
+ 	 * would be copied to the target data directory.
+ 	 * Note:The later generated WAL files in the source server before the end
+ 	 * of the copy of the data files must be made available when the target
+ 	 * server is started. This can be done by configuring the target server as
+ 	 * a standby of the source server.
+ 	 */
+ 	if (connstr_source)
+ 	{
+ 		endrec = libpqGetCurrentXlogInsertLocation();
+ 		endtli = ControlFile_source.checkPointCopy.ThisTimeLineID;
+ 	}
+ 	else
+ 	{
+ 		endrec = ControlFile_source.checkPoint;
+ 		endtli = ControlFile_source.checkPointCopy.ThisTimeLineID;
+ 	}
+ 
+ 	XLByteToSeg(divergerec, startsegno);
+ 	XLogFileName(divergence_wal_filename, targetHistory[lastcommontliIndex].tli, startsegno);
+ 	XLByteToPrevSeg(endrec, endsegno);
+ 	XLogFileName(last_source_wal_filename, endtli, endsegno);
+ 
+ 	/*
  	 * Build the filemap, by comparing the source and target data directories.
  	 */
  	filemap_create();
*** a/src/bin/pg_rewind/pg_rewind.h
--- b/src/bin/pg_rewind/pg_rewind.h
***************
*** 29,34 **** extern bool dry_run;
--- 29,38 ----
  extern TimeLineHistoryEntry *targetHistory;
  extern int	targetNentries;
  
+ /* WAL location */
+ extern char	divergence_wal_filename[];
+ extern char	last_source_wal_filename[];
+ 
  /* in parsexlog.c */
  extern void extractPageMap(const char *datadir, XLogRecPtr startpoint,
  			   int tliIndex, XLogRecPtr endpoint);
*** /dev/null
--- b/src/bin/pg_rewind/t/006_wal_copy.pl
***************
*** 0 ****
--- 1,124 ----
+ #
+ # Test pg_rewind only copy needed WALs from the source.
+ #
+ use strict;
+ use warnings;
+ use TestLib;
+ use Test::More tests => 12;
+ 
+ use RewindTest;
+ 
+ sub run_test
+ {
+ 	my $test_mode = shift;
+ 
+ 	RewindTest::setup_cluster($test_mode);
+ 	RewindTest::start_master();
+ 
+ 	# Setup parameter for WAL reclaim 
+ 	master_psql("ALTER SYSTEM SET checkpoint_timeout = '1d'");
+ 	master_psql("ALTER SYSTEM SET min_wal_size = '80MB'");
+ 	master_psql("ALTER SYSTEM SET wal_keep_segments = 4");
+ 	master_psql("SELECT pg_reload_conf()");
+ 	
+ 	RewindTest::create_standby($test_mode);
+ 	
+ 	# Create a test table and insert rows in master.
+ 	master_psql("CREATE TABLE tbl1 (d text)");
+ 	master_psql("INSERT INTO tbl1 VALUES ('in master, wal 1')");
+ 	
+ 	master_psql("SELECT pg_switch_wal()");
+ 	master_psql("INSERT INTO tbl1 VALUES ('in master, wal 2')");
+ 
+ 	master_psql("SELECT pg_switch_wal()");
+ 	master_psql("INSERT INTO tbl1 VALUES ('in master, wal 3')");
+ 
+ 	master_psql("SELECT pg_switch_wal()");
+ 	master_psql("INSERT INTO tbl1 VALUES ('in master, wal 4')");
+ 			
+ 	master_psql("SELECT pg_switch_wal()");
+ 	master_psql("INSERT INTO tbl1 VALUES ('in master, wal 5, checkpoint')");
+ 	master_psql("CHECKPOINT");
+ 	
+ 	master_psql("SELECT pg_switch_wal()");
+ 	master_psql("INSERT INTO tbl1 VALUES ('in master, wal 6, before promotion')");
+ 	
+ 	# Promote standby
+ 	my $master_divergence_wal = $node_master->safe_psql("postgres", "SELECT pg_walfile_name(pg_current_wal_insert_lsn())");
+ 	RewindTest::promote_standby();
+ 	
+ 	# Insert rows in master after promotion
+ 	master_psql("INSERT INTO tbl1 VALUES ('in master, wal 6, after promotion')");
+ 
+ 	master_psql("SELECT pg_switch_wal()");
+ 	master_psql("INSERT INTO tbl1 VALUES ('in master, wal 7, after promotion')");
+ 	
+ 	master_psql("CHECKPOINT");
+ 		
+ 	# Insert rows in standby after promotion
+ 	standby_psql("INSERT INTO tbl1 VALUES ('in standby, wal 6, after promotion')");
+ 	
+ 	standby_psql("SELECT pg_switch_wal()");
+ 	standby_psql("INSERT INTO tbl1 VALUES ('in standby, wal 7, after promotion')");
+ 	
+ 	standby_psql("SELECT pg_switch_wal()");
+ 	standby_psql("INSERT INTO tbl1 VALUES ('in standby, wal 8, after promotion')");	
+ 
+ 	standby_psql("CHECKPOINT");
+ 	
+ 	# Check WALs before pg_rewind
+ 	master_psql("SELECT * from pg_ls_waldir()");
+ 	print("master_divergence_wal: $master_divergence_wal\n");
+ 	my $master_wal_count_before_divergence = $node_master->safe_psql("postgres", "SELECT count(*) FROM pg_ls_waldir() WHERE name ~ '^[0-9A-F]{24}\$' AND name < '$master_divergence_wal'");
+ 	ok( $master_wal_count_before_divergence > 0, 'master_wal_count_before_divergence > 0');
+ 
+ 	standby_psql("SELECT * from pg_ls_waldir()");
+ 	my $standby_current_wal = $node_standby->safe_psql("postgres", "SELECT pg_walfile_name(pg_current_wal_insert_lsn())");
+ 	print("standby_current_wal: $standby_current_wal\n");
+ 	my $standby_reclaimed_wal_count = $node_standby->safe_psql("postgres", "SELECT count(*) FROM pg_ls_waldir() WHERE name ~ '^[0-9A-F]{24}\$' AND name > '$standby_current_wal'");
+ 	ok( $standby_reclaimed_wal_count > 0, 'standby_reclaimed_wal_count > 0');
+ 
+ 	# The accuracy of imodification from pg_ls_waldir() is seconds, so sleep one seconds
+ 	sleep(1);	
+ 	my $pg_rewind_time = $node_master->safe_psql("postgres", "SELECT now()");
+ 	print("pg_rewind_time: $pg_rewind_time\n");
+ 	
+ 	# Run pg_rewind and check
+ 	RewindTest::run_pg_rewind($test_mode);
+ 
+ 	master_psql("SELECT * from pg_ls_waldir()");
+ 
+ 	check_query(
+ 		'SELECT * FROM tbl1',
+ 		qq(in master, wal 1
+ in master, wal 2
+ in master, wal 3
+ in master, wal 4
+ in master, wal 5, checkpoint
+ in master, wal 6, before promotion
+ in standby, wal 6, after promotion
+ in standby, wal 7, after promotion
+ in standby, wal 8, after promotion
+ ),
+ 		'table content');
+ 		
+ 	check_query(
+ 		"SELECT count(*) FROM pg_ls_waldir() WHERE name ~ '^[0-9A-F]{24}\$' AND name < '$master_divergence_wal' AND modification < '$pg_rewind_time' ",
+ 		qq($master_wal_count_before_divergence
+ ),
+ 		'reserve master wals before divergence');
+ 
+ 	check_query(
+ 		"SELECT count(*) FROM pg_ls_waldir() WHERE name ~ '^[0-9A-F]{24}\$' AND name > '$standby_current_wal' AND modification >= '$pg_rewind_time' ",
+ 		qq(0
+ ),
+ 		'do not copy reclaimed wals from standby(new master)');
+ 		
+ 	RewindTest::clean_rewind_test();
+ }
+ 
+ # Run the test in both modes
+ run_test('local');
+ run_test('remote');
+ 
+ exit(0);


^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* Re: [PATCH]make pg_rewind to not copy useless WAL files
  2017-09-16 14:56 [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  2017-09-16 18:19 ` Re: [PATCH]make pg_rewind to not copy useless WAL files Alexander Korotkov <[email protected]>
  2017-09-17 00:33   ` Re: [PATCH]make pg_rewind to not copy useless WAL files Michael Paquier <[email protected]>
  2017-09-18 17:00     ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  2017-09-22 16:16       ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  2017-09-22 17:59         ` Re: [PATCH]make pg_rewind to not copy useless WAL files Alexander Korotkov <[email protected]>
  2017-09-25 15:26           ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
@ 2017-09-27 17:29             ` Alexander Korotkov <[email protected]>
  2017-09-28 15:44               ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  0 siblings, 1 reply; 986+ messages in thread

From: Alexander Korotkov @ 2017-09-27 17:29 UTC (permalink / raw)
  To: chenhj <[email protected]>; +Cc: pgsql-hackers

On Mon, Sep 25, 2017 at 6:26 PM, chenhj <[email protected]> wrote:

> On 2017-09-23 01:59:0, "Alexander Korotkov" <[email protected]>
> wrote:
>
> On Fri, Sep 22, 2017 at 7:16 PM, chenhj <[email protected]> wrote:
>
>> This is the new pacth with TAP test and use Macro XLOGDIR.
>>
>
> Good.  I took a quick look over the patch.
> Why do you need master_query(), standby_query() and run_query() in
> RewindTest.pm?
> You can do just $node_master->safe_psql() and $node_slave->safe_psql()
> instead.
>
>
> Ooh, i did not notice that function.Thank you for your advice!
>

Great.  I tried this patch.  It applies cleanly, but doesn't compile.

pg_rewind.c:310:36: error: too few arguments provided to function-like
> macro invocation
>         XLByteToSeg(divergerec, startsegno);
>                                           ^
> ../../../src/include/access/xlog_internal.h:118:9: note: macro
> 'XLByteToSeg' defined here
> #define XLByteToSeg(xlrp, logSegNo, wal_segsz_bytes) \
>         ^
> pg_rewind.c:310:2: error: use of undeclared identifier 'XLByteToSeg'
>         XLByteToSeg(divergerec, startsegno);
>         ^
> pg_rewind.c:311:89: error: too few arguments provided to function-like
> macro invocation
>         XLogFileName(divergence_wal_filename,
> targetHistory[lastcommontliIndex].tli, startsegno);
>
>                      ^
> ../../../src/include/access/xlog_internal.h:155:9: note: macro
> 'XLogFileName' defined here
> #define XLogFileName(fname, tli, logSegNo, wal_segsz_bytes)     \
>         ^
> pg_rewind.c:311:2: error: use of undeclared identifier 'XLogFileName'
>         XLogFileName(divergence_wal_filename,
> targetHistory[lastcommontliIndex].tli, startsegno);
>         ^
> pg_rewind.c:312:34: error: too few arguments provided to function-like
> macro invocation
>         XLByteToPrevSeg(endrec, endsegno);
>                                         ^
> ../../../src/include/access/xlog_internal.h:121:9: note: macro
> 'XLByteToPrevSeg' defined here
> #define XLByteToPrevSeg(xlrp, logSegNo, wal_segsz_bytes) \
>         ^
> pg_rewind.c:312:2: error: use of undeclared identifier 'XLByteToPrevSeg'
>         XLByteToPrevSeg(endrec, endsegno);
>         ^
> pg_rewind.c:313:57: error: too few arguments provided to function-like
> macro invocation
>         XLogFileName(last_source_wal_filename, endtli, endsegno);
>                                                                ^
> ../../../src/include/access/xlog_internal.h:155:9: note: macro
> 'XLogFileName' defined here
> #define XLogFileName(fname, tli, logSegNo, wal_segsz_bytes)     \
>         ^
> pg_rewind.c:313:2: error: use of undeclared identifier 'XLogFileName'
>         XLogFileName(last_source_wal_filename, endtli, endsegno);
>         ^
> 8 errors generated.


It appears that your patch conflicts with fc49e24f.  Please, rebase it.

------
Alexander Korotkov
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company


^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* Re: [PATCH]make pg_rewind to not copy useless WAL files
  2017-09-16 14:56 [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  2017-09-16 18:19 ` Re: [PATCH]make pg_rewind to not copy useless WAL files Alexander Korotkov <[email protected]>
  2017-09-17 00:33   ` Re: [PATCH]make pg_rewind to not copy useless WAL files Michael Paquier <[email protected]>
  2017-09-18 17:00     ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  2017-09-22 16:16       ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  2017-09-22 17:59         ` Re: [PATCH]make pg_rewind to not copy useless WAL files Alexander Korotkov <[email protected]>
  2017-09-25 15:26           ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  2017-09-27 17:29             ` Re: [PATCH]make pg_rewind to not copy useless WAL files Alexander Korotkov <[email protected]>
@ 2017-09-28 15:44               ` chenhj <[email protected]>
  2017-09-28 16:43                 ` Re: [PATCH]make pg_rewind to not copy useless WAL files Alexander Korotkov <[email protected]>
  0 siblings, 1 reply; 986+ messages in thread

From: chenhj @ 2017-09-28 15:44 UTC (permalink / raw)
  To: Alexander Korotkov <[email protected]>; +Cc: pgsql-hackers

On 2017-09-28 01:29:29,"Alexander Korotkov" <[email protected]> wrote:





It appears that your patch conflicts with fc49e24f.  Please, rebase it.


------
Alexander Korotkov
Postgres Professional: http://www.postgrespro.com

The Russian Postgres Company 


Yes, i had rebased it, Please check the new patch. 


------
Best Regards,
Chen Huajun







-- 
Sent via pgsql-hackers mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Attachments:

  [application/octet-stream] pg_rewind_wal_copy_reduce_v4.patch (9.3K, ../../[email protected]/3-pg_rewind_wal_copy_reduce_v4.patch)
  download | inline diff:
*** a/src/bin/pg_rewind/filemap.c
--- b/src/bin/pg_rewind/filemap.c
***************
*** 21,26 ****
--- 21,27 ----
  #include "common/string.h"
  #include "catalog/pg_tablespace.h"
  #include "storage/fd.h"
+ #include "access/xlog_internal.h"
  
  filemap_t  *filemap = NULL;
  
***************
*** 168,179 **** process_source_file(const char *path, file_type_t type, size_t newsize,
--- 169,192 ----
  				 *
  				 * An exception: PG_VERSIONs should be identical, but avoid
  				 * overwriting it for paranoia.
+ 				 *
+ 				 * Another exception: Do not copy WAL files before the
+ 				 * divergence and the WAL files after the current WAL insert
+ 				 * location of the source server for performance reasons.
  				 */
  				if (pg_str_endswith(path, "PG_VERSION"))
  				{
  					action = FILE_ACTION_NONE;
  					oldsize = statbuf.st_size;
  				}
+ 				else if (strncmp(path, XLOGDIR"/", strlen(XLOGDIR"/")) == 0 &&
+ 						 IsXLogFileName(path + strlen(XLOGDIR"/")) &&
+ 						 (strcmp(path + strlen(XLOGDIR"/") + 8, divergence_wal_filename + 8) < 0 ||
+ 						  strcmp(path + strlen(XLOGDIR"/") + 8, last_source_wal_filename + 8) > 0))
+ 				{
+ 					action = FILE_ACTION_NONE;
+ 					oldsize = exists ? statbuf.st_size : 0;
+ 				}
  				else
  				{
  					action = FILE_ACTION_COPY;
***************
*** 303,310 **** process_target_file(const char *path, file_type_t type, size_t oldsize,
  	exists = (bsearch(&key_ptr, map->array, map->narray, sizeof(file_entry_t *),
  					  path_cmp) != NULL);
  
! 	/* Remove any file or folder that doesn't exist in the source system. */
! 	if (!exists)
  	{
  		entry = pg_malloc(sizeof(file_entry_t));
  		entry->path = pg_strdup(path);
--- 316,328 ----
  	exists = (bsearch(&key_ptr, map->array, map->narray, sizeof(file_entry_t *),
  					  path_cmp) != NULL);
  
! 	/* Remove any file or folder that doesn't exist in the source system
! 	 * except the WAL files before the divergence.
! 	 */
! 	if (!exists &&
! 		!(strncmp(path, XLOGDIR"/", strlen(XLOGDIR"/")) == 0 &&
! 		  IsXLogFileName(path + strlen(XLOGDIR"/")) &&
! 		  strcmp(path + strlen(XLOGDIR"/") + 8, divergence_wal_filename + 8) < 0))
  	{
  		entry = pg_malloc(sizeof(file_entry_t));
  		entry->path = pg_strdup(path);
*** a/src/bin/pg_rewind/pg_rewind.c
--- b/src/bin/pg_rewind/pg_rewind.c
***************
*** 27,32 ****
--- 27,33 ----
  #include "common/restricted_token.h"
  #include "getopt_long.h"
  #include "storage/bufpage.h"
+ #include "access/xlog_internal.h"
  
  static void usage(const char *progname);
  
***************
*** 59,64 **** bool		dry_run = false;
--- 60,69 ----
  TimeLineHistoryEntry *targetHistory;
  int			targetNentries;
  
+ /* WAL location */
+ char		divergence_wal_filename[MAXFNAMELEN];
+ char		last_source_wal_filename[MAXFNAMELEN];
+ 
  static void
  usage(const char *progname)
  {
***************
*** 104,109 **** main(int argc, char **argv)
--- 109,116 ----
  	XLogRecPtr	endrec;
  	TimeLineID	endtli;
  	ControlFileData ControlFile_new;
+ 	XLogSegNo	startsegno;
+ 	XLogSegNo	endsegno;
  
  	set_pglocale_pgservice(argv[0], PG_TEXTDOMAIN("pg_rewind"));
  	progname = get_progname(argv[0]);
***************
*** 281,286 **** main(int argc, char **argv)
--- 288,318 ----
  		   chkpttli);
  
  	/*
+ 	 * Save the WAL filenames of the divergence and the current WAL insert
+ 	 * location of the source server. Later only the WAL files between those
+ 	 * would be copied to the target data directory.
+ 	 * Note:The later generated WAL files in the source server before the end
+ 	 * of the copy of the data files must be made available when the target
+ 	 * server is started. This can be done by configuring the target server as
+ 	 * a standby of the source server.
+ 	 */
+ 	if (connstr_source)
+ 	{
+ 		endrec = libpqGetCurrentXlogInsertLocation();
+ 		endtli = ControlFile_source.checkPointCopy.ThisTimeLineID;
+ 	}
+ 	else
+ 	{
+ 		endrec = ControlFile_source.checkPoint;
+ 		endtli = ControlFile_source.checkPointCopy.ThisTimeLineID;
+ 	}
+ 
+ 	XLByteToSeg(divergerec, startsegno, WalSegSz);
+ 	XLogFileName(divergence_wal_filename, targetHistory[lastcommontliIndex].tli, startsegno, WalSegSz);
+ 	XLByteToPrevSeg(endrec, endsegno, WalSegSz);
+ 	XLogFileName(last_source_wal_filename, endtli, endsegno, WalSegSz);
+ 
+ 	/*
  	 * Build the filemap, by comparing the source and target data directories.
  	 */
  	filemap_create();
*** a/src/bin/pg_rewind/pg_rewind.h
--- b/src/bin/pg_rewind/pg_rewind.h
***************
*** 30,35 **** extern int	WalSegSz;
--- 30,39 ----
  extern TimeLineHistoryEntry *targetHistory;
  extern int	targetNentries;
  
+ /* WAL location */
+ extern char	divergence_wal_filename[];
+ extern char	last_source_wal_filename[];
+ 
  /* in parsexlog.c */
  extern void extractPageMap(const char *datadir, XLogRecPtr startpoint,
  			   int tliIndex, XLogRecPtr endpoint);
*** /dev/null
--- b/src/bin/pg_rewind/t/006_wal_copy.pl
***************
*** 0 ****
--- 1,125 ----
+ #
+ # Test pg_rewind only copy needed WALs from the source.
+ #
+ use strict;
+ use warnings;
+ use TestLib;
+ use Test::More tests => 12;
+ 
+ use RewindTest;
+ 
+ sub run_test
+ {
+ 	my $test_mode = shift;
+ 
+ 	RewindTest::setup_cluster($test_mode);
+ 	RewindTest::start_master();
+ 
+ 	# Setup parameter for WAL reclaim 
+ 	master_psql("ALTER SYSTEM SET checkpoint_timeout = '1d'");
+ 	master_psql("ALTER SYSTEM SET min_wal_size = '80MB'");
+ 	master_psql("ALTER SYSTEM SET wal_keep_segments = 4");
+ 	master_psql("ALTER SYSTEM SET log_checkpoints = on");
+ 	master_psql("SELECT pg_reload_conf()");
+ 	
+ 	RewindTest::create_standby($test_mode);
+ 	
+ 	# Create a test table and insert rows in master.
+ 	master_psql("CREATE TABLE tbl1 (d text)");
+ 	master_psql("INSERT INTO tbl1 VALUES ('in master, wal 1')");
+ 	
+ 	master_psql("SELECT pg_switch_wal()");
+ 	master_psql("INSERT INTO tbl1 VALUES ('in master, wal 2')");
+ 
+ 	master_psql("SELECT pg_switch_wal()");
+ 	master_psql("INSERT INTO tbl1 VALUES ('in master, wal 3')");
+ 
+ 	master_psql("SELECT pg_switch_wal()");
+ 	master_psql("INSERT INTO tbl1 VALUES ('in master, wal 4')");
+ 			
+ 	master_psql("SELECT pg_switch_wal()");
+ 	master_psql("INSERT INTO tbl1 VALUES ('in master, wal 5, checkpoint')");
+ 	master_psql("CHECKPOINT");
+ 	
+ 	master_psql("SELECT pg_switch_wal()");
+ 	master_psql("INSERT INTO tbl1 VALUES ('in master, wal 6, before promotion')");
+ 	
+ 	# Promote standby
+ 	my $master_divergence_wal = $node_master->safe_psql("postgres", "SELECT pg_walfile_name(pg_current_wal_insert_lsn())");
+ 	RewindTest::promote_standby();
+ 	
+ 	# Insert rows in master after promotion
+ 	master_psql("INSERT INTO tbl1 VALUES ('in master, wal 6, after promotion')");
+ 
+ 	master_psql("SELECT pg_switch_wal()");
+ 	master_psql("INSERT INTO tbl1 VALUES ('in master, wal 7, after promotion')");
+ 	
+ 	master_psql("CHECKPOINT");
+ 		
+ 	# Insert rows in standby after promotion
+ 	standby_psql("INSERT INTO tbl1 VALUES ('in standby, wal 6, after promotion')");
+ 	
+ 	standby_psql("SELECT pg_switch_wal()");
+ 	standby_psql("INSERT INTO tbl1 VALUES ('in standby, wal 7, after promotion')");
+ 	
+ 	standby_psql("SELECT pg_switch_wal()");
+ 	standby_psql("INSERT INTO tbl1 VALUES ('in standby, wal 8, after promotion')");	
+ 
+ 	standby_psql("CHECKPOINT");
+ 	
+ 	# Check WALs before pg_rewind
+ 	master_psql("SELECT * from pg_ls_waldir()");
+ 	print("master_divergence_wal: $master_divergence_wal\n");
+ 	my $master_wal_count_before_divergence = $node_master->safe_psql("postgres", "SELECT count(*) FROM pg_ls_waldir() WHERE name ~ '^[0-9A-F]{24}\$' AND name < '$master_divergence_wal'");
+ 	ok( $master_wal_count_before_divergence > 0, 'master_wal_count_before_divergence > 0');
+ 
+ 	standby_psql("SELECT * from pg_ls_waldir()");
+ 	my $standby_current_wal = $node_standby->safe_psql("postgres", "SELECT pg_walfile_name(pg_current_wal_insert_lsn())");
+ 	print("standby_current_wal: $standby_current_wal\n");
+ 	my $standby_reclaimed_wal_count = $node_standby->safe_psql("postgres", "SELECT count(*) FROM pg_ls_waldir() WHERE name ~ '^[0-9A-F]{24}\$' AND name > '$standby_current_wal'");
+ 	ok( $standby_reclaimed_wal_count > 0, 'standby_reclaimed_wal_count > 0');
+ 
+ 	# The accuracy of imodification from pg_ls_waldir() is seconds, so sleep one seconds
+ 	sleep(1);	
+ 	my $pg_rewind_time = $node_master->safe_psql("postgres", "SELECT now()");
+ 	print("pg_rewind_time: $pg_rewind_time\n");
+ 	
+ 	# Run pg_rewind and check
+ 	RewindTest::run_pg_rewind($test_mode);
+ 
+ 	master_psql("SELECT * from pg_ls_waldir()");
+ 
+ 	check_query(
+ 		'SELECT * FROM tbl1',
+ 		qq(in master, wal 1
+ in master, wal 2
+ in master, wal 3
+ in master, wal 4
+ in master, wal 5, checkpoint
+ in master, wal 6, before promotion
+ in standby, wal 6, after promotion
+ in standby, wal 7, after promotion
+ in standby, wal 8, after promotion
+ ),
+ 		'table content');
+ 		
+ 	check_query(
+ 		"SELECT count(*) FROM pg_ls_waldir() WHERE name ~ '^[0-9A-F]{24}\$' AND name < '$master_divergence_wal' AND modification >= '$pg_rewind_time' ",
+ 		qq(0
+ ),
+ 		'do not copy wals before divergence');
+ 
+ 	check_query(
+ 		"SELECT count(*) FROM pg_ls_waldir() WHERE name ~ '^[0-9A-F]{24}\$' AND name > '$standby_current_wal' AND modification >= '$pg_rewind_time' ",
+ 		qq(0
+ ),
+ 		'do not copy reclaimed wals from the source server');
+ 		
+ 	RewindTest::clean_rewind_test();
+ }
+ 
+ # Run the test in both modes
+ run_test('local');
+ run_test('remote');
+ 
+ exit(0);


^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* Re: [PATCH]make pg_rewind to not copy useless WAL files
  2017-09-16 14:56 [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  2017-09-16 18:19 ` Re: [PATCH]make pg_rewind to not copy useless WAL files Alexander Korotkov <[email protected]>
  2017-09-17 00:33   ` Re: [PATCH]make pg_rewind to not copy useless WAL files Michael Paquier <[email protected]>
  2017-09-18 17:00     ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  2017-09-22 16:16       ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  2017-09-22 17:59         ` Re: [PATCH]make pg_rewind to not copy useless WAL files Alexander Korotkov <[email protected]>
  2017-09-25 15:26           ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  2017-09-27 17:29             ` Re: [PATCH]make pg_rewind to not copy useless WAL files Alexander Korotkov <[email protected]>
  2017-09-28 15:44               ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
@ 2017-09-28 16:43                 ` Alexander Korotkov <[email protected]>
  2017-09-28 19:52                   ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  0 siblings, 1 reply; 986+ messages in thread

From: Alexander Korotkov @ 2017-09-28 16:43 UTC (permalink / raw)
  To: chenhj <[email protected]>; +Cc: pgsql-hackers

On Thu, Sep 28, 2017 at 6:44 PM, chenhj <[email protected]> wrote:

> On 2017-09-28 01:29:29,"Alexander Korotkov" <[email protected]>
> wrote:
>
> It appears that your patch conflicts with fc49e24f.  Please, rebase it.
>
>
> Yes, i had rebased it, Please check the new patch.
>

Good, now it applies cleanly.

else if (strncmp(path, XLOGDIR"/", strlen(XLOGDIR"/")) == 0 &&
> IsXLogFileName(path + strlen(XLOGDIR"/")) &&
> (strcmp(path + strlen(XLOGDIR"/") + 8, divergence_wal_filename + 8) < 0 ||
>  strcmp(path + strlen(XLOGDIR"/") + 8, last_source_wal_filename + 8) > 0))


According to our conding style, you should leave a space betwen XLOGDIF and
"/".
Also, you do a trick by comparison xlog segment numbers using strcmp().
It's nice, but I would prefer seeing XLogFromFileName() here.  It would
improve code readability and be less error prone during further
modifications.


------
Alexander Korotkov
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company


^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* Re: [PATCH]make pg_rewind to not copy useless WAL files
  2017-09-16 14:56 [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  2017-09-16 18:19 ` Re: [PATCH]make pg_rewind to not copy useless WAL files Alexander Korotkov <[email protected]>
  2017-09-17 00:33   ` Re: [PATCH]make pg_rewind to not copy useless WAL files Michael Paquier <[email protected]>
  2017-09-18 17:00     ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  2017-09-22 16:16       ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  2017-09-22 17:59         ` Re: [PATCH]make pg_rewind to not copy useless WAL files Alexander Korotkov <[email protected]>
  2017-09-25 15:26           ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  2017-09-27 17:29             ` Re: [PATCH]make pg_rewind to not copy useless WAL files Alexander Korotkov <[email protected]>
  2017-09-28 15:44               ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  2017-09-28 16:43                 ` Re: [PATCH]make pg_rewind to not copy useless WAL files Alexander Korotkov <[email protected]>
@ 2017-09-28 19:52                   ` chenhj <[email protected]>
  2017-09-28 21:31                     ` Re: [PATCH]make pg_rewind to not copy useless WAL files Alexander Korotkov <[email protected]>
  0 siblings, 1 reply; 986+ messages in thread

From: chenhj @ 2017-09-28 19:52 UTC (permalink / raw)
  To: Alexander Korotkov <[email protected]>; +Cc: pgsql-hackers

On 2017-09-29 00:43:18,"Alexander Korotkov" <[email protected]> wrote:

On Thu, Sep 28, 2017 at 6:44 PM, chenhj <[email protected]> wrote:

On 2017-09-28 01:29:29,"Alexander Korotkov" <[email protected]> wrote:

It appears that your patch conflicts with fc49e24f.  Please, rebase it.



Yes, i had rebased it, Please check the new patch. 


Good, now it applies cleanly.


else if (strncmp(path, XLOGDIR"/", strlen(XLOGDIR"/")) == 0 &&
 IsXLogFileName(path + strlen(XLOGDIR"/")) &&
 (strcmp(path + strlen(XLOGDIR"/") + 8, divergence_wal_filename + 8) < 0 ||
  strcmp(path + strlen(XLOGDIR"/") + 8, last_source_wal_filename + 8) > 0))


According to our conding style, you should leave a space betwen XLOGDIF and "/".
Also, you do a trick by comparison xlog segment numbers using strcmp().  It's nice, but I would prefer seeing XLogFromFileName() here.  It would improve code readability and be less error prone during further modifications.




------
Alexander Korotkov
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company


Thanks for advice!
I had modified it.


-----
Best Regards,
Chen Huajun






-- 
Sent via pgsql-hackers mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Attachments:

  [application/octet-stream] pg_rewind_wal_copy_reduce_v5.patch (9.4K, ../../[email protected]/3-pg_rewind_wal_copy_reduce_v5.patch)
  download | inline diff:
*** a/src/bin/pg_rewind/filemap.c
--- b/src/bin/pg_rewind/filemap.c
***************
*** 21,26 ****
--- 21,27 ----
  #include "common/string.h"
  #include "catalog/pg_tablespace.h"
  #include "storage/fd.h"
+ #include "access/xlog_internal.h"
  
  filemap_t  *filemap = NULL;
  
***************
*** 67,72 **** process_source_file(const char *path, file_type_t type, size_t newsize,
--- 68,75 ----
  	file_action_t action = FILE_ACTION_NONE;
  	size_t		oldsize = 0;
  	file_entry_t *entry;
+ 	uint32		tli;
+ 	XLogSegNo	segno;
  
  	Assert(map->array == NULL);
  
***************
*** 168,179 **** process_source_file(const char *path, file_type_t type, size_t newsize,
--- 171,201 ----
  				 *
  				 * An exception: PG_VERSIONs should be identical, but avoid
  				 * overwriting it for paranoia.
+ 				 *
+ 				 * Another exception: Do not copy WAL files before the
+ 				 * divergence and the WAL files after the current WAL insert
+ 				 * location of the source server for performance reasons.
  				 */
  				if (pg_str_endswith(path, "PG_VERSION"))
  				{
  					action = FILE_ACTION_NONE;
  					oldsize = statbuf.st_size;
  				}
+ 				else if (strncmp(path, XLOGDIR "/", strlen(XLOGDIR "/")) == 0 &&
+ 						 IsXLogFileName(path + strlen(XLOGDIR "/")))
+ 				{
+ 					XLogFromFileName(path + strlen(XLOGDIR "/"), &tli, &segno, WalSegSz);
+ 					if (segno >= divergence_segno && segno <= last_source_segno)
+ 					{
+ 						action = FILE_ACTION_COPY;
+ 						oldsize = 0;
+ 					}
+ 					else
+ 					{
+ 						action = FILE_ACTION_NONE;
+ 						oldsize = exists ? statbuf.st_size : 0;
+ 					}
+ 				}
  				else
  				{
  					action = FILE_ACTION_COPY;
***************
*** 258,263 **** process_target_file(const char *path, file_type_t type, size_t oldsize,
--- 280,288 ----
  	file_entry_t *key_ptr;
  	filemap_t  *map = filemap;
  	file_entry_t *entry;
+ 	bool		reserve = false;
+ 	uint32		tli;
+ 	XLogSegNo	segno;
  
  	snprintf(localpath, sizeof(localpath), "%s/%s", datadir_target, path);
  	if (lstat(localpath, &statbuf) < 0)
***************
*** 303,310 **** process_target_file(const char *path, file_type_t type, size_t oldsize,
  	exists = (bsearch(&key_ptr, map->array, map->narray, sizeof(file_entry_t *),
  					  path_cmp) != NULL);
  
! 	/* Remove any file or folder that doesn't exist in the source system. */
! 	if (!exists)
  	{
  		entry = pg_malloc(sizeof(file_entry_t));
  		entry->path = pg_strdup(path);
--- 328,345 ----
  	exists = (bsearch(&key_ptr, map->array, map->narray, sizeof(file_entry_t *),
  					  path_cmp) != NULL);
  
! 	if(strncmp(path, XLOGDIR "/", strlen(XLOGDIR "/")) == 0 &&
! 		IsXLogFileName(path + strlen(XLOGDIR "/")))
! 	{
! 		XLogFromFileName(path + strlen(XLOGDIR "/"), &tli, &segno, WalSegSz);
! 		if(segno < divergence_segno)
! 			reserve = true;
! 	}
! 
! 	/* Remove any file or folder that doesn't exist in the source system
! 	 * except the WAL files before the divergence.
! 	 */
! 	if (!exists && !reserve)
  	{
  		entry = pg_malloc(sizeof(file_entry_t));
  		entry->path = pg_strdup(path);
*** a/src/bin/pg_rewind/pg_rewind.c
--- b/src/bin/pg_rewind/pg_rewind.c
***************
*** 27,32 ****
--- 27,33 ----
  #include "common/restricted_token.h"
  #include "getopt_long.h"
  #include "storage/bufpage.h"
+ #include "access/xlog_internal.h"
  
  static void usage(const char *progname);
  
***************
*** 59,64 **** bool		dry_run = false;
--- 60,69 ----
  TimeLineHistoryEntry *targetHistory;
  int			targetNentries;
  
+ /* WAL location */
+ XLogSegNo	divergence_segno;
+ XLogSegNo	last_source_segno;
+ 
  static void
  usage(const char *progname)
  {
***************
*** 281,286 **** main(int argc, char **argv)
--- 286,312 ----
  		   chkpttli);
  
  	/*
+ 	 * Save the WAL filenames of the divergence and the current WAL insert
+ 	 * location of the source server. Later only the WAL files between those
+ 	 * would be copied to the target data directory.
+ 	 * Note:The later generated WAL files in the source server before the end
+ 	 * of the copy of the data files must be made available when the target
+ 	 * server is started. This can be done by configuring the target server as
+ 	 * a standby of the source server.
+ 	 */
+ 	if (connstr_source)
+ 	{
+ 		endrec = libpqGetCurrentXlogInsertLocation();
+ 	}
+ 	else
+ 	{
+ 		endrec = ControlFile_source.checkPoint;
+ 	}
+ 
+ 	XLByteToSeg(divergerec, divergence_segno, WalSegSz);
+ 	XLByteToPrevSeg(endrec, last_source_segno, WalSegSz);
+ 
+ 	/*
  	 * Build the filemap, by comparing the source and target data directories.
  	 */
  	filemap_create();
*** a/src/bin/pg_rewind/pg_rewind.h
--- b/src/bin/pg_rewind/pg_rewind.h
***************
*** 30,35 **** extern int	WalSegSz;
--- 30,39 ----
  extern TimeLineHistoryEntry *targetHistory;
  extern int	targetNentries;
  
+ /* WAL location */
+ extern XLogSegNo divergence_segno;
+ extern XLogSegNo last_source_segno;
+ 
  /* in parsexlog.c */
  extern void extractPageMap(const char *datadir, XLogRecPtr startpoint,
  			   int tliIndex, XLogRecPtr endpoint);
*** /dev/null
--- b/src/bin/pg_rewind/t/006_wal_copy.pl
***************
*** 0 ****
--- 1,125 ----
+ #
+ # Test pg_rewind only copy needed WALs from the source.
+ #
+ use strict;
+ use warnings;
+ use TestLib;
+ use Test::More tests => 12;
+ 
+ use RewindTest;
+ 
+ sub run_test
+ {
+ 	my $test_mode = shift;
+ 
+ 	RewindTest::setup_cluster($test_mode);
+ 	RewindTest::start_master();
+ 
+ 	# Setup parameter for WAL reclaim 
+ 	master_psql("ALTER SYSTEM SET checkpoint_timeout = '1d'");
+ 	master_psql("ALTER SYSTEM SET min_wal_size = '80MB'");
+ 	master_psql("ALTER SYSTEM SET wal_keep_segments = 4");
+ 	master_psql("ALTER SYSTEM SET log_checkpoints = on");
+ 	master_psql("SELECT pg_reload_conf()");
+ 	
+ 	RewindTest::create_standby($test_mode);
+ 	
+ 	# Create a test table and insert rows in master.
+ 	master_psql("CREATE TABLE tbl1 (d text)");
+ 	master_psql("INSERT INTO tbl1 VALUES ('in master, wal 1')");
+ 	
+ 	master_psql("SELECT pg_switch_wal()");
+ 	master_psql("INSERT INTO tbl1 VALUES ('in master, wal 2')");
+ 
+ 	master_psql("SELECT pg_switch_wal()");
+ 	master_psql("INSERT INTO tbl1 VALUES ('in master, wal 3')");
+ 
+ 	master_psql("SELECT pg_switch_wal()");
+ 	master_psql("INSERT INTO tbl1 VALUES ('in master, wal 4')");
+ 			
+ 	master_psql("SELECT pg_switch_wal()");
+ 	master_psql("INSERT INTO tbl1 VALUES ('in master, wal 5, checkpoint')");
+ 	master_psql("CHECKPOINT");
+ 	
+ 	master_psql("SELECT pg_switch_wal()");
+ 	master_psql("INSERT INTO tbl1 VALUES ('in master, wal 6, before promotion')");
+ 	
+ 	# Promote standby
+ 	my $master_divergence_wal = $node_master->safe_psql("postgres", "SELECT pg_walfile_name(pg_current_wal_insert_lsn())");
+ 	RewindTest::promote_standby();
+ 	
+ 	# Insert rows in master after promotion
+ 	master_psql("INSERT INTO tbl1 VALUES ('in master, wal 6, after promotion')");
+ 
+ 	master_psql("SELECT pg_switch_wal()");
+ 	master_psql("INSERT INTO tbl1 VALUES ('in master, wal 7, after promotion')");
+ 	
+ 	master_psql("CHECKPOINT");
+ 		
+ 	# Insert rows in standby after promotion
+ 	standby_psql("INSERT INTO tbl1 VALUES ('in standby, wal 6, after promotion')");
+ 	
+ 	standby_psql("SELECT pg_switch_wal()");
+ 	standby_psql("INSERT INTO tbl1 VALUES ('in standby, wal 7, after promotion')");
+ 	
+ 	standby_psql("SELECT pg_switch_wal()");
+ 	standby_psql("INSERT INTO tbl1 VALUES ('in standby, wal 8, after promotion')");	
+ 
+ 	standby_psql("CHECKPOINT");
+ 	
+ 	# Check WALs before pg_rewind
+ 	master_psql("SELECT * from pg_ls_waldir()");
+ 	print("master_divergence_wal: $master_divergence_wal\n");
+ 	my $master_wal_count_before_divergence = $node_master->safe_psql("postgres", "SELECT count(*) FROM pg_ls_waldir() WHERE name ~ '^[0-9A-F]{24}\$' AND name < '$master_divergence_wal'");
+ 	ok( $master_wal_count_before_divergence > 0, 'master_wal_count_before_divergence > 0');
+ 
+ 	standby_psql("SELECT * from pg_ls_waldir()");
+ 	my $standby_current_wal = $node_standby->safe_psql("postgres", "SELECT pg_walfile_name(pg_current_wal_insert_lsn())");
+ 	print("standby_current_wal: $standby_current_wal\n");
+ 	my $standby_reclaimed_wal_count = $node_standby->safe_psql("postgres", "SELECT count(*) FROM pg_ls_waldir() WHERE name ~ '^[0-9A-F]{24}\$' AND name > '$standby_current_wal'");
+ 	ok( $standby_reclaimed_wal_count > 0, 'standby_reclaimed_wal_count > 0');
+ 
+ 	# The accuracy of imodification from pg_ls_waldir() is seconds, so sleep one seconds
+ 	sleep(1);
+ 	my $pg_rewind_time = $node_master->safe_psql("postgres", "SELECT now()");
+ 	print("pg_rewind_time: $pg_rewind_time\n");
+ 	
+ 	# Run pg_rewind and check
+ 	RewindTest::run_pg_rewind($test_mode);
+ 
+ 	master_psql("SELECT * from pg_ls_waldir()");
+ 
+ 	check_query(
+ 		'SELECT * FROM tbl1',
+ 		qq(in master, wal 1
+ in master, wal 2
+ in master, wal 3
+ in master, wal 4
+ in master, wal 5, checkpoint
+ in master, wal 6, before promotion
+ in standby, wal 6, after promotion
+ in standby, wal 7, after promotion
+ in standby, wal 8, after promotion
+ ),
+ 		'table content');
+ 		
+ 	check_query(
+ 		"SELECT count(*) FROM pg_ls_waldir() WHERE name ~ '^[0-9A-F]{24}\$' AND name < '$master_divergence_wal' AND modification >= '$pg_rewind_time' ",
+ 		qq(0
+ ),
+ 		'do not copy wals before divergence');
+ 
+ 	check_query(
+ 		"SELECT count(*) FROM pg_ls_waldir() WHERE name ~ '^[0-9A-F]{24}\$' AND name > '$standby_current_wal' AND modification >= '$pg_rewind_time' ",
+ 		qq(0
+ ),
+ 		'do not copy reclaimed wals from the source server');
+ 		
+ 	RewindTest::clean_rewind_test();
+ }
+ 
+ # Run the test in both modes
+ run_test('local');
+ run_test('remote');
+ 
+ exit(0);


^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* Re: [PATCH]make pg_rewind to not copy useless WAL files
  2017-09-16 14:56 [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  2017-09-16 18:19 ` Re: [PATCH]make pg_rewind to not copy useless WAL files Alexander Korotkov <[email protected]>
  2017-09-17 00:33   ` Re: [PATCH]make pg_rewind to not copy useless WAL files Michael Paquier <[email protected]>
  2017-09-18 17:00     ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  2017-09-22 16:16       ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  2017-09-22 17:59         ` Re: [PATCH]make pg_rewind to not copy useless WAL files Alexander Korotkov <[email protected]>
  2017-09-25 15:26           ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  2017-09-27 17:29             ` Re: [PATCH]make pg_rewind to not copy useless WAL files Alexander Korotkov <[email protected]>
  2017-09-28 15:44               ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  2017-09-28 16:43                 ` Re: [PATCH]make pg_rewind to not copy useless WAL files Alexander Korotkov <[email protected]>
  2017-09-28 19:52                   ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
@ 2017-09-28 21:31                     ` Alexander Korotkov <[email protected]>
  2017-09-29 07:07                       ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  0 siblings, 1 reply; 986+ messages in thread

From: Alexander Korotkov @ 2017-09-28 21:31 UTC (permalink / raw)
  To: chenhj <[email protected]>; +Cc: pgsql-hackers

On Thu, Sep 28, 2017 at 10:52 PM, chenhj <[email protected]> wrote:

> On 2017-09-29 00:43:18,"Alexander Korotkov" <[email protected]>
> wrote:
>
> On Thu, Sep 28, 2017 at 6:44 PM, chenhj <[email protected]> wrote:
>
>> On 2017-09-28 01:29:29,"Alexander Korotkov" <[email protected]>
>> wrote:
>>
>> It appears that your patch conflicts with fc49e24f.  Please, rebase it.
>>
>>
>> Yes, i had rebased it, Please check the new patch.
>>
>
> Good, now it applies cleanly.
>
> else if (strncmp(path, XLOGDIR"/", strlen(XLOGDIR"/")) == 0 &&
>>  IsXLogFileName(path + strlen(XLOGDIR"/")) &&
>>  (strcmp(path + strlen(XLOGDIR"/") + 8, divergence_wal_filename + 8) < 0
>> ||
>>   strcmp(path + strlen(XLOGDIR"/") + 8, last_source_wal_filename + 8) >
>> 0))
>
>
> According to our conding style, you should leave a space betwen XLOGDIF
> and "/".
> Also, you do a trick by comparison xlog segment numbers using strcmp().
> It's nice, but I would prefer seeing XLogFromFileName() here.  It would
> improve code readability and be less error prone during further
> modifications.
>
>
> Thanks for advice!
> I had modified it.
>

OK. Patch becomes better.
I also have more general question.  Why do we need upper bound for segment
number (last_source_segno)?  I understand the purpose of lower bound
(divergence_segno) which save us from copying extra WAL files, but what is
upper bound for?  As I understood, we anyway need to replay most recent WAL
records to reach consistent state after pg_rewind.  I propose to
remove last_source_segno unless I'm missing something.


------
Alexander Korotkov
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company


^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* Re: [PATCH]make pg_rewind to not copy useless WAL files
  2017-09-16 14:56 [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  2017-09-16 18:19 ` Re: [PATCH]make pg_rewind to not copy useless WAL files Alexander Korotkov <[email protected]>
  2017-09-17 00:33   ` Re: [PATCH]make pg_rewind to not copy useless WAL files Michael Paquier <[email protected]>
  2017-09-18 17:00     ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  2017-09-22 16:16       ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  2017-09-22 17:59         ` Re: [PATCH]make pg_rewind to not copy useless WAL files Alexander Korotkov <[email protected]>
  2017-09-25 15:26           ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  2017-09-27 17:29             ` Re: [PATCH]make pg_rewind to not copy useless WAL files Alexander Korotkov <[email protected]>
  2017-09-28 15:44               ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  2017-09-28 16:43                 ` Re: [PATCH]make pg_rewind to not copy useless WAL files Alexander Korotkov <[email protected]>
  2017-09-28 19:52                   ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  2017-09-28 21:31                     ` Re: [PATCH]make pg_rewind to not copy useless WAL files Alexander Korotkov <[email protected]>
@ 2017-09-29 07:07                       ` chenhj <[email protected]>
  2017-09-29 11:29                         ` Re: [PATCH]make pg_rewind to not copy useless WAL files Alexander Korotkov <[email protected]>
  0 siblings, 1 reply; 986+ messages in thread

From: chenhj @ 2017-09-29 07:07 UTC (permalink / raw)
  To: Alexander Korotkov <[email protected]>; +Cc: pgsql-hackers

On 2017-09-29 05:31:51, "Alexander Korotkov" <[email protected]> wrote:

On Thu, Sep 28, 2017 at 10:52 PM, chenhj <[email protected]> wrote:

On 2017-09-29 00:43:18,"Alexander Korotkov" <[email protected]> wrote:

On Thu, Sep 28, 2017 at 6:44 PM, chenhj <[email protected]> wrote:

On 2017-09-28 01:29:29,"Alexander Korotkov" <[email protected]> wrote:

It appears that your patch conflicts with fc49e24f.  Please, rebase it.



Yes, i had rebased it, Please check the new patch. 


Good, now it applies cleanly.


else if (strncmp(path, XLOGDIR"/", strlen(XLOGDIR"/")) == 0 &&
 IsXLogFileName(path + strlen(XLOGDIR"/")) &&
 (strcmp(path + strlen(XLOGDIR"/") + 8, divergence_wal_filename + 8) < 0 ||
  strcmp(path + strlen(XLOGDIR"/") + 8, last_source_wal_filename + 8) > 0))


According to our conding style, you should leave a space betwen XLOGDIF and "/".
Also, you do a trick by comparison xlog segment numbers using strcmp().  It's nice, but I would prefer seeing XLogFromFileName() here.  It would improve code readability and be less error prone during further modifications.


Thanks for advice!
I had modified it.


OK. Patch becomes better.
I also have more general question.  Why do we need upper bound for segment number (last_source_segno)?  I understand the purpose of lower bound (divergence_segno) which save us from copying extra WAL files, but what is upper bound for?  As I understood, we anyway need to replay most recent WAL records to reach consistent state after pg_rewind.  I propose to remove last_source_segno unless I'm missing something.


Thanks for relay!
When checkpoint occurs, some old WAL files will be renamed as future WAL files for later use.
The upper bound for segment number (last_source_segno) is used to avoid copying these extra WAL files.


When the parameter max_wal_size or max_min_size is large,these may be many renamed old WAL files for reused.


For example, I have just looked at one of our production systems (max_wal_size = 64GB, min_wal_size = 2GB), 
the total size of WALs is about 30GB, and contains about 4GB renamed old WAL files.


[postgres@hostxxx pg_xlog]$ ll
...
-rw------- 1 postgres postgres 16777216 Sep 29 14:05 0000000100000BCF00000078
-rw------- 1 postgres postgres 16777216 Sep 29 14:05 0000000100000BCF00000079
-rw------- 1 postgres postgres 16777216 Sep 29 14:05 0000000100000BCF0000007A
-rw------- 1 postgres postgres 16777216 Sep 29 14:05 0000000100000BCF0000007B
-rw------- 1 postgres postgres 16777216 Sep 29 14:05 0000000100000BCF0000007C
-rw------- 1 postgres postgres 16777216 Sep 29 14:05 0000000100000BCF0000007D
-rw------- 1 postgres postgres 16777216 Sep 29 11:22 0000000100000BCF0000007E //after this, there are about 4GB WALs for reuse
-rw------- 1 postgres postgres 16777216 Sep 29 11:08 0000000100000BCF0000007F
-rw------- 1 postgres postgres 16777216 Sep 29 11:06 0000000100000BCF00000080
-rw------- 1 postgres postgres 16777216 Sep 29 12:05 0000000100000BCF00000081
-rw------- 1 postgres postgres 16777216 Sep 29 11:28 0000000100000BCF00000082
-rw------- 1 postgres postgres 16777216 Sep 29 11:06 0000000100000BCF00000083
...


-----
Best Regards,
Chen Huajun

^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* Re: [PATCH]make pg_rewind to not copy useless WAL files
  2017-09-16 14:56 [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  2017-09-16 18:19 ` Re: [PATCH]make pg_rewind to not copy useless WAL files Alexander Korotkov <[email protected]>
  2017-09-17 00:33   ` Re: [PATCH]make pg_rewind to not copy useless WAL files Michael Paquier <[email protected]>
  2017-09-18 17:00     ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  2017-09-22 16:16       ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  2017-09-22 17:59         ` Re: [PATCH]make pg_rewind to not copy useless WAL files Alexander Korotkov <[email protected]>
  2017-09-25 15:26           ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  2017-09-27 17:29             ` Re: [PATCH]make pg_rewind to not copy useless WAL files Alexander Korotkov <[email protected]>
  2017-09-28 15:44               ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  2017-09-28 16:43                 ` Re: [PATCH]make pg_rewind to not copy useless WAL files Alexander Korotkov <[email protected]>
  2017-09-28 19:52                   ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  2017-09-28 21:31                     ` Re: [PATCH]make pg_rewind to not copy useless WAL files Alexander Korotkov <[email protected]>
  2017-09-29 07:07                       ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
@ 2017-09-29 11:29                         ` Alexander Korotkov <[email protected]>
  2017-09-29 16:53                           ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  0 siblings, 1 reply; 986+ messages in thread

From: Alexander Korotkov @ 2017-09-29 11:29 UTC (permalink / raw)
  To: chenhj <[email protected]>; +Cc: pgsql-hackers

On Fri, Sep 29, 2017 at 10:07 AM, chenhj <[email protected]> wrote:

> On 2017-09-29 05:31:51, "Alexander Korotkov" <[email protected]>
> wrote:
>
> On Thu, Sep 28, 2017 at 10:52 PM, chenhj <[email protected]> wrote:
>
>> On 2017-09-29 00:43:18,"Alexander Korotkov" <[email protected]>
>> wrote:
>>
>> On Thu, Sep 28, 2017 at 6:44 PM, chenhj <[email protected]> wrote:
>>
>>> On 2017-09-28 01:29:29,"Alexander Korotkov" <[email protected]>
>>> wrote:
>>>
>>> It appears that your patch conflicts with fc49e24f.  Please, rebase it.
>>>
>>>
>>> Yes, i had rebased it, Please check the new patch.
>>>
>>
>> Good, now it applies cleanly.
>>
>> else if (strncmp(path, XLOGDIR"/", strlen(XLOGDIR"/")) == 0 &&
>>>  IsXLogFileName(path + strlen(XLOGDIR"/")) &&
>>>  (strcmp(path + strlen(XLOGDIR"/") + 8, divergence_wal_filename + 8) < 0
>>> ||
>>>   strcmp(path + strlen(XLOGDIR"/") + 8, last_source_wal_filename + 8) >
>>> 0))
>>
>>
>> According to our conding style, you should leave a space betwen XLOGDIF
>> and "/".
>> Also, you do a trick by comparison xlog segment numbers using strcmp().
>> It's nice, but I would prefer seeing XLogFromFileName() here.  It would
>> improve code readability and be less error prone during further
>> modifications.
>>
>>
>> Thanks for advice!
>> I had modified it.
>>
>
> OK. Patch becomes better.
> I also have more general question.  Why do we need upper bound for segment
> number (last_source_segno)?  I understand the purpose of lower bound
> (divergence_segno) which save us from copying extra WAL files, but what is
> upper bound for?  As I understood, we anyway need to replay most recent WAL
> records to reach consistent state after pg_rewind.  I propose to
> remove last_source_segno unless I'm missing something.
>
>
> Thanks for relay!
> When checkpoint occurs, some old WAL files will be renamed as future WAL
> files for later use.
> The upper bound for segment number (last_source_segno) is used to avoid
> copying these extra WAL files.
>
> When the parameter max_wal_size or max_min_size is large,these may be many
> renamed old WAL files for reused.
>
> For example, I have just looked at one of our production systems
> (max_wal_size = 64GB, min_wal_size = 2GB),
> the total size of WALs is about 30GB, and contains about 4GB renamed old
> WAL files.
>
> [postgres@hostxxx pg_xlog]$ ll
> ...
> -rw------- 1 postgres postgres 16777216 Sep 29 14:05
> 0000000100000BCF00000078
> -rw------- 1 postgres postgres 16777216 Sep 29 14:05
> 0000000100000BCF00000079
> -rw------- 1 postgres postgres 16777216 Sep 29 14:05
> 0000000100000BCF0000007A
> -rw------- 1 postgres postgres 16777216 Sep 29 14:05
> 0000000100000BCF0000007B
> -rw------- 1 postgres postgres 16777216 Sep 29 14:05
> 0000000100000BCF0000007C
> -rw------- 1 postgres postgres 16777216 Sep 29 14:05
> 0000000100000BCF0000007D
> -rw------- 1 postgres postgres 16777216 Sep 29 11:22
> 0000000100000BCF0000007E //after this, there are about 4GB WALs for reuse
> -rw------- 1 postgres postgres 16777216 Sep 29 11:08
> 0000000100000BCF0000007F
> -rw------- 1 postgres postgres 16777216 Sep 29 11:06
> 0000000100000BCF00000080
> -rw------- 1 postgres postgres 16777216 Sep 29 12:05
> 0000000100000BCF00000081
> -rw------- 1 postgres postgres 16777216 Sep 29 11:28
> 0000000100000BCF00000082
> -rw------- 1 postgres postgres 16777216 Sep 29 11:06
> 0000000100000BCF00000083
> ...
>

OK.  That makes sense.  Thank you for the explanation.

I still have some minor comments.


>     /*
> +    * Save the WAL filenames of the divergence and the current WAL insert
> +    * location of the source server. Later only the WAL files between
> those
> +    * would be copied to the target data directory.
>

Comment is outdated.  We don't save filenames anymore, now we save segment
numbers.


> +    * Note:The later generated WAL files in the source server before the
> end
> +    * of the copy of the data files must be made available when the target
> +    * server is started. This can be done by configuring the target
> server as
> +    * a standby of the source server.
> +    */


You miss space after "Note:".  Also, it seems reasonable for me to leave
empty line before "Note:".

# Setup parameter for WAL reclaim


Parameter*s*, because you're setting up multiple of them.

# The accuracy of imodification from pg_ls_waldir() is seconds, so sleep
> one seconds


One second without "s".

Also, please check empty lines in 006_wal_copy.pl to be just empty lines
without tabs.

------
Alexander Korotkov
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company


^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* Re: [PATCH]make pg_rewind to not copy useless WAL files
  2017-09-16 14:56 [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  2017-09-16 18:19 ` Re: [PATCH]make pg_rewind to not copy useless WAL files Alexander Korotkov <[email protected]>
  2017-09-17 00:33   ` Re: [PATCH]make pg_rewind to not copy useless WAL files Michael Paquier <[email protected]>
  2017-09-18 17:00     ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  2017-09-22 16:16       ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  2017-09-22 17:59         ` Re: [PATCH]make pg_rewind to not copy useless WAL files Alexander Korotkov <[email protected]>
  2017-09-25 15:26           ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  2017-09-27 17:29             ` Re: [PATCH]make pg_rewind to not copy useless WAL files Alexander Korotkov <[email protected]>
  2017-09-28 15:44               ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  2017-09-28 16:43                 ` Re: [PATCH]make pg_rewind to not copy useless WAL files Alexander Korotkov <[email protected]>
  2017-09-28 19:52                   ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  2017-09-28 21:31                     ` Re: [PATCH]make pg_rewind to not copy useless WAL files Alexander Korotkov <[email protected]>
  2017-09-29 07:07                       ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  2017-09-29 11:29                         ` Re: [PATCH]make pg_rewind to not copy useless WAL files Alexander Korotkov <[email protected]>
@ 2017-09-29 16:53                           ` chenhj <[email protected]>
  2017-09-29 17:10                             ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  0 siblings, 1 reply; 986+ messages in thread

From: chenhj @ 2017-09-29 16:53 UTC (permalink / raw)
  To: Alexander Korotkov <[email protected]>; +Cc: pgsql-hackers

On 2017-09-29 19:29:40,"Alexander Korotkov" <[email protected]> wrote:

On Fri, Sep 29, 2017 at 10:07 AM, chenhj <[email protected]> wrote:




OK.  That makes sense.  Thank you for the explanation.


I still have some minor comments.
 
    /*
+    * Save the WAL filenames of the divergence and the current WAL insert
+    * location of the source server. Later only the WAL files between those
+    * would be copied to the target data directory.



Comment is outdated.  We don't save filenames anymore, now we save segment numbers.
 
+    * Note:The later generated WAL files in the source server before the end
+    * of the copy of the data files must be made available when the target
+    * server is started. This can be done by configuring the target server as
+    * a standby of the source server.
+    */


You miss space after "Note:".  Also, it seems reasonable for me to leave empty line before "Note:".


# Setup parameter for WAL reclaim 


Parameter*s*, because you're setting up multiple of them.


# The accuracy of imodification from pg_ls_waldir() is seconds, so sleep one seconds


One second without "s".


Also, please check empty lines in 006_wal_copy.pl to be just empty lines without tabs.


Thanks for your comments, i had fix above problems.
And also add several line breaks at long line in 006_wal_copy.pl
Please check this patch again.


------
Best Regards
Chen Huajun

-- 
Sent via pgsql-hackers mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Attachments:

  [application/octet-stream] pg_rewind_wal_copy_reduce_v6.patch (9.5K, ../../[email protected]/3-pg_rewind_wal_copy_reduce_v6.patch)
  download | inline diff:
*** a/src/bin/pg_rewind/filemap.c
--- b/src/bin/pg_rewind/filemap.c
***************
*** 21,26 ****
--- 21,27 ----
  #include "common/string.h"
  #include "catalog/pg_tablespace.h"
  #include "storage/fd.h"
+ #include "access/xlog_internal.h"
  
  filemap_t  *filemap = NULL;
  
***************
*** 67,72 **** process_source_file(const char *path, file_type_t type, size_t newsize,
--- 68,75 ----
  	file_action_t action = FILE_ACTION_NONE;
  	size_t		oldsize = 0;
  	file_entry_t *entry;
+ 	uint32		tli;
+ 	XLogSegNo	segno;
  
  	Assert(map->array == NULL);
  
***************
*** 168,179 **** process_source_file(const char *path, file_type_t type, size_t newsize,
--- 171,201 ----
  				 *
  				 * An exception: PG_VERSIONs should be identical, but avoid
  				 * overwriting it for paranoia.
+ 				 *
+ 				 * Another exception: Do not copy WAL files before the
+ 				 * divergence and the WAL files after the current WAL insert
+ 				 * location of the source server for performance reasons.
  				 */
  				if (pg_str_endswith(path, "PG_VERSION"))
  				{
  					action = FILE_ACTION_NONE;
  					oldsize = statbuf.st_size;
  				}
+ 				else if (strncmp(path, XLOGDIR "/", strlen(XLOGDIR "/")) == 0 &&
+ 						 IsXLogFileName(path + strlen(XLOGDIR "/")))
+ 				{
+ 					XLogFromFileName(path + strlen(XLOGDIR "/"), &tli, &segno, WalSegSz);
+ 					if (segno >= divergence_segno && segno <= last_source_segno)
+ 					{
+ 						action = FILE_ACTION_COPY;
+ 						oldsize = 0;
+ 					}
+ 					else
+ 					{
+ 						action = FILE_ACTION_NONE;
+ 						oldsize = exists ? statbuf.st_size : 0;
+ 					}
+ 				}
  				else
  				{
  					action = FILE_ACTION_COPY;
***************
*** 258,263 **** process_target_file(const char *path, file_type_t type, size_t oldsize,
--- 280,288 ----
  	file_entry_t *key_ptr;
  	filemap_t  *map = filemap;
  	file_entry_t *entry;
+ 	bool		reserve = false;
+ 	uint32		tli;
+ 	XLogSegNo	segno;
  
  	snprintf(localpath, sizeof(localpath), "%s/%s", datadir_target, path);
  	if (lstat(localpath, &statbuf) < 0)
***************
*** 303,310 **** process_target_file(const char *path, file_type_t type, size_t oldsize,
  	exists = (bsearch(&key_ptr, map->array, map->narray, sizeof(file_entry_t *),
  					  path_cmp) != NULL);
  
! 	/* Remove any file or folder that doesn't exist in the source system. */
! 	if (!exists)
  	{
  		entry = pg_malloc(sizeof(file_entry_t));
  		entry->path = pg_strdup(path);
--- 328,346 ----
  	exists = (bsearch(&key_ptr, map->array, map->narray, sizeof(file_entry_t *),
  					  path_cmp) != NULL);
  
! 	if(strncmp(path, XLOGDIR "/", strlen(XLOGDIR "/")) == 0 &&
! 		IsXLogFileName(path + strlen(XLOGDIR "/")))
! 	{
! 		XLogFromFileName(path + strlen(XLOGDIR "/"), &tli, &segno, WalSegSz);
! 		if(segno < divergence_segno)
! 			reserve = true;
! 	}
! 
! 	/*
! 	 * Remove any file or folder that doesn't exist in the source system
! 	 * except the WAL files before the divergence.
! 	 */
! 	if (!exists && !reserve)
  	{
  		entry = pg_malloc(sizeof(file_entry_t));
  		entry->path = pg_strdup(path);
*** a/src/bin/pg_rewind/pg_rewind.c
--- b/src/bin/pg_rewind/pg_rewind.c
***************
*** 27,32 ****
--- 27,33 ----
  #include "common/restricted_token.h"
  #include "getopt_long.h"
  #include "storage/bufpage.h"
+ #include "access/xlog_internal.h"
  
  static void usage(const char *progname);
  
***************
*** 59,64 **** bool		dry_run = false;
--- 60,69 ----
  TimeLineHistoryEntry *targetHistory;
  int			targetNentries;
  
+ /* WAL location */
+ XLogSegNo	divergence_segno;
+ XLogSegNo	last_source_segno;
+ 
  static void
  usage(const char *progname)
  {
***************
*** 281,286 **** main(int argc, char **argv)
--- 286,313 ----
  		   chkpttli);
  
  	/*
+ 	 * Save the WAL segment numbers of the divergence and the current WAL insert
+ 	 * location of the source server. Later only the WAL files between those
+ 	 * would be copied to the target data directory.
+ 	 * 
+ 	 * Note: The later generated WAL files in the source server before the end
+ 	 * of the copy of the data files must be made available when the target
+ 	 * server is started. This can be done by configuring the target server as
+ 	 * a standby of the source server.
+ 	 */
+ 	if (connstr_source)
+ 	{
+ 		endrec = libpqGetCurrentXlogInsertLocation();
+ 	}
+ 	else
+ 	{
+ 		endrec = ControlFile_source.checkPoint;
+ 	}
+ 
+ 	XLByteToSeg(divergerec, divergence_segno, WalSegSz);
+ 	XLByteToPrevSeg(endrec, last_source_segno, WalSegSz);
+ 
+ 	/*
  	 * Build the filemap, by comparing the source and target data directories.
  	 */
  	filemap_create();
*** a/src/bin/pg_rewind/pg_rewind.h
--- b/src/bin/pg_rewind/pg_rewind.h
***************
*** 30,35 **** extern int	WalSegSz;
--- 30,39 ----
  extern TimeLineHistoryEntry *targetHistory;
  extern int	targetNentries;
  
+ /* WAL location */
+ extern XLogSegNo divergence_segno;
+ extern XLogSegNo last_source_segno;
+ 
  /* in parsexlog.c */
  extern void extractPageMap(const char *datadir, XLogRecPtr startpoint,
  			   int tliIndex, XLogRecPtr endpoint);
*** /dev/null
--- b/src/bin/pg_rewind/t/006_wal_copy.pl
***************
*** 0 ****
--- 1,129 ----
+ #
+ # Test pg_rewind only copy needed WALs from the source.
+ #
+ use strict;
+ use warnings;
+ use TestLib;
+ use Test::More tests => 12;
+ 
+ use RewindTest;
+ 
+ sub run_test
+ {
+ 	my $test_mode = shift;
+ 
+ 	RewindTest::setup_cluster($test_mode);
+ 	RewindTest::start_master();
+ 
+ 	# Setup parameters for WAL reclaim 
+ 	master_psql("ALTER SYSTEM SET checkpoint_timeout = '1d'");
+ 	master_psql("ALTER SYSTEM SET min_wal_size = '80MB'");
+ 	master_psql("ALTER SYSTEM SET wal_keep_segments = 4");
+ 	master_psql("ALTER SYSTEM SET log_checkpoints = on");
+ 	master_psql("SELECT pg_reload_conf()");
+ 
+ 	RewindTest::create_standby($test_mode);
+ 
+ 	# Create a test table and insert rows in master.
+ 	master_psql("CREATE TABLE tbl1 (d text)");
+ 	master_psql("INSERT INTO tbl1 VALUES ('in master, wal 1')");
+ 
+ 	master_psql("SELECT pg_switch_wal()");
+ 	master_psql("INSERT INTO tbl1 VALUES ('in master, wal 2')");
+ 
+ 	master_psql("SELECT pg_switch_wal()");
+ 	master_psql("INSERT INTO tbl1 VALUES ('in master, wal 3')");
+ 
+ 	master_psql("SELECT pg_switch_wal()");
+ 	master_psql("INSERT INTO tbl1 VALUES ('in master, wal 4')");
+ 
+ 	master_psql("SELECT pg_switch_wal()");
+ 	master_psql("INSERT INTO tbl1 VALUES ('in master, wal 5, checkpoint')");
+ 	master_psql("CHECKPOINT");
+ 
+ 	master_psql("SELECT pg_switch_wal()");
+ 	master_psql("INSERT INTO tbl1 VALUES ('in master, wal 6, before promotion')");
+ 
+ 	# Promote standby
+ 	my $master_divergence_wal = $node_master->safe_psql("postgres",
+ 		"SELECT pg_walfile_name(pg_current_wal_insert_lsn())");
+ 	RewindTest::promote_standby();
+ 
+ 	# Insert rows in master after promotion
+ 	master_psql("INSERT INTO tbl1 VALUES ('in master, wal 6, after promotion')");
+ 
+ 	master_psql("SELECT pg_switch_wal()");
+ 	master_psql("INSERT INTO tbl1 VALUES ('in master, wal 7, after promotion')");
+ 
+ 	master_psql("CHECKPOINT");
+ 
+ 	# Insert rows in standby after promotion
+ 	standby_psql("INSERT INTO tbl1 VALUES ('in standby, wal 6, after promotion')");
+ 
+ 	standby_psql("SELECT pg_switch_wal()");
+ 	standby_psql("INSERT INTO tbl1 VALUES ('in standby, wal 7, after promotion')");
+ 
+ 	standby_psql("SELECT pg_switch_wal()");
+ 	standby_psql("INSERT INTO tbl1 VALUES ('in standby, wal 8, after promotion')");	
+ 
+ 	standby_psql("CHECKPOINT");
+ 	
+ 	# Check WALs before running pg_rewind
+ 	master_psql("SELECT * from pg_ls_waldir()");
+ 	print("master_divergence_wal: $master_divergence_wal\n");
+ 	my $master_wal_count_before_divergence = $node_master->safe_psql("postgres",
+ 		"SELECT count(*) FROM pg_ls_waldir() WHERE name ~ '^[0-9A-F]{24}\$' AND name < '$master_divergence_wal'");
+ 	ok( $master_wal_count_before_divergence > 0, 'master_wal_count_before_divergence > 0');
+ 
+ 	standby_psql("SELECT * from pg_ls_waldir()");
+ 	my $standby_current_wal = $node_standby->safe_psql("postgres",
+ 		"SELECT pg_walfile_name(pg_current_wal_insert_lsn())");
+ 	print("standby_current_wal: $standby_current_wal\n");
+ 	my $standby_reclaimed_wal_count = $node_standby->safe_psql("postgres",
+ 		"SELECT count(*) FROM pg_ls_waldir() WHERE name ~ '^[0-9A-F]{24}\$' AND name > '$standby_current_wal'");
+ 	ok( $standby_reclaimed_wal_count > 0, 'standby_reclaimed_wal_count > 0');
+ 
+ 	# The accuracy of imodification from pg_ls_waldir() is seconds, so sleep one second
+ 	sleep(1);
+ 	my $pg_rewind_time = $node_master->safe_psql("postgres", "SELECT now()");
+ 	print("pg_rewind_time: $pg_rewind_time\n");
+ 
+ 	# Run pg_rewind and check
+ 	RewindTest::run_pg_rewind($test_mode);
+ 
+ 	master_psql("SELECT * from pg_ls_waldir()");
+ 
+ 	check_query(
+ 		'SELECT * FROM tbl1',
+ 		qq(in master, wal 1
+ in master, wal 2
+ in master, wal 3
+ in master, wal 4
+ in master, wal 5, checkpoint
+ in master, wal 6, before promotion
+ in standby, wal 6, after promotion
+ in standby, wal 7, after promotion
+ in standby, wal 8, after promotion
+ ),
+ 		'table content');
+ 
+ 	check_query(
+ 		"SELECT count(*) FROM pg_ls_waldir() WHERE name ~ '^[0-9A-F]{24}\$' AND name < '$master_divergence_wal' AND modification >= '$pg_rewind_time'",
+ 		qq(0
+ ),
+ 		'do not copy WALs before divergence');
+ 
+ 	check_query(
+ 		"SELECT count(*) FROM pg_ls_waldir() WHERE name ~ '^[0-9A-F]{24}\$' AND name > '$standby_current_wal' AND modification >= '$pg_rewind_time'",
+ 		qq(0
+ ),
+ 		'do not copy reclaimed WALs from the source server');
+ 		
+ 	RewindTest::clean_rewind_test();
+ }
+ 
+ # Run the test in both modes
+ run_test('local');
+ run_test('remote');
+ 
+ exit(0);


^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* Re: [PATCH]make pg_rewind to not copy useless WAL files
  2017-09-16 14:56 [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  2017-09-16 18:19 ` Re: [PATCH]make pg_rewind to not copy useless WAL files Alexander Korotkov <[email protected]>
  2017-09-17 00:33   ` Re: [PATCH]make pg_rewind to not copy useless WAL files Michael Paquier <[email protected]>
  2017-09-18 17:00     ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  2017-09-22 16:16       ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  2017-09-22 17:59         ` Re: [PATCH]make pg_rewind to not copy useless WAL files Alexander Korotkov <[email protected]>
  2017-09-25 15:26           ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  2017-09-27 17:29             ` Re: [PATCH]make pg_rewind to not copy useless WAL files Alexander Korotkov <[email protected]>
  2017-09-28 15:44               ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  2017-09-28 16:43                 ` Re: [PATCH]make pg_rewind to not copy useless WAL files Alexander Korotkov <[email protected]>
  2017-09-28 19:52                   ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  2017-09-28 21:31                     ` Re: [PATCH]make pg_rewind to not copy useless WAL files Alexander Korotkov <[email protected]>
  2017-09-29 07:07                       ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  2017-09-29 11:29                         ` Re: [PATCH]make pg_rewind to not copy useless WAL files Alexander Korotkov <[email protected]>
  2017-09-29 16:53                           ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
@ 2017-09-29 17:10                             ` chenhj <[email protected]>
  2017-09-29 18:17                               ` Re: [PATCH]make pg_rewind to not copy useless WAL files Alexander Korotkov <[email protected]>
  0 siblings, 1 reply; 986+ messages in thread

From: chenhj @ 2017-09-29 17:10 UTC (permalink / raw)
  To: chenhj <[email protected]>; +Cc: Alexander Korotkov <[email protected]>; pgsql-hackers

On 2017-09-30 00:53:31,"chenhj" <[email protected]> wrote:

On 2017-09-29 19:29:40,"Alexander Korotkov" <[email protected]> wrote:

On Fri, Sep 29, 2017 at 10:07 AM, chenhj <[email protected]> wrote:




OK.  That makes sense.  Thank you for the explanation.


I still have some minor comments.
 
    /*
+    * Save the WAL filenames of the divergence and the current WAL insert
+    * location of the source server. Later only the WAL files between those
+    * would be copied to the target data directory.



Comment is outdated.  We don't save filenames anymore, now we save segment numbers.
 
+    * Note:The later generated WAL files in the source server before the end
+    * of the copy of the data files must be made available when the target
+    * server is started. This can be done by configuring the target server as
+    * a standby of the source server.
+    */


You miss space after "Note:".  Also, it seems reasonable for me to leave empty line before "Note:".


# Setup parameter for WAL reclaim 


Parameter*s*, because you're setting up multiple of them.


# The accuracy of imodification from pg_ls_waldir() is seconds, so sleep one seconds


One second without "s".


Also, please check empty lines in 006_wal_copy.pl to be just empty lines without tabs.


Thanks for your comments, i had fix above problems.
And also add several line breaks at long line in 006_wal_copy.pl
Please check this patch again.


Sorry, patch v6 did not remove tabs in two empty lines, please use the new one.


Best Regards,
Chen Huajun

-- 
Sent via pgsql-hackers mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Attachments:

  [application/octet-stream] pg_rewind_wal_copy_reduce_v7.patch (9.5K, ../../[email protected]/3-pg_rewind_wal_copy_reduce_v7.patch)
  download | inline diff:
*** a/src/bin/pg_rewind/filemap.c
--- b/src/bin/pg_rewind/filemap.c
***************
*** 21,26 ****
--- 21,27 ----
  #include "common/string.h"
  #include "catalog/pg_tablespace.h"
  #include "storage/fd.h"
+ #include "access/xlog_internal.h"
  
  filemap_t  *filemap = NULL;
  
***************
*** 67,72 **** process_source_file(const char *path, file_type_t type, size_t newsize,
--- 68,75 ----
  	file_action_t action = FILE_ACTION_NONE;
  	size_t		oldsize = 0;
  	file_entry_t *entry;
+ 	uint32		tli;
+ 	XLogSegNo	segno;
  
  	Assert(map->array == NULL);
  
***************
*** 168,179 **** process_source_file(const char *path, file_type_t type, size_t newsize,
--- 171,201 ----
  				 *
  				 * An exception: PG_VERSIONs should be identical, but avoid
  				 * overwriting it for paranoia.
+ 				 *
+ 				 * Another exception: Do not copy WAL files before the
+ 				 * divergence and the WAL files after the current WAL insert
+ 				 * location of the source server for performance reasons.
  				 */
  				if (pg_str_endswith(path, "PG_VERSION"))
  				{
  					action = FILE_ACTION_NONE;
  					oldsize = statbuf.st_size;
  				}
+ 				else if (strncmp(path, XLOGDIR "/", strlen(XLOGDIR "/")) == 0 &&
+ 						 IsXLogFileName(path + strlen(XLOGDIR "/")))
+ 				{
+ 					XLogFromFileName(path + strlen(XLOGDIR "/"), &tli, &segno, WalSegSz);
+ 					if (segno >= divergence_segno && segno <= last_source_segno)
+ 					{
+ 						action = FILE_ACTION_COPY;
+ 						oldsize = 0;
+ 					}
+ 					else
+ 					{
+ 						action = FILE_ACTION_NONE;
+ 						oldsize = exists ? statbuf.st_size : 0;
+ 					}
+ 				}
  				else
  				{
  					action = FILE_ACTION_COPY;
***************
*** 258,263 **** process_target_file(const char *path, file_type_t type, size_t oldsize,
--- 280,288 ----
  	file_entry_t *key_ptr;
  	filemap_t  *map = filemap;
  	file_entry_t *entry;
+ 	bool		reserve = false;
+ 	uint32		tli;
+ 	XLogSegNo	segno;
  
  	snprintf(localpath, sizeof(localpath), "%s/%s", datadir_target, path);
  	if (lstat(localpath, &statbuf) < 0)
***************
*** 303,310 **** process_target_file(const char *path, file_type_t type, size_t oldsize,
  	exists = (bsearch(&key_ptr, map->array, map->narray, sizeof(file_entry_t *),
  					  path_cmp) != NULL);
  
! 	/* Remove any file or folder that doesn't exist in the source system. */
! 	if (!exists)
  	{
  		entry = pg_malloc(sizeof(file_entry_t));
  		entry->path = pg_strdup(path);
--- 328,346 ----
  	exists = (bsearch(&key_ptr, map->array, map->narray, sizeof(file_entry_t *),
  					  path_cmp) != NULL);
  
! 	if(strncmp(path, XLOGDIR "/", strlen(XLOGDIR "/")) == 0 &&
! 		IsXLogFileName(path + strlen(XLOGDIR "/")))
! 	{
! 		XLogFromFileName(path + strlen(XLOGDIR "/"), &tli, &segno, WalSegSz);
! 		if(segno < divergence_segno)
! 			reserve = true;
! 	}
! 
! 	/*
! 	 * Remove any file or folder that doesn't exist in the source system
! 	 * except the WAL files before the divergence.
! 	 */
! 	if (!exists && !reserve)
  	{
  		entry = pg_malloc(sizeof(file_entry_t));
  		entry->path = pg_strdup(path);
*** a/src/bin/pg_rewind/pg_rewind.c
--- b/src/bin/pg_rewind/pg_rewind.c
***************
*** 27,32 ****
--- 27,33 ----
  #include "common/restricted_token.h"
  #include "getopt_long.h"
  #include "storage/bufpage.h"
+ #include "access/xlog_internal.h"
  
  static void usage(const char *progname);
  
***************
*** 59,64 **** bool		dry_run = false;
--- 60,69 ----
  TimeLineHistoryEntry *targetHistory;
  int			targetNentries;
  
+ /* WAL location */
+ XLogSegNo	divergence_segno;
+ XLogSegNo	last_source_segno;
+ 
  static void
  usage(const char *progname)
  {
***************
*** 281,286 **** main(int argc, char **argv)
--- 286,313 ----
  		   chkpttli);
  
  	/*
+ 	 * Save the WAL segment numbers of the divergence and the current WAL insert
+ 	 * location of the source server. Later only the WAL files between those
+ 	 * would be copied to the target data directory.
+ 	 * 
+ 	 * Note: The later generated WAL files in the source server before the end
+ 	 * of the copy of the data files must be made available when the target
+ 	 * server is started. This can be done by configuring the target server as
+ 	 * a standby of the source server.
+ 	 */
+ 	if (connstr_source)
+ 	{
+ 		endrec = libpqGetCurrentXlogInsertLocation();
+ 	}
+ 	else
+ 	{
+ 		endrec = ControlFile_source.checkPoint;
+ 	}
+ 
+ 	XLByteToSeg(divergerec, divergence_segno, WalSegSz);
+ 	XLByteToPrevSeg(endrec, last_source_segno, WalSegSz);
+ 
+ 	/*
  	 * Build the filemap, by comparing the source and target data directories.
  	 */
  	filemap_create();
*** a/src/bin/pg_rewind/pg_rewind.h
--- b/src/bin/pg_rewind/pg_rewind.h
***************
*** 30,35 **** extern int	WalSegSz;
--- 30,39 ----
  extern TimeLineHistoryEntry *targetHistory;
  extern int	targetNentries;
  
+ /* WAL location */
+ extern XLogSegNo divergence_segno;
+ extern XLogSegNo last_source_segno;
+ 
  /* in parsexlog.c */
  extern void extractPageMap(const char *datadir, XLogRecPtr startpoint,
  			   int tliIndex, XLogRecPtr endpoint);
*** /dev/null
--- b/src/bin/pg_rewind/t/006_wal_copy.pl
***************
*** 0 ****
--- 1,129 ----
+ #
+ # Test pg_rewind only copy needed WALs from the source.
+ #
+ use strict;
+ use warnings;
+ use TestLib;
+ use Test::More tests => 12;
+ 
+ use RewindTest;
+ 
+ sub run_test
+ {
+ 	my $test_mode = shift;
+ 
+ 	RewindTest::setup_cluster($test_mode);
+ 	RewindTest::start_master();
+ 
+ 	# Setup parameters for WAL reclaim 
+ 	master_psql("ALTER SYSTEM SET checkpoint_timeout = '1d'");
+ 	master_psql("ALTER SYSTEM SET min_wal_size = '80MB'");
+ 	master_psql("ALTER SYSTEM SET wal_keep_segments = 4");
+ 	master_psql("ALTER SYSTEM SET log_checkpoints = on");
+ 	master_psql("SELECT pg_reload_conf()");
+ 
+ 	RewindTest::create_standby($test_mode);
+ 
+ 	# Create a test table and insert rows in master.
+ 	master_psql("CREATE TABLE tbl1 (d text)");
+ 	master_psql("INSERT INTO tbl1 VALUES ('in master, wal 1')");
+ 
+ 	master_psql("SELECT pg_switch_wal()");
+ 	master_psql("INSERT INTO tbl1 VALUES ('in master, wal 2')");
+ 
+ 	master_psql("SELECT pg_switch_wal()");
+ 	master_psql("INSERT INTO tbl1 VALUES ('in master, wal 3')");
+ 
+ 	master_psql("SELECT pg_switch_wal()");
+ 	master_psql("INSERT INTO tbl1 VALUES ('in master, wal 4')");
+ 
+ 	master_psql("SELECT pg_switch_wal()");
+ 	master_psql("INSERT INTO tbl1 VALUES ('in master, wal 5, checkpoint')");
+ 	master_psql("CHECKPOINT");
+ 
+ 	master_psql("SELECT pg_switch_wal()");
+ 	master_psql("INSERT INTO tbl1 VALUES ('in master, wal 6, before promotion')");
+ 
+ 	# Promote standby
+ 	my $master_divergence_wal = $node_master->safe_psql("postgres",
+ 		"SELECT pg_walfile_name(pg_current_wal_insert_lsn())");
+ 	RewindTest::promote_standby();
+ 
+ 	# Insert rows in master after promotion
+ 	master_psql("INSERT INTO tbl1 VALUES ('in master, wal 6, after promotion')");
+ 
+ 	master_psql("SELECT pg_switch_wal()");
+ 	master_psql("INSERT INTO tbl1 VALUES ('in master, wal 7, after promotion')");
+ 
+ 	master_psql("CHECKPOINT");
+ 
+ 	# Insert rows in standby after promotion
+ 	standby_psql("INSERT INTO tbl1 VALUES ('in standby, wal 6, after promotion')");
+ 
+ 	standby_psql("SELECT pg_switch_wal()");
+ 	standby_psql("INSERT INTO tbl1 VALUES ('in standby, wal 7, after promotion')");
+ 
+ 	standby_psql("SELECT pg_switch_wal()");
+ 	standby_psql("INSERT INTO tbl1 VALUES ('in standby, wal 8, after promotion')");	
+ 
+ 	standby_psql("CHECKPOINT");
+ 
+ 	# Check WALs before running pg_rewind
+ 	master_psql("SELECT * from pg_ls_waldir()");
+ 	print("master_divergence_wal: $master_divergence_wal\n");
+ 	my $master_wal_count_before_divergence = $node_master->safe_psql("postgres",
+ 		"SELECT count(*) FROM pg_ls_waldir() WHERE name ~ '^[0-9A-F]{24}\$' AND name < '$master_divergence_wal'");
+ 	ok( $master_wal_count_before_divergence > 0, 'master_wal_count_before_divergence > 0');
+ 
+ 	standby_psql("SELECT * from pg_ls_waldir()");
+ 	my $standby_current_wal = $node_standby->safe_psql("postgres",
+ 		"SELECT pg_walfile_name(pg_current_wal_insert_lsn())");
+ 	print("standby_current_wal: $standby_current_wal\n");
+ 	my $standby_reclaimed_wal_count = $node_standby->safe_psql("postgres",
+ 		"SELECT count(*) FROM pg_ls_waldir() WHERE name ~ '^[0-9A-F]{24}\$' AND name > '$standby_current_wal'");
+ 	ok( $standby_reclaimed_wal_count > 0, 'standby_reclaimed_wal_count > 0');
+ 
+ 	# The accuracy of imodification from pg_ls_waldir() is seconds, so sleep one second
+ 	sleep(1);
+ 	my $pg_rewind_time = $node_master->safe_psql("postgres", "SELECT now()");
+ 	print("pg_rewind_time: $pg_rewind_time\n");
+ 
+ 	# Run pg_rewind and check
+ 	RewindTest::run_pg_rewind($test_mode);
+ 
+ 	master_psql("SELECT * from pg_ls_waldir()");
+ 
+ 	check_query(
+ 		'SELECT * FROM tbl1',
+ 		qq(in master, wal 1
+ in master, wal 2
+ in master, wal 3
+ in master, wal 4
+ in master, wal 5, checkpoint
+ in master, wal 6, before promotion
+ in standby, wal 6, after promotion
+ in standby, wal 7, after promotion
+ in standby, wal 8, after promotion
+ ),
+ 		'table content');
+ 
+ 	check_query(
+ 		"SELECT count(*) FROM pg_ls_waldir() WHERE name ~ '^[0-9A-F]{24}\$' AND name < '$master_divergence_wal' AND modification >= '$pg_rewind_time'",
+ 		qq(0
+ ),
+ 		'do not copy WALs before divergence');
+ 
+ 	check_query(
+ 		"SELECT count(*) FROM pg_ls_waldir() WHERE name ~ '^[0-9A-F]{24}\$' AND name > '$standby_current_wal' AND modification >= '$pg_rewind_time'",
+ 		qq(0
+ ),
+ 		'do not copy reclaimed WALs from the source server');
+ 
+ 	RewindTest::clean_rewind_test();
+ }
+ 
+ # Run the test in both modes
+ run_test('local');
+ run_test('remote');
+ 
+ exit(0);


^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* Re: [PATCH]make pg_rewind to not copy useless WAL files
  2017-09-16 14:56 [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  2017-09-16 18:19 ` Re: [PATCH]make pg_rewind to not copy useless WAL files Alexander Korotkov <[email protected]>
  2017-09-17 00:33   ` Re: [PATCH]make pg_rewind to not copy useless WAL files Michael Paquier <[email protected]>
  2017-09-18 17:00     ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  2017-09-22 16:16       ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  2017-09-22 17:59         ` Re: [PATCH]make pg_rewind to not copy useless WAL files Alexander Korotkov <[email protected]>
  2017-09-25 15:26           ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  2017-09-27 17:29             ` Re: [PATCH]make pg_rewind to not copy useless WAL files Alexander Korotkov <[email protected]>
  2017-09-28 15:44               ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  2017-09-28 16:43                 ` Re: [PATCH]make pg_rewind to not copy useless WAL files Alexander Korotkov <[email protected]>
  2017-09-28 19:52                   ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  2017-09-28 21:31                     ` Re: [PATCH]make pg_rewind to not copy useless WAL files Alexander Korotkov <[email protected]>
  2017-09-29 07:07                       ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  2017-09-29 11:29                         ` Re: [PATCH]make pg_rewind to not copy useless WAL files Alexander Korotkov <[email protected]>
  2017-09-29 16:53                           ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
  2017-09-29 17:10                             ` Re: [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
@ 2017-09-29 18:17                               ` Alexander Korotkov <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Alexander Korotkov @ 2017-09-29 18:17 UTC (permalink / raw)
  To: chenhj <[email protected]>; +Cc: pgsql-hackers

On Fri, Sep 29, 2017 at 8:10 PM, chenhj <[email protected]> wrote:

> On 2017-09-30 00:53:31,"chenhj" <[email protected]> wrote:
>
> On 2017-09-29 19:29:40,"Alexander Korotkov" <[email protected]>
> wrote:
>
> On Fri, Sep 29, 2017 at 10:07 AM, chenhj <[email protected]> wrote:
>>
>>
>>
> OK.  That makes sense.  Thank you for the explanation.
>
> I still have some minor comments.
>
>
>>     /*
>> +    * Save the WAL filenames of the divergence and the current WAL insert
>> +    * location of the source server. Later only the WAL files between
>> those
>> +    * would be copied to the target data directory.
>>
>
> Comment is outdated.  We don't save filenames anymore, now we save segment
> numbers.
>
>
>> +    * Note:The later generated WAL files in the source server before the
>> end
>> +    * of the copy of the data files must be made available when the
>> target
>> +    * server is started. This can be done by configuring the target
>> server as
>> +    * a standby of the source server.
>> +    */
>
>
> You miss space after "Note:".  Also, it seems reasonable for me to leave
> empty line before "Note:".
>
> # Setup parameter for WAL reclaim
>
>
> Parameter*s*, because you're setting up multiple of them.
>
> # The accuracy of imodification from pg_ls_waldir() is seconds, so sleep
>> one seconds
>
>
> One second without "s".
>
> Also, please check empty lines in 006_wal_copy.pl to be just empty lines
> without tabs.
>
>
> Thanks for your comments, i had fix above problems.
> And also add several line breaks at long line in 006_wal_copy.pl
> Please check this patch again.
>
>
> Sorry, patch v6 did not remove tabs in two empty lines, please use the new
> one.
>

Great.  Now code of this patch looks good for me.
However, we forgot about documentation.

  <para>
>    The result is equivalent to replacing the target data directory with the
>    source one. Only changed blocks from relation files are copied;
>    all other files are copied in full, including configuration files. The
>    advantage of <application>pg_rewind</> over taking a new base backup, or
>    tools like <application>rsync</>, is that <application>pg_rewind</> does
>    not require reading through unchanged blocks in the cluster. This makes
>    it a lot faster when the database is large and only a small
>    fraction of blocks differ between the clusters.
>   </para>


At least, this paragraph need to be adjusted, because it states whose files
are copied.  And probably latter paragraphs whose state about WAL files.

------
Alexander Korotkov
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company


^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread

* [PATCH 1/9] rewrite infinite loop in our style
@ 2026-03-11 14:36 Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 986+ messages in thread

From: Álvaro Herrera @ 2026-03-11 14:36 UTC (permalink / raw)

---
 src/backend/commands/cluster.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index 8b5571374d0..da4919e497a 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -4062,8 +4062,14 @@ repack_worker_internal(dsm_segment *seg)
 	 */
 	InvalidateCatalogSnapshot();
 
-	while (!decode_concurrent_changes(decoding_ctx, shared))
-		;
+	for (;;)
+	{
+		bool	stop = decode_concurrent_changes(decoding_ctx, shared);
+
+		if (stop)
+			break;
+
+	}
 
 	/* Cleanup. */
 	cleanup_logical_decoding(decoding_ctx);
-- 
2.47.3


--pnppmxqkefjd4hu2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename*0="0002-rename-setup_logical_decoding-to-repack_setup_logica.noc";
	filename*1="fbot.txt"



^ permalink  raw  reply  [nested|flat] 986+ messages in thread


end of thread, other threads:[~2026-03-11 14:36 UTC | newest]

Thread overview: 986+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2017-09-16 14:56 [PATCH]make pg_rewind to not copy useless WAL files chenhj <[email protected]>
2017-09-16 18:19 ` Alexander Korotkov <[email protected]>
2017-09-17 00:33   ` Michael Paquier <[email protected]>
2017-09-18 17:00     ` chenhj <[email protected]>
2017-09-22 16:16       ` chenhj <[email protected]>
2017-09-22 17:59         ` Alexander Korotkov <[email protected]>
2017-09-25 15:26           ` chenhj <[email protected]>
2017-09-27 17:29             ` Alexander Korotkov <[email protected]>
2017-09-28 15:44               ` chenhj <[email protected]>
2017-09-28 16:43                 ` Alexander Korotkov <[email protected]>
2017-09-28 19:52                   ` chenhj <[email protected]>
2017-09-28 21:31                     ` Alexander Korotkov <[email protected]>
2017-09-29 07:07                       ` chenhj <[email protected]>
2017-09-29 11:29                         ` Alexander Korotkov <[email protected]>
2017-09-29 16:53                           ` chenhj <[email protected]>
2017-09-29 17:10                             ` chenhj <[email protected]>
2017-09-29 18:17                               ` Alexander Korotkov <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>
2026-03-11 14:36 [PATCH 1/9] rewrite infinite loop in our style Álvaro Herrera <[email protected]>

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox