pglogrepl
pglogrepl copied to clipboard
pglogrepl is not compatible with pgx 5.0
Would you please update it? thanks!
I probably won't be able to personally get to this for a while, but I think the changes should be fairly straightforward if anyone wants to submit a PR.
I tried to update dependencies but failed. The problem is that the pglogrepl code heavily relies on functions removed from pgx v5: SendBytes() and ReceiveResults() . Please could you return them or suggest an alternative?
@slotix I have also interest in porting this package to use pgx5.
@jackc Should we introduce a SendBytes() method in pgxv5 ? It's not great, as it really is a low level method that probably shouldn't be exported...
Same thing with pgtype.
jackc/pgx/v5/pgtype seems to be missing TextDecoder and NewConnInfo types from github.com/jackc/pgproto3/v2
This raises the question, what's the future for the pgtype and pgconn packages ? Should everybody start consuming them from pgx or will those individual packages be kept in sync with their counterpart in pgx ?
Should we introduce a SendBytes() method in pgxv5 ? It's not great, as it really is a low level method that probably shouldn't be exported...
My initial thought was that between being able to access the underlying net.Conn for really low level work and the new pipeline mode that SendBytes() was no longer necessary.
The only thing we really lose with direct access to the net.Conn is using context for timeout and cancellation... which is really convenient though.
Not sure. Another possibility is implementing SendBytes() in this package.
This raises the question, what's the future for the pgtype and pgconn packages ? Should everybody start consuming them from pgx or will those individual packages be kept in sync with their counterpart in pgx ?
Anything that uses pgx v4 should use the separate repos. Anything that uses pgx v5 should use the packages in the pgx repo.
I think the uses of SendBytes() can be replaced with Frontend().Send() and friends?
pgconn.ReceiveResults() is a bit more of a problem. I don't think that can be implemented externally as it uses peekMessage(), and without that it can't be done without messing up the state of the connection. I think we need something equivalent to it in pgx/v5/pgconn.