Function Based Index and java.lang.String

From: Min-Koo Seo <pool0078_at_hanmail.net>
Date: 21 Jun 2004 08:40:29 -0700
Message-ID: <4c458db8.0406210740.561bf50c_at_posting.google.com>



Hi.

I have a java stored procedure whose spec is as follows:

CREATE OR REPLACE FUNCTION DECODE_SEQUENCE(SEQUENCE VARCHAR2) RETURN VARCHAR2
DETERMINISTIC
AS LANGUAGE JAVA
NAME 'kr.ac.dke.protein.compression.SequenceCompressor.decode(java.lang.String) return java.lang.String';
/

AND I want to make an index like below:

CREATE INDEX K0_IDX ON K0(DECODE_SEQUENCE(TYPESTR), TYPELEN) NOLOGGING
COMPRESS 2
/

However, above statement raises an error, saying that 'Maximum size of index field is excceded.' Hence, I've changed the index creation statement.

CREATE INDEX K0_IDX ON K0(SUBSTR(DECODE_SEQUENCE(TYPESTR),1,1), TYPELEN)
NOLOGGING
COMPRESS 2
/

This works.

Here's the question. Can't I create an index on java.lang.String without using SUBSTR function?

Regards,
Minkoo Seo Received on Mon Jun 21 2004 - 17:40:29 CEST

Original text of this message