Philip Hallstrom wrote:
> CREATE INDEX test_idx ON test (UPPER(field));
> devloki=> create index foo on rolo_entry (UPPER(fname));
> ERROR: DefineIndex: function 'upper(varchar)' does not exist
> devloki=> create index foo on rolo_entry (UPPER(varchar(fname)));
> ERROR: parser: parse error at or near "varchar"
> devloki=> create index foo on rolo_entry (UPPER(text(fname)));
> ERROR: parser: parse error at or near "("
> devloki=> create index foo on rolo_entry (UPPER(text fname));
> ERROR: parser: parse error at or near "fname"
> devloki=> create index foo on rolo_entry (UPPER(fname::text));
> ERROR: parser: parse error at or near "::"
> devloki=> create index foo on rolo_entry (UPPER(CAST(fname AS TEXT)));
> ERROR: parser: parse error at or near "cast"
> So, by creating a function such as UPPER(varchar) instead of the built-in
> UPPER(text), I can do what I want.
> What's odd, is that I can create the function UPPER(varchar) which then
> calls UPPER(text) and use it all I want. However, if I then try to create
> an index (like my first example above) it locks up the entire machine.
That is wild. I'd say bring this up in the hackers list -- as upper
should also work with varchar by default.
--
Lamar Owen
WGCR Internet Radio
1 Peter 4:11