Re: error_severity of brin work item
От | Justin Pryzby |
---|---|
Тема | Re: error_severity of brin work item |
Дата | |
Msg-id | 20201120005151.GD24784@telsasoft.com обсуждение исходный текст |
Ответ на | Re: error_severity of brin work item (Alvaro Herrera <alvherre@alvh.no-ip.org>) |
Ответы |
Re: error_severity of brin work item
|
Список | pgsql-hackers |
On Thu, Nov 19, 2020 at 03:15:21PM -0300, Alvaro Herrera wrote: > On 2020-Nov-19, Justin Pryzby wrote: > > > On Fri, Nov 13, 2020 at 12:11:21PM -0600, Justin Pryzby wrote: > > > > Your patch didn't actually say "try_relation_open", so didn't work. > > > But it does works if I do that, and close the table. > > Thanks for fixing and testing. > > > That patch broke the case that a non-index is passed, which I addressed here. > > Hmm, I think the reaction to that should be the same as before, so > rather than return 0, the patch should raise the same error that > index_open() would. The resulting logic is not very clear and requires a lot of commentary.. BTW I saw that in tablecmds.c, RangeVarCallbackForAttachIndex() does this: if (classform->relkind != RELKIND_PARTITIONED_INDEX && classform->relkind != RELKIND_INDEX) ereport(ERROR, (errcode(ERRCODE_INVALID_OBJECT_DEFINITION), errmsg("\"%s\" is not an index", rv->relname))); Is it wrong to use ERRCODE_INVALID_OBJECT_DEFINITION ? Most other places say ERRCODE_WRONG_OBJECT_TYPE Likewise, transformPartitionCmd() in parse_utilcmd.c: (errcode(ERRCODE_INVALID_OBJECT_DEFINITION), errmsg("\"%s\" is not a partitioned table", RelationGetRelationName(parentRel)))); -- Justin
Вложения
В списке pgsql-hackers по дате отправления: