On 10/9/16 11:02 PM, Corey Huinker wrote:
There's actually another use case here that's potentially extremely
valuable for warehousing and other "big data": compact
representation of a default value.
I too would benefit from tables having either a default value in the
event of a NOT-NULL column being flagged null, or a flat-out constant.
This would be a big win in partitioned tables where the partition can
only hold one value of the partitioning column.
I hadn't thought of that use case... with rowcounts in the billions
becoming pretty common even the cost of a 4 byte enum starts to add up.
I guess a constant would be a pg_type where the sole value is encoded,
and the column itself is stored like an empty string.
Not empty string; the storage would look like NULL does today; the
difference being that we'd know that attribute wasn't NULL-able so if
it's marked as being "NULL" it actually means it has the default value.
Though obviously this would only work if the default was a Const, and
you wouldn't be able to change the default without ensuring no rows in
the table were using this trick. But I suspect there's still plenty of
scenarios where the advantage is worth it.
Jim Nasby, Data Architect, Blue Treble Consulting, Austin TX
Experts in Analytics, Data Architecture and PostgreSQL
Data in Trouble? Get it in Treble! http://BlueTreble.com
855-TREBLE2 (855-873-2532) mobile: 512-569-9461
Sent via pgsql-hackers mailing list (email@example.com)
To make changes to your subscription: