Marek,

What version of ADS is this?  And btw I think my fix in the 1.0 branch fixes this for 1.0.2.  You might want to try building and using that for now and report back what problems you're having.

Thanks,
Alex

On 3/1/07, marek-apacheds <marek-apacheds@o2.pl> wrote:
Hi

When I execute the following query with default scope (ONELEVEL_SCOPE)

SearchControls controls = new SearchControls();
ctx.search("", "(!(title=Marek))", controls);

everything works fine.

But when I change scope to SUBTREE_SCOPE I got an exception.

SearchControls controls = new SearchControls();
controls.setSearchScope(SearchControls.SUBTREE_SCOPE);
ctx.search("", "(!(title=Marek))", controls);


javax.naming.NamingException: [LDAP: error code 80 - failed on search
operation: Cannot efficiently search the DIB w/o an index on attribute A
user index on attribute 2.5.4.12 (title) does not exist!
. To allow such searches please contact the directory
administrator to create the index or to enable referrals on searches using
these
attributes to a replica with the required set of indices.]; remaining name
''
at com.sun.jndi.ldap.LdapCtx.mapErrorCode(LdapCtx.java:3029)
at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2931)
at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2737)
at com.sun.jndi.ldap.LdapCtx.searchAux(LdapCtx.java:1808)
at com.sun.jndi.ldap.LdapCtx.c_search(LdapCtx.java:1731)
at
com.sun.jndi.toolkit.ctx.ComponentDirContext.p_search(ComponentDirContext.java:368)
at
com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(PartialCompositeDirContext.java:338)
at
com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(PartialCompositeDirContext.java:321)
at
javax.naming.directory.InitialDirContext.search (InitialDirContext.java:248)
at com.acme.ApacheDSITest.testNegationSubtreeScope(ApacheDSITest.java:90)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at junit.framework.TestCase.runTest (TestCase.java:154)
at junit.framework.TestCase.runBare(TestCase.java:127)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run (TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at
org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run (JUnit3TestReference.java:128)
at
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main (RemoteTestRunner.java:196)




Regards
Marek