In our test environment, we performed the following set of commands (given
that the in/out functions already exist):
CREATE TYPE testtype ( internallength = 4, input = test_in, output = test_out
);
CREATE FUNCTION test_function(testtype, testtype) RETURNS bool AS '/usr/local/pgsql/types/bitset.so' LANGUAGE
'c';
CREATE OPERATOR ^^^ ( leftarg = testtype, rightarg = testtype, procedure = test_function
);
DROP TYPE testtype;
Here, we've just dropped the testttype that the operator ^^^ uses. This
does not cause the operator to be deleted, it simply reverts its left and
right args to 'NONE'.
So, we're left with an operator with two NONE arguments (and returns NONE),
so we now try to drop this operator:
DROP OPERATOR ^^^ (NONE, NONE);
This fails with:
ERROR: parser: parse error at or near "NONE"
DROP OPERATOR ^^^ (none, none);
Also fails.
How do we go about dropping the now invalid operator???
Chris