
Dominique Devienne wrote:
On Thu, Sep 25, 2025 at 11:18 AM Dominique Devienne <ddevienne@gmail.com> wrote:
Makes sense. Note that specifically in the Boost.SQLite case, size_t where it's 64-bit is wasteful, as SQLite blob/text is limited to 1GB by default, and can't exceed 2GB when raising the limit at build time
BTW, PostgreSQL's bytea is similar, limited to 1GB. Anything larger must be manually sharded, which we do (on both SQLite and PostgreSQL). In practice, shard sizes are nowhere near 1GB in size. All that to say that size_t is overkill in these contexts. But it probably doesn't matter, size_t it will be I guess, if we want a type that's not a template, and usable in any context.
It doesn't really matter because the data() member is 64 bit anyway, so the entire type will be 128 bit regardless of whether the size() is uint32_t or size_t.