Thread: Create duplicate of existing operator
Hi,
Is it possible to use CREATE OPERATOR to make "&&" behave like "and"? In general, for the built-in operators, is it possible to see their "CREATE OPERATOR" statements?
Cheers,
Andy
--
MCNA Dental Plans
200 West Cypress Creek Road
Suite 500
Fort Lauderdale, FL 33309
Andy ChambersSoftware Engineer
MCNA Dental Plans
200 West Cypress Creek Road
Suite 500
achambers@mcna.net (Email)
www.mcna.net (Website)
CONFIDENTIALITY NOTICE: This electronic mail may contain information that is privileged, confidential, and/or otherwise protected from disclosure to anyone other than its intended recipient(s). Any dissemination or use of this electronic mail or its contents by persons other than the intended recipient(s) is strictly prohibited. If you have received this communication in error, please notify the sender immediately by reply e-mail so that we may correct our internal records. Please then delete the original message. Thank you.
Andy Chambers <achambers@mcna.net> writes: > Is it possible to use CREATE OPERATOR to make "&&" behave like "and"? Hmm ... AND is not really an operator, but a primitive expression construct. So I was about to say "no", but then it occurred to me you could do something like (untested): create function nonstandard_and(bool,bool) returns bool as 'select $1 and $2' language sql; create operator && (procedure = nonstandard_and, leftarg = bool, rightarg = bool); This would be completely unworkable unless the implementation function is an inline-able SQL function, because otherwise the planner will not recognize that your && means AND, resulting in spectacularly bad optimization. But with that, maybe you could get away with it. I would not recommend it though, because you'll be paying through the nose (inlining isn't a remarkably cheap operation) for what fundamentally is gratuitously nonstandard, unportable SQL syntax with no obvious redeeming value. The above hack is a cute hack, but it's just a hack not something I'd recommend for production. regards, tom lane