techsneeze/dmarcts-report-parser

rptrecord created as MyISAM

Closed this issue · 5 comments

Mrten commented

Leaving aside that MyISAM is an outdated engine it also prevents usage on Percona Cluster:

DBD::mysql::db do failed: Percona-XtraDB-Cluster prohibits use of DML command on a table (email.rptrecord) that resides in non-transactional storage engine with pxc_strict_mode = ENFORCING or MASTER at ./dmarcts-report-parser line 720.
Mrten commented

Changing to InnoDB makes that work. Then:

Cannot add report data to database (Percona-XtraDB-Cluster prohibits use of DML command on a table (email.rptrecord) without an explicit primary key with pxc_strict_mode = ENFORCING or MASTER). Skipped.

An

ALTER TABLE `rptrecord` ADD `id` INT NOT NULL AUTO_INCREMENT FIRST, ADD PRIMARY KEY (`id`);

later everything works OK.

Totally valid point! However, I don't believe anything in this specific project is creating it that way. We're relying on an external projects script, referenced in the readme, to create those. Regardless, this is great to have documented for reference, if others run into the same problem. Perhaps someday we'll write a new script from scratch, but for legacy reasons have been attempting to be complimentary to the original project.

Mrten commented

points to line 804

Yikes! That's embarrassing! I totally forgot that had been included.

Mrten commented

no probs 😃 thanks for the merge!