← Back to team overview

mahara-contributors team mailing list archive

[Bug 1785985] Re: Remove triggers from Mahara database

 

Hi all,
These triggers are causing db dumps to fail (in progresql) due to triggers being constantly deleted and created. 

pg_dump -h mydbserver -U myuser mydb > /tmp/test.sql
pg_dump: [archiver (db)] query failed: ERROR: cache lookup failed for function 9184443
pg_dump: [archiver (db)] query was: SELECT tgname, tgfoid::pg_catalog.regproc AS tgfname, pg_catalog.pg_get_triggerdef(oid, false) AS tgdef, tgenabled, tableoid, oid FROM pg_catalog.pg_trigger t WHERE tgrelid = '8279073'::pg_catalog.oid AND NOT tgisinternal

We have a script that will show us which triggers are invalid:

ERROR:  cache lookup failed for function 8279073
CRITICAL: Trigger search_elasticsearch_view on table catalyst_mahara_demo_stage.view in database mydb is invalid.
ERROR:  cache lookup failed for function 8279073
CRITICAL: Trigger search_elasticsearch_artefact on table mydb.artefact in database mydb is invalid.


Can this issue be kicked along a bit, thanks.

Darrin

-- 
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/1785985

Title:
  Remove triggers from Mahara database

Status in Mahara:
  Confirmed

Bug description:
  I've created a forum post to discuss this:

  * https://mahara.org/interaction/forum/topic.php?id=8324

  Basically, my reasoning is:

  
  1. Mahara supports two DB types - MySql and Postgres. Each DB has different syntax when it comes to creating/updating/deleting triggers. This makes it complicated to develop and maintain.

  2. Mahara already has the concept of events in place. We can move the
  functionality of each trigger into an event. We would then have more
  control over the event. For example, don't action an event during an
  upgrade.

  3. Triggers make it difficult to see what is actually happening. They
  are not transparent. If you weren't aware that there is a trigger on
  the table, it can make it difficult to track down why something is
  behaving in a certain way.

  
  We can start slowly by removing one at a time. It doesn't have to happen all at once.

  Just my thoughts.

  Cheers.

To manage notifications about this bug go to:
https://bugs.launchpad.net/mahara/+bug/1785985/+subscriptions


References