MySQL Updatable and Insertable Views

Learning about Updatable and Insertable Views in MySQL. I was getting the error ER_WARN_VIEW_WITHOUT_KEY which said “View being updated does not have complete key of underlying table in it.”

You would have thought that error message was entirely self-explanatory, but it took me a while to understand the problem. The problem was, well, er, that the view being updated didn’t have the complete key of the underlying table in it.

For those of you who are dense like I am, that means that the primary key for the underlying table hadn’t been included as a column in the view definition. I’d done some processing on the actual primary key to turn it from upper case to lower case, and this processing meant the underlying key wasn’t actually in the view I was updating, because the primary key had been modified slightly in the view definition. I got rid of the warning by just adding the primary key column unprocessed at the end of the column list and that got rid of the warning.

Configure Postfix for DNS Blackhole Lists

Followed the instructions in this article Configure Postfix for DNS Blackhole Lists such as dsbl.org / spamhaus.org database to configure my Postfix email server to stop spam. I used the whole recommendation:


smtpd_recipient_restrictions =
   reject_invalid_hostname,
   reject_non_fqdn_hostname,
   reject_non_fqdn_sender,
   reject_non_fqdn_recipient,
   reject_unknown_sender_domain,
   reject_unknown_recipient_domain,
   reject_unauth_destination,
   permit_mynetworks,
   reject_rbl_client list.dsbl.org,
   reject_rbl_client sbl-xbl.spamhaus.org,
   reject_rbl_client cbl.abuseat.org,
   reject_rbl_client dul.dnsbl.sorbs.net,
   permit

Before that my settings where:


smtpd_recipient_restrictions =
  permit_mynetworks,
  permit_sasl_authenticated,
  reject_unauth_destination

I kept the permit_sasl_authenticated setting too.