Re: real/float example for testlibpq3
Mark Wong <markwkm@gmail.com>
From: Mark Wong <markwkm@gmail.com>
To: Greg Stark <stark@mit.edu>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Chapman Flack <chap@anastigmatix.net>, Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2022-06-14T17:40:06Z
Lists: pgsql-hackers
Attachments
- testlibpq3-v2.diff (text/plain) patch v2
On Wed, Mar 30, 2022 at 01:16:37PM -0400, Greg Stark wrote: > On Mon, 28 Feb 2022 at 17:50, Tom Lane <tgl@sss.pgh.pa.us> wrote: > > > > Chapman Flack <chap@anastigmatix.net> writes: > > > In the current state of affairs, what's considered the ur-source of that > > > information? > > > > The source code for the type's send/receive functions :-(. One could > > wish for something better, but no one has stepped up to produce such > > documentation. > > Fwiw the client library I heard of attempting to have good binary mode > support was the Crystal language client > https://github.com/will/crystal-pg. I think he was aiming for full > coverage of the built-in data types. That might make a good reference > implementation to write up documentation from. He probably uncovered > some corner cases in development that one might not find from just > inspection of the server code. Checking in for quick feedback to see if this refactor makes sense. I've created a function for each data type with the idea that an example for handling a specific data type can be more easily reviewed by looking in a single place. I've added examples for REAL, TIMESTAMP WITHOUT TIME ZONE, and BOOLEAN to try to illustrate how testlibpq3.sql and testlibpq3.c will grow if this is a good way to go. Regards, Mark