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 по дате отправления: