Re: [HACKERS] Idea on how to simplify comparing two sets - Mailing list pgsql-hackers

From David Fetter
Subject Re: [HACKERS] Idea on how to simplify comparing two sets
Date
Msg-id 20170207171017.GB11993@fetter.org
Whole thread Raw
In response to [HACKERS] Idea on how to simplify comparing two sets  (Joel Jacobson <joel@trustly.com>)
Responses Re: [HACKERS] Idea on how to simplify comparing two sets  (David Fetter <david@fetter.org>)
List pgsql-hackers
On Tue, Feb 07, 2017 at 04:13:40PM +0100, Joel Jacobson wrote:
>  Hi hackers,
> 
> Currently there is no simple way to check if two sets are equal.

Assuming that a and b each has at least one NOT NULL column, is this
simple enough?  Based on nothing much, I'm assuming here that the IS
NOT NULL test is faster than IS NULL, but you can flip that and change
the array to {0} with identical effect.

WITH t AS (   SELECT a AS a, b AS b, (a IS NOT NULL)::int + (b IS NOT NULL)::int AS ind   FROM a FULL JOIN b ON ...
)
SELECT array_agg(DISTINCT ind) = '{2}'
FROM t;

Best,
David.
-- 
David Fetter <david(at)fetter(dot)org> http://fetter.org/
Phone: +1 415 235 3778  AIM: dfetter666  Yahoo!: dfetter
Skype: davidfetter      XMPP: david(dot)fetter(at)gmail(dot)com

Remember to vote!
Consider donating to Postgres: http://www.postgresql.org/about/donate



pgsql-hackers by date:

Previous
From: Brandur Leach
Date:
Subject: Re: [HACKERS] [PATCH] SortSupport for macaddr type
Next
From: Mithun Cy
Date:
Subject: Re: [HACKERS] Proposal : For Auto-Prewarm.