public inbox for [email protected]  
help / color / mirror / Atom feed
[PATCH v9 05/17] Update BitmapAdjustPrefetchIterator parameter type to BlockNumber
5+ messages / 4 participants
[nested] [flat]

* [PATCH v9 05/17] Update BitmapAdjustPrefetchIterator parameter type to BlockNumber
@ 2024-02-13 00:04 Melanie Plageman <[email protected]>
  0 siblings, 0 replies; 5+ messages in thread

From: Melanie Plageman @ 2024-02-13 00:04 UTC (permalink / raw)

BitmapAdjustPrefetchIterator() only used the blockno member of the
passed in TBMIterateResult to ensure that the prefetch iterator and
regular iterator stay in sync. Pass it the BlockNumber only. This will
allow us to move away from using the TBMIterateResult outside of table
AM specific code.
---
 src/backend/executor/nodeBitmapHeapscan.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/backend/executor/nodeBitmapHeapscan.c b/src/backend/executor/nodeBitmapHeapscan.c
index 5df3b5ca46..404de0595e 100644
--- a/src/backend/executor/nodeBitmapHeapscan.c
+++ b/src/backend/executor/nodeBitmapHeapscan.c
@@ -52,7 +52,7 @@
 static TupleTableSlot *BitmapHeapNext(BitmapHeapScanState *node);
 static inline void BitmapDoneInitializingSharedState(ParallelBitmapHeapState *pstate);
 static inline void BitmapAdjustPrefetchIterator(BitmapHeapScanState *node,
-												TBMIterateResult *tbmres);
+												BlockNumber blockno);
 static inline void BitmapAdjustPrefetchTarget(BitmapHeapScanState *node);
 static inline void BitmapPrefetch(BitmapHeapScanState *node,
 								  TableScanDesc scan);
@@ -230,7 +230,7 @@ BitmapHeapNext(BitmapHeapScanState *node)
 				break;
 			}
 
-			BitmapAdjustPrefetchIterator(node, tbmres);
+			BitmapAdjustPrefetchIterator(node, tbmres->blockno);
 
 			valid = table_scan_bitmap_next_block(scan, tbmres);
 
