Carlos Guzman Alvarez <[EMAIL PROTECTED]> 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

---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
    (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])

Reply via email to