I start looking at the patch, there is a couple of problems with the patch. The 
first one is the OID conflict, which I fixed on my machine. The second problem 
is assertion failure. I think you have not compiled the PostgreSQL code with 
the assertion. 

...
postgres=# SELECT *
FROM (projects p1 NORMALIZE projects p2 USING() WITH(t,t)) p_adjusted;
TRAP: FailedAssertion("!(ptr == ((void *)0) || (((const Node*)(ptr))->type) == 
type)", File: "../../../src/include/nodes/nodes.h", Line: 588)
psql: server closed the connection unexpectedly
        This probably means the server terminated abnormally
        before or while processing the request.
The connection to the server was lost. Attempting reset: 2019-04-02 
12:50:09.654 UTC [27550] LOG:  server process (PID 27559) was terminated by 
signal 6: Aborted
...

Although this patch is WIP, but please avoid mix declaration to avoid the 
compiler warning message.

...
joinpath.c:993:3: warning: ISO C90 forbids mixed declarations and code 
[-Wdeclaration-after-statement]
   PathTarget *target_split = makeNode(PathTarget);
...

I am still looking at the patch.

Reply via email to