| From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
|---|---|
| To: | Abhijit Menon-Sen <ams(at)wiw(dot)org> |
| Cc: | pgsql-hackers(at)postgresql(dot)org |
| Subject: | Re: passing constant parameters to functional indices |
| Date: | 2003-05-14 16:31:14 |
| Message-ID: | 24959.1052929874@sss.pgh.pa.us |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Abhijit Menon-Sen <ams(at)wiw(dot)org> writes:
> I'd like to add support for specifying constant parameters when creating
> a functional index, e.g. create index foo on bar (substr(baz, 1, 32));
> Is this a good idea?
I think you are thinking of it the wrong way. Rather than restricting
yourself to a single function call, replace the entire "functional
index" facility with an "expressional index" facility --- ie you can
index on the result of any scalar expression, of which a function call
is just a special case. Since you'll have to change the contents of
pg_index anyway, you may as well implement the more general solution.
The mechanisms associated with CHECK constraints already do everything
needed for this; it's just that they only allow expressions delivering
boolean results. So you shouldn't have a great deal of trouble finding
prototype code to follow.
This has been discussed before. Try searching the archives for
"expressional index" to see if there's anything useful.
regards, tom lane
| From | Date | Subject | |
|---|---|---|---|
| Next Message | ohp | 2003-05-14 16:57:31 | DNS problem, |
| Previous Message | Zeugswetter Andreas SB SD | 2003-05-14 16:27:49 | Re: Client encoding conversion for binary data (was Re: GUC and postgresql.conf docs) |