pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Andreas Joseph Krogh <andreak@officenet.no>
To: pgsql-sql@postgresql.org
Subject: Re: index on to_char(created, 'YYYY') doesn't work
Date: Wed, 15 Jan 2003 11:52:05 +0000
Message-ID: <200301151152.05952.andreak@officenet.no> (raw)
In-Reply-To: <200301151137.05697.andreak@officenet.no>
References: <200301151137.05697.andreak@officenet.no>

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Wednesday 15 January 2003 11:37, you wrote:
> The following does not work:
>
> create index session_u_idx on session (to_char(created, 'YYYY'));
> ERROR:  parser: parse error at or near "'YYYY'" at character 57
>
> Can I make a function to do this and index using the result of that
> funtion? Do anyone have an example of such a function?

I tried the following function:
- -----------------------------------------------------------------
create function drus (timestamp) returns varchar AS'
    DECLARE
        str_created VARCHAR;
        created ALIAS FOR $1;
    BEGIN
        str_created:= to_char(created, ''YYYY'');
        RETURN str_created;
    END;
' LANGUAGE 'plpgsql';

create index session_u_idx on session (drus(created));
- -----------------------------------------------------------------
But it failes with: 
ERROR:  DefineIndex: index function must be marked isImmutable

Now the question is how do I mark an index function isImmutable?

- -- 
Andreas Joseph Krogh <andreak@officenet.no>
	There will always be someone who agrees with you
	but is, inexplicably, a moron.

gpg public_key: http://dev.officenet.no/~andreak/public_key.asc
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (GNU/Linux)

iD8DBQE+JUtlUopImDh2gfQRAl1XAKCkEDKxRDys/Di1gLLRDx6h0TGiPwCeI4FN
DNdajyaQTd27f8MeaWZ+xUE=
=T3we
-----END PGP SIGNATURE-----




view thread (11+ messages)  latest in thread

Message-ID: <200301151152.05952.andreak@officenet.no>
Permalink:  ../200301151152.05952.andreak@officenet.no/
Also on:    postgresql.org/message-id/200301151152.05952.andreak@officenet.no

 · 

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: andreak@officenet.no
  Subject: Re: index on to_char(created, 'YYYY') doesn't work
  In-Reply-To: <200301151152.05952.andreak@officenet.no>

* 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