Am 12.11.2019 um 14:09 schrieb D'Arcy Cain:
> Is the code ready now for a release? Does anyone know of anything
> missing that should be in it?
That code is ready to be released as 5.1.1.
We had one big open question that still needs to be resolved: How to
deal with new/optional functionality, e.g. the memsize() function new in
PG 12. We actually wanted to add this into 5.1.1 as well, but it seems
we should postpone it.
The problem here is that if we build the shared lib with these
functions, they don't run on systems with older pqlib. This is
particulary a problem when you distribute PyGreSQL as a binary (the
usual way on Windows). Therefore we would need to ship binary packages
not only for various Python versions, but also different Postgres
versions (the whole matrix of combinations), which is awful.
Two related problems:
- The current way how build switches were implemented in setup.py is not
really useful, because they can never be set to false. This needs to be
changed. See https://github.com/Cito/PyGreSQL/issues/12
- Lazy binding would theoretically allow using functions of newer
pqlibs, but somehow did not seem to work as expected in practice, this
needs to be further investigated.
I suggest moving the solution of these problems to 5.2 since the new
implementation of build switches can be considered a breaking change.
-- Christoph
_______________________________________________
PyGreSQL mailing list
PyGreSQL@Vex.Net
https://mail.vex.net/mailman/listinfo/pygresql