Reviewed: https://reviews.mahara.org/10287 Committed: https://git.mahara.org/mahara/mahara/commit/6a26a0c72f6e595187a86befc5418c33276ee5ef Submitter: Cecilia Vela Gurovic ([email protected]) Branch: master
commit 6a26a0c72f6e595187a86befc5418c33276ee5ef Author: Robert Lyon <[email protected]> Date: Wed Sep 4 13:15:41 2019 +1200 Bug 1827445: Check if a table exists in a quicker way Without needing to include the lib/ddl.php file, and create the xmldb table objects We do this by trying to query the table to return one value and capture the SQLException if it doesn't exist The places changed are where we don't manipulate the table - so have left upgrade places the same as we will need to do things the ddl.php way anyway behatnotneeded Change-Id: Ic38cee95a221a22e644370b308356cf687a1e831 Signed-off-by: Robert Lyon <[email protected]> -- You received this bug notification because you are a member of Mahara Contributors, which is subscribed to Mahara. Matching subscriptions: Subscription for all Mahara Contributors -- please ask on #mahara-dev or mahara.org forum before editing or unsubscribing it! https://bugs.launchpad.net/bugs/1827445 Title: Improve efficiency when checking if a table field exists Status in Mahara: Fix Committed Bug description: When upgrading we use a field_exists() check to see if a table has a certain column or not which is fine there as upgrade chunks are a one- time execution run when users are all logged out. However we have begun to use field_exists() within other parts of the code and so this can get called on every page load by multiple users at once. This requires fetching the ddl.lib file and setting ul an XMLDB table object and an XMLDB field object which has overhead. Instead we should just query the database directly and ask it if the table has the column or not So instead of doing: require_once('ddl.php'); $table = new XMLDBTable('tablename'); $field = new XMLDBField('fieldname'); if (field_exists($table, $field)) { ... } We could just do: if (column_exists('tablename', 'fieldname')) { ... } And have the column_exists function that call the database directly To manage notifications about this bug go to: https://bugs.launchpad.net/mahara/+bug/1827445/+subscriptions _______________________________________________ Mailing list: https://launchpad.net/~mahara-contributors Post to : [email protected] Unsubscribe : https://launchpad.net/~mahara-contributors More help : https://help.launchpad.net/ListHelp

