New SpamFilter Enterprise Release Candida |
Post Reply | Page 12> |
Author | |||||||||||||||||||||||||
LogSat
Admin Group Joined: 25 January 2005 Location: United States Status: Offline Points: 4104 |
Post Options
Thanks(0)
Posted: 13 March 2007 at 11:39pm |
||||||||||||||||||||||||
The new SpamFilter Enterprise 3.5.3.654 Release Candidate RC1 is now available in the registered user area. There is only one minor bug fix from the latest beta as can be seen in the release notes.
Perhaps the biggest change is the availability of a new manual and documentation. While this is still a work in progress, we hope it is pretty accurate as-is. The release note for this last build is as follows: // New to VersionNumber = '3.5.3.654'; {TODO -cFix : SpamFilter could send duplicate emails when executing the process that runs every 60 minutes that reprocesses emails in the queue, as it could re-send emails that were being delivered at that exact moment} |
|||||||||||||||||||||||||
__M__
Groupie Joined: 30 August 2006 Location: Australia Status: Offline Points: 75 |
Post Options
Thanks(0)
|
||||||||||||||||||||||||
Roberto, can you confirm when the beta expiry date is for 3.5.3.654.
Judging by the download page it looks like April 1st, considering I need to run the beta version of SFE on our live server to resolve the mail-splitting issue this could be a problem for me after April 1. |
|||||||||||||||||||||||||
LogSat
Admin Group Joined: 25 January 2005 Location: United States Status: Offline Points: 4104 |
Post Options
Thanks(0)
|
||||||||||||||||||||||||
I apologize, the expiration was a month off. The RC expires 5/1/07. We're so close to the release date we didn't notice...
|
|||||||||||||||||||||||||
Dan B
Senior Member Joined: 09 February 2005 Location: United States Status: Offline Points: 105 |
Post Options
Thanks(0)
|
||||||||||||||||||||||||
Roberto, I'm noticing this error on our SF Ent Ver 3.1.3.615 Exception occurred during TFilterObject.LoadFilter: Access violation at address 005F30A8 in module 'SpamFilterSvc.exe'. Read of address 0000009C Thanks, |
|||||||||||||||||||||||||
Dan B
Senior Member Joined: 09 February 2005 Location: United States Status: Offline Points: 105 |
Post Options
Thanks(0)
|
||||||||||||||||||||||||
Oops... Ver 3.5.3.654
|
|||||||||||||||||||||||||
Dan B
Senior Member Joined: 09 February 2005 Location: United States Status: Offline Points: 105 |
Post Options
Thanks(0)
|
||||||||||||||||||||||||
R, I'm preforming direct database configuration of adding and removing domains and SF is not seeing the changes. If I restart the service it will then see that a domain had been added or removed and load those settings. Is this a bug? Or are we not allowed to make direct changes to the database? Thanks, |
|||||||||||||||||||||||||
Dan B
Senior Member Joined: 09 February 2005 Location: United States Status: Offline Points: 105 |
Post Options
Thanks(0)
|
||||||||||||||||||||||||
R, Here is a bug that I just fould. Ver 3.5.3.654 From within the SF Setting GUI adding or editing a domain name it is limited to 12 chars. Dan B
|
|||||||||||||||||||||||||
Dan B
Senior Member Joined: 09 February 2005 Location: United States Status: Offline Points: 105 |
Post Options
Thanks(0)
|
||||||||||||||||||||||||
R, Here is another Exceprion occurred error in the log file. Ver 3.5.3.654 (872) Exception occurred during TFilterObject.SaveFilterSettings: Invalid field size
Dan |
|||||||||||||||||||||||||
LogSat
Admin Group Joined: 25 January 2005 Location: United States Status: Offline Points: 4104 |
Post Options
Thanks(0)
|
||||||||||||||||||||||||
Dan,
The changes to the database should be seen by SpamFilter within 5 seconds. This is done by making the use of triggers. Whenever an entry in a table is added/deleted/modified, a trigger within that table causes a new record to be created in the table "tblreloadtableinfo" that will contain the domain id being modified, and the table name that was changed. SpamFilter continuosly monitors this table, and as soon as there is a new entry SpamFilter will reload the right table. I hope the competition doesn't see this and get ideas from us.... This said, could you verify that this is indeed happening (the addition of new records inthe tblreloadtableinfo)? Please note that if there is already an existing record for the domainid/tablename combination, we won't add another one. If this is not happening, there may be a trigger missing from your database. This could be possible if you had an older version of SpamFilter Enterprise create the tables, as previous versions were indeed buggy (but so could this version...) It is problem that your 1st and last posting are related. In regards to the 12 char limit, we've had another report about it, but could not replicate it. What database platform and version are you using? |
|||||||||||||||||||||||||
Dan B
Senior Member Joined: 09 February 2005 Location: United States Status: Offline Points: 105 |
Post Options
Thanks(0)
|
||||||||||||||||||||||||
Roberto, I'm using MySQL 5.0.37 as the database. SF GUI would not create the tables and triggers. I had to manually run the sql script that was provided with the latest SF RC. As to the tblreloadtableinfo it's inserting the records to which tables are being modified and I'm seeing SF load the new settings within the activity log window but if I'm in the SF Settings window and a change is made to some records by the database. It's not refreshing the data automatically. I have to close the SF settings window and reopen it and the new data will display. i.e SMTP settings, testing the port change and the local domains table top left of window adding new domains by database. I have notice that If I try step 2 of the create / check database tables. I get the following errors. ------------------------------------------------ ================ ===========Done================== -- drop table if exists `tblbl_emailsfrom`; ===========Done================== -- drop table if exists `tblbl_emailsto`; ===========Done================== -- drop table if exists `tblbl_maps`; ===========Done================== -- drop table if exists `tblbl_keywords`; ===========Done================== -- drop table if exists `tblbl_attachments`; ===========Done================== -- drop table if exists `tblbl_surbl`; ===========Done================== -- drop table if exists `tblbl_ips`; ===========Done================== -- drop table if exists `tblbl_honeypotemails`; ===========Done================== -- drop table if exists `tblbl_honeypotblockedips`; ===========Done================== -- drop table if exists `tblbl_countries`; ===========Done================== -- drop table if exists `tblwl_authorizedtoemails`; ===========Done================== -- drop table if exists `tblwl_keywords`; ===========Done================== -- drop table if exists `tblwl_emailsfrom`; ===========Done================== -- drop table if exists `tblwl_emailsto`; ===========Done================== -- drop table if exists `tblwl_autowhitelistforcedelivery`; ===========Done================== -- drop table if exists `tblwl_domainsips`; ===========Done================== -- drop table if exists `tblreloadtableinfo`; ===========Done================== -- drop table if exists `tbl_filtersettings`; ===========Done================== -- drop table if exists `tbl_localdomains`; ===========Done================== alter table `tblbl_domains` add constraint `fktblbl_domains` foreign key `fktblbl_domains` (`domainid`) ******* Error:Can't create table '.\spamfilter\#sql-6ac_5a3.frm' (errno: 121) ******* Error:Can't create table '.\spamfilter\#sql-6ac_5a3.frm' (errno: 121) ******* Error:Can't create table '.\spamfilter\#sql-6ac_5a3.frm' (errno: 121) ******* Error:Can't create table '.\spamfilter\#sql-6ac_5a3.frm' (errno: 121) ******* Error:Can't create table '.\spamfilter\#sql-6ac_5a3.frm' (errno: 121) ******* Error:Can't create table '.\spamfilter\#sql-6ac_5a3.frm' (errno: 121) ******* Error:Can't create table '.\spamfilter\#sql-6ac_5a3.frm' (errno: 121) ******* Error:Can't create table '.\spamfilter\#sql-6ac_5a3.frm' (errno: 121) ******* Error:Can't create table '.\spamfilter\#sql-6ac_5a3.frm' (errno: 121) ******* Error:Can't create table '.\spamfilter\#sql-6ac_5a3.frm' (errno: 121) ******* Error:Can't create table '.\spamfilter\#sql-6ac_5a3.frm' (errno: 121) ******* Error:Can't create table '.\spamfilter\#sql-6ac_5a3.frm' (errno: 121) ******* Error:Can't create table '.\spamfilter\#sql-6ac_5a3.frm' (errno: 121) ******* Error:Can't create table '.\spamfilter\#sql-6ac_5a3.frm' (errno: 121) ******* Error:Can't create table '.\spamfilter\#sql-6ac_5a3.frm' (errno: 121) ******* Error:Can't create table '.\spamfilter\#sql-6ac_5a3.frm' (errno: 121) ******* Error:Duplicate entry ' ALL DOMAINS' for key 2 -- drop trigger tr_localdomains_au; ******* Error:This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' -- drop trigger tr_localdomains_ai; ******* Error:This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' -- drop trigger tr_localdomains_ad; ******* Error:This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' -- drop trigger tr_localdomains_bd; ******* Error:This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' -- drop trigger trwl_authorizedtoemails_au; ******* Error:This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' -- drop trigger trwl_authorizedtoemails_ai; ******* Error:This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' -- drop trigger trwl_authorizedtoemails_ad; ******* Error:This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' -- drop trigger trwl_keywords_au; ******* Error:This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' -- drop trigger trwl_keywords_ai; ******* Error:This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' -- drop trigger trwl_keywords_ad; ******* Error:This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' -- drop trigger trwl_emailsfrom_au; ******* Error:This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' -- drop trigger trwl_emailsfrom_ai; ******* Error:This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' -- drop trigger trwl_emailsfrom_ad; ******* Error:This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' -- drop trigger trwl_emailsto_au; ******* Error:This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' -- drop trigger trwl_emailsto_ai; ******* Error:This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' -- drop trigger trwl_emailsto_ad; ******* Error:This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' -- drop trigger trwl_domainsips_au; ******* Error:This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' -- drop trigger trwl_domainsips_ai; ******* Error:This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' -- drop trigger trwl_domainsips_ad; ******* Error:This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' -- drop trigger trwl_autowhitelistforcedelivery_au; ******* Error:This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' -- drop trigger trwl_autowhitelistforcedelivery_ai; ******* Error:This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' -- drop trigger trwl_autowhitelistforcedelivery_ad; ******* Error:This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' -- drop trigger trbl_domains_au; ******* Error:This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' -- drop trigger trbl_domains_ai; ******* Error:This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' -- drop trigger trbl_domains_ad; ******* Error:This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' -- drop trigger trbl_emailsfrom_au; ******* Error:This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' -- drop trigger trbl_emailsfrom_ai; ******* Error:This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' -- drop trigger trbl_emailsfrom_ad; ******* Error:This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' -- drop trigger trbl_emailsto_au; ******* Error:This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' -- drop trigger trbl_emailsto_ai; ******* Error:This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' -- drop trigger trbl_emailsto_ad; ******* Error:This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' -- drop trigger trbl_countries_au; ******* Error:This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' -- drop trigger trbl_countries_ai; ******* Error:This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' -- drop trigger trbl_countries_ad; ******* Error:This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' -- drop trigger trbl_maps_au; ******* Error:This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' -- drop trigger trbl_maps_ai; ******* Error:This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' -- drop trigger trbl_maps_ad; ******* Error:This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' -- drop trigger trbl_keywords_au; ******* Error:This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' -- drop trigger trbl_keywords_ai; ******* Error:This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' -- drop trigger trbl_keywords_ad; ******* Error:This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' -- drop trigger trbl_attachments_au; ******* Error:This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' -- drop trigger trbl_attachments_ai; ******* Error:This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' -- drop trigger trbl_attachments_ad; ******* Error:This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' -- drop trigger trbl_surbl_au; ******* Error:This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' -- drop trigger trbl_surbl_ai; ******* Error:This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' -- drop trigger trbl_surbl_ad; ******* Error:This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' -- drop trigger trbl_ips_au; ******* Error:This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' -- drop trigger trbl_ips_ai; ******* Error:This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' -- drop trigger trbl_ips_ad; ******* Error:This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' -- drop trigger trbl_honeypotemails_au; ******* Error:This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' -- drop trigger trbl_honeypotemails_ai; ******* Error:This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' -- drop trigger trbl_honeypotemails_ad; ******* Error:This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' -- drop trigger trbl_honeypotblockedips_au; ******* Error:This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' -- drop trigger trbl_honeypotblockedips_ai; ******* Error:This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' -- drop trigger trbl_honeypotblockedips_ad; ******* Error:This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' -- drop trigger tr_filtersettings_au; ******* Error:This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' -- drop trigger tr_filtersettings_ai; ******* Error:This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' -- drop trigger tr_filtersettings_ad; ******* Error:This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table'
Can't create table '.\spamfilter\#sql-6ac_5a3.frm' (errno: 121) Can't create table '.\spamfilter\#sql-6ac_5a3.frm' (errno: 121) Can't create table '.\spamfilter\#sql-6ac_5a3.frm' (errno: 121) Can't create table '.\spamfilter\#sql-6ac_5a3.frm' (errno: 121) Can't create table '.\spamfilter\#sql-6ac_5a3.frm' (errno: 121) Can't create table '.\spamfilter\#sql-6ac_5a3.frm' (errno: 121) Can't create table '.\spamfilter\#sql-6ac_5a3.frm' (errno: 121) Can't create table '.\spamfilter\#sql-6ac_5a3.frm' (errno: 121) Can't create table '.\spamfilter\#sql-6ac_5a3.frm' (errno: 121) Can't create table '.\spamfilter\#sql-6ac_5a3.frm' (errno: 121) Can't create table '.\spamfilter\#sql-6ac_5a3.frm' (errno: 121) Can't create table '.\spamfilter\#sql-6ac_5a3.frm' (errno: 121) Can't create table '.\spamfilter\#sql-6ac_5a3.frm' (errno: 121) Can't create table '.\spamfilter\#sql-6ac_5a3.frm' (errno: 121) Can't create table '.\spamfilter\#sql-6ac_5a3.frm' (errno: 121) Duplicate entry ' ALL DOMAINS' for key 2 This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' ----------------------------------------------------- Again, we are using MySQL 5.0.37 a fresh install of SF and MySQL. I hope this helps. Thanks,
|
|||||||||||||||||||||||||
Dan B
Senior Member Joined: 09 February 2005 Location: United States Status: Offline Points: 105 |
Post Options
Thanks(0)
|
||||||||||||||||||||||||
R, Here is a thought. When SF is checking for the tables is it comparing case sensitive? All my tables are lower case and they all exist. |
|||||||||||||||||||||||||
dabull07
Newbie Joined: 20 March 2007 Status: Offline Points: 2 |
Post Options
Thanks(0)
|
||||||||||||||||||||||||
send me spam: administrator@aps.lfca1.us
|
|||||||||||||||||||||||||
LogSat
Admin Group Joined: 25 January 2005 Location: United States Status: Offline Points: 4104 |
Post Options
Thanks(0)
|
||||||||||||||||||||||||
Dan,
While in a Windows installation of MySQL the upper/lower case is not an issue, we did have problems in the past on Unix installs of MySQL whichi are instead case-sensitive. For this reason, SFE converts all SQL statements and table/field names to lower case. Going back to the errors in your log above, it *seems* they are caused because the tables/triggers/foreign keys already exist in the DB, and you did not check the option to delete all objects prior to re-creating them. The simplest solution would be to go ahead and do check that box. This however will delete all your tables, and you will loose any data they contain. We did all we could during the beta development to avoid restructuring the table structure, as that would have caused similar problems when installing newer versions of the beta. We were able to develop the correct table structure months ago and leave it unanltered, however we did have to make some adjustments to the triggers. Can you please make a backup of your "MySql-Enterprise.sql" file in the SpamFilter\database directory, then replace the content of the above .sql file with the following modified script. This new script will cause SpamFilter to delete existing triggers and recreate them. Simply click in SpamFilter the "Create / Check database tables" button in the "Enterprise/Standard version" tab, *without* checking the "Drop Enterprise tables" box. == PASTE CONTENTS BELOW ============================= -- MySQL Enterprise Setup -- DROP TABLE IF EXISTS `tblBL_Domains`; -- GO CREATE TABLE IF NOT EXISTS `tblBL_Domains` ( `ID` int(11) NOT NULL auto_increment, `DomainID` int(11) default 0, `LoginID` int(11) default 0, `DomainName` varchar(255), PRIMARY KEY (`ID`), KEY `DomainID` (`DomainID`), KEY `LoginID` (`LoginID`), KEY `DomainName` (`DomainName`) ) TYPE=InnoDB; -- GO -- -- DROP TABLE IF EXISTS `tblBL_EmailsFrom`; -- GO CREATE TABLE IF NOT EXISTS `tblBL_EmailsFrom` ( `ID` int(11) NOT NULL auto_increment, `DomainID` int(11) default 0, `LoginID` int(11) default 0, `Email` varchar(320), PRIMARY KEY (`ID`), KEY `DomainID` (`DomainID`), KEY `LoginID` (`LoginID`), KEY `Email` (`Email`) ) TYPE=InnoDB; -- GO -- -- DROP TABLE IF EXISTS `tblBL_EmailsTo`; -- GO CREATE TABLE IF NOT EXISTS `tblBL_EmailsTo` ( `ID` int(11) NOT NULL auto_increment, `DomainID` int(11) default 0, `LoginID` int(11) default 0, `Email` varchar(320), PRIMARY KEY (`ID`), KEY `DomainID` (`DomainID`), KEY `LoginID` (`LoginID`), KEY `Email` (`Email`) ) TYPE=InnoDB; -- GO -- -- DROP TABLE IF EXISTS `tblBL_MAPS`; -- GO CREATE TABLE IF NOT EXISTS `tblBL_MAPS` ( `ID` int(11) NOT NULL auto_increment, `DomainID` int(11) default 0, `LoginID` int(11) default 0, `Server` varchar(255), `ReverseIP` tinyint(1) default 1, PRIMARY KEY (`ID`), KEY `DomainID` (`DomainID`), KEY `LoginID` (`LoginID`), KEY `Server` (`Server`) ) TYPE=InnoDB; -- GO -- -- DROP TABLE IF EXISTS `tblBL_Keywords`; -- GO CREATE TABLE IF NOT EXISTS `tblBL_Keywords` ( `ID` int(11) NOT NULL auto_increment, `DomainID` int(11) default 0, `LoginID` int(11) default 0, `Keywords` varchar(1024), PRIMARY KEY (`ID`), KEY `DomainID` (`DomainID`), KEY `LoginID` (`LoginID`) ) TYPE=InnoDB; -- GO -- -- DROP TABLE IF EXISTS `tblBL_Attachments`; -- GO CREATE TABLE IF NOT EXISTS `tblBL_Attachments` ( `ID` int(11) NOT NULL auto_increment, `DomainID` int(11) default 0, `LoginID` int(11) default 0, `Attachments` varchar(1024), PRIMARY KEY (`ID`), KEY `DomainID` (`DomainID`), KEY `LoginID` (`LoginID`) ) TYPE=InnoDB; -- GO -- -- DROP TABLE IF EXISTS `tblBL_SURBL`; -- GO CREATE TABLE IF NOT EXISTS `tblBL_SURBL` ( `ID` int(11) NOT NULL auto_increment, `DomainID` int(11) default 0, `LoginID` int(11) default 0, `Server` varchar(320), PRIMARY KEY (`ID`), KEY `DomainID` (`DomainID`), KEY `LoginID` (`LoginID`), KEY `Server` (`Server`) ) TYPE=InnoDB; -- GO -- -- DROP TABLE IF EXISTS `tblBL_IPs`; -- GO CREATE TABLE IF NOT EXISTS `tblBL_IPs` ( `ID` int(11) NOT NULL auto_increment, `DomainID` int(11) default 0, `LoginID` int(11) default 0, `IP` varchar(15), PRIMARY KEY (`ID`), KEY `DomainID` (`DomainID`), KEY `LoginID` (`LoginID`), KEY `IP` (`IP`) ) TYPE=InnoDB; -- GO -- -- DROP TABLE IF EXISTS `tblBL_HoneypotEmails`; -- GO CREATE TABLE IF NOT EXISTS `tblBL_HoneypotEmails` ( `ID` int(11) NOT NULL auto_increment, `DomainID` int(11) default 0, `LoginID` int(11) default 0, `Email` varchar(320), PRIMARY KEY (`ID`), KEY `DomainID` (`DomainID`), KEY `LoginID` (`LoginID`), KEY `Email` (`Email`) ) TYPE=InnoDB; -- GO -- -- DROP TABLE IF EXISTS `tblBL_HoneypotBlockedIPs`; -- GO CREATE TABLE IF NOT EXISTS `tblBL_HoneypotBlockedIPs` ( `ID` int(11) NOT NULL auto_increment, `DomainID` int(11) default 0, `LoginID` int(11) default 0, `IP` varchar(15), PRIMARY KEY (`ID`), KEY `DomainID` (`DomainID`), KEY `LoginID` (`LoginID`), KEY `IP` (`IP`) ) TYPE=InnoDB; -- GO -- -- DROP TABLE IF EXISTS `tblBL_Countries`; -- GO CREATE TABLE IF NOT EXISTS `tblBL_Countries` ( `ID` int(11) NOT NULL auto_increment, `DomainID` int(11) default 0, `LoginID` int(11) default 0, `CountryCode` varchar(2), PRIMARY KEY (`ID`), KEY `DomainID` (`DomainID`), KEY `LoginID` (`LoginID`), KEY `CountryCode` (`CountryCode`) ) TYPE=InnoDB; -- GO -- -- DROP TABLE IF EXISTS `tblWL_AuthorizedTOEmails`; -- GO CREATE TABLE IF NOT EXISTS `tblWL_AuthorizedTOEmails` ( `ID` int(11) NOT NULL auto_increment, `DomainID` int(11) default 0, `LoginID` int(11) default 0, `Email` varchar(320), PRIMARY KEY (`ID`), KEY `DomainID` (`DomainID`), KEY `LoginID` (`LoginID`), KEY `Email` (`Email`) ) TYPE=InnoDB; -- GO -- -- DROP TABLE IF EXISTS `tblWL_Keywords`; -- GO CREATE TABLE IF NOT EXISTS `tblWL_Keywords` ( `ID` int(11) NOT NULL auto_increment, `DomainID` int(11) default 0, `LoginID` int(11) default 0, `Keywords` varchar(1024), PRIMARY KEY (`ID`), KEY `DomainID` (`DomainID`), KEY `LoginID` (`LoginID`) ) TYPE=InnoDB; -- GO -- -- DROP TABLE IF EXISTS `tblWL_EmailsFrom`; -- GO CREATE TABLE IF NOT EXISTS `tblWL_EmailsFrom` ( `ID` int(11) NOT NULL auto_increment, `DomainID` int(11) default 0, `LoginID` int(11) default 0, `Email` varchar(320), PRIMARY KEY (`ID`), KEY `DomainID` (`DomainID`), KEY `LoginID` (`LoginID`), KEY `Email` (`Email`) ) TYPE=InnoDB; -- GO -- -- DROP TABLE IF EXISTS `tblWL_EmailsTo`; -- GO CREATE TABLE IF NOT EXISTS `tblWL_EmailsTo` ( `ID` int(11) NOT NULL auto_increment, `DomainID` int(11) default 0, `LoginID` int(11) default 0, `Email` varchar(320), PRIMARY KEY (`ID`), KEY `DomainID` (`DomainID`), KEY `LoginID` (`LoginID`), KEY `Email` (`Email`) ) TYPE=InnoDB; -- GO -- -- DROP TABLE IF EXISTS `tblWL_AutoWhitelistForceDelivery`; -- GO CREATE TABLE IF NOT EXISTS `tblWL_AutoWhitelistForceDelivery` ( `ID` int(11) NOT NULL auto_increment, `DomainID` int(11) default 0, `LoginID` int(11) default 0, `Email` varchar(320), PRIMARY KEY (`ID`), KEY `DomainID` (`DomainID`), KEY `LoginID` (`LoginID`), KEY `Email` (`Email`) ) TYPE=InnoDB; -- GO -- -- DROP TABLE IF EXISTS `tblWL_DomainsIPs`; -- GO CREATE TABLE IF NOT EXISTS `tblWL_DomainsIPs` ( `ID` int(11) NOT NULL auto_increment, `DomainID` int(11) default 0, `LoginID` int(11) default 0, `Domain_or_IP` varchar(255), PRIMARY KEY (`ID`), KEY `DomainID` (`DomainID`), KEY `LoginID` (`LoginID`), KEY `Domain_or_IP` (`Domain_or_IP`) ) TYPE=InnoDB; -- GO -- -- DROP TABLE IF EXISTS `tblReloadTableInfo`; -- GO CREATE TABLE IF NOT EXISTS `tblReloadTableInfo` ( `ID` int(11) NOT NULL auto_increment, `DomainID` int(11) default 0, `TableName` varchar(45), `UpdateTable` tinyint(1) default 1, PRIMARY KEY (`ID`), KEY `TableName` (`TableName`) ) TYPE=InnoDB; -- GO -- -- DROP TABLE IF EXISTS `tbl_FilterSettings`; -- GO CREATE TABLE IF NOT EXISTS `tbl_FilterSettings` ( `ID` int(11) NOT NULL auto_increment, `DomainID` int(11) default 0, `BL_DomainsForceDelete` tinyint(1) default 0, `BL_EmailsFromForceDelete` tinyint(1) default 0, `BL_EmailsTOForceDelete` tinyint(1) default 0, `BL_CountriesForceDelete` tinyint(1) default 0, `BL_MAPSForceDelete` tinyint(1) default 0, `BL_KeywordsForceDelete` tinyint(1) default 0, `BL_AttachmentsForceDelete` tinyint(1) default 0, `BL_SURBLForceDelete` tinyint(1) default 0, `BL_IPsForceDelete` tinyint(1) default 0, `BL_HoneypotEmailsForceDelete` tinyint(1) default 0, `RejectNoReverseForceDelete` tinyint(1) default 0, `RejectNoMXForceDelete` tinyint(1) default 0, `SPFFilterEnableForceDelete` tinyint(1) default 0, `RejectEmptyMailFromForceDelete` tinyint(1) default 0, `RejectSameToFromDomainForceDelete` tinyint(1) default 0, `RejectSameToFromForceDelete` tinyint(1) default 0, `SFDBForceDelete` tinyint(1) default 0, `MAXRCPT_TOForceDelete` tinyint(1) default 0, `AUTHORIZEDTOForceDelete` tinyint(1) default 0, `ANTIVIRUSForceDelete` tinyint(1) default 0, `IMAGEForceDelete` tinyint(1) default 0, `SURBLForceDelete` tinyint(1) default 0, `BAYESIANForceDelete` tinyint(1) default 0, `SPFFilterEnable` tinyint(1) default 1, `SPFNeutralFilter` tinyint(1) default 0, `SPFSoftfailFilter` tinyint(1) default 1, `SPFFailFilter` tinyint(1) default 1, `AllowPercent` tinyint(1) default 0, `TagSPAM` tinyint(1) default 0, `TagSPAMSubject` tinyint(1) default 0, `TagSPAMandQuarantine` tinyint(1) default 0, `RejectNoReverse` tinyint(1) default 1, `RejectNoMX` tinyint(1) default 1, `RejectEmptyMailFrom` tinyint(1) default 0, `RejectSameToFrom` tinyint(1) default 0, `RejectSameToFromDomain` tinyint(1) default 0, `EnableIPCacheBlacklist` tinyint(1) default 1, `AutoWhiteListForceDeliveryEnabled` tinyint(1) default 1, `MinMAPS` int(11) default 1, `MaxSubjectSpaces` int(11) default 10, `SpamImageThreshold` int(11) default 10, `SFDB_NetworkReliability` int(11) default 3, `SFDB_FiltersAll` tinyint(1) default 1, `SFDB_FiltersList` varchar(255), `DestSMTPServer` varchar(255) default '', `DestSMTPServerPort` int(11), PRIMARY KEY (`ID`), KEY `DomainID` (`DomainID`) ) TYPE=InnoDB; -- GO -- -- DROP TABLE IF EXISTS `tbl_LocalDomains`; -- GO CREATE TABLE IF NOT EXISTS `tbl_LocalDomains` ( `ID` int(11) NOT NULL auto_increment, `DomainName` varchar(255), `DestSMTPServer` varchar(255) default NULL, `DestSMTPServerPort` int(11) default NULL, `UseDefaults` tinyint(1) NOT NULL DEFAULT 1, PRIMARY KEY (`ID`), UNIQUE KEY `DomainName` (`DomainName`) ) TYPE=InnoDB; -- GO -- ALTER TABLE `tblBL_Domains` ADD CONSTRAINT `FKtblBL_Domains` FOREIGN KEY `FKtblBL_Domains` (`DomainID`) REFERENCES `tbl_localdomains` (`ID`) ON DELETE CASCADE; -- GO -- ALTER TABLE `tblBL_EmailsFrom` ADD CONSTRAINT `FKtblBL_EmailsFrom` FOREIGN KEY `FKtblBL_EmailsFrom` (`DomainID`) REFERENCES `tbl_localdomains` (`ID`) ON DELETE CASCADE; -- GO -- ALTER TABLE `tblBL_EmailsTo` ADD CONSTRAINT `FKtblBL_EmailsTo` FOREIGN KEY `FKtblBL_EmailsTo` (`DomainID`) REFERENCES `tbl_localdomains` (`ID`) ON DELETE CASCADE; -- GO -- ALTER TABLE `tblBL_MAPS` ADD CONSTRAINT `FKtblBL_MAPS` FOREIGN KEY `FKtblBL_MAPS` (`DomainID`) REFERENCES `tbl_localdomains` (`ID`) ON DELETE CASCADE; -- GO -- ALTER TABLE `tblBL_Keywords` ADD CONSTRAINT `FKtblBL_Keywords` FOREIGN KEY `FKtblBL_Keywords` (`DomainID`) REFERENCES `tbl_localdomains` (`ID`) ON DELETE CASCADE; -- GO -- ALTER TABLE `tblBL_Attachments` ADD CONSTRAINT `FKtblBL_Attachments` FOREIGN KEY `FKtblBL_Attachments` (`DomainID`) REFERENCES `tbl_localdomains` (`ID`) ON DELETE CASCADE; -- GO -- ALTER TABLE `tblBL_SURBL` ADD CONSTRAINT `FKtblBL_SURBL` FOREIGN KEY `FKtblBL_SURBL` (`DomainID`) REFERENCES `tbl_localdomains` (`ID`) ON DELETE CASCADE; -- GO -- ALTER TABLE `tblBL_IPs` ADD CONSTRAINT `FKtblBL_IPs` FOREIGN KEY `FKtblBL_IPs` (`DomainID`) REFERENCES `tbl_localdomains` (`ID`) ON DELETE CASCADE; -- GO -- ALTER TABLE `tblBL_HoneypotEmails` ADD CONSTRAINT `FKtblBL_HoneypotEmails` FOREIGN KEY `FKtblBL_HoneypotEmails` (`DomainID`) REFERENCES `tbl_localdomains` (`ID`) ON DELETE CASCADE; -- GO -- ALTER TABLE `tblBL_HoneypotBlockedIPs` ADD CONSTRAINT `FKtblBL_HoneypotBlockedIPs` FOREIGN KEY `FKtblBL_HoneypotBlockedIPs` (`DomainID`) REFERENCES `tbl_localdomains` (`ID`) ON DELETE CASCADE; -- GO -- ALTER TABLE `tblWL_AuthorizedTOEmails` ADD CONSTRAINT `FKtblWL_AuthorizedTOEmails` FOREIGN KEY `FKtblWL_AuthorizedTOEmails` (`DomainID`) REFERENCES `tbl_localdomains` (`ID`) ON DELETE CASCADE; -- GO -- ALTER TABLE `tblWL_Keywords` ADD CONSTRAINT `FKtblWL_Keywords` FOREIGN KEY `FKtblWL_Keywords` (`DomainID`) REFERENCES `tbl_localdomains` (`ID`) ON DELETE CASCADE; -- GO -- ALTER TABLE `tblWL_EmailsFrom` ADD CONSTRAINT `FKtblWL_EmailsFrom` FOREIGN KEY `FKtblWL_EmailsFrom` (`DomainID`) REFERENCES `tbl_localdomains` (`ID`) ON DELETE CASCADE; -- GO -- ALTER TABLE `tblWL_EmailsTo` ADD CONSTRAINT `FKtblWL_EmailsTo` FOREIGN KEY `FKtblWL_EmailsTo` (`DomainID`) REFERENCES `tbl_localdomains` (`ID`) ON DELETE CASCADE; -- GO -- ALTER TABLE `tblWL_AutoWhitelistForceDelivery` ADD CONSTRAINT `FKtblWL_AutoWhitelistForceDelivery` FOREIGN KEY `FKtblWL_AutoWhitelistForceDelivery` (`DomainID`) REFERENCES `tbl_localdomains` (`ID`) ON DELETE CASCADE; -- GO -- ALTER TABLE `tblWL_DomainsIPs` ADD CONSTRAINT `FKtblWL_DomainsIPs` FOREIGN KEY `FKtblWL_DomainsIPs` (`DomainID`) REFERENCES `tbl_localdomains` (`ID`) ON DELETE CASCADE; -- GO -- insert into tbl_LocalDomains (DomainName) VALUES (' ALL DOMAINS'); -- GO -- DROP TRIGGER tr_LocalDomains_AU; -- GO -- delimiter // CREATE TRIGGER tr_LocalDomains_AU AFTER UPDATE ON tbl_LocalDomains FOR EACH ROW BEGIN IF NOT EXISTS (SELECT * FROM tblReloadTableInfo r WHERE (r.DomainID = OLD.ID) AND (r.TableName = TableName)) THEN INSERT INTO tblReloadTableInfo (DomainID, UpdateTable, TableName) VALUES (OLD.ID, 1, 'tbl_LocalDomains'); END IF; END; // delimiter; -- GO -- DROP TRIGGER tr_LocalDomains_AI; -- GO -- delimiter // CREATE TRIGGER tr_LocalDomains_AI AFTER INSERT ON tbl_LocalDomains FOR EACH ROW BEGIN IF NOT EXISTS (SELECT * FROM tblReloadTableInfo r WHERE (r.DomainID = NEW.ID) AND (r.TableName = TableName)) THEN INSERT INTO tblReloadTableInfo (DomainID, UpdateTable, TableName) VALUES (NEW.ID, 1, 'tbl_LocalDomains'); END IF; END; // delimiter; -- GO -- DROP TRIGGER tr_LocalDomains_AD; -- GO -- delimiter // CREATE TRIGGER tr_LocalDomains_AD AFTER DELETE ON tbl_LocalDomains FOR EACH ROW BEGIN IF NOT EXISTS (SELECT * FROM tblReloadTableInfo r WHERE (r.DomainID = OLD.ID) AND (r.TableName = TableName)) THEN INSERT INTO tblReloadTableInfo (DomainID, UpdateTable, TableName) VALUES (OLD.ID, 1, 'tbl_LocalDomains'); END IF; END; // delimiter; -- GO -- DROP TRIGGER tr_LocalDomains_BD; -- GO -- delimiter // CREATE TRIGGER tr_LocalDomains_BD BEFORE DELETE ON tbl_LocalDomains FOR EACH ROW BEGIN IF (OLD.DomainName = ' ALL DOMAINS') THEN CALL ERROR_UnableToDeleteSystem_ALLDOMAINS_Record(); END IF; END; // delimiter; -- GO -- DROP TRIGGER trWL_AuthorizedTOEmails_AU; -- GO -- delimiter // CREATE TRIGGER trWL_AuthorizedTOEmails_AU AFTER UPDATE ON tblWL_AuthorizedTOEmails FOR EACH ROW BEGIN IF NOT EXISTS (SELECT * FROM tblReloadTableInfo r WHERE (r.DomainID = OLD.DomainID) AND (r.TableName = TableName)) THEN INSERT INTO tblReloadTableInfo (DomainID, UpdateTable, TableName) VALUES (OLD.DomainID, 1, 'tblWL_AuthorizedTOEmails'); END IF; END; // delimiter; -- GO -- DROP TRIGGER trWL_AuthorizedTOEmails_AI; -- GO -- delimiter // CREATE TRIGGER trWL_AuthorizedTOEmails_AI AFTER INSERT ON tblWL_AuthorizedTOEmails FOR EACH ROW BEGIN IF NOT EXISTS (SELECT * FROM tblReloadTableInfo r WHERE (r.DomainID = NEW.DomainID) AND (r.TableName = TableName)) THEN INSERT INTO tblReloadTableInfo (DomainID, UpdateTable, TableName) VALUES (NEW.DomainID, 1, 'tblWL_AuthorizedTOEmails'); END IF; END; // delimiter; -- GO -- DROP TRIGGER trWL_AuthorizedTOEmails_AD; -- GO -- delimiter // CREATE TRIGGER trWL_AuthorizedTOEmails_AD AFTER DELETE ON tblWL_AuthorizedTOEmails FOR EACH ROW BEGIN IF NOT EXISTS (SELECT * FROM tblReloadTableInfo r WHERE (r.DomainID = OLD.DomainID) AND (r.TableName = TableName)) THEN INSERT INTO tblReloadTableInfo (DomainID, UpdateTable, TableName) VALUES (OLD.DomainID, 1, 'tblWL_AuthorizedTOEmails'); END IF; END; // delimiter; -- GO -- DROP TRIGGER trWL_Keywords_AU; -- GO -- delimiter // CREATE TRIGGER trWL_Keywords_AU AFTER UPDATE ON tblWL_Keywords FOR EACH ROW BEGIN IF NOT EXISTS (SELECT * FROM tblReloadTableInfo r WHERE (r.DomainID = OLD.DomainID) AND (r.TableName = TableName)) THEN INSERT INTO tblReloadTableInfo (DomainID, UpdateTable, TableName) VALUES (OLD.DomainID, 1, 'tblWL_Keywords'); END IF; END; // delimiter; -- GO -- DROP TRIGGER trWL_Keywords_AI; -- GO -- delimiter // CREATE TRIGGER trWL_Keywords_AI AFTER INSERT ON tblWL_Keywords FOR EACH ROW BEGIN IF NOT EXISTS (SELECT * FROM tblReloadTableInfo r WHERE (r.DomainID = NEW.DomainID) AND (r.TableName = TableName)) THEN INSERT INTO tblReloadTableInfo (DomainID, UpdateTable, TableName) VALUES (NEW.DomainID, 1, 'tblWL_Keywords'); END IF; END; // delimiter; -- GO -- DROP TRIGGER trWL_Keywords_AD; -- GO -- delimiter // CREATE TRIGGER trWL_Keywords_AD AFTER DELETE ON tblWL_Keywords FOR EACH ROW BEGIN IF NOT EXISTS (SELECT * FROM tblReloadTableInfo r WHERE (r.DomainID = OLD.DomainID) AND (r.TableName = TableName)) THEN INSERT INTO tblReloadTableInfo (DomainID, UpdateTable, TableName) VALUES (OLD.DomainID, 1, 'tblWL_Keywords'); END IF; END; // delimiter; -- GO -- DROP TRIGGER trWL_EmailsFrom_AU; -- GO -- delimiter // CREATE TRIGGER trWL_EmailsFrom_AU AFTER UPDATE ON tblWL_EmailsFrom FOR EACH ROW BEGIN IF NOT EXISTS (SELECT * FROM tblReloadTableInfo r WHERE (r.DomainID = OLD.DomainID) AND (r.TableName = TableName)) THEN INSERT INTO tblReloadTableInfo (DomainID, UpdateTable, TableName) VALUES (OLD.DomainID, 1, 'tblWL_EmailsFrom'); END IF; END; // delimiter; -- GO -- DROP TRIGGER trWL_EmailsFrom_AI; -- GO -- delimiter // CREATE TRIGGER trWL_EmailsFrom_AI AFTER INSERT ON tblWL_EmailsFrom FOR EACH ROW BEGIN IF NOT EXISTS (SELECT * FROM tblReloadTableInfo r WHERE (r.DomainID = NEW.DomainID) AND (r.TableName = TableName)) THEN INSERT INTO tblReloadTableInfo (DomainID, UpdateTable, TableName) VALUES (NEW.DomainID, 1, 'tblWL_EmailsFrom'); END IF; END; // delimiter; -- GO -- DROP TRIGGER trWL_EmailsFrom_AD; -- GO -- delimiter // CREATE TRIGGER trWL_EmailsFrom_AD AFTER DELETE ON tblWL_EmailsFrom FOR EACH ROW BEGIN IF NOT EXISTS (SELECT * FROM tblReloadTableInfo r WHERE (r.DomainID = OLD.DomainID) AND (r.TableName = TableName)) THEN INSERT INTO tblReloadTableInfo (DomainID, UpdateTable, TableName) VALUES (OLD.DomainID, 1, 'tblWL_EmailsFrom'); END IF; END; // delimiter; -- GO -- DROP TRIGGER trWL_EmailsTO_AU; -- GO -- delimiter // CREATE TRIGGER trWL_EmailsTO_AU AFTER UPDATE ON tblWL_EmailsTO FOR EACH ROW BEGIN IF NOT EXISTS (SELECT * FROM tblReloadTableInfo r WHERE (r.DomainID = OLD.DomainID) AND (r.TableName = TableName)) THEN INSERT INTO tblReloadTableInfo (DomainID, UpdateTable, TableName) VALUES (OLD.DomainID, 1, 'tblWL_EmailsTO'); END IF; END; // delimiter; -- GO -- DROP TRIGGER trWL_EmailsTO_AI; -- GO -- delimiter // CREATE TRIGGER trWL_EmailsTO_AI AFTER INSERT ON tblWL_EmailsTO FOR EACH ROW BEGIN IF NOT EXISTS (SELECT * FROM tblReloadTableInfo r WHERE (r.DomainID = NEW.DomainID) AND (r.TableName = TableName)) THEN INSERT INTO tblReloadTableInfo (DomainID, UpdateTable, TableName) VALUES (NEW.DomainID, 1, 'tblWL_EmailsTO'); END IF; END; // delimiter; -- GO -- DROP TRIGGER trWL_EmailsTO_AD; -- GO -- delimiter // CREATE TRIGGER trWL_EmailsTO_AD AFTER DELETE ON tblWL_EmailsTO FOR EACH ROW BEGIN IF NOT EXISTS (SELECT * FROM tblReloadTableInfo r WHERE (r.DomainID = OLD.DomainID) AND (r.TableName = TableName)) THEN INSERT INTO tblReloadTableInfo (DomainID, UpdateTable, TableName) VALUES (OLD.DomainID, 1, 'tblWL_EmailsTO'); END IF; END; // delimiter; -- GO -- DROP TRIGGER trWL_DomainsIPs_AU; -- GO -- delimiter // CREATE TRIGGER trWL_DomainsIPs_AU AFTER UPDATE ON tblWL_DomainsIPs FOR EACH ROW BEGIN IF NOT EXISTS (SELECT * FROM tblReloadTableInfo r WHERE (r.DomainID = OLD.DomainID) AND (r.TableName = TableName)) THEN INSERT INTO tblReloadTableInfo (DomainID, UpdateTable, TableName) VALUES (OLD.DomainID, 1, 'tblWL_DomainsIPs'); END IF; END; // delimiter; -- GO -- DROP TRIGGER trWL_DomainsIPs_AI; -- GO -- delimiter // CREATE TRIGGER trWL_DomainsIPs_AI AFTER INSERT ON tblWL_DomainsIPs FOR EACH ROW BEGIN IF NOT EXISTS (SELECT * FROM tblReloadTableInfo r WHERE (r.DomainID = NEW.DomainID) AND (r.TableName = TableName)) THEN INSERT INTO tblReloadTableInfo (DomainID, UpdateTable, TableName) VALUES (NEW.DomainID, 1, 'tblWL_DomainsIPs'); END IF; END; // delimiter; -- GO -- DROP TRIGGER trWL_DomainsIPs_AD; -- GO -- delimiter // CREATE TRIGGER trWL_DomainsIPs_AD AFTER DELETE ON tblWL_DomainsIPs FOR EACH ROW BEGIN IF NOT EXISTS (SELECT * FROM tblReloadTableInfo r WHERE (r.DomainID = OLD.DomainID) AND (r.TableName = TableName)) THEN INSERT INTO tblReloadTableInfo (DomainID, UpdateTable, TableName) VALUES (OLD.DomainID, 1, 'tblWL_DomainsIPs'); END IF; END; // delimiter; -- GO -- DROP TRIGGER trWL_AutoWhiteListForceDelivery_AU; -- GO -- delimiter // CREATE TRIGGER trWL_AutoWhiteListForceDelivery_AU AFTER UPDATE ON tblWL_AutoWhiteListForceDelivery FOR EACH ROW BEGIN IF NOT EXISTS (SELECT * FROM tblReloadTableInfo r WHERE (r.DomainID = OLD.DomainID) AND (r.TableName = TableName)) THEN INSERT INTO tblReloadTableInfo (DomainID, UpdateTable, TableName) VALUES (OLD.DomainID, 1, 'tblWL_AutoWhiteListForceDelivery'); END IF; END; // delimiter; -- GO -- DROP TRIGGER trWL_AutoWhiteListForceDelivery_AI; -- GO -- delimiter // CREATE TRIGGER trWL_AutoWhiteListForceDelivery_AI AFTER INSERT ON tblWL_AutoWhiteListForceDelivery FOR EACH ROW BEGIN IF NOT EXISTS (SELECT * FROM tblReloadTableInfo r WHERE (r.DomainID = NEW.DomainID) AND (r.TableName = TableName)) THEN INSERT INTO tblReloadTableInfo (DomainID, UpdateTable, TableName) VALUES (NEW.DomainID, 1, 'tblWL_AutoWhiteListForceDelivery'); END IF; END; // delimiter; -- GO -- DROP TRIGGER trWL_AutoWhiteListForceDelivery_AD; -- GO -- delimiter // CREATE TRIGGER trWL_AutoWhiteListForceDelivery_AD AFTER DELETE ON tblWL_AutoWhiteListForceDelivery FOR EACH ROW BEGIN IF NOT EXISTS (SELECT * FROM tblReloadTableInfo r WHERE (r.DomainID = OLD.DomainID) AND (r.TableName = TableName)) THEN INSERT INTO tblReloadTableInfo (DomainID, UpdateTable, TableName) VALUES (OLD.DomainID, 1, 'tblWL_AutoWhiteListForceDelivery'); END IF; END; // delimiter; -- GO -- DROP TRIGGER trBL_Domains_AU; -- GO -- delimiter // CREATE TRIGGER trBL_Domains_AU AFTER UPDATE ON tblBL_Domains FOR EACH ROW BEGIN IF NOT EXISTS (SELECT * FROM tblReloadTableInfo r WHERE (r.DomainID = OLD.DomainID) AND (r.TableName = TableName)) THEN INSERT INTO tblReloadTableInfo (DomainID, UpdateTable, TableName) VALUES (OLD.DomainID, 1, 'tblBL_Domains'); END IF; END; // delimiter; -- GO -- DROP TRIGGER trBL_Domains_AI; -- GO -- delimiter // CREATE TRIGGER trBL_Domains_AI AFTER INSERT ON tblBL_Domains FOR EACH ROW BEGIN IF NOT EXISTS (SELECT * FROM tblReloadTableInfo r WHERE (r.DomainID = NEW.DomainID) AND (r.TableName = TableName)) THEN INSERT INTO tblReloadTableInfo (DomainID, UpdateTable, TableName) VALUES (NEW.DomainID, 1, 'tblBL_Domains'); END IF; END; // delimiter; -- GO -- DROP TRIGGER trBL_Domains_AD; -- GO -- delimiter // CREATE TRIGGER trBL_Domains_AD AFTER DELETE ON tblBL_Domains FOR EACH ROW BEGIN IF NOT EXISTS (SELECT * FROM tblReloadTableInfo r WHERE (r.DomainID = OLD.DomainID) AND (r.TableName = TableName)) THEN INSERT INTO tblReloadTableInfo (DomainID, UpdateTable, TableName) VALUES (OLD.DomainID, 1, 'tblBL_Domains'); END IF; END; // delimiter; -- GO -- DROP TRIGGER trBL_EmailsFrom_AU; -- GO -- delimiter // CREATE TRIGGER trBL_EmailsFrom_AU AFTER UPDATE ON tblBL_EmailsFrom FOR EACH ROW BEGIN IF NOT EXISTS (SELECT * FROM tblReloadTableInfo r WHERE (r.DomainID = OLD.DomainID) AND (r.TableName = TableName)) THEN INSERT INTO tblReloadTableInfo (DomainID, UpdateTable, TableName) VALUES (OLD.DomainID, 1, 'tblBL_EmailsFrom'); END IF; END; // delimiter; -- GO -- DROP TRIGGER trBL_EmailsFrom_AI; -- GO -- delimiter // CREATE TRIGGER trBL_EmailsFrom_AI AFTER INSERT ON tblBL_EmailsFrom FOR EACH ROW BEGIN IF NOT EXISTS (SELECT * FROM tblReloadTableInfo r WHERE (r.DomainID = NEW.DomainID) AND (r.TableName = TableName)) THEN INSERT INTO tblReloadTableInfo (DomainID, UpdateTable, TableName) VALUES (NEW.DomainID, 1, 'tblBL_EmailsFrom'); END IF; END; // delimiter; -- GO -- DROP TRIGGER trBL_EmailsFrom_AD; -- GO -- delimiter // CREATE TRIGGER trBL_EmailsFrom_AD AFTER DELETE ON tblBL_EmailsFrom FOR EACH ROW BEGIN IF NOT EXISTS (SELECT * FROM tblReloadTableInfo r WHERE (r.DomainID = OLD.DomainID) AND (r.TableName = TableName)) THEN INSERT INTO tblReloadTableInfo (DomainID, UpdateTable, TableName) VALUES (OLD.DomainID, 1, 'tblBL_EmailsFrom'); END IF; END; // delimiter; -- GO -- DROP TRIGGER trBL_EmailsTO_AU; -- GO -- delimiter // CREATE TRIGGER trBL_EmailsTO_AU AFTER UPDATE ON tblBL_EmailsTO FOR EACH ROW BEGIN IF NOT EXISTS (SELECT * FROM tblReloadTableInfo r WHERE (r.DomainID = OLD.DomainID) AND (r.TableName = TableName)) THEN INSERT INTO tblReloadTableInfo (DomainID, UpdateTable, TableName) VALUES (OLD.DomainID, 1, 'tblBL_EmailsTO'); END IF; END; // delimiter; -- GO -- DROP TRIGGER trBL_EmailsTO_AI; -- GO -- delimiter // CREATE TRIGGER trBL_EmailsTO_AI AFTER INSERT ON tblBL_EmailsTO FOR EACH ROW BEGIN IF NOT EXISTS (SELECT * FROM tblReloadTableInfo r WHERE (r.DomainID = NEW.DomainID) AND (r.TableName = TableName)) THEN INSERT INTO tblReloadTableInfo (DomainID, UpdateTable, TableName) VALUES (NEW.DomainID, 1, 'tblBL_EmailsTO'); END IF; END; // delimiter; -- GO -- DROP TRIGGER trBL_EmailsTO_AD; -- GO -- delimiter // CREATE TRIGGER trBL_EmailsTO_AD AFTER DELETE ON tblBL_EmailsTO FOR EACH ROW BEGIN IF NOT EXISTS (SELECT * FROM tblReloadTableInfo r WHERE (r.DomainID = OLD.DomainID) AND (r.TableName = TableName)) THEN INSERT INTO tblReloadTableInfo (DomainID, UpdateTable, TableName) VALUES (OLD.DomainID, 1, 'tblBL_EmailsTO'); END IF; END; // delimiter; -- GO -- DROP TRIGGER trBL_Countries_AU; -- GO -- delimiter // CREATE TRIGGER trBL_Countries_AU AFTER UPDATE ON tblBL_Countries FOR EACH ROW BEGIN IF NOT EXISTS (SELECT * FROM tblReloadTableInfo r WHERE (r.DomainID = OLD.DomainID) AND (r.TableName = TableName)) THEN INSERT INTO tblReloadTableInfo (DomainID, UpdateTable, TableName) VALUES (OLD.DomainID, 1, 'tblBL_Countries'); END IF; END; // delimiter; -- GO -- DROP TRIGGER trBL_Countries_AI; -- GO -- delimiter // CREATE TRIGGER trBL_Countries_AI AFTER INSERT ON tblBL_Countries FOR EACH ROW BEGIN IF NOT EXISTS (SELECT * FROM tblReloadTableInfo r WHERE (r.DomainID = NEW.DomainID) AND (r.TableName = TableName)) THEN INSERT INTO tblReloadTableInfo (DomainID, UpdateTable, TableName) VALUES (NEW.DomainID, 1, 'tblBL_Countries'); END IF; END; // delimiter; -- GO -- DROP TRIGGER trBL_Countries_AD; -- GO -- delimiter // CREATE TRIGGER trBL_Countries_AD AFTER DELETE ON tblBL_Countries FOR EACH ROW BEGIN IF NOT EXISTS (SELECT * FROM tblReloadTableInfo r WHERE (r.DomainID = OLD.DomainID) AND (r.TableName = TableName)) THEN INSERT INTO tblReloadTableInfo (DomainID, UpdateTable, TableName) VALUES (OLD.DomainID, 1, 'tblBL_Countries'); END IF; END; // delimiter; -- GO -- DROP TRIGGER trBL_MAPS_AU; -- GO -- delimiter // CREATE TRIGGER trBL_MAPS_AU AFTER UPDATE ON tblBL_MAPS FOR EACH ROW BEGIN IF NOT EXISTS (SELECT * FROM tblReloadTableInfo r WHERE (r.DomainID = OLD.DomainID) AND (r.TableName = TableName)) THEN INSERT INTO tblReloadTableInfo (DomainID, UpdateTable, TableName) VALUES (OLD.DomainID, 1, 'tblBL_MAPS'); END IF; END; // delimiter; -- GO -- DROP TRIGGER trBL_MAPS_AI; -- GO -- delimiter // CREATE TRIGGER trBL_MAPS_AI AFTER INSERT ON tblBL_MAPS FOR EACH ROW BEGIN IF NOT EXISTS (SELECT * FROM tblReloadTableInfo r WHERE (r.DomainID = NEW.DomainID) AND (r.TableName = TableName)) THEN INSERT INTO tblReloadTableInfo (DomainID, UpdateTable, TableName) VALUES (NEW.DomainID, 1, 'tblBL_MAPS'); END IF; END; // delimiter; -- GO -- DROP TRIGGER trBL_MAPS_AD; -- GO -- delimiter // CREATE TRIGGER trBL_MAPS_AD AFTER DELETE ON tblBL_MAPS FOR EACH ROW BEGIN IF NOT EXISTS (SELECT * FROM tblReloadTableInfo r WHERE (r.DomainID = OLD.DomainID) AND (r.TableName = TableName)) THEN INSERT INTO tblReloadTableInfo (DomainID, UpdateTable, TableName) VALUES (OLD.DomainID, 1, 'tblBL_MAPS'); END IF; END; // delimiter; -- GO -- DROP TRIGGER trBL_Keywords_AU; -- GO -- delimiter // CREATE TRIGGER trBL_Keywords_AU AFTER UPDATE ON tblBL_Keywords FOR EACH ROW BEGIN IF NOT EXISTS (SELECT * FROM tblReloadTableInfo r WHERE (r.DomainID = OLD.DomainID) AND (r.TableName = TableName)) THEN INSERT INTO tblReloadTableInfo (DomainID, UpdateTable, TableName) VALUES (OLD.DomainID, 1, 'tblBL_Keywords'); END IF; END; // delimiter; -- GO -- DROP TRIGGER trBL_Keywords_AI; -- GO -- delimiter // CREATE TRIGGER trBL_Keywords_AI AFTER INSERT ON tblBL_Keywords FOR EACH ROW BEGIN IF NOT EXISTS (SELECT * FROM tblReloadTableInfo r WHERE (r.DomainID = NEW.DomainID) AND (r.TableName = TableName)) THEN INSERT INTO tblReloadTableInfo (DomainID, UpdateTable, TableName) VALUES (NEW.DomainID, 1, 'tblBL_Keywords'); END IF; END; // delimiter; -- GO -- DROP TRIGGER trBL_Keywords_AD; -- GO -- delimiter // CREATE TRIGGER trBL_Keywords_AD AFTER DELETE ON tblBL_Keywords FOR EACH ROW BEGIN IF NOT EXISTS (SELECT * FROM tblReloadTableInfo r WHERE (r.DomainID = OLD.DomainID) AND (r.TableName = TableName)) THEN INSERT INTO tblReloadTableInfo (DomainID, UpdateTable, TableName) VALUES (OLD.DomainID, 1, 'tblBL_Keywords'); END IF; END; // delimiter; -- GO -- DROP TRIGGER trBL_Attachments_AU; -- GO -- delimiter // CREATE TRIGGER trBL_Attachments_AU AFTER UPDATE ON tblBL_Attachments FOR EACH ROW BEGIN IF NOT EXISTS (SELECT * FROM tblReloadTableInfo r WHERE (r.DomainID = OLD.DomainID) AND (r.TableName = TableName)) THEN INSERT INTO tblReloadTableInfo (DomainID, UpdateTable, TableName) VALUES (OLD.DomainID, 1, 'tblBL_Attachments'); END IF; END; // delimiter; -- GO -- DROP TRIGGER trBL_Attachments_AI; -- GO -- delimiter // CREATE TRIGGER trBL_Attachments_AI AFTER INSERT ON tblBL_Attachments FOR EACH ROW BEGIN IF NOT EXISTS (SELECT * FROM tblReloadTableInfo r WHERE (r.DomainID = NEW.DomainID) AND (r.TableName = TableName)) THEN INSERT INTO tblReloadTableInfo (DomainID, UpdateTable, TableName) VALUES (NEW.DomainID, 1, 'tblBL_Attachments'); END IF; END; // delimiter; -- GO -- DROP TRIGGER trBL_Attachments_AD; -- GO -- delimiter // CREATE TRIGGER trBL_Attachments_AD AFTER DELETE ON tblBL_Attachments FOR EACH ROW BEGIN IF NOT EXISTS (SELECT * FROM tblReloadTableInfo r WHERE (r.DomainID = OLD.DomainID) AND (r.TableName = TableName)) THEN INSERT INTO tblReloadTableInfo (DomainID, UpdateTable, TableName) VALUES (OLD.DomainID, 1, 'tblBL_Attachments'); END IF; END; // delimiter; -- GO -- DROP TRIGGER trBL_SURBL_AU; -- GO -- delimiter // CREATE TRIGGER trBL_SURBL_AU AFTER UPDATE ON tblBL_SURBL FOR EACH ROW BEGIN IF NOT EXISTS (SELECT * FROM tblReloadTableInfo r WHERE (r.DomainID = OLD.DomainID) AND (r.TableName = TableName)) THEN INSERT INTO tblReloadTableInfo (DomainID, UpdateTable, TableName) VALUES (OLD.DomainID, 1, 'tblBL_SURBL'); END IF; END; // delimiter; -- GO -- DROP TRIGGER trBL_SURBL_AI; -- GO -- delimiter // CREATE TRIGGER trBL_SURBL_AI AFTER INSERT ON tblBL_SURBL FOR EACH ROW BEGIN IF NOT EXISTS (SELECT * FROM tblReloadTableInfo r WHERE (r.DomainID = NEW.DomainID) AND (r.TableName = TableName)) THEN INSERT INTO tblReloadTableInfo (DomainID, UpdateTable, TableName) VALUES (NEW.DomainID, 1, 'tblBL_SURBL'); END IF; END; // delimiter; -- GO -- DROP TRIGGER trBL_SURBL_AD; -- GO -- delimiter // CREATE TRIGGER trBL_SURBL_AD AFTER DELETE ON tblBL_SURBL FOR EACH ROW BEGIN IF NOT EXISTS (SELECT * FROM tblReloadTableInfo r WHERE (r.DomainID = OLD.DomainID) AND (r.TableName = TableName)) THEN INSERT INTO tblReloadTableInfo (DomainID, UpdateTable, TableName) VALUES (OLD.DomainID, 1, 'tblBL_SURBL'); END IF; END; // delimiter; -- GO -- DROP TRIGGER trBL_IPs_AU; -- GO -- delimiter // CREATE TRIGGER trBL_IPs_AU AFTER UPDATE ON tblBL_IPs FOR EACH ROW BEGIN IF NOT EXISTS (SELECT * FROM tblReloadTableInfo r WHERE (r.DomainID = OLD.DomainID) AND (r.TableName = TableName)) THEN INSERT INTO tblReloadTableInfo (DomainID, UpdateTable, TableName) VALUES (OLD.DomainID, 1, 'tblBL_IPs'); END IF; END; // delimiter; -- GO -- DROP TRIGGER trBL_IPs_AI; -- GO -- delimiter // CREATE TRIGGER trBL_IPs_AI AFTER INSERT ON tblBL_IPs FOR EACH ROW BEGIN IF NOT EXISTS (SELECT * FROM tblReloadTableInfo r WHERE (r.DomainID = NEW.DomainID) AND (r.TableName = TableName)) THEN INSERT INTO tblReloadTableInfo (DomainID, UpdateTable, TableName) VALUES (NEW.DomainID, 1, 'tblBL_IPs'); END IF; END; // delimiter; -- GO -- DROP TRIGGER trBL_IPs_AD; -- GO -- delimiter // CREATE TRIGGER trBL_IPs_AD AFTER DELETE ON tblBL_IPs FOR EACH ROW BEGIN IF NOT EXISTS (SELECT * FROM tblReloadTableInfo r WHERE (r.DomainID = OLD.DomainID) AND (r.TableName = TableName)) THEN INSERT INTO tblReloadTableInfo (DomainID, UpdateTable, TableName) VALUES (OLD.DomainID, 1, 'tblBL_IPs'); END IF; END; // delimiter; -- GO -- DROP TRIGGER trBL_HoneypotEmails_AU; -- GO -- delimiter // CREATE TRIGGER trBL_HoneypotEmails_AU AFTER UPDATE ON tblBL_HoneypotEmails FOR EACH ROW BEGIN IF NOT EXISTS (SELECT * FROM tblReloadTableInfo r WHERE (r.DomainID = OLD.DomainID) AND (r.TableName = TableName)) THEN INSERT INTO tblReloadTableInfo (DomainID, UpdateTable, TableName) VALUES (OLD.DomainID, 1, 'tblBL_HoneypotEmails'); END IF; END; // delimiter; -- GO -- DROP TRIGGER trBL_HoneypotEmails_AI; -- GO -- delimiter // CREATE TRIGGER trBL_HoneypotEmails_AI AFTER INSERT ON tblBL_HoneypotEmails FOR EACH ROW BEGIN IF NOT EXISTS (SELECT * FROM tblReloadTableInfo r WHERE (r.DomainID = NEW.DomainID) AND (r.TableName = TableName)) THEN INSERT INTO tblReloadTableInfo (DomainID, UpdateTable, TableName) VALUES (NEW.DomainID, 1, 'tblBL_HoneypotEmails'); END IF; END; // delimiter; -- GO -- DROP TRIGGER trBL_HoneypotEmails_AD; -- GO -- delimiter // CREATE TRIGGER trBL_HoneypotEmails_AD AFTER DELETE ON tblBL_HoneypotEmails FOR EACH ROW BEGIN IF NOT EXISTS (SELECT * FROM tblReloadTableInfo r WHERE (r.DomainID = OLD.DomainID) AND (r.TableName = TableName)) THEN INSERT INTO tblReloadTableInfo (DomainID, UpdateTable, TableName) VALUES (OLD.DomainID, 1, 'tblBL_HoneypotEmails'); END IF; END; // delimiter; -- GO -- DROP TRIGGER trBL_HoneypotBlockedIPs_AU; -- GO -- delimiter // CREATE TRIGGER trBL_HoneypotBlockedIPs_AU AFTER UPDATE ON tblBL_HoneypotBlockedIPs FOR EACH ROW BEGIN IF NOT EXISTS (SELECT * FROM tblReloadTableInfo r WHERE (r.DomainID = OLD.DomainID) AND (r.TableName = TableName)) THEN INSERT INTO tblReloadTableInfo (DomainID, UpdateTable, TableName) VALUES (OLD.DomainID, 1, 'tblBL_HoneypotBlockedIPs'); END IF; END; // delimiter; -- GO -- DROP TRIGGER trBL_HoneypotBlockedIPs_AI; -- GO -- delimiter // CREATE TRIGGER trBL_HoneypotBlockedIPs_AI AFTER INSERT ON tblBL_HoneypotBlockedIPs FOR EACH ROW BEGIN IF NOT EXISTS (SELECT * FROM tblReloadTableInfo r WHERE (r.DomainID = NEW.DomainID) AND (r.TableName = TableName)) THEN INSERT INTO tblReloadTableInfo (DomainID, UpdateTable, TableName) VALUES (NEW.DomainID, 1, 'tblBL_HoneypotBlockedIPs'); END IF; END; // delimiter; -- GO -- DROP TRIGGER trBL_HoneypotBlockedIPs_AD; -- GO -- delimiter // CREATE TRIGGER trBL_HoneypotBlockedIPs_AD AFTER DELETE ON tblBL_HoneypotBlockedIPs FOR EACH ROW BEGIN IF NOT EXISTS (SELECT * FROM tblReloadTableInfo r WHERE (r.DomainID = OLD.DomainID) AND (r.TableName = TableName)) THEN INSERT INTO tblReloadTableInfo (DomainID, UpdateTable, TableName) VALUES (OLD.DomainID, 1, 'tblBL_HoneypotBlockedIPs'); END IF; END; // delimiter; -- GO -- DROP TRIGGER tr_FilterSettings_AU; -- GO -- delimiter // CREATE TRIGGER tr_FilterSettings_AU AFTER UPDATE ON tbl_FilterSettings FOR EACH ROW BEGIN IF NOT EXISTS (SELECT * FROM tblReloadTableInfo r WHERE (r.DomainID = OLD.DomainID) AND (r.TableName = TableName)) THEN INSERT INTO tblReloadTableInfo (DomainID, UpdateTable, TableName) VALUES (OLD.DomainID, 1, 'tbl_FilterSettings'); END IF; END; // delimiter; -- GO -- DROP TRIGGER tr_FilterSettings_AI; -- GO -- delimiter // CREATE TRIGGER tr_FilterSettings_AI AFTER INSERT ON tbl_FilterSettings FOR EACH ROW BEGIN IF NOT EXISTS (SELECT * FROM tblReloadTableInfo r WHERE (r.DomainID = NEW.DomainID) AND (r.TableName = TableName)) THEN INSERT INTO tblReloadTableInfo (DomainID, UpdateTable, TableName) VALUES (NEW.DomainID, 1, 'tbl_FilterSettings'); END IF; END; // delimiter; -- GO -- DROP TRIGGER tr_FilterSettings_AD; -- GO -- delimiter // CREATE TRIGGER tr_FilterSettings_AD AFTER DELETE ON tbl_FilterSettings FOR EACH ROW BEGIN IF NOT EXISTS (SELECT * FROM tblReloadTableInfo r WHERE (r.DomainID = OLD.DomainID) AND (r.TableName = TableName)) THEN INSERT INTO tblReloadTableInfo (DomainID, UpdateTable, TableName) VALUES (OLD.DomainID, 1, 'tbl_FilterSettings'); END IF; END; // delimiter; |
|||||||||||||||||||||||||
WebGuyz
Senior Member Joined: 09 May 2005 Location: United States Status: Offline Points: 348 |
Post Options
Thanks(0)
|
||||||||||||||||||||||||
Roberto, Excellent job on the new documentation. Looks really good. Can we use portions of it on our help docs for our customers? Working on a new cp for end users and some of the sections about how it works would be helpful. One observation. It appears that once I unclick defaults, my only real option is to copy the files from the defaults (record 1) to get the same functionality as I had before for each domain. BUT, if I have 300 domains, then I get 300 copies of every single blacklist, whitelist, etc. in the database as well What would be great is if we could have a way to specify a default table (like keywords.txt for example) so that when the textfile was built it from the db it would take a list of keywords common to all domains and then look for any unqiue entries. Another thing. Lets say that I want to add a new keyword and use it for every one of my 300 domains. Would I have to write a script to add it to each and every domains keywords entry in the db? Another issue I just thought of. I did a file copy to one of my domains (from default) and in additon to bringin all the lists over it created the exact duplicate of our autowhitelistdelivery into the db with the domains id. The issue is there are over 34,000 lines in our autowhitelistdelivery file! I assume I would have to write a script that parses the current flatfile and creates a unique entry for each domain and then delete the flatfile before I did my final conversion. All in all SFE is looking very good. |
|||||||||||||||||||||||||
http://www.webguyz.net
|
|||||||||||||||||||||||||
LogSat
Admin Group Joined: 25 January 2005 Location: United States Status: Offline Points: 4104 |
Post Options
Thanks(0)
|
||||||||||||||||||||||||
No problem on making the documentation available to your customers. That is actually the main reason why we provided the manual on 3 different mediums, so as to provide admins with a better choice on how to make it available. We thought the html verison, along with its search capability would be the easier to distribute, but that is totally your call.
In regards to your comments.... If we designed SpamFilter Enterprise so that you'd have to store a copy of the settings for each of your 300 domains... well, I think you'd already be looking for a different product from a competitor . Joking aside, I think we'll need to update the documentation. There is a special domain in the list of domains: "ALL DOMAINS". This domain contains all the default settings that will be used in SFE. By default, all domains in your local domains list will use those settings, if they have the "Use Defaults" option checked (which is also the default). Only if you wish to customize a domain *differently* than the others, then you need to uncheck the "Use Defaults" option, which will then allow you to specify indvidual settings for that domain. To make this easier, we provide tabs that allow you to copy either the file-based settings or the settings from another domain to the one you wish to customize. That way you won't have to enter them from scratch and can simply edit the one (or more) settings you need to customize. |
|||||||||||||||||||||||||
WebGuyz
Senior Member Joined: 09 May 2005 Location: United States Status: Offline Points: 348 |
Post Options
Thanks(0)
|
||||||||||||||||||||||||
Let me try another example. Let say I have a domain and I want this one domain to whitelist 3 IP's that the 'All Domains' does not. The only way for me to do this would be to uncheck 'use defaults' and then manually copy all the standard settings from 'all domains' or some other domain, correct? So if I choose just to make any one thing different for an individual domain (like whitelist an ip for example) that is different then the 'all domains', I have to uncheck the 'use defaults'. Correct? Or am I missing something I guess what I was trying to say is it would be nice to use the 'all domains' default and then add any individual addons for any one domain, but I can see this would become a coding nightmare pretty quickly. I guess If I want my customers to be able to add/delete whitelist & blacklist items then I really do have to have have individual settings for each and every domain. The more I think about it thats the only way it could work. Thanks! |
|||||||||||||||||||||||||
http://www.webguyz.net
|
|||||||||||||||||||||||||
WebGuyz
Senior Member Joined: 09 May 2005 Location: United States Status: Offline Points: 348 |
Post Options
Thanks(0)
|
||||||||||||||||||||||||
OK, I just thought of another way to explain this. Lets say the keyword file has 100 entries. And lets say I did have 300 domains and wanted to have custom settings for each. The would mean for table dbo"."tblbl_keywords" there would be 30000 entries. But suppose those same 100 entries are used in all 300 domains? How could we save the duplication? Wouldn't it be great to be able to tell SFE, hey use the same 100 entries as domainid 1 (ALL DOMAINS) and here are a couple more. So instead of 30000 entries in that table there would be 300 (one for each domain telling it to use the default) and then whatever additional entries idividual domains where to use. Soemthing like this by adding a field to each list. here are the fields for the keyword table.
Hate to see so much duplication, but each user situation is different. Thanks for listening.
|
|||||||||||||||||||||||||
http://www.webguyz.net
|
|||||||||||||||||||||||||
LogSat
Admin Group Joined: 25 January 2005 Location: United States Status: Offline Points: 4104 |
Post Options
Thanks(0)
|
||||||||||||||||||||||||
Ok, now I get it. In this case yes, any time even a single setting is going to be customized for a domain, *all* of the other whitelists/blacklists for that domain will be "copied over". With hindsight there should have been a "use defaults" option for each blacklist/whitelist, not just for a whole domain, as that would have indeed optimized things. Maybe in SFE 4.0...
|
|||||||||||||||||||||||||
Dan B
Senior Member Joined: 09 February 2005 Location: United States Status: Offline Points: 105 |
Post Options
Thanks(0)
|
||||||||||||||||||||||||
R, I found another bug in SFE and I'm using MySQL as the database. When I copied a blacklist keywords file with regEx and pasted it in the blkeyword, bldomains, or attachments box. When they were inserted into the database any where that were regEx, MySQL interpreted it as a command and did not insert it exactly as it was entered and all backslashes were removed. Edited by Dan B |
|||||||||||||||||||||||||
LogSat
Admin Group Joined: 25 January 2005 Location: United States Status: Offline Points: 4104 |
Post Options
Thanks(0)
|
||||||||||||||||||||||||
Ouch, we had actually discovered that one internally, and thought we had fixed it... Can you confirm you're actually using the .654 version? If so, can you pleae let us know what RegEx is breaking?
|
|||||||||||||||||||||||||
Dan B
Senior Member Joined: 09 February 2005 Location: United States Status: Offline Points: 105 |
Post Options
Thanks(0)
|
||||||||||||||||||||||||
R, Yes we are running ver 654 and it's doing it on all RegEx. I had to write a Cold Fusion app to read all the bl and wl txt files and do a find and replace on all \ and replace them with \\ and insert. MySQL will strip the first one and leave the second and insert it correctly. Dan B |
|||||||||||||||||||||||||
Dan B
Senior Member Joined: 09 February 2005 Location: United States Status: Offline Points: 105 |
Post Options
Thanks(0)
|
||||||||||||||||||||||||
R, FYI: I tested installing SFE on a pre existing SF server and during the switch from standard to enterprise it didn't look pretty. In the above post about the domain name being max of 12 chars. It trunked to 12 chars and it only inserted only 7 out of 20 domain names in the database localdomains table. All domains are set as default. I also noticed that the domain matrix file still exists. Is it suppose to be now in the database table filtersettings? I'll post more after I dig deeper into it. Thanks, |
|||||||||||||||||||||||||
LogSat
Admin Group Joined: 25 January 2005 Location: United States Status: Offline Points: 4104 |
Post Options
Thanks(0)
|
||||||||||||||||||||||||
Dan, We can't replicate this one... Can you please let me know *exactly* the steps you are performing, and where the incorrect entries are created? Here's what we're trying to replicate it. In the SFE GUI, under the "Keywords Filter" tab, we enter: \ttest in the keyword list. Click on "Save Settings". The settings are saved to the MySQL database. The GUI refreshes itself, and the keyword list is displayed, showing the correct entry "\ttest". If we check the "tblbl_keywords" we see the keyword being added as "\ttest". We then check the file "BL_Keywords.txt", and again the entry "\ttest" is there. Where is the difference in your case? |
|||||||||||||||||||||||||
LogSat
Admin Group Joined: 25 January 2005 Location: United States Status: Offline Points: 4104 |
Post Options
Thanks(0)
|
||||||||||||||||||||||||
Any chance you can zip us your SpamFilter.ini file, along with all your local blacklist/whitelist files for the SpamFilter instance you tried to upgrade? Ideally, if you have a copy of those files *before* the upgrade was performed, it'd be better. If you only have the files after the upgrade, that may help too. Please note that after upgrading to v3.5, SpamFilter will (Enterprise version and not) change some settings in the SpamFilter.ini file and move them to a different "Filters.ini" file under the \SpamFilter\domains\SFI directory. Please make sure you send us that directory as well. |
|||||||||||||||||||||||||
Dan B
Senior Member Joined: 09 February 2005 Location: United States Status: Offline Points: 105 |
Post Options
Thanks(0)
|
||||||||||||||||||||||||
R, I just sent you an email about the info that you requested. If you can supply me with it I can send you the zipped file. Thanks, |
|||||||||||||||||||||||||
Dan B
Senior Member Joined: 09 February 2005 Location: United States Status: Offline Points: 105 |
Post Options
Thanks(0)
|
||||||||||||||||||||||||
R, I have a question. I have 4 licenses of SF, not all 4 have the same domains on them. With SFE, how can I set certain domains to be on certain SFE servers and not on the rest? I'm looking at the database and I do not see how each SFE can determine which domains need to be on each SFE Server. Is this something that was overlook by me or by design? |
|||||||||||||||||||||||||
Dan B
Senior Member Joined: 09 February 2005 Location: United States Status: Offline Points: 105 |
Post Options
Thanks(0)
|
||||||||||||||||||||||||
Roberto, Don't know if this is a bug or not... Is the ALL DOMAINS folder supose to have a space in front of the ALL DOMAINS title? I also noticed it in the tbl_localdomains. I tried to rename both locations without the space and restarted SFE and it recreated a new folder titled _ALL DOMAINS (_ = space) and added a new record in the tbl_filtersettings with DomainID = -1
Oh, one more bug.. If you have data in the SFDB_FiltersList field on table tbl_filtersettings and you make a change in the SFE GUI. It wipes out the data in the SFDB_FiltersList field. Thanks,
Edited by Dan B |
|||||||||||||||||||||||||
caratking
Groupie Joined: 13 March 2006 Location: United States Status: Offline Points: 79 |
Post Options
Thanks(0)
|
||||||||||||||||||||||||
Wow Dan, you really are finding a lot of bugs.
I bet Roberto is wishing you started testing sooner... |
|||||||||||||||||||||||||
LogSat
Admin Group Joined: 25 January 2005 Location: United States Status: Offline Points: 4104 |
Post Options
Thanks(0)
|
||||||||||||||||||||||||
Dan,
We've been looking at your files, as soon as we find something I'll let you know, most likely via the forum so everyone can see the updates. In regards to the space before the ALL DOMAINS, it's there by design... simply to make it easier to sort the domain list alphabetically. What's not by design is the report about the SFDB_FiltersList! We were able to replicate that one, thanks for the bug report! Lastly, for the 4 servers and the domains... the answer is that you can't. If 4 instances of SpamFilter share the same database, they will share the same settings. I may be oversimplifying this as I'm not familiar with your settings, but... if one of your SpamFilter is not supposed to accept email for a domain, could you just not have an MX record for that domain not point to the one SpamFilter that's not supposed to receive those emails? |
|||||||||||||||||||||||||
caratking
Groupie Joined: 13 March 2006 Location: United States Status: Offline Points: 79 |
Post Options
Thanks(0)
|
||||||||||||||||||||||||
Inb SFE, when you look through the Quarantine messages, and select Deliver Selected the system adds the email pair for auto whitelisted.
Is it also supposed to report back to the DB and add that pair (I see there is a table for it), and then sync with all the other servers? My autowhitelist table is empty. |
|||||||||||||||||||||||||
Post Reply | Page 12> |
Tweet
|
Forum Jump | Forum Permissions You cannot post new topics in this forum You cannot reply to topics in this forum You cannot delete your posts in this forum You cannot edit your posts in this forum You cannot create polls in this forum You cannot vote in polls in this forum |
This page was generated in 0.250 seconds.