Re: INSERT ... ON CONFLICT {UPDATE | IGNORE}

Поиск
Список
Период
Сортировка
От Jeff Janes
Тема Re: INSERT ... ON CONFLICT {UPDATE | IGNORE}
Дата
Msg-id CAMkU=1z4EbXBW1BZQUjQKBtAed3SUwdoyCrmdzexJ7ovKsD2Pw@mail.gmail.com
обсуждение исходный текст
Ответ на Re: INSERT ... ON CONFLICT {UPDATE | IGNORE}  (Peter Geoghegan <pg@heroku.com>)
Ответы Re: INSERT ... ON CONFLICT {UPDATE | IGNORE}  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: INSERT ... ON CONFLICT {UPDATE | IGNORE}  (Peter Geoghegan <pg@heroku.com>)
Список pgsql-hackers
On Mon, Dec 8, 2014 at 8:16 PM, Peter Geoghegan <pg@heroku.com> wrote:
Attached revision, v1.6, slightly tweaks the ordering of per-statement
trigger execution. The ordering is now explicitly documented (the html
mirror has been updated:
http://postgres-benchmarks.s3-website-us-east-1.amazonaws.com/on-conflict-docs/trigger-definition.html).

As always, there is a variant for each approach to value locking.

This revision fixes bitrot that developed when the patchset was
applied on master's tip, and also cleans up comments regarding how the
parent insert carries auxiliary/child state through all stages of
query processing. That should structure be clearer now, including how
setrefs.c has the auxiliary/child ModifyTable use the same
resultRelation as its parent.


If I build either option of the patch under MinGW, I get an error in the grammar files related to the IGNORE reserved word.

$ (./configure --host=x86_64-w64-mingw32 --without-zlib && make  && make check) > /dev/null

In file included from ../../../src/include/parser/gramparse.h:29:0,
                 from gram.y:59:
../../../src/include/parser/gram.h:207:6: error: expected identifier before numeric constant
In file included from gram.y:14366:0:

I don't get this problem on Linux.

The build chain seems to meet the specified minimum:

flex.exe 2.5.35
bison (GNU Bison) 2.4.2
This is perl, v5.8.8 built for msys-64int

It seems like IGNORE is getting replaced by the preprocessor with something else, but I don't know how to get my hands on the intermediate file after the preprocessor has done its thing.

Also, in both Linux and MinGW under option 1 patch I get an OID conflict on OID 3261.

Cheers,

Jeff
 

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

Предыдущее
От: Josh Berkus
Дата:
Сообщение: Re: Commitfest problems
Следующее
От: Jim Nasby
Дата:
Сообщение: REVIEW: Track TRUNCATE via pgstat