Re: Question about array read using protocol 3.0 implementation in C#

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Carlos Guzman Alvarez <carlosga(at)telefonica(dot)net>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Question about array read using protocol 3.0 implementation in C#
Date: 2003-06-29 22:29:18
Message-ID: 24818.1056925758@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Carlos Guzman Alvarez <carlosga(at)telefonica(dot)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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Joe Conway 2003-06-29 22:32:11 Re: [HACKERS] Missing array support
Previous Message Tom Lane 2003-06-29 22:21:45 Re: [HACKERS] PlPython