Re: [HACKERS] Is it necessary to rewrite table while increasing the scale of datatype numeric?

Поиск
Список
Период
Сортировка
От Jim Nasby
Тема Re: [HACKERS] Is it necessary to rewrite table while increasing the scale of datatype numeric?
Дата
Msg-id 522A39CA.90006@nasby.net
обсуждение исходный текст
Ответ на Re: Is it necessary to rewrite table while increasing the scale of datatype numeric?  (Noah Misch <noah@leadboat.com>)
Ответы Re: Is it necessary to rewrite table while increasing the scale of datatype numeric?  (Alvaro Herrera <alvherre@2ndquadrant.com>)
Список pgsql-hackers
On 9/5/13 10:47 PM, Noah Misch wrote:
> On Thu, Sep 05, 2013 at 10:41:25AM -0700, Jeff Janes wrote:
>> In order to avoid the rewrite, the code would have to be changed to
>> look up the column definition and if it specifies the scale, then
>> ignore the per-row n_header, and look at the n_header only if the
>> column is NUMERIC with no precision or scale.  That should
>> conceptually be possible, but I don't know how hard it would be to
>> implement--it sounds pretty invasive to me.  Then if the column was
>> altered from NUMERIC with scale to be a plain NUMERIC, it would have
>> to rewrite the table to enforce the row-wise scale to match the old
>> column-wise scale.  Where as now that alter doesn't need a re-write.
>> I don't know if this would be an overall gain or not.
>
> Invasive indeed.  The type-supplementary data would need to reach essentially
> everywhere we now convey a type OID.  Compare the invasiveness of adding
> collation support.  However, this is not the first time it would have been
> useful.  We currently store a type OID in every array and composite datum.
> That's wasteful and would be unnecessary if we reliably marshalled similar
> information to all the code needing it.  Given a few more use cases, the
> effort would perhaps start to look credible relative to the benefits.

Aren't there cases where PL/pgsql gets hosed by this? Or even functions in general?

I also have a vague memory of some features that would benefit from being able to have typemod info available at a
tuplelevel in a table, not just for the entire table. Unfortunately I can't remember why we wanted that... (Alvaro, do
yourecall? I'm pretty sure it's something we'd discussed at some point.) 
--
Jim C. Nasby, Data Architect                       jim@nasby.net
512.569.9461 (cell)                         http://jim.nasby.net



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

Предыдущее
От: Jim Nasby
Дата:
Сообщение: Re: [PERFORM] encouraging index-only scans
Следующее
От: Alexander Korotkov
Дата:
Сообщение: Fix picksplit with nan values