diff --git a/pglablib/catalog/PgTriggerContainer.cpp b/pglablib/catalog/PgTriggerContainer.cpp index d082d4d..3ff2809 100644 --- a/pglablib/catalog/PgTriggerContainer.cpp +++ b/pglablib/catalog/PgTriggerContainer.cpp @@ -9,7 +9,9 @@ std::string PgTriggerContainer::getLoadQuery() const std::string q = "SELECT oid, tgname, tgrelid, tgfoid, tgtype, tgenabled, tgisinternal, tgconstrrelid, \n" " tgconstrindid, tgconstraint, tgdeferrable, tginitdeferred, tgnargs, tgattr, \n" - " tgargs, COALESCE(substring(pg_get_triggerdef(oid), 'WHEN (.*) EXECUTE PROCEDURE'), substring(pg_get_triggerdef(oid), 'WHEN (.*) \\$trigger')) AS whenclause"; + " tgargs, COALESCE(substring(pg_get_triggerdef(oid), 'WHEN \\(\\((.*)\\)\\) EXECUTE PROCEDURE'), " + " substring(pg_get_triggerdef(oid), 'WHEN \\(\\((.*)\\)\\) EXECUTE FUNCTION')," + " substring(pg_get_triggerdef(oid), 'WHEN \\(\\((.*)\\)\\) \\$trigger')) AS whenclause"; if (minimumVersion(100000)) { q += ", tgoldtable, tgnewtable"; }