for a createStmt, it will call transformCreateStmt, and then
heap_create_with_catalog.
but looks it just check the if_not_exists in transformCreateStmt.
so there is a chance that when the transformCreateStmt is called, the table
is not created, but before the heap_create_with_catalog is called, the
table was created. if so, the "if not exits" will raise error "ERROR:
relation "xxxx" already exists"
I can reproduce this with gdb,
demo=# create table if not exists dddd2 (a int);
ERROR: relation "dddd2" already exists
is it designed as this on purpose or is it a bug?
I am using the lates commit on github now.