+ # sortable_unserialise is defined by PublicInbox::Search::load_xapian()
+ sortable_unserialise($doc->get_value($col));
+}
+
+sub to_doc_data {
+ my ($self, $oid, $mid0) = @_;
+ $oid = '' unless defined $oid;
+ join("\n",
+ $self->subject,
+ $self->from,
+ $self->references,
+ $self->to,
+ $self->cc,
+ $oid,
+ $mid0,
+ $self->{bytes} // '',
+ $self->{lines} // ''
+ );
+}
+
+sub load_from_data ($$) {
+ my ($self) = $_[0]; # data = $_[1]
+ (
+ $self->{subject},
+ $self->{from},
+ $self->{references},
+
+ # To: and Cc: are stored to optimize HDR/XHDR in NNTP since
+ # some NNTP clients will use that for message displays.
+ # NNTP only, and only stored in Over(view), not Xapian
+ $self->{to},
+ $self->{cc},
+
+ $self->{blob},
+ $self->{mid},
+
+ # NNTP only
+ $self->{bytes},
+ $self->{lines}
+ ) = split(/\n/, $_[1]);