From 2faedca137c563b7a0624d7212db12199dcb0c2e Mon Sep 17 00:00:00 2001 From: eelke Date: Thu, 15 Oct 2020 19:14:03 +0200 Subject: [PATCH] fix missing when condition closes #65 Most likely didn't work with postgresql 11 and higher --- pglablib/catalog/PgTriggerContainer.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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"; }