> Previously someone mentioned that we need to confirm whether the two > servers are compatible for binary or not. > > Checking to make sure the two servers have the same endianness is obvious. > Sizeof int, long, float, double, timestamp (float/int) at a minimum. > > this could be done in libpqrcv_startstreaming. The question I have > remaining is do we fall back to text mode if needed or simply fail ?
I think it makes more sense to have it fail. If the user wants to retry in text mode, they can do that easily enough; but if we make it fall-back automatically and they set up the received wrongly by mistake, they would pay the performance penalty without noticing.
Alvaro,
thanks, after sending this I pretty much came to the same conclusion.