summaryrefslogtreecommitdiff
path: root/postgresql.scm
AgeCommit message (Collapse)Author
2024-09-12Use bytevector foreign type instead of bare scheme-pointerHEADmasterPeter Bex
This provides a little bit more safety in case we need to change this again later.
2024-09-12Port Postgres egg to CHICKEN 65.0.0Peter Bex
This has quite a few changes due to the low-level nature of this code: when the contents of a string get copied by C functions, we can't pass it to arguments of the scheme-pointer type directly anymore. Instead, strings are now wrapper objects which point to an internal (NUL-terminated!) bytevector. So not only do we have to extract this bytevector and pass it to these C functions, but we also need to calculate the string length excluding the NUL terminator. This creates a bit more branching in the code to get the thing to copy and length. The nice thing is that we no longer need to append NUL bytes to strings in a few places. Instead, we can just pass the raw bytevector to the C functions, which means this should be rather faster now.
2020-03-28Explicitly depend on scheduler unit so it gets loadedPeter Bex
We used to use srfi-18, but that's an extra dependency we don't need so when we added our own thread waiter with support for a delay, we dropped srfi-18 altogether, also for calls not using the delay. Tests did not catch this, ironically, because they load srfi-18.
2019-05-12Forgot to expose the default notify handler parameter4.1.1Peter Bex
2019-05-12Add LISTEN/NOTIFY support4.1.0Peter Bex
This really is just a matter of reading out notifications when they're available. Also, we offer a way to explicitly wait for notifications.
2019-05-01Change file encoding to UTF-8Peter Bex
2018-06-11Initial port of PostgreSQL egg to CHICKEN 54.0.0Peter Bex