Re: BUG #15668: Server crash in transformPartitionRangeBounds

Поиск
Список
Период
Сортировка
От Michael Paquier
Тема Re: BUG #15668: Server crash in transformPartitionRangeBounds
Дата
Msg-id 20190306064825.GH30982@paquier.xyz
обсуждение исходный текст
Ответ на Re: BUG #15668: Server crash in transformPartitionRangeBounds  (Amit Langote <amitlangote09@gmail.com>)
Ответы Re: BUG #15668: Server crash in transformPartitionRangeBounds
Re: BUG #15668: Server crash in transformPartitionRangeBounds
Список pgsql-bugs
On Tue, Mar 05, 2019 at 11:04:17PM +0900, Amit Langote wrote:
> Maybe we should error out as follows in
> transformPartitionRangeBounds(), although that means we'll get
> different error message than when using list partitioning syntax:

Hm.  I don't think that this is a good idea as you could lose some
information for the expression transformation handling, and the error
handling becomes inconsistent depending on the partition bound
strategy.  It seems to me that if we cannot extract any special value
from the ColumnRef expression generated, then we ought to let
transformPartitionBoundValue() and particularly transformExprRecurse()
do the analysis work and complain if needed:
=# CREATE TABLE rp_part PARTITION OF range_parted FOR VALUES FROM
(unknown.unknown) TO (1);
ERROR:  42P01: missing FROM-clause entry for table "unknown"
LINE 1: ...p_part PARTITION OF range_parted FOR VALUES FROM
(unknown.un...
=# CREATE TABLE rp_part PARTITION OF range_parted FOR VALUES FROM
(a.a.a.a.a.a.a.a.a.a.a.a) TO (1);
ERROR:  42601: improper qualified name (too many dotted names):
a.a.a.a.a.a.a.a.a.a.a.a
LINE 1: ...p_part PARTITION OF range_parted FOR VALUES FROM
(a.a.a.a.a....

What about something like the attached instead?  Minus the test
cases which should go to create_table.sql of course.
--
Michael

Вложения

В списке pgsql-bugs по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: BUG #15667: "could not truncate file" error caused deleted rows to become visible
Следующее
От: Amit Langote
Дата:
Сообщение: Re: BUG #15668: Server crash in transformPartitionRangeBounds