﻿id,summary,reporter,owner,description,type,status,priority,milestone,component,version,severity,resolution,keywords,cc
9422,Allow for start transaction/rollback/commit sql statements in WP,Denis-de-Bernardy,,"It would be sweet if WP were to become 100% transaction safe. I wondered if it was, while developing a plugin that required InnoDB tables and transactions for its own tables, as well as InnoDB on the users and posts table in order to enforce foreign key constraints.

Things like:

{{{
do_action('delete_user', $id);

$wpdb->query( $wpdb->prepare(""DELETE FROM $wpdb->users WHERE ID = %d"", $id) );
$wpdb->query( $wpdb->prepare(""DELETE FROM $wpdb->usermeta WHERE user_id = %d"", $id) );
}}}

Should really be:

{{{
do_action('delete_user', $id);

$wpdb->query( $wpdb->prepare(""DELETE FROM $wpdb->usermeta WHERE user_id = %d"", $id) );

$wpdb->query( $wpdb->prepare(""DELETE FROM $wpdb->users WHERE ID = %d"", $id) );
}}}

That way, if one enforces the relevant foreign key and deletes a user as part of a transaction, the database won't complain. Along the same lines, the delete post procedure is particularly ugly...",enhancement,closed,normal,2.9,Optimization,2.8,major,fixed,needs-patch,
