Hi Len,

Len Morgan schrieb:
> >
> > SELECT DISTINCT c FROM table;
> >
> >I get
> >
> >ERROR:  There is no operator '<' for types '_bytea' and '_bytea'
> >        You will either have to retype this query using an explicit cast,
> >        or you will have to define the operator using CREATE OPERATOR
> >
> >To create an operator I need a function, so let's beginn with a
> >compare function:
> >
> > CREATE FUNCTION lessbyte (_bytea, _bytea) RETURNS bool AS
> > 'SELECT $1[1] < $[2];' LANGUAGE 'sql';

Sorry, this is a typo, my code example looks like this:

        CREATE FUNCTION lessbyte (_bytea, _bytea) RETURNS bool AS
        'SELECT $1[1] < $2[1];' LANGUAGE 'sql';

Ok, this is not the complete code. To do a compare of all array
elements I have to add more comparison operations. This example
is the smallest code fragment to point out my problem.

The question at this point is, how is the syntax to access an
array element of a $n-Variable which refers to an array element?
PostgreSQL does prefex the type with an underscore to make it an
array reference, but how to access a dedicated elment, also
called slot?

Any ideas?

> 
> 
> Shouldn't the above be:
> SELECT $1[1] < $1[2] ?
> 
> You probably need the field reference in both places.  I have never used
> arrays so I don't know if I'm way off base but it seems logical.
> ... 
> 
> >
> >I get
> >
> > ERROR:  parser: parse error at or near "["
> >
> >Any hint, how to overcome this?
> ...

-- 
Martin Jacobs * Windsbach * [EMAIL PROTECTED] und
[EMAIL PROTECTED]
Registered Linux User #87175

Reply via email to