]> Sergey Matveev's repositories - public-inbox.git/commitdiff
msgmap: use "CREATE TABLE IF NOT EXISTS"
authorEric Wong <e@yhbt.net>
Tue, 25 Aug 2020 03:02:46 +0000 (03:02 +0000)
committerEric Wong <e@yhbt.net>
Wed, 26 Aug 2020 06:10:51 +0000 (06:10 +0000)
It's fewer queries and matches what we do in OverIdx.

lib/PublicInbox/Msgmap.pm

index 7290959d22c07e0ef66836435304ca03c81f67eb..5b4cebc105bd21c659b1182721323cbf881d381a 100644 (file)
@@ -175,18 +175,20 @@ sub num_delete {
 
 sub create_tables {
        my ($dbh) = @_;
 
 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
 }
 
 # used by NNTP.pm