]> Sergey Matveev's repositories - public-inbox.git/commitdiff
overidx: inline create_ghost sub
authorEric Wong <e@yhbt.net>
Thu, 27 Aug 2020 12:17:01 +0000 (12:17 +0000)
committerEric Wong <e@yhbt.net>
Thu, 27 Aug 2020 22:33:44 +0000 (22:33 +0000)
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.

lib/PublicInbox/OverIdx.pm
t/over.t

index 67f8cf656958d78440ba13e7115915065021cacf..6f0477f0a7150587e4b64a0bf0470736b8caba75 100644 (file)
@@ -184,23 +184,20 @@ sub resolve_mid_to_tid {
        if (my $del = delete $self->{-ghosts_to_delete}) {
                delete_by_num($self, $_) for @$del;
        }
        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 (?,?)
 
 INSERT INTO over (num, tid) VALUES (?,?)
 
-       $dbh->prepare_cached(<<'')->execute($id, $num);
+               $dbh->prepare_cached(<<'')->execute($id, $num);
 INSERT INTO id2num (id, num) VALUES (?,?)
 
 INSERT INTO id2num (id, num) VALUES (?,?)
 
-       $tid;
+               $tid;
+       };
 }
 
 sub merge_threads {
 }
 
 sub merge_threads {
index 41c13872c4e94095cede8b3eddd08e839a7085c7..4c8f8098a3e3edefbf978eb6ea5be5608f0ece53 100644 (file)
--- a/t/over.t
+++ b/t/over.t
@@ -33,9 +33,9 @@ $over->dbh;
 is($over->sid('hello-world'), $x, 'idempotent across reopen');
 $over->each_by_mid('never', sub { fail('should not be called') });
 
 is($over->sid('hello-world'), $x, 'idempotent across reopen');
 $over->each_by_mid('never', sub { fail('should not be called') });
 
-$x = $over->create_ghost('never');
+$x = $over->resolve_mid_to_tid('never');
 is(int($x), $x, 'integer tid for ghost');
 is(int($x), $x, 'integer tid for ghost');
-$y = $over->create_ghost('NEVAR');
+$y = $over->resolve_mid_to_tid('NEVAR');
 is($y, $x + 1, 'integer tid for ghost increases');
 
 my $ddd = compress('');
 is($y, $x + 1, 'integer tid for ghost increases');
 
 my $ddd = compress('');