Wow, yea, the performance gains and new UX features (JSON_TABLE, MERGE improvements, etc) are huge here, but these really stand out to me:
> PostgreSQL 17 supports using identity columns and exclusion constraints on partitioned tables.
> PostgreSQL 17 also includes a built-in, platform independent, immutable collation provider that's guaranteed to be immutable and provides similar sorting semantics to the C collation except with UTF-8 encoding rather than SQL_ASCII. Using this new collation provider guarantees that your text-based queries will return the same sorted results regardless of where you run PostgreSQL.
Ironically, the information and link that you've shared is incorrect / outdated.
The newer draft proposal allows for multiple different options of time information to be added to a UUIDv7 encoding, beyond the typical 48-bits of Unix epoch millisecond data.
I appreciate you taking the time to look at the source. I used this, like I do most of my side projects, as an opportunity to learn a few things.
I wanted a generic abstraction so that multiple sources could be used. Originally I didn't want or think of the need to support multiple sources, but it quickly became apparent how necessary that was when looking at the quality of free vs paid vs personal-key-required sources.
I was looking for a well made and reusable "retry" library, but all I could find were libraries with awkward interfaces/APIs, overuses of state/pointers, a lack of extensibility, or they'd somehow opinionate themselves towards a specific purpose (HTTP retry libraries are in a major abundance).
So, I figured I'd take a stab at creating a retry library that worked in a simple loop with functional composition that would allow for easy extensibility. I ended up writing an API that somewhat heavily used the functional option pattern described so well by Dave Cheney in his blog post: "Functional options for friendly APIs" (http://dave.cheney.net/2014/10/17/functional-options-for-fri...).
Ideally, the library's packages can be used separately, so you could use the `jitter` transformations even if you don't want to use the actual `retry` mechanism. That is why the library is split into a few packages.
Anyway, I'm curious as to what HN thinks about this library. Anything that I could definitely improve? Is there anything awkward about the API in particular? Something that I missed?
Eventboard is one of a bunch that do tablet and analytics. They take a different approach on a few things, we build heavily for mobile and employee-facing apps and not just facilities managers.
I'd love feedback on this, if anyone has any constructive criticism.
I'll also answer any questions of use-cases, etc if anyone's curious about anything.
> PostgreSQL 17 supports using identity columns and exclusion constraints on partitioned tables.
> PostgreSQL 17 also includes a built-in, platform independent, immutable collation provider that's guaranteed to be immutable and provides similar sorting semantics to the C collation except with UTF-8 encoding rather than SQL_ASCII. Using this new collation provider guarantees that your text-based queries will return the same sorted results regardless of where you run PostgreSQL.