Re: Question about array read using protocol 3.0 implementation in C# - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Question about array read using protocol 3.0 implementation in C#
Date
Msg-id 24818.1056925758@sss.pgh.pa.us
Whole thread Raw
In response to Question about array read using protocol 3.0 implementation in C#  (Carlos Guzman Alvarez <carlosga@telefonica.net>)
Responses Re: Question about array read using protocol 3.0 implementation  (Carlos Guzman Alvarez <carlosga@telefonica.net>)
Re: Question about array read using protocol 3.0 implementation  (Carlos Guzman Alvarez <carlosga@telefonica.net>)
List pgsql-hackers
Carlos Guzman Alvarez <carlosga@telefonica.net> writes:
> I'm trying to read an array, using binary format code and my own 
> implementation of the 3.0 protocol in C#, at this moment i have made 
> test with arrays of int2 and float4,  seems that the server sends a 
> header of 24 bytes before the data in the buffer, i need to know what 
> these 24 bytes mean :),

Use the source Luke ... array_send, in backend/utils/adt/arrayfuncs.c,
does this:
/* Send the array header information */pq_sendint(&buf, ndim, 4);pq_sendint(&buf, v->flags, 4);pq_sendint(&buf,
element_type,sizeof(Oid));for (i = 0; i < ndim; i++){    pq_sendint(&buf, ARR_DIMS(v)[i], 4);    pq_sendint(&buf,
ARR_LBOUND(v)[i],4);}
 

I believe flags is always 0 at the moment; it might be a good idea
to punt if you see a nonzero there.
        regards, tom lane


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: PlPython
Next
From: Hannu Krosing
Date:
Subject: Re: PlPython