From: | Stephen Jackson <Stephen(dot)Jackson(at)panting-deer(dot)org(dot)uk> |
---|---|
To: | pgsql-sql(at)postgresql(dot)org |
Subject: | Implicit/Explicit casting of the unknown type |
Date: | 2001-03-26 20:03:55 |
Message-ID: | 3ABFA0AB.51025C8E@panting-deer.org.uk |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
Hi,
I am new to this list. I have browsed the list archives and tried a
search, but haven't found anything about my problem.
I am porting several applications to PostgreSQL and have come across a
number of instances where a string literal does not work without an
explicit cast to some character based datatype. Two examples are given
below: one where the string literal is in the column list, and one where
it is in a WHERE clause.
Are there bugs in the area of determining a type for the unknown type?
Or is explicit casting of string literals to a known type generally
required by PostgreSQL?
TIA,
Stephen Jackson
Home: Stephen(dot)Jackson(at)panting-deer(dot)org(dot)uk www.panting-deer.org.uk
Work: Stephen(dot)Jackson(at)looksystems(dot)co(dot)uk www.looksystems.co.uk
[begin examples]
version
---------------------------------------------------------------------
PostgreSQL 7.0.3 on i686-pc-linux-gnu, compiled by gcc egcs-2.91.66
(1 row)
DROP TABLE strange
DROP
CREATE TABLE strange ( record_id integer )
CREATE
INSERT INTO strange ( record_id ) VALUES ( 10 )
INSERT 5174249 1
SELECT DISTINCT record_id, 123
FROM strange WHERE record_id < 100
record_id | ?column?
-----------+----------
10 | 123
(1 row)
SELECT DISTINCT record_id, 'Hello'
FROM strange WHERE record_id < 100
ERROR: Unable to identify an ordering operator '<' for type 'unknown'
Use an explicit ordering operator or modify the query
SELECT record_id, 'Hello'
FROM strange WHERE record_id < 100
record_id | ?column?
-----------+----------
10 | Hello
(1 row)
SELECT COUNT(*) FROM strange
WHERE 'TR' || 'UE' = 'TRUE'
count
-------
1
(1 row)
SELECT COUNT(*) FROM strange
WHERE 'TRUE' = 'TRUE'
ERROR: Unable to identify an operator '=' for types 'unknown' and
'unknown'
You will have to retype this query using an explicit cast
[end examples]
From | Date | Subject | |
---|---|---|---|
Next Message | Cedar Cox | 2001-03-26 20:38:37 | Re: Help |
Previous Message | wade | 2001-03-26 19:59:09 | pl/pgsql and returning rows |