pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Sascha Schumann <sas@schell.de>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Bryan White <bryan@arcamax.com>
Cc: pgsql-sql@hub.org
Cc: pgsql-hackers@postgreSQL.org
Subject: Re: [SQL] Functional Indexes
Date: Mon, 8 Feb 1999 01:28:26 +0100
Message-ID: <19990208012826.A10851@schell.de> (raw)
In-Reply-To: <20086.918322067@sss.pgh.pa.us>
References: <199902060400.XAA31039@hub.org>
	<20086.918322067@sss.pgh.pa.us>

On Sat, Feb 06, 1999 at 12:27:47PM -0500, Tom Lane wrote:
> "Bryan White" <bryan@arcamax.com> writes:
> > The documentation for CREATE INDEX implies that functions are allowed in
> > index definitions but when I execute:
> > create unique index idxtest on customer (lower(email));
> > the result is:
> > ERROR:  DefineIndex: (null) class not found
> > Should this work?  Do I have the syntax wrong?
> 
> I tried this wih 6.4.2 and found that it was only accepted if I
> explicitly identified which index operator class to use:
> 
> play=> create table customer (email text);
> CREATE
> play=> create unique index idxtest on customer (lower(email));
> ERROR:  DefineIndex:  class not found
> play=> create unique index idxtest on customer (lower(email) text_ops);
> CREATE
> play=>
> 
> That'll do as a workaround for Bryan, but isn't this a bug?  Surely
> the system ought to know what type the result of lower() is...
> 
> 			regards, tom lane

I still have a problem with that ... edited typescript follows

funweb=> \d userdat
Table    = userdat
+----------------------------------+----------------------------------+-------+
|              Field               |              Type                | Length|
+----------------------------------+----------------------------------+-------+
| username                         | varchar() not null               |    30 |
...
+----------------------------------+----------------------------------+-------+
Index:    userdat_pkey
funweb=> create unique index userdat_idx2 on userdat (lower(username)
varchar_ops);
ERROR:  BuildFuncTupleDesc: function 'lower(varchar)' does not exist

This error message looks very bogus to me.

-- 
                     
          Regards,
						                                
                            Sascha Schumann | 
                                 Consultant | finger sas@schell.de
                                            | for PGP public key



view thread (13+ messages)  latest in thread

Message-ID: <19990208012826.A10851@schell.de>
Permalink:  ../19990208012826.A10851@schell.de/
Also on:    postgresql.org/message-id/19990208012826.A10851@schell.de

 · 

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-sql@postgresql.org
  Cc: sas@schell.de, tgl@sss.pgh.pa.us, bryan@arcamax.com, pgsql-sql@hub.org, pgsql-hackers@postgreSQL.org
  Subject: Re: [SQL] Functional Indexes
  In-Reply-To: <19990208012826.A10851@schell.de>

* 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