You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by he...@apache.org on 2022/04/10 19:02:14 UTC

svn commit: r1899713 - /spamassassin/trunk/lib/Mail/SpamAssassin/SQLBasedAddrList.pm

Author: hege
Date: Sun Apr 10 19:02:14 2022
New Revision: 1899713

URL: http://svn.apache.org/viewvc?rev=1899713&view=rev
Log:
Allow DBI:MariaDB usage

Modified:
    spamassassin/trunk/lib/Mail/SpamAssassin/SQLBasedAddrList.pm

Modified: spamassassin/trunk/lib/Mail/SpamAssassin/SQLBasedAddrList.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/SQLBasedAddrList.pm?rev=1899713&r1=1899712&r2=1899713&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/SQLBasedAddrList.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/SQLBasedAddrList.pm Sun Apr 10 19:02:14 2022
@@ -296,16 +296,16 @@ sub add_score {
     my @args = ($self->{_username}, $email, $ip, 1, $score);
     my $sql = sprintf("INSERT INTO %s (%s) VALUES (%s)", $self->{tablename},
                       join(',', @fields),  join(',', ('?') x @fields));
-    if ($self->{dsn} =~ /DBI:pg/i) {
+    if ($self->{dsn} =~ /^DBI:pg/i) {
        $sql .= " ON CONFLICT (username, email, signedby, ip) DO UPDATE set msgcount = ?, totscore = ?";
-    } elsif ($self->{dsn} =~ /DBI:mysql/i) {
+    } elsif ($self->{dsn} =~ /^DBI:(?:mysql|MariaDB)/i) {
        $sql .= " ON DUPLICATE KEY UPDATE msgcount = ?, totscore = ?";
     }
     my $sth = $self->{dbh}->prepare($sql);
 
     if (!$self->{_with_awl_signer}) {
       my $rc;
-      if ($self->{dsn} =~ /DBI:(pg|mysql)/i) {
+      if ($self->{dsn} =~ /^DBI:(?:pg|mysql|MariaDB)/i) {
           $rc = $sth->execute(@args, $entry->{msgcount}, $score);
       } else {
           $rc = $sth->execute(@args);
@@ -321,7 +321,7 @@ sub add_score {
     } else {
       for my $s (@signedby) {
         my $rc;
-	if ($self->{dsn} =~ /DBI:(pg|mysql)/i) {
+	if ($self->{dsn} =~ /^DBI:(?:pg|mysql|MariaDB)/i) {
           $rc = $sth->execute(@args, $s, $entry->{msgcount}, $score);
 	} else {
 	  $rc = $sth->execute(@args, $s);
@@ -338,7 +338,7 @@ sub add_score {
     }
   }
 
-  if (!$inserted && $self->{dsn} !~ /DBI:(pg|mysql)/i) {
+  if (!$inserted && $self->{dsn} !~ /^DBI:(?:pg|mysql|MariaDB)/i) {
     # insert failed, assume primary key constraint, so try the update
 
     my $sql = "UPDATE $self->{tablename} ".