On August 28, 2002 11:07 pm, Tom Lane wrote:
> "D'Arcy J.M. Cain" <darcy@druid.net> writes:
> > Hmm. I did give it a harder look and look what jumped out. Both
> > chkpass_out and chkpass_rout return PG_RETURN_CSTRING but chkpass_out
> > builds a standard c string while chkpass_rout builds a variable text
> > structure. That can't be right.
>
> It's not, but chkpass_rout is declared to return text, so it should be
> saying PG_RETURN_TEXT_P. It turns out both macros do the same thing,
> so this is just a cosmetic issue.
OK, I will make that cosmetic change.
> > Oh, one more datapoint - the error only happens on vacuum analyze, not
> > just vacuum. Not sure what that means exactly.
>
> That is odd. You only have the chkpass operators shown in the contrib
> module, right? No "chkpass = chkpass" operator? Without one, vacuum
> analyze should pretty much ignore the chkpass column ...
YES! Well, sort of. I didn't have any other operators but while I thought
that both were the same (after all, I contributed it) someone must have fixed
the one in CVS before adding it. The one I was working with had the
operators working with chkpass on both sides. As soon as I fixed that it
worked again.
In 7.2 the cstring and chkpass types fail in the function definitions because
they have not been defined so I had to stay with opaque. In fact, how will
that work in 7.3 anyway? We declare the functions to take or return a
chkpass before we define it.
--
D'Arcy J.M. Cain <darcy@{druid|vex}.net> | Democracy is three wolves
http://www.druid.net/darcy/ | and a sheep voting on
+1 416 425 1212 (DoD#0082) (eNTP) | what's for dinner.