X-Git-Url: http://www.git.stargrave.org/?p=public-inbox.git;a=blobdiff_plain;f=lib%2FPublicInbox%2FMsgmap.pm;h=a49b61e8b7f3636eb28cba61ca052c5000b5720c;hp=3fb3805fe82abea0c23684890d1f33004e6815d5;hb=1e57ecc0dcbc64a6829a93dc81cfb6ab6f0ce71b;hpb=9b80f2bedbe5a8a9154dfa0ba3c7e63012287bea diff --git a/lib/PublicInbox/Msgmap.pm b/lib/PublicInbox/Msgmap.pm index 3fb3805f..a49b61e8 100644 --- a/lib/PublicInbox/Msgmap.pm +++ b/lib/PublicInbox/Msgmap.pm @@ -82,10 +82,10 @@ sub created_at { sub mid_insert { my ($self, $mid) = @_; my $dbh = $self->{dbh}; - use constant MID_INSERT => 'INSERT INTO msgmap (mid) VALUES (?)'; - my $sth = $self->{mid_insert} ||= $dbh->prepare(MID_INSERT); + my $sql = 'INSERT OR IGNORE INTO msgmap (mid) VALUES (?)'; + my $sth = $self->{mid_insert} ||= $dbh->prepare($sql); $sth->bind_param(1, $mid); - $sth->execute; + return if $sth->execute == 0; $dbh->last_insert_id(undef, undef, 'msgmap', 'num'); }