Shachar Shemesh <psql@shemesh.biz> writes:
> I have defined a datatype called "varcharci", shamelessly yanking the
> input, output, recv and send functions from varchar. This means (as far
> as I understand things) that this type is binary compatible with varchar.
Use text, not varchar.
> Why is that? Being as it is that no operator = is defined for varcharci,
> and that the cast from varchar to varcharci is "as assignment" anyways,
> shouldn't postgres be able to do the cast implicitly?
Yes, it can cast to varchar, but that doesn't help because there are no
varchar operators ;-). To resolve the operator, it has to promote both
sides to text, and you didn't offer a cast to text.
regards, tom lane