Re: [PATCH] Add schema and table names to partition error
От | Alvaro Herrera |
---|---|
Тема | Re: [PATCH] Add schema and table names to partition error |
Дата | |
Msg-id | 20200303160846.GA2728@alvherre.pgsql обсуждение исходный текст |
Ответ на | Re: [PATCH] Add schema and table names to partition error (Chris Bandy <bandy.chris@gmail.com>) |
Ответы |
Re: [PATCH] Add schema and table names to partition error
|
Список | pgsql-hackers |
> +\set VERBOSITY verbose > +-- no partitions > +CREATE TABLE pterr1 (x int, y int, PRIMARY KEY (x, y)) PARTITION BY RANGE (y); > +INSERT INTO pterr1 VALUES (10, 10); > +ERROR: 23514: no partition of relation "pterr1" found for row > +DETAIL: Partition key of the failing row contains (y) = (10). > +SCHEMA NAME: public > +TABLE NAME: pterr1 > +LOCATION: ExecFindPartition, execPartition.c:349 This won't work well, because people would be forced to update the .out file whenever the execPartition.c file changed to add or remove lines before the one with the error call. Maybe if you want to verify the schema/table names, use a plpgsql function to extract them, using GET STACKED DIAGNOSTICS TABLE_NAME = ... in an exception block? I'm not sure that this *needs* to be tested, though. Don't we already verify that errtable() works, elsewhere? I don't suppose you mean to test that every single ereport() call that includes errtable() contains a TABLE NAME item. -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
В списке pgsql-hackers по дате отправления: