diff options
author | Eric Wong <e@yhbt.net> | 2020-08-27 12:17:01 +0000 |
---|---|---|
committer | Eric Wong <e@yhbt.net> | 2020-08-27 22:33:44 +0000 |
commit | 7f4a11a6499aade26b418b7ae13cd12859f75bdd (patch) | |
tree | d814f45562d3a96f3b740e8daf37e40a912506a2 /lib | |
parent | 1e3c53a422b8d23cff961e43f77ea0a835cdef78 (diff) | |
download | public-inbox-7f4a11a6499aade26b418b7ae13cd12859f75bdd.tar.gz |
There's no need for this to be a separate sub since there's only a single caller. This saves a few kilobytes at least in short-lived processes.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/PublicInbox/OverIdx.pm | 23 |
1 files changed, 10 insertions, 13 deletions
diff --git a/lib/PublicInbox/OverIdx.pm b/lib/PublicInbox/OverIdx.pm index 67f8cf65..6f0477f0 100644 --- a/lib/PublicInbox/OverIdx.pm +++ b/lib/PublicInbox/OverIdx.pm @@ -184,23 +184,20 @@ sub resolve_mid_to_tid { if (my $del = delete $self->{-ghosts_to_delete}) { delete_by_num($self, $_) for @$del; } - $tid // create_ghost($self, $mid); -} - -sub create_ghost { - my ($self, $mid) = @_; - my $id = mid2id($self, $mid); - my $num = next_ghost_num($self); - $num < 0 or die "ghost num is non-negative: $num\n"; - my $tid = next_tid($self); - my $dbh = $self->{dbh}; - $dbh->prepare_cached(<<'')->execute($num, $tid); + $tid // do { # create a new ghost + my $id = mid2id($self, $mid); + my $num = next_ghost_num($self); + $num < 0 or die "ghost num is non-negative: $num\n"; + $tid = next_tid($self); + my $dbh = $self->{dbh}; + $dbh->prepare_cached(<<'')->execute($num, $tid); INSERT INTO over (num, tid) VALUES (?,?) - $dbh->prepare_cached(<<'')->execute($id, $num); + $dbh->prepare_cached(<<'')->execute($id, $num); INSERT INTO id2num (id, num) VALUES (?,?) - $tid; + $tid; + }; } sub merge_threads { |