Are you sure you are looking at the correct override (in case you have several)?
I tried the one below and it didn't give me any syntax error.
A similar sample below also works as expected:

$ java -jar ~/java/sb/sb0/jars/sane/derbyrun.jar ij foo.sh
ij version 10.11
ij> connect 'jdbc:derby:memory:wombat;create=true';
ij> create table t(i int);
0 rows inserted/updated/deleted
ij> create index my_index on t(i);
0 rows inserted/updated/deleted
ij> SELECT
i
FROM
app.t
--DERBY-PROPERTIES index = MY_INDEX
where
(
     i > 0
)
;
I
-----------

0 rows selected


On 11. april 2014 18:16, Frank Rivera wrote:
BTW the error is this

Invalid syntax for optimizer overrides. The syntax should be -- DERBY-PROPERTIES propertyName = value [, propertyName = value]*

Sincerely,

Frank Rivera
LogicBit Software - Research Triangle Park, North Carolina

On Apr 11, 2014, at 12:15 PM, Frank Rivera <[email protected] <mailto:[email protected]>> wrote:

We have a simple query using LIKE but is very slow. We need to tell the optimizer which index to use but the override DERBY-PROPERTIES statement returns an error. here is the SQL.

SELECT
esq.attachment.guid
FROM
esq.attachment
--DERBY-PROPERTIES index = ATTACHMENT_LINKNAMES_INDEX
where
(
esq.attachment.file_name  LIKE ‘%drisco%'
   OR esq.attachment.file_index_name  LIKE ‘%drisco%'
)
AND
(
        esq.attachment.link_guid IS NOT NULL
        AND
        esq.attachment.link_table='mat'
        AND
        esq.attachment.link_guid IN (
                SELECT esq.matter.guid
                FROM esq.matter
                WHERE
esq.matter.guid=esq.attachment.link_guid
                AND (
( esq.matter.grp_guid=0 OR esq.matter.grp_guid IS NULL ) OR ( esq.matter.grp_guid>0 AND esq.matter.grp_guid IN ( 2,1,6,4,3 ) )
)
        )
) ;




Sincerely,

Frank Rivera
LogicBit Software - Research Triangle Park, North Carolina




Reply via email to