Re: nested hstore patch - FailedAssertion("!(value->array.nelems == 1) - Mailing list pgsql-hackers

From Erik Rijkers
Subject Re: nested hstore patch - FailedAssertion("!(value->array.nelems == 1)
Date
Msg-id 0f163e22f9a4ed756b0c560b7bda376c.squirrel@webmail.xs4all.nl
Whole thread Raw
In response to Re: nested hstore patch  (Andrew Dunstan <andrew@dunslane.net>)
Responses Re: nested hstore patch - FailedAssertion("!(value->array.nelems == 1)  (Oleg Bartunov <obartunov@gmail.com>)
List pgsql-hackers
On Mon, January 13, 2014 16:36, Andrew Dunstan wrote:
> A new version of the patch is attached. It includes all of Erik's docs

> [ nested_hstore_and_jsonb-2.patch ]


This crashes the server:

testdb=#  select  'x' || ('a=>"1"':: hstore) ;
The connection to the server was lost. Attempting reset: Failed.

logging:
TRAP: FailedAssertion("!(value->array.nelems == 1)", File: "jsonb_support.c", Line: 904)
2014-01-15 00:32:01.854 CET 1206 LOG:  server process (PID 3918) was terminated by signal 6: Aborted
2014-01-15 00:32:01.854 CET 1206 DETAIL:  Failed process was running: select  'x' || ('a=>"1"':: hstore) ;


Btw, I find it strange that:

testdb=#  select  ('a=>""':: hstore) #%> '{a}' ;?column?
----------""
(1 row)

so that:

Time: 0.641 ms
testdb=#  select ( ('a=>""':: hstore) #%> '{a}' ) = '' ;?column?
----------f
(1 row)

testdb=#  select ( ('a=>""':: hstore) #%> '{a}' ) = '""' ;?column?
----------t
(1 row)

Maybe there is a rationale, but it seems to me that  ('a=>""':: hstore) #%> '{a}'
should deliver the empty string '', and not two double quotes.


Thanks,

Erik Rijkers









pgsql-hackers by date:

Previous
From: Dave Chinner
Date:
Subject: Re: [Lsf-pc] Linux kernel impact on PostgreSQL performance
Next
From: Peter Geoghegan
Date:
Subject: Re: INSERT...ON DUPLICATE KEY LOCK FOR UPDATE