On Wed, Jun 22, 2022 at 9:11 PM Julien Rouhaud <rjuju123@gmail.com> wrote:
Hi,
On Wed, Jun 22, 2022 at 11:05:45PM +0000, PG Bug reporting form wrote: > The following bug has been logged on the website: > > Bug reference: 17530 > Logged by: Kirk Wolak > Email address: wolakk@gmail.com > PostgreSQL version: 14.3 > Operating system: Windows > Description: > > I've been parsing through the file for our own system, and discovered the > Name: <value> > for the trigger is not quite the name of the trigger. I've included an > example of FUNCTIon for reference. > > It's "change_log"<space>"id_change_log"; but the actual trigger name is > "id_change_log" on the table "change_log"
That's expected, the name in the comment has a qualifier when the object name itself isn't guaranteed to be unique, with the format
"$table_name $trigger_name"
This is done similarly for all object types that don't have a guarantee of unique name (policies, rules...).
I think my only complaint here would be:
--
-- Name: test table 2 test trigger 2; Type: TRIGGER; Schema: testschema; Owner: vagrant --
CREATE TRIGGER "test trigger 2" BEFORE INSERT ON testschema."test table 2" FOR EACH ROW EXECUTE FUNCTION public.do_nothing();
I suppose it's not a big deal that the name isn't parsable, but doing the equivalent of: <quote_ident($table_name) quote($trigger_name)> would have merit.
Also, the argument about name uniqueness only extends to "within a given schema" yet we placed the schema name into its own section.
Again, I don't see much need to make a change so far, but given an compelling use case not otherwise readily solvable it would be something to entertain, IMO.