IS DISTINCT FROM and TREAT() committed

From: Thomas Lockhart <lockhart(at)fourpalms(dot)org>
To: PostgreSQL Hackers List <pgsql-hackers(at)postgresql(dot)org>
Subject: IS DISTINCT FROM and TREAT() committed
Date: 2002-07-04 15:28:51
Message-ID: 3D2469B3.2128091@fourpalms.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

I've committed support for IS DISTINCT FROM to the head of the CVS tree.
I did not update the catalog version, but since one enumerated type has
added a value it may be that initdb is actually required. Almost
certainly a "make clean" is essential.

There is more work to do, including perhaps adding some more internal
nodes, but initial functionality is there. I still owe some docs and
regression tests as well as further work on the implementation (per
previous discussion on The Right Way to add row features).

Details from the cvs log are below.

- Thomas

Move INTERSECT DISTINCT to the supported category. Error in docs.
Implement the IS DISTINCT FROM operator per SQL99.
Reused the Expr node to hold DISTINCT which strongly resembles
the existing OP info. Define DISTINCT_EXPR which strongly resembles
the existing OPER_EXPR opType, but with handling for NULLs required
by SQL99.
Implement the IS DISTINCT FROM operator per SQL99.
Reused the Expr node to hold DISTINCT which strongly resembles
the existing OP info. Define DISTINCT_EXPR which strongly resembles
the existing OPER_EXPR opType, but with handling for NULLs required
by SQL99.
We have explicit support for single-element DISTINCT comparisons
all the way through to the executor. But, multi-element DISTINCTs
are handled by expanding into a comparison tree in gram.y as is done
for
other row comparisons. Per discussions, it might be desirable to move
this into one or more purpose-built nodes to be handled in the backend.
Define the optional ROW keyword and token per SQL99.
This allows single-element row constructs, which were formerly
disallowed
due to shift/reduce conflicts with parenthesized a_expr clauses.
Define the SQL99 TREAT() function. Currently, use as a synonym for
CAST().

Browse pgsql-hackers by date

  From Date Subject
Next Message Andrew Sullivan 2002-07-04 15:36:41 Re: I am being interviewed by OReilly
Previous Message Michael Meskes 2002-07-04 14:21:01 Re: [HACKERS] ecpg problem : pre-processor translated long constant to char