From 793dcb03635e167143c9df6897999f4698a5133c Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Tue, 25 Aug 2020 03:02:46 +0000 Subject: msgmap: use "CREATE TABLE IF NOT EXISTS" It's fewer queries and matches what we do in OverIdx. --- lib/PublicInbox/Msgmap.pm | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) (limited to 'lib/PublicInbox') 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 -- cgit v1.2.3-24-ge0c7