]> Sergey Matveev's repositories - public-inbox.git/commitdiff
v2writable: move {autime} and {cotime} into $sync state
authorEric Wong <e@yhbt.net>
Fri, 24 Jul 2020 05:55:51 +0000 (05:55 +0000)
committerEric Wong <e@yhbt.net>
Sat, 25 Jul 2020 20:48:18 +0000 (20:48 +0000)
The V2Writable object may be long-lived, so it makes more
sense to put the {autime} and {cotime} fields into the
shorter-lived index_sync state.

lib/PublicInbox/Smsg.pm
lib/PublicInbox/V2Writable.pm

index 725d420628250e72ca3bcb13d33b5f24faade51e..aaf88f355e60952291226aefba9ae970e369a609 100644 (file)
@@ -96,7 +96,7 @@ sub from_mitem {
 
 # for Import and v1 non-SQLite WWW code paths
 sub populate {
-       my ($self, $hdr, $v2w) = @_;
+       my ($self, $hdr, $sync) = @_;
        for my $f (qw(From To Cc Subject)) {
                my @all = $hdr->header($f);
                my $val = join(', ', @all);
@@ -117,9 +117,9 @@ sub populate {
                }
                $self->{$f} = $val if $val ne '';
        }
-       $v2w //= {};
-       $self->{-ds} = [ my @ds = msg_datestamp($hdr, $v2w->{autime}) ];
-       $self->{-ts} = [ my @ts = msg_timestamp($hdr, $v2w->{cotime}) ];
+       $sync //= {};
+       $self->{-ds} = [ my @ds = msg_datestamp($hdr, $sync->{autime}) ];
+       $self->{-ts} = [ my @ts = msg_timestamp($hdr, $sync->{cotime}) ];
        $self->{ds} //= $ds[0]; # no zone
        $self->{ts} //= $ts[0];
 
index c896dc0ed7c80e7327e87aea3fece1d2a5b1bb7c..4dc6880b4111906449620a0972610e0d1299d2a4 100644 (file)
@@ -564,8 +564,8 @@ W: $list
                        num => $smsg->{num},
                        mid => $smsg->{mid},
                }, 'PublicInbox::Smsg';
-               my $v2w = { autime => $smsg->{ds}, cotime => $smsg->{ts} };
-               $new_smsg->populate($new_mime, $v2w);
+               my $sync = { autime => $smsg->{ds}, cotime => $smsg->{ts} };
+               $new_smsg->populate($new_mime, $sync);
                do_idx($self, \$raw, $new_mime, $new_smsg);
        }
        $rewritten->{rewrites};
@@ -950,7 +950,7 @@ sub reindex_oid ($$$$) {
                blob => $oid,
                mid => $mid0,
        }, 'PublicInbox::Smsg';
-       $smsg->populate($mime, $self);
+       $smsg->populate($mime, $sync);
        if (do_idx($self, $msgref, $mime, $smsg)) {
                reindex_checkpoint($self, $sync, $git);
        }
@@ -1225,14 +1225,14 @@ sub index_epoch ($$$) {
        while (my ($f, $at, $ct, $oid) = $stk->pop_rec) {
                $self->{current_info} = "$i.git $oid";
                if ($f eq 'm') {
-                       $self->{autime} = $at;
-                       $self->{cotime} = $ct;
+                       $sync->{autime} = $at;
+                       $sync->{cotime} = $ct;
                        reindex_oid($self, $sync, $git, $oid);
                } elsif ($f eq 'd') {
                        unindex_oid($self, $git, $oid);
                }
        }
-       delete @$self{qw(autime cotime)};
+       delete @$sync{qw(autime cotime)};
        update_last_commit($self, $git, $i, $stk->{latest_cmt});
 }