Re: RULE vs. SEQUENCE

Поиск
Список
Период
Сортировка
От Jan Wieck
Тема Re: RULE vs. SEQUENCE
Дата
Msg-id 200009041434.JAA02259@jupiter.jw.home
обсуждение исходный текст
Ответ на Re: RULE vs. SEQUENCE  (Karel Zak <zakkr@zf.jcu.cz>)
Список pgsql-hackers
Karel Zak wrote:
> > >  But executor can knows that somethig was already executed, we can mark
> > > some already executed expressions in rewriter and not execute it again in
> > > final executor... like:
> > ...
> > >
> > >  IMHO this is a good point for 7.2 ...
> >
> > But if instead of nextval() you had random(), would you still want to execute
> > it
> > only once ? And how should postgres know ?
>
>  Talking you still about RULEs?
   Yes, he is.

>
>  ...I don't undestand you. What is a 'NEW' in RULE? I (and probably more
> users) expect that new data from tuple which go into original table. Right?
   Most  people  would  expect  that  - but it is the targetlist   expression of this column from  the  query  which
fired the   rule! That's a little difference.
 

> Not ... if you use sequence. IMHO it's not "feature" but nice bug that
> crash your data integrity...
   The PostgreSQL rule system is based on a general productional   query rewrite  rule  system,  designed  decades  ago
without   thinking  about column values like nextval() or random(). The   usage of those expressions in a query firing
rules leads  to   unpredictable results.
 
   To  understand  how  rules  work  in  detail  you should read   chapter 8 of the programmers manual.


Jan

--

#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.                                  #
#================================================== JanWieck@Yahoo.com #




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

Предыдущее
От: Jan Wieck
Дата:
Сообщение: Re: RULE vs. SEQUENCE
Следующее
От: Tom Lane
Дата:
Сообщение: Re: OO inheritance implementation