@@ -1459,7 +1459,7 @@ ParsePrepareRecord(uint8 info, char *xlrec, xl_xact_parsed_prepare *parsed)
14591459parsed -> nsubxacts = hdr -> nsubxacts ;
14601460parsed -> nrels = hdr -> ncommitrels ;
14611461parsed -> nmsgs = hdr -> ninvalmsgs ;
1462-
1462+
14631463parsed -> subxacts = (TransactionId * )bufptr ;
14641464bufptr += MAXALIGN (hdr -> nsubxacts * sizeof (TransactionId ));
14651465
@@ -1949,8 +1949,8 @@ PrescanPreparedTransactions(TransactionId **xids_p, int *nxids_p)
19491949cldir = AllocateDir (TWOPHASE_DIR );
19501950while ((clde = ReadDir (cldir ,TWOPHASE_DIR ))!= NULL )
19511951{
1952- if (strlen (clde -> d_name )== 8 &&
1953- strspn (clde -> d_name ,"0123456789ABCDEF" )== 8 )
1952+ if (strlen (clde -> d_name )== 2 * sizeof ( TransactionId ) &&
1953+ strspn (clde -> d_name ,"0123456789ABCDEF" )== 2 * sizeof ( TransactionId ) )
19541954{
19551955TransactionId xid ;
19561956char * buf ;
@@ -2085,8 +2085,8 @@ StandbyRecoverPreparedTransactions(bool overwriteOK)
20852085cldir = AllocateDir (TWOPHASE_DIR );
20862086while ((clde = ReadDir (cldir ,TWOPHASE_DIR ))!= NULL )
20872087{
2088- if (strlen (clde -> d_name )== 8 &&
2089- strspn (clde -> d_name ,"0123456789ABCDEF" )== 8 )
2088+ if (strlen (clde -> d_name )== 2 * sizeof ( TransactionId ) &&
2089+ strspn (clde -> d_name ,"0123456789ABCDEF" )== 2 * sizeof ( TransactionId ) )
20902090{
20912091TransactionId xid ;
20922092char * buf ;
@@ -2170,8 +2170,8 @@ RecoverPreparedTransactions(void)
21702170cldir = AllocateDir (dir );
21712171while ((clde = ReadDir (cldir ,dir ))!= NULL )
21722172{
2173- if (strlen (clde -> d_name )== 8 &&
2174- strspn (clde -> d_name ,"0123456789ABCDEF" )== 8 )
2173+ if (strlen (clde -> d_name )== 2 * sizeof ( TransactionId ) &&
2174+ strspn (clde -> d_name ,"0123456789ABCDEF" )== 2 * sizeof ( TransactionId ) )
21752175{
21762176TransactionId xid ;
21772177char * buf ;
@@ -2226,7 +2226,7 @@ RecoverPreparedTransactions(void)
22262226 * here must match one used in AssignTransactionId().
22272227 */
22282228if (InHotStandby && (hdr -> nsubxacts >=PGPROC_MAX_CACHED_SUBXIDS ||
2229- XLogLogicalInfoActive ()))
2229+ XLogStandbyInfoActive ()))
22302230overwriteOK = true;
22312231
22322232/*