Re: Two different methods of sneaking non-immutable data into an index

Поиск
Список
Период
Сортировка
От Chris Browne
Тема Re: Two different methods of sneaking non-immutable data into an index
Дата
Msg-id 878w4l3sit.fsf@cbbrowne.afilias-int.info
обсуждение исходный текст
Ответ на Two different methods of sneaking non-immutable data into an index  (Merlin Moncure <mmoncure@gmail.com>)
Ответы Re: Two different methods of sneaking non-immutable data into an index  (Merlin Moncure <mmoncure@gmail.com>)
Re: Two different methods of sneaking non-immutable data into an index  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: Two different methods of sneaking non-immutable data into an index  (Robert Haas <robertmhaas@gmail.com>)
Список pgsql-hackers
mmoncure@gmail.com (Merlin Moncure) writes:
> On Wed, Aug 4, 2010 at 9:31 PM, Robert Haas <robertmhaas@gmail.com> wrote:
>> On Wed, Aug 4, 2010 at 6:43 PM, Merlin Moncure <mmoncure@gmail.com> wrote:
>>> *) also, isn't it possible to change text cast influencing GUCs 'n'
>>> times per statement considering any query can call a function and any
>>> function can say, change datestyle?  Shouldn't the related functions
>>> be marked 'volatile', not stable?
>>
>> This is just evil.  It seems to me that we might want to instead
>> prevent functions from changing things for their callers, or
>> postponing any such changes until the end of the statement, or, uh,
>> something.  We can't afford to put ourselves in a situation of having
>> to make everything volatile; at least, not if "performance" is
>> anywhere in our top 50 goals.
>
> yeah -- perhaps you shouldn't be allowed set things like datestyle in
> functions then.  I realize this is a corner (of the universe) case,
> but I can't recall any other case of volatility being relaxed on
> performance grounds... :-).  Maybe a documentation warning would
> suffice?

That would cause grief for Slony-I, methinks, and probably other things
that behave somewhat similar.

The "logtrigger()" function coerces datestyle to ISO, so that when dates
get stored, they are stored in a canonical form, irrespective of an
individual connection's decisions on datestyle, so we don't have to
include datestyle information as part of the replicated data.
-- 
output = reverse("moc.liamg" "@" "enworbbc")
http://linuxfinances.info/info/postgresql.html
Chaotic Evil means never having to say you're sorry.


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

Предыдущее
От: Chris Browne
Дата:
Сообщение: Re: Concurrent MERGE
Следующее
От: Merlin Moncure
Дата:
Сообщение: Re: Two different methods of sneaking non-immutable data into an index