Reviewed:  https://reviews.mahara.org/10368
Committed: 
https://git.mahara.org/mahara/mahara/commit/4bcd9ee6dbc46237ab680ec85eb84104ab96b4f0
Submitter: Cecilia Vela Gurovic ([email protected])
Branch:    master

commit 4bcd9ee6dbc46237ab680ec85eb84104ab96b4f0
Author: Robert Lyon <[email protected]>
Date:   Mon Sep 23 12:47:12 2019 +1200

Bug 1827445: fixing problem table_exists() call

Making it a db_table_exists() call instead

behatnotneeded

Change-Id: I5206657a7e76a96dbe878147e07d42a241790764
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

Reply via email to