From: | "Johann Zuschlag" <zuschlag(at)online(dot)de> |
---|---|
To: | "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org> |
Subject: | Overwriting Operator for numeric and float8 fails |
Date: | 2001-08-19 08:23:39 |
Message-ID: | E15YNrA-0008AE-00@mrelay00.kundenserver.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Hi,
My application does queries like this:
SELECT t6.* FROM RECHNUNG t6 WHERE t6.bruttosumm = 00000034.70 ORDER BY t6.nummer DESC
I get the following error: Unable to identify an operator '=' for types 'numeric' and 'float8'...
and of course the same for the operator '<>'.
Ok, ok quotes missing.
Before I just let the ODBC-driver patch the quotes. Not so smart.
Now I tried the smarter way by overwriting the operator:
create function numeric_eq(numeric,float8)
returns bool
as ''
language 'internal';
create operator = (
leftarg=numeric,
rightarg=float8,
procedure=numeric_eq,
commutator='=',
negator='<>',
restrict=eqsel,
join=eqjoinsel
);
The Problem is: It doesn't work and the backend process crashes and get's restarted.
I tried it with 7.03 and I guess 7.1.3 behaves the same.
What am I doing wrong? Can somebody give me a hint?
Thanks in advance
Johann Zuschlag
zuschlag(at)online(dot)de
From | Date | Subject | |
---|---|---|---|
Next Message | Andrew Gould | 2001-08-19 13:00:48 | Re: Overwriting Operator for numeric and float8 fails |
Previous Message | Corey Minter | 2001-08-19 07:52:31 | database corruption on VACUUM ANALYZE, now unable to initdb |