>>>>> "David" == David E Wheeler <david@kineticode.com> writes:
>> The only open question I can see is what delete(hs,$1) resolves to>> when $1 is an unknown-type placeholder; this is
probablyan>> incompatibility with the old version if anyone is relying on that>> (but I don't see why they would be).
David> Given your examples, I think it probably should resolve toDavid> text as it does, as deleting a single key is
likelyto be aDavid> common case. It should otherwise be cast.
I think you're missing the point here; I can't control what it resolves
to, since that's the job of the function overload resolution code.
But I checked, and delete(hstore,$1) still resolves to
delete(hstore,text) when the type of $1 is not specified, so there's
no compatibility issue there that I can see. (I'm not sure I
understand _why_ it resolves to that rather than being ambiguous...)
>> The overhead is possibly non-negligible for reading old values,>> but old values can be promoted to new ones fairly
simply>>(e.g. using ALTER TABLE).
David> So then it's negligible for new values?
Yes. (One bit test, done inline)
--
Andrew.