pgrx
pgrx copied to clipboard
Build Postgres Extensions with Rust!
I switched the Date type with one that's an alias for the `i32` datum. `try_get_date(&self)` will get you a `time:Date` if it's within the `time` crate's bounds, or an `Err(pg_epoch_days:...
Arrays currently can be converted into `&[T]` using `as_slice`, but in actuality their repr is boxed in a `usize`. Thus for types which are smaller than the machine's pointer width,...
Currently, we have a FromDatum trait which represents extracting a type from the Postgres Datum representation, which was useful, partly because of the type safety complications about doing that for...
These files use `*mut` to some `T` when they could probably actually use either: - `NonNull` - `&T` - `&mut T` - `Option` - `Option` - `Option` The `Option`al forms...
These files use `*const` to some `T` when they could probably actually use either: - `NonNull` - `&T` - `Option` - `Option` The `Option`al forms of these types should be...
Exposing `impl Deref` is an extreme compatibility hazard in the future if those types change, as it means PGX's stability becomes "married" to that other crate. It's more typical for...
OS is FreeBSD. pgx is 0.4.0-beta-0. It seems to get pretty close to the end but then is missing a C header which would be in /usr/local. `cargo pgx init...
There are four different kinds of "null" in PGX: The SQL Null type. The pointer to `NULL` (`0x0` on most machines, but sometimes also `usize::MAX`). The null byte aka `\0`....
A minor irritant with `cargo pgx` is that it requires a postgres version to be specified, e.g. `pg10`. It would be a little bit smoother if this could be set...