On 6/12/21 5:28 PM, Tom Lane wrote: > Andrew Dunstan <and...@dunslane.net> writes: >> I'm a bit dubious about this. It doesn't seem more robust to insist that >> we pass undef in certain cases. > True, it'd be nicer if that didn't matter; mainly because people > will get it wrong in future.
Right, that's what I'm worried about. > >> If passing the SQL via stdin is fragile, >> as we also found to be the case with passing it via the command line, >> perhaps we should try passing it via a tmp file. Then there would >> presumably be no SIGPIPE. > Seems kind of inefficient. Maybe writing and reading a file would > be a negligible cost compared to everything else involved, but > I'm not sure. Well, in poll_query_until we would of course set up the file outside the loop. I suspect the cost would in fact be negligible. Note, too that the psql and safe_psql methods also pass the query via stdin. > > Another angle is that the SIGPIPE complaints aren't necessarily > a bad thing: if psql doesn't read what we send, it's good to > know about that. IMO the real problem is that the errors are > so darn nonrepeatable. I wonder if there is a way to make them > more reproducible? > > I don't know. cheers andrew -- Andrew Dunstan EDB: https://www.enterprisedb.com