@@ -341,7 +341,7 @@ BitmapDoneInitializingSharedState(ParallelBitmapHeapState *pstate)
  */
 static inline void
 BitmapAdjustPrefetchIterator(BitmapHeapScanState *node,
-							 TBMIterateResult *tbmres)
+							 BlockNumber blockno)
 {
 #ifdef USE_PREFETCH
 	ParallelBitmapHeapState *pstate = node->pstate;
@@ -360,7 +360,7 @@ BitmapAdjustPrefetchIterator(BitmapHeapScanState *node,
 			/* Do not let the prefetch iterator get behind the main one */
 			TBMIterateResult *tbmpre = tbm_iterate(prefetch_iterator);
 
-			if (tbmpre == NULL || tbmpre->blockno != tbmres->blockno)
+			if (tbmpre == NULL || tbmpre->blockno != blockno)
 				elog(ERROR, "prefetch and main iterators are out of sync");
 		}
 		return;
-- 
2.40.1


--7mdtsjmrzitrgzgx
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment;
	filename="v9-0006-table_scan_bitmap_next_block-returns-lossy-or-exa.patch"



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

* Re: Solaris tar issues, or other reason why margay fails 010_pg_basebackup?
@ 2024-04-17 17:42 Thomas Munro <[email protected]>
  2024-04-17 19:12 ` Re: Solaris tar issues, or other reason why margay fails 010_pg_basebackup? Tom Lane <[email protected]>
  0 siblings, 1 reply; 5+ messages in thread

From: Thomas Munro @ 2024-04-17 17:42 UTC (permalink / raw)
  To: Marcel Hofstetter <[email protected]>; +Cc: pgsql-hackers

On Thu, Apr 18, 2024 at 1:40 AM Marcel Hofstetter
<[email protected]> wrote:
> Using gnu tar helps to make pg_basebackup work.

Thanks!  I guess that'll remain a mystery.

> It fails now at a later step.

Oh, this rings a bell:

[14:54:58] t/010_tab_completion.pl ..
Dubious, test returned 29 (wstat 7424, 0x1d00)

We had another thread[1] where we figured out that Solaris's termios
defaults include TABDLY=TAB3, meaning "expand tabs to spaces on
output", and that was upsetting our tab-completion test.  Other Unixes
used to vary on this point too, but they all converged on not doing
that, except Solaris, apparently.  Perhaps IPC::Run could fix that by
calling ->set_raw() on the pseudo-terminal, but I'm not very sure
about that.

This test suite is passing on pollock because it doesn't have IO::Pty
installed.  Could you try uninstalling that perl package for now, so
we can see what breaks next?

[06:34:40] t/010_tab_completion.pl .. skipped: IO::Pty is needed to
run this test

[1] https://www.postgresql.org/message-id/flat/MEYP282MB1669E2E11495A2DEAECE8736B6A7A%40MEYP282MB1669.AU...






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

* Re: Solaris tar issues, or other reason why margay fails 010_pg_basebackup?
  2024-04-17 17:42 Re: Solaris tar issues, or other reason why margay fails 010_pg_basebackup? Thomas Munro <[email protected]>
@ 2024-04-17 19:12 ` Tom Lane <[email protected]>
  2024-04-18 12:57   ` Re: Solaris tar issues, or other reason why margay fails 010_pg_basebackup? Marcel Hofstetter <[email protected]>
  0 siblings, 1 reply; 5+ messages in thread

From: Tom Lane @ 2024-04-17 19:12 UTC (permalink / raw)
  To: Thomas Munro <[email protected]>; +Cc: Marcel Hofstetter <[email protected]>; pgsql-hackers

Thomas Munro <[email protected]> writes:
> This test suite is passing on pollock because it doesn't have IO::Pty
> installed.  Could you try uninstalling that perl package for now, so
> we can see what breaks next?

If that's inconvenient for some reason, you could also skip the
tab-completion test by setting SKIP_READLINE_TESTS in the
animal's build_env options.

			regards, tom lane






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

* Re: Solaris tar issues, or other reason why margay fails 010_pg_basebackup?
  2024-04-17 17:42 Re: Solaris tar issues, or other reason why margay fails 010_pg_basebackup? Thomas Munro <[email protected]>
  2024-04-17 19:12 ` Re: Solaris tar issues, or other reason why margay fails 010_pg_basebackup? Tom Lane <[email protected]>
@ 2024-04-18 12:57   ` Marcel Hofstetter <[email protected]>
  2024-04-18 22:24     ` Re: Solaris tar issues, or other reason why margay fails 010_pg_basebackup? Thomas Munro <[email protected]>
  0 siblings, 1 reply; 5+ messages in thread

From: Marcel Hofstetter @ 2024-04-18 12:57 UTC (permalink / raw)
  To: Tom Lane <[email protected]>; Thomas Munro <[email protected]>; +Cc: pgsql-hackers


Thank you tom.

SKIP_READLINE_TESTS works. margay is now green again.

Best regards,
Marcel


Am 17.04.2024 um 21:12 schrieb Tom Lane:
> Thomas Munro <[email protected]> writes:
>> This test suite is passing on pollock because it doesn't have IO::Pty
>> installed.  Could you try uninstalling that perl package for now, so
>> we can see what breaks next?
> 
> If that's inconvenient for some reason, you could also skip the
> tab-completion test by setting SKIP_READLINE_TESTS in the
> animal's build_env options.
> 
> 			regards, tom lane







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

* Re: Solaris tar issues, or other reason why margay fails 010_pg_basebackup?
  2024-04-17 17:42 Re: Solaris tar issues, or other reason why margay fails 010_pg_basebackup? Thomas Munro <[email protected]>
  2024-04-17 19:12 ` Re: Solaris tar issues, or other reason why margay fails 010_pg_basebackup? Tom Lane <[email protected]>
  2024-04-18 12:57   ` Re: Solaris tar issues, or other reason why margay fails 010_pg_basebackup? Marcel Hofstetter <[email protected]>
@ 2024-04-18 22:24     ` Thomas Munro <[email protected]>
  0 siblings, 0 replies; 5+ messages in thread

From: Thomas Munro @ 2024-04-18 22:24 UTC (permalink / raw)
  To: Marcel Hofstetter <[email protected]>; +Cc: Tom Lane <[email protected]>; pgsql-hackers

On Fri, Apr 19, 2024 at 12:57 AM Marcel Hofstetter
<[email protected]> wrote:
> SKIP_READLINE_TESTS works. margay is now green again.

Great!  FTR there was a third thing revealed by margay since you
enabled the TAP tests: commit e2a23576.

I would guess that the best chance of getting the readline stuff to
actually work would be to interest someone who hacks on
IPC::Run-and-related-stuff (*cough* Noah *cough*) and who has Solaris
access to look at that... I would guess it needs a one-line fix
relating to raw/cooked behaviour, but as the proverbial mechanic said,
most of the fee is for knowing where to hit it...






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


end of thread, other threads:[~2024-04-18 22:24 UTC | newest]

Thread overview: 5+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2024-02-13 00:04 [PATCH v9 05/17] Update BitmapAdjustPrefetchIterator parameter type to BlockNumber Melanie Plageman <[email protected]>
2024-04-17 17:42 Re: Solaris tar issues, or other reason why margay fails 010_pg_basebackup? Thomas Munro <[email protected]>
2024-04-17 19:12 ` Re: Solaris tar issues, or other reason why margay fails 010_pg_basebackup? Tom Lane <[email protected]>
2024-04-18 12:57   ` Re: Solaris tar issues, or other reason why margay fails 010_pg_basebackup? Marcel Hofstetter <[email protected]>
2024-04-18 22:24     ` Re: Solaris tar issues, or other reason why margay fails 010_pg_basebackup? Thomas Munro <[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