pg.ddx.io  pgsql-interfaces@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: José Soares <jose@sferacarta.com>
To: JT Kirkpatrick <jt-kirkpatrick@mpsllc.com>
To: hackers <pgsql-hackers@postgresql.org>
Subject: Re: [INTERFACES] error message
Date: Tue, 04 May 1999 14:41:55 +0200
Message-ID: <372EEB13.3318B1E8@sferacarta.com> (raw)
References: <01BE956D.B317AE00.jt-kirkpatrick@mpsllc.com>

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'





view thread (7+ messages)  latest in thread

Message-ID: <372EEB13.3318B1E8@sferacarta.com>
Permalink:  ../372EEB13.3318B1E8@sferacarta.com/
Also on:    postgresql.org/message-id/372EEB13.3318B1E8@sferacarta.com

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-interfaces@postgresql.org
  Cc: jose@sferacarta.com, jt-kirkpatrick@mpsllc.com, pgsql-hackers@postgresql.org
  Subject: Re: [INTERFACES] error message
  In-Reply-To: <372EEB13.3318B1E8@sferacarta.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox