about summary refs log tree commit homepage
path: root/lib/PublicInbox/OverIdx.pm
diff options
context:
space:
mode:
authorEric Wong (Contractor, The Linux Foundation) <e@80x24.org>2018-04-05 21:45:28 +0000
committerEric Wong (Contractor, The Linux Foundation) <e@80x24.org>2018-04-06 21:18:38 +0000
commit936670cb83971bf250571a7dd9b0a0a0b33babd8 (patch)
tree675fa79206f5c1e9f3a13052ddd9d28b69fa67ca /lib/PublicInbox/OverIdx.pm
parent9d6468d9560b8cd26ba2529d7a09a93ec5ad8c00 (diff)
downloadpublic-inbox-936670cb83971bf250571a7dd9b0a0a0b33babd8.tar.gz
Dscho found this useful for finding matching git commits based
on AuthorDate in git.  Add it to the overview DB format, too;
 so in the future we can support v2 repos without Xapian.

https://public-inbox.org/git/nycvar.QRO.7.76.6.1804041821420.55@ZVAVAG-6OXH6DA.rhebcr.pbec.zvpebfbsg.pbz
https://public-inbox.org/git/alpine.DEB.2.20.1702041206130.3496@virtualbox/
Diffstat (limited to 'lib/PublicInbox/OverIdx.pm')
-rw-r--r--lib/PublicInbox/OverIdx.pm10
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/PublicInbox/OverIdx.pm b/lib/PublicInbox/OverIdx.pm
index 5c20f1f0..28e4aa9c 100644
--- a/lib/PublicInbox/OverIdx.pm
+++ b/lib/PublicInbox/OverIdx.pm
@@ -202,7 +202,7 @@ sub link_refs {
 
 sub add_over {
         my ($self, $values) = @_;
-        my ($ts, $num, $mids, $refs, $xpath, $ddd) = @$values;
+        my ($ts, $ds, $num, $mids, $refs, $xpath, $ddd) = @$values;
         my $old_tid;
         my $vivified = 0;
 
@@ -232,11 +232,11 @@ sub add_over {
         my $sid = $self->sid($xpath);
         my $dbh = $self->{dbh};
         my $sth = $dbh->prepare_cached(<<'');
-INSERT INTO over (num, tid, sid, ts, ddd)
-VALUES (?,?,?,?,?)
+INSERT INTO over (num, tid, sid, ts, ds, ddd)
+VALUES (?,?,?,?,?,?)
 
         my $n = 0;
-        my @v = ($num, $tid, $sid, $ts);
+        my @v = ($num, $tid, $sid, $ts, $ds);
         foreach (@v) { $sth->bind_param(++$n, $_) }
         $sth->bind_param(++$n, $ddd, SQL_BLOB);
         $sth->execute;
@@ -274,6 +274,7 @@ CREATE TABLE IF NOT EXISTS over (
         tid INTEGER NOT NULL,
         sid INTEGER,
         ts INTEGER,
+        ds INTEGER,
         ddd VARBINARY, /* doc-data-deflated */
         UNIQUE (num)
 )
@@ -281,6 +282,7 @@ CREATE TABLE IF NOT EXISTS over (
         $dbh->do('CREATE INDEX IF NOT EXISTS idx_tid ON over (tid)');
         $dbh->do('CREATE INDEX IF NOT EXISTS idx_sid ON over (sid)');
         $dbh->do('CREATE INDEX IF NOT EXISTS idx_ts ON over (ts)');
+        $dbh->do('CREATE INDEX IF NOT EXISTS idx_ds ON over (ds)');
 
         $dbh->do(<<'');
 CREATE TABLE IF NOT EXISTS counter (