Received: from localhost (postgresql.org [64.49.215.8]) by postgresql.org (Postfix) with ESMTP id 1D3EA4762BA for ; Wed, 15 Jan 2003 06:54:27 -0500 (EST) Received: from krogh.officenet.no (unknown [193.212.174.47]) by postgresql.org (Postfix) with ESMTP id CDB25476541 for ; Wed, 15 Jan 2003 06:54:02 -0500 (EST) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by krogh.officenet.no (Postfix) with ESMTP id 415BCB3829 for ; Wed, 15 Jan 2003 06:52:06 -0500 (EST) From: Andreas Joseph Krogh Organization: OfficeNet AS 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 User-Agent: KMail/1.5 References: <200301151137.05697.andreak@officenet.no> In-Reply-To: <200301151137.05697.andreak@officenet.no> MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Description: clearsigned data Content-Disposition: inline Message-Id: <200301151152.05952.andreak@officenet.no> X-Virus-Scanned: by AMaViS new-20020517 X-Archive-Number: 200301/208 X-Sequence-Number: 11073 -----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:=3D to_char(created, ''YYYY''); RETURN str_created; END; ' LANGUAGE 'plpgsql'; create index session_u_idx on session (drus(created)); - ----------------------------------------------------------------- But it failes with:=20 ERROR: DefineIndex: index function must be marked isImmutable Now the question is how do I mark an index function isImmutable? - --=20 Andreas Joseph Krogh 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=3D =3DT3we -----END PGP SIGNATURE-----