user/dev discussion of public-inbox itself
 help / color / mirror / code / Atom feed
* [PATCH] overidx: each_by_mid: account for messages being deleted
@ 2021-10-07  8:29 Eric Wong
  0 siblings, 0 replies; only message in thread
From: Eric Wong @ 2021-10-07  8:29 UTC (permalink / raw)
  To: meta

This may fix some extindex problems and should get rid of
the "Can't bless non-reference value" errors.
---
 lib/PublicInbox/OverIdx.pm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/lib/PublicInbox/OverIdx.pm b/lib/PublicInbox/OverIdx.pm
index 0c8a4d9ee3f8..985abbf4e693 100644
--- a/lib/PublicInbox/OverIdx.pm
+++ b/lib/PublicInbox/OverIdx.pm
@@ -158,7 +158,8 @@ SELECT $cols FROM over WHERE over.num = ? LIMIT 1
 
 		foreach (@$nums) {
 			$sth->execute($_->[0]);
-			my $smsg = $sth->fetchrow_hashref;
+			# $cb may delete rows and invalidate nums
+			my $smsg = $sth->fetchrow_hashref // next;
 			$smsg = PublicInbox::Over::load_from_row($smsg);
 			$cb->($self, $smsg, @arg) or return;
 		}

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-10-07  8:29 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-07  8:29 [PATCH] overidx: each_by_mid: account for messages being deleted Eric Wong

Code repositories for project(s) associated with this inbox:

	https://80x24.org/public-inbox.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).