Hello-

I've noticed a difference in the behavior between how v6.5.3 and v7.0.0
handle NULL assignments for char arrays (see below for the simple
example).  Maybe I should be using '{}' to nullify a char array instead of
NULL?  Either way, it would seem to me that the behavior with v7.0.0
should be the same as v6.5.3.  And, as you can see below, the response
from v7.0.0 is to terminate the connection to the db backend... which
seems severe.

I am running a variety of i686 linux systems (RedHat 6.2 with home rolled
v2.2.15 kernels), using src compiled Pg.  I have been able to duplicate
this behavior on a number of machines.

-Jon

PS: This is a re-send of a message I posted 5 days ago (~1 June) which
appears to not have made it to the list, probably due to something I
did.  If you received this message before, my apologies.

------------------------
v6.5.3:
template1=> create table a (id char[2]);
CREATE
template1=> insert into a (id) values (NULL);
INSERT 112733 1

------------------------
v7.0.0:
template1=# create table a (id char[2]);
CREATE
template1=# insert into a (id) values (NULL);
pqReadData() -- backend closed the channel unexpectedly.
	This probably means the backend terminated abnormally
	before or while processing the request.
The connection to the server was lost. Attempting reset: Failed.


-**-*-*---*-*---*-*---*-----*-*-----*---*-*---*-----*-----*-*-----*---
 Jon Lapham, PhD
 Centro Nacional de Ressonancia Magnetica Nuclear de Macromoleculas
 Universidade Federal do Rio de Janeiro (UFRJ) - Brasil
 email: jlapham@gandalf.bioqmed.ufrj.br  
***-*--*----*-------*------------*--------------------*---------------

Mon, 5 Jun 2000 11:25:55 -0300 (BRT)
jlapham@gandalf.bioqmed.ufrj.br
Problems with char array set to NULL
jlapham@gandalf.bioqmed.ufrj.br writes:
> v7.0.0:
> template1=# create table a (id char[2]);
> CREATE
> template1=# insert into a (id) values (NULL);
> pqReadData() -- backend closed the channel unexpectedly.

This is fixed in 7.0.1.

			regards, tom lane

Mon, 05 Jun 2000 12:03:20 -0400
Tom Lane <tgl@sss.pgh.pa.us>
Re: Problems with char array set to NULL 
Tom Lane wrote:
> 
> jlapham@gandalf.bioqmed.ufrj.br writes:
> > v7.0.0:
> > template1=# create table a (id char[2]);
> > CREATE
> > template1=# insert into a (id) values (NULL);
> > pqReadData() -- backend closed the channel unexpectedly.
>

Just curious, but does postgreSQL support array _elements_ set to NULL.


hannu=# insert into arr values ('{1,2,3}');
INSERT 310985 1
hannu=# insert into arr values ('{1,NULL,3}');
ERROR:  pg_atoi: error in "NULL": can't parse "NULL"

If not, should it ?

 From my little knowledge on structure of storage I'd suppose it does 
not and that it would require changing the array machinery to do so.

Maybe this question is more aproppriate for  pgsql-hackers-oo@postgresql.org
but for some strange reason my subscription confirmation was rejected to
all new pgsql-hackers-xxx lists with a message like this

-----8<-------------------8<-------------------8<-------------------8<--------------

>>>> accept
Token for command:
    subscribe=request@postgresql.org pgsql-hackers-smgr Hannu Krosing
<hannu@tm.ee>
issued at: Wed May 24 15:04:23 2000 GMT
from sessionid: b9ac0349622ef0032295b46f5510bad9
was accepted with these results:

**** The following was not successfully added to pgsql-hackers-smgr:
  Hannu Krosing <hannu@tm.ee>

1 valid command processed; its status is indeterminate.

-----8<-------------------8<-------------------8<-------------------8<--------------

Hannu

Wed, 07 Jun 2000 12:11:39 +0300
Hannu Krosing <hannu@tm.ee>
Re: Problems with char array set to NULL
Hannu Krosing <hannu@tm.ee> writes:
> Just curious, but does postgreSQL support array _elements_ set to NULL.

No.  This is (or should be) on the TODO list.

			regards, tom lane

Wed, 07 Jun 2000 10:12:24 -0400
Tom Lane <tgl@sss.pgh.pa.us>
Re: Problems with char array set to NULL 
> Hannu Krosing <hannu@tm.ee> writes:
> > Just curious, but does postgreSQL support array _elements_ set to NULL.
> 
> No.  This is (or should be) on the TODO list.

Added.

-- 
  Bruce Momjian                        |  http://www.op.net/~candle
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

Wed, 7 Jun 2000 15:55:43 -0400 (EDT)
Bruce Momjian <pgman@candle.pha.pa.us>
Re: Problems with char array set to NULL