Re: Do we want a hashset type?

Поиск
Список
Период
Сортировка
От Kirk Wolak
Тема Re: Do we want a hashset type?
Дата
Msg-id CACLU5mRxEdM6WMAznEPOvbDrUKTJiK7VsnQmfZKxn4norpARhA@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Do we want a hashset type?  ("Joel Jacobson" <joel@compiler.org>)
Список pgsql-hackers
On Mon, Jun 26, 2023 at 4:55 PM Joel Jacobson <joel@compiler.org> wrote:
On Mon, Jun 26, 2023, at 13:06, jian he wrote:
> Can you try to glue the attached to the hashset data type input
> function.
> the attached will parse cstring with double quote and not. so '{1,2,3}'
> == '{"1","2","3"}'. obviously quote will preserve the inner string as
> is.
> currently int4hashset input is delimited by comma, if you want deal
> with range then you need escape the comma.

Not sure what you're trying to do here; what's the problem with
the current int4hashset_in()?

I think it might be best to focus on null semantics / three-valued logic
before moving on and trying to implement support for more types,
otherwise we would need to rewrite more code if we find general
thinkos that are problems in all types.

Help wanted to reason about what the following queries should return:

SELECT hashset_union(NULL::int4hashset, '{}'::int4hashset);

SELECT hashset_intersection(NULL::int4hashset, '{}'::int4hashset);

SELECT hashset_difference(NULL::int4hashset, '{}'::int4hashset);

SELECT hashset_symmetric_difference(NULL::int4hashset, '{}'::int4hashset);

Should they return NULL, the empty set or something else?

I've renamed hashset_merge() -> hashset_union() to better match
SQL's MULTISET feature which has a MULTISET UNION.

Shouldn't they return the same thing that left(NULL::text,1) returns? (NULL)...
Typically any operation on NULL is NULL.

Kirk...


 

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

Предыдущее
От: Andres Freund
Дата:
Сообщение: Re: Improve comment on cid mapping (was Re: Adding CommandID to heap xlog records)
Следующее
От: Vik Fearing
Дата:
Сообщение: Re: Row pattern recognition