KT Walrus Posted April 12, 2017 Posted April 12, 2017 I'm pretty sure that IPS4 is not transaction safe when using MySQL INNODB engine. I require transactions to prevent database corruption and replication. Could this feature be implemented by: disabling AUTOCOMMIT when establishing a db connection explicitly sending a COMMIT before closing the connection adding a method to the DB class for an IPS4 app to explicitly COMMIT/ROLLBACK the changes made in the current transaction, opening a new transaction for the db session. Existing applications wouldn't need to do #3 since all changes would be committed automatically, but updated applications could handle errors or commitment points better (on a transaction level, not just a statement level). The DB class could default to the current behavior unless a new sql_autocommit setting is set to 0. You may even be able to avoid doing #3 if the DB class can tell whether the current page is successfully completing (COMMIT issued) or resulting in an error (ROLLBACK issued). This would result in any changes required by this feature to be limited to IPS4 Core components only.
Recommended Posts
Archived
This topic is now archived and is closed to further replies.