[postgis-devel] JDBC & WKB - 400% overhead
dblasby at openplans.org
dblasby at openplans.org
Tue Feb 22 10:39:04 PST 2005
I was checking to see if the WKB (postgis 1.0) was actually transiting
"in binary" from the server (postgresql 8) to a JDBC (also postgresql
8) client.
..
ResultSet rs2 = st.executeQuery("select 5::float8,asBinary('POINT(0
0)')");
rs2.next();
byte[] bs = rs2.getBytes(2);
assertTrue(bs.length == 21);
The WKB representation of a 'POINT(0 0)' is 21 bytes long (1 byte for
xdr/ndr flag, 4 bytes for type, and 2 8-byte doubles = 21 bytes).
If you step through the executeQuery() command in the postgresql driver,
you'll eventually end up in PGStream#ReceiveTupleV3(). This is where
the actual data is received from the database.
It clearly receives 84 bytes of data from the server. This is the bytea
text representation:
\001\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000
The ResultSet#getBytes() function converts this to a byte[].
dave
----------------------------------------------------------
This mail sent through IMP: https://webmail.limegroup.com/
More information about the postgis-devel
mailing list