On Fri, 2003-04-11 at 09:29, Tom Lane wrote:
> Bruce Badger <bruce_badger@badgerse.com> writes:
> > Is SYNC going to be a new kind of message? Is the SYNC response yet
> > another?
>
> Yes; no. SYNC response already exists: it's ReadyForQuery (Z).
>
> > Either way, could this be used as a keep-alive for long-lived
> > connections? (some users of the current Smalltalk drivers report that
> > long lived connections over the Internet sometimes just die)
>
> If you're worried about that, Q with an empty query already suffices,
> though SYNC will work too.
>
> I'd be inclined to think that such breakage isn't our problem though;
> anyone suffering from it needs to fix their firewall timeouts ...
Oh, I agree. But not everyone has control over the firewalls they have
to work through, and not all admins have enough (any?) motivation to
help. A keep-alive could be a useful option in an unhelpful world.
> > Also, with the new protocol, will the number of affected rows be
> > returned in a way that does not require parsing to fish it out?
>
> I'm not planning to change the contents of messages more than I have to.
> What's so hard about parsing "UPDATE nnn" ?
Nothing, of course. However the fewer easy things we *have* to do, the
more other things we have time for. Also, some things that could return
a row count don't, e.g. SELECT.
And to turn the question around: What's so hard about adding in an Int32
in the 'C' (CompletedResponse) message which gives a row count? Then,
if people want to display "UPDATE nnn", they can concatenate the string
'UPDATE' with the number - even easier than parsing - at least in
Smalltalk :-)
... then, having a code to indicate the kind of thing completed (like
the code used in the 'R' (AuthenticationXxx) messages means you could
lose the string in the message altogether.