Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: ConText Option indexing error
On Mon, 09 Jun 1997 11:18:10 GMT,
Gerhard.Moeller_at_OFFIS.Uni-Oldenburg.de (Gerhard Moeller) wrote:
>Hi again,
>
>I was able to create the ConText-Index, however, I cannot access the
>index:
>
>SQL> execute ctx_ddl.create_policy('ctx_test_2', 'test.test.b' );
>
>PL/SQL procedure successfully completed.
>
>SQL> execute ctx_ddl.create_index('ctx_test_2');
>
>PL/SQL procedure successfully completed.
>
>SQL> select score(1) , a from ctx_test_2 where contains( b, 'y', 1) >
>0;
>select score(1) , a from ctx_test_2 where contains( b, 'y', 1) > 0
>*
>ERROR at line 1:
>ORA-00604: error occurred at recursive SQL level 1
>ORA-20000: ConText error:
>DRG-10801: text query failed
>DRG-11300: failed to translate query
>DRG-11307: failed to parse contains()
>DRG-11307: failed to parse contains()
>DRG-11306: column 'B' has no indexing policy
>ORA-06512: at "CTXSYS.DRUE", line 110
>ORA-06512: at "CTXSYS.DR_REWRITE", line 73
>ORA-06512: at "DRSYS.DR_REWRITE", line 11
>ORA-06512: at line 1
>
>
>This is getting more and more frustrating...
>
> Thank you very much for all help, Gerhard.
>--
> Dipl. Inform. Gerhard Möller -- Gerhard.Moeller_at_OFFIS.Uni-Oldenburg.DE
>
>OFFIS | | | | | | Tel.: 0441/9722-122
>Escherweg 2 | | | | | | Sekr.: 0441/9722-113 oder -101
>D-26121 Oldenburg |O|F|F|I|S| Fax: 0441/9722-102
Hi Gerhars.
Same frustrations overhere,
I guess you are using version 1.1.2.0 of ConText. It seems like the only secure way of using context queries is the 2 step method. Check your dev guide on how to perform two step queries.
The problem you have with the Where contains clause can be solved
however, but not in a very elegant matter. I think the problem is
created when the CTXSYS user is dropped and other users still have
ConText roles or privs.
Try to delete all prefs, policies and indexes from the user_schema
connect as CTXSYS/CTXSYS and
revoke execute on ctx_query from <user_name> revoke execute on ctx_ddl from <user_name> revoke execute on ctx_dml from <user_name> revoke execute on ctx_ling from <user_name>
connect as system
and revoke ctxuser
revoke ctxapp
After that grant the whole shit again.
I would recommand to not use the one-step query however, i did not ran into any serious problems using the two-step query
good luck
Karel van der Poel
Research Engineer
PROLIN
http://www.prolin.com
karelp_at_prolin.nl
Received on Fri Jun 20 1997 - 00:00:00 CDT