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/11 11:38:39 UTC
svn commit: r1899744 - in /spamassassin/trunk: lib/Mail/SpamAssassin/SQLBasedAddrList.pm sql/txrep_sqlite.sql
Author: hege
Date: Mon Apr 11 11:38:39 2022
New Revision: 1899744
URL: http://svn.apache.org/viewvc?rev=1899744&view=rev
Log:
Bug 7941 - sql/txrep_sqlite.sql: typo in UPDATE trigger column name breaks txrep DB
Modified:
spamassassin/trunk/lib/Mail/SpamAssassin/SQLBasedAddrList.pm
spamassassin/trunk/sql/txrep_sqlite.sql
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/SQLBasedAddrList.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/SQLBasedAddrList.pm?rev=1899744&r1=1899743&r2=1899744&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/SQLBasedAddrList.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/SQLBasedAddrList.pm Mon Apr 11 11:38:39 2022
@@ -220,7 +220,15 @@ sub get_addr_entry {
push(@args, @signedby);
}
$sql .= " ORDER BY last_hit";
+
my $sth = $self->{dbh}->prepare($sql);
+
+ unless (defined($sth)) {
+ info("auto-whitelist: sql-based get_addr_entry %s: SQL prepare error: %s",
+ join('|',@args), $self->{dbh}->errstr);
+ return $entry;
+ }
+
my $rc = $sth->execute($self->{_username}, @args);
if (!$rc) { # there was an error, but try to go on
@@ -302,8 +310,15 @@ sub add_score {
} elsif ($self->{dsn} =~ /^DBI:(?:mysql|MariaDB)/i) {
$sql .= " ON DUPLICATE KEY UPDATE msgcount = ?, totscore = totscore + ?";
}
+
my $sth = $self->{dbh}->prepare($sql);
+ unless (defined($sth)) {
+ info("auto-whitelist: sql-based add_score/insert %s: SQL prepare error: %s",
+ join('|',@args), $self->{dbh}->errstr);
+ return $entry;
+ }
+
if (!$self->{_with_awl_signer}) {
my $rc;
if ($self->{dsn} =~ /^DBI:(?:pg|mysql|MariaDB)/i) {
@@ -361,6 +376,13 @@ sub add_score {
push(@args, $ip);
my $sth = $self->{dbh}->prepare($sql);
+
+ unless (defined($sth)) {
+ info("auto-whitelist: sql-based add_score/update %s: SQL prepare error: %s",
+ join('|',@args), $self->{dbh}->errstr);
+ return $entry;
+ }
+
my $rc = $sth->execute(@args);
if (!$rc) {
@@ -421,6 +443,13 @@ sub remove_entry {
}
my $sth = $self->{dbh}->prepare($sql);
+
+ unless (defined($sth)) {
+ info("auto-whitelist: sql-based remove_entry %s: SQL prepare error: %s",
+ join('|',@args), $self->{dbh}->errstr);
+ return;
+ }
+
my $rc = $sth->execute(@args);
if (!$rc) {
Modified: spamassassin/trunk/sql/txrep_sqlite.sql
URL: http://svn.apache.org/viewvc/spamassassin/trunk/sql/txrep_sqlite.sql?rev=1899744&r1=1899743&r2=1899744&view=diff
==============================================================================
--- spamassassin/trunk/sql/txrep_sqlite.sql (original)
+++ spamassassin/trunk/sql/txrep_sqlite.sql Mon Apr 11 11:38:39 2022
@@ -15,7 +15,7 @@ CREATE TRIGGER [UpdateLastHit]
AFTER UPDATE
ON txrep
FOR EACH ROW
- WHEN NEW.last_hot < OLD.last_hit
+ WHEN NEW.last_hit < OLD.last_hit
BEGIN
UPDATE txrep SET last_hit=CURRENT_TIMESTAMP
WHERE (username=OLD.username AND email=OLD.email AND signedby=OLD.signedby AND ip=OLD.ip);