Re: [INTERFACES] error message

From: José Soares <jose(at)sferacarta(dot)com>
To: JT Kirkpatrick <jt-kirkpatrick(at)mpsllc(dot)com>, hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: [INTERFACES] error message
Date: 1999-05-04 12:41:55
Message-ID: 372EEB13.3318B1E8@sferacarta.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-interfaces

JT Kirkpatrick ha scritto:

> hi, i'm using access97 linked to postgres(6.4.2) tables through the new
> v.6.4 odbc. i can open a form, it shows me data for an initial record, and
> then bombs. here is the message in the log file -- i can't figure out why
> it is bombing. does anyone have a clue?? do those "-" or "/" in various
> "vinvnum" fields cause problems?? it shows valid data first, waits for a
> second, and then bombs!
>

I had a similar error when I tried to order retrieved data by a field not in
the table or a calculated field.
Seems that Access request an order by a field with an unknown type.
I can emulate a similar message as:

select 'AAAAAA' union select 'ZZZZZZ' order by 1 asc;
ERROR: Unable to identify a binary operator '>' for types unknown and unknown

select 'aaaaaa' union select 'zzzzzz' order by 1;
ERROR: Unable to identify a binary operator '<' for types unknown and unknown

May be we need a default for UNKNOWN types (what do you think Thomas, if we
make unknown type = text type?)

Any way. Try these functions:

create function unknown_lt(unknown,unknown) returns bool as
'declare
i1 text;
i2 text;
begin
i1:= $1;
i2:= $2;
return (i1 < i2);
end; ' language 'plpgsql';
CREATE

create operator < (
leftarg=unknown,
rightarg=unknown,
procedure=unknown_lt,
commutator='<',
negator='>=',
restrict=eqsel,
join=eqjoinsel
);
CREATE

create function unknown_gt(unknown,unknown) returns bool as
'declare
i1 text;
i2 text;
begin
i1:= $1;
i2:= $2;
return (i1 > i2);
end; ' language 'plpgsql';
CREATE
create operator > (
leftarg=unknown,
rightarg=unknown,
procedure=unknown_gt,
commutator='>',
negator='<=',
restrict=eqsel,
join=eqjoinsel
);
CREATE

select 'AAAAAA' union select 'ZZZZZZ' order by 1 asc;
?column?
--------
AAAAAA
ZZZZZZ
(2 rows)

select 'aaaaaa' union select 'zzzzzz' order by 1 desc;
?column?
--------
zzzzzz
aaaaaa
(2 rows)

EOF

______________________________________________________________
PostgreSQL 6.5.0 on i586-pc-linux-gnu, compiled by gcc 2.7.2.3
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jose'

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Thomas Lockhart 1999-05-04 13:03:32 Re: [HACKERS] posmaster failed under high load
Previous Message José Soares 1999-05-04 12:05:39 Re: [HACKERS] XIDTAG ???

Browse pgsql-interfaces by date

  From Date Subject
Next Message SJ Wright 1999-05-04 13:29:20 postgres -> ms sql7 odbc driver
Previous Message abdelkrim 1999-05-04 08:21:41 Re: [INTERFACES] pb when creating user type