Hi Heikki,
> Rebased version attached. Given that Aleksander marked this as Ready for
> Committer earlier, I'll add this to the next commitfest in that state,
> and will commit in the next few days, barring any new objections.
Thanks for resurrecting this patch.
While taking a fresh look at the code I noticed a few things.
In 0002 we have:
```
+ .name = "buffer"
...
+ .name = "File",
```
Not sure why "File" starts with an uppercase letter while "buffer"
starts with a lowercase one. This is naturally not a big deal but
could be worth changing for consistency.
In 0003:
```
+#if SIZEOF_DATUM == 8
+ return hash_combine64(murmurhash64((uint64) value), (uint64) kind);
+#else
+ return hash_combine(murmurhash32((uint32) value), (uint32) kind);
+#endif
```
Maybe it's worth using PointerGetDatum() + DatumGetInt32() /
DatumGetInt64() inline functions instead of casting Datums and
pointers directly.
These are arguably nitpicks though and shouldn't stop you from merging
the patches as is.
--
Best regards,
Aleksander Alekseev