【发布时间】:2020-05-27 14:10:33
【问题描述】:
我创建了运算符来覆盖内置 (bytea,bytea) 运算符的默认行为。 这甚至允许吗?我需要这个来覆盖数据库中自定义编码二进制数据的比较。
CREATE OPERATOR = (
LEFTARG = bytea,
RIGHTARG = bytea,
COMMUTATOR = =,
NEGATOR = !=,
PROCEDURE = fn_enc_eq,
HASHES, MERGES
);
CREATE OPERATOR != (
LEFTARG = bytea,
RIGHTARG = bytea,
COMMUTATOR = =,
NEGATOR = !=,
PROCEDURE = fn_enc_neq,
HASHES, MERGES
);
CREATE OPERATOR >= (
LEFTARG = bytea,
RIGHTARG = bytea,
PROCEDURE = fn_enc_gte,
HASHES, MERGES
);
CREATE OPERATOR > (
LEFTARG = bytea,
RIGHTARG = bytea,
PROCEDURE = fn_enc_gt,
HASHES, MERGES
);
CREATE OPERATOR <= (
LEFTARG = bytea,
RIGHTARG = bytea,
PROCEDURE = fn_enc_lte,
HASHES, MERGES
);
CREATE OPERATOR < (
LEFTARG = bytea,
RIGHTARG = bytea,
PROCEDURE = fn_enc_lt,
HASHES, MERGES
);
【问题讨论】:
标签: sql database postgresql operator-overloading pgadmin-4