From: | Andreas Joseph Krogh <andreak(at)officenet(dot)no> |
---|---|
To: | pgsql-sql(at)postgresql(dot)org |
Subject: | Re: index on to_char(created, 'YYYY') doesn't work |
Date: | 2003-01-15 11:52:05 |
Message-ID: | 200301151152.05952.andreak@officenet.no |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
-----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(at)officenet(dot)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-----
From | Date | Subject | |
---|---|---|---|
Next Message | Andreas Joseph Krogh | 2003-01-15 12:08:01 | Re: index on to_char(created, 'YYYY') doesn't work |
Previous Message | Andreas Joseph Krogh | 2003-01-15 11:37:05 | index on to_char(created, 'YYYY') doesn't work |