Skip site navigation (1) Skip section navigation (2)

Overwriting Operator for numeric and float8 fails

From: "Johann Zuschlag" <zuschlag(at)online(dot)de>
To: "pgsql-novice(at)postgresql(dot)org" <pgsql-novice(at)postgresql(dot)org>
Subject: Overwriting Operator for numeric and float8 fails
Date: 2001-08-13 22:41:46
Message-ID: E15WQLS-00037D-00@mrelay01.kundenserver.de (view raw or flat)
Thread:
Lists: pgsql-novice
Hi,

I've got a really stupid question. 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, 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.2 behaves the same.
What am I doing wrong? Can somebody give me hint?

Thanks in advance


Johann Zuschlag
zuschlag(at)online(dot)de



Responses

pgsql-novice by date

Next:From: Andrew McMillanDate: 2001-08-14 04:24:43
Subject: Re: Overwriting Operator for numeric and float8 fails
Previous:From: Johann ZuschlagDate: 2001-08-13 22:32:50
Subject: Overwriting Operator for numeric and float8 fails

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group