On Thu, Mar 2, 2017 at 9:55 PM, Peter Eisentraut < peter.eisentr...@2ndquadrant.com> wrote:
> On 2/22/17 08:38, Pavan Deolasee wrote: > > One reason why these macros are not always used is because they > > typically do assert-validation to ensure ip_posid has a valid value. > > There are a few places in code, especially in GIN and also when we are > > dealing with user-supplied TIDs when we might get a TID with invalid > > ip_posid. I've handled that by defining and using separate macros which > > skip the validation. This doesn't seem any worse than what we are > > already doing. > > I wonder why we allow that. Shouldn't the tid type reject input that > has ip_posid == 0? > Yes, I think it seems sensible to disallow InvalidOffsetNumber (or > MaxOffsetNumber) in user-supplied value. But there are places in GIN and with INSERT ON CONFLICT where we seem to use special values in ip_posid to mean different things. So we might still need some way to accept invalid values there. Thanks, Pavan -- Pavan Deolasee http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services