From: Eric Wong Date: Tue, 25 Aug 2020 03:02:46 +0000 (+0000) Subject: msgmap: use "CREATE TABLE IF NOT EXISTS" X-Git-Tag: v1.6.0~98 X-Git-Url: http://www.git.stargrave.org/?p=public-inbox.git;a=commitdiff_plain;h=793dcb03635e167143c9df6897999f4698a5133c msgmap: use "CREATE TABLE IF NOT EXISTS" It's fewer queries and matches what we do in OverIdx. --- diff --git a/lib/PublicInbox/Msgmap.pm b/lib/PublicInbox/Msgmap.pm index 7290959d..5b4cebc1 100644 --- a/lib/PublicInbox/Msgmap.pm +++ b/lib/PublicInbox/Msgmap.pm @@ -175,18 +175,20 @@ sub num_delete { sub create_tables { my ($dbh) = @_; - my $e; - - $e = eval { $dbh->selectrow_array('EXPLAIN SELECT * FROM msgmap;') }; - defined $e or $dbh->do('CREATE TABLE msgmap (' . - 'num INTEGER PRIMARY KEY AUTOINCREMENT, '. - 'mid VARCHAR(1000) NOT NULL, ' . - 'UNIQUE (mid) )'); - - $e = eval { $dbh->selectrow_array('EXPLAIN SELECT * FROM meta') }; - defined $e or $dbh->do('CREATE TABLE meta (' . - 'key VARCHAR(32) PRIMARY KEY, '. - 'val VARCHAR(255) NOT NULL)'); + + $dbh->do(<<''); +CREATE TABLE IF NOT EXISTS msgmap ( + num INTEGER PRIMARY KEY AUTOINCREMENT, + mid VARCHAR(1000) NOT NULL, + UNIQUE (mid) +) + + $dbh->do(<<''); +CREATE TABLE IF NOT EXISTS meta ( + key VARCHAR(32) PRIMARY KEY, + val VARCHAR(255) NOT NULL +) + } # used by NNTP.pm