[ 
https://jira.nuxeo.org/browse/NXP-4149?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Florent Guillaume resolved NXP-4149.
------------------------------------

    Resolution: Fixed

http://hg.nuxeo.org/nuxeo/nuxeo-core/rev/bda2445ebe59

> Query with * throws an SQLException on Oracle
> ---------------------------------------------
>
>                 Key: NXP-4149
>                 URL: https://jira.nuxeo.org/browse/NXP-4149
>             Project: Nuxeo Enterprise Platform
>          Issue Type: Bug
>          Components: Core SQL Storage
>    Affects Versions: 5.3 GA
>         Environment: Windows XP, JDK 1.5, OracleXE, VCS, Nuxeo Snapshot 
> nuxeo-dm-5.2.1-I20091005_1027
>            Reporter: Vladislav Pernin
>            Assignee: Florent Guillaume
>             Fix For: 5.3.1
>
>         Attachments: default-repository-config.xml, 
> default-repository-ds.xml, sql.properties
>
>   Original Estimate: 2 hours
>  Remaining Estimate: 2 hours
>
> Connect as Administrator, query from the simple query field.
> From the Nuxeo webapp, a query with the term test* throws an SQLException :
> 17:32:41,301 ERROR [ResultsProvidersCacheBean] failed to obtain sorted 
> resultProvider
> org.nuxeo.ecm.core.api.ClientException: Failed to execute query: ORA-20000: 
> Oracle Text error:
> DRG-50901: erreur de syntaxe de l'analyseur d'interrogation textuelle Ó la 
> ligne 1, colonne 6
>         at 
> org.nuxeo.ecm.core.api.AbstractSession.query(AbstractSession.java:1404)
>         at sun.reflect.GeneratedMethodAccessor454.invoke(Unknown Source)
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:592)
>         at 
> org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
>         at 
> org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166)
>         at 
> org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
>         at 
> org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
>         at 
> org.jboss.ejb3.entity.ExtendedPersistenceContextPropagationInterceptor.invoke(ExtendedPersistenceContextPropagationInterceptor.java:57)
>         at 
> org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
>         at 
> org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)
>         at 
> org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
>         at 
> org.nuxeo.jboss.interceptors.NXSessionSynchronizationInterceptor.invoke(NXSessionSynchronizationInterceptor.java:157)
>         at 
> org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
>         at 
> org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)
>         at 
> org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
>         at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:126)
>         at 
> org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:195)
>         at 
> org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
>         at 
> org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:95)
>         at 
> org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
>         at 
> org.jboss.ejb3.stateful.StatefulInstanceInterceptor.invoke(StatefulInstanceInterceptor.java:83)
>         at 
> org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
>         at 
> org.jboss.aspects.security.RoleBasedAuthorizationInterceptor.invoke(RoleBasedAuthorizationInterceptor.java:166)
>         at 
> org.jboss.ejb3.security.RoleBasedAuthorizationInterceptor.invoke(RoleBasedAuthorizationInterceptor.java:115)
>         at 
> org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
>         at 
> org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
>         at 
> org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:110)
>         at 
> org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
>         at 
> org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46)
>         at 
> org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
>         at 
> org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
>         at 
> org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
>         at 
> org.jboss.ejb3.stateful.StatefulContainer.localInvoke(StatefulContainer.java:206)
>         at 
> org.jboss.ejb3.stateful.StatefulLocalProxy.invoke(StatefulLocalProxy.java:119)
>         at $Proxy226.query(Unknown Source)
>         at 
> org.nuxeo.ecm.core.search.api.client.querymodel.QueryModel.getResultsProvider(QueryModel.java:177)
> ...
> Caused by: org.nuxeo.ecm.core.api.WrappedException: Exception: 
> org.nuxeo.ecm.core.query.QueryException. message: Invalid query: SELECT * 
> FROM Document WHERE ecm:full
> text LIKE 'test*' AND ecm:mixinType !=
>         'HiddenInNavigation' AND ecm:isCheckedInVersion = 0 AND
>         ecm:currentLifeCycleState != 'deleted'
>         at 
> org.nuxeo.ecm.core.storage.sql.coremodel.SQLSession$SQLSessionQuery.execute(SQLSession.java:473)
>         at 
> org.nuxeo.ecm.core.api.AbstractSession.query(AbstractSession.java:1351)
>         ... 167 more
> Caused by: org.nuxeo.ecm.core.api.WrappedException: Exception: 
> org.nuxeo.ecm.core.storage.StorageException. message: Invalid query: SELECT * 
> FROM Document WHERE ecm:
> fulltext LIKE 'test*' AND ecm:mixinType !=
>         'HiddenInNavigation' AND ecm:isCheckedInVersion = 0 AND
>         ecm:currentLifeCycleState != 'deleted'
>         at 
> org.nuxeo.ecm.core.storage.sql.SessionImpl.query(SessionImpl.java:635)
>         at 
> org.nuxeo.ecm.core.storage.sql.ra.ConnectionImpl.query(ConnectionImpl.java:267)
>         at 
> org.nuxeo.ecm.core.storage.sql.coremodel.SQLSession$SQLSessionQuery.execute(SQLSession.java:468)
>         ... 168 more
> Caused by: org.nuxeo.ecm.core.api.WrappedException: Exception: 
> java.sql.SQLException. message: ORA-20000: Oracle Text error:
> DRG-50901: erreur de syntaxe de l'analyseur d'interrogation textuelle Ó la 
> ligne 1, colonne 6
>         at 
> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
>         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
>         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
>         at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:743)
>         at 
> oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:216)
>         at 
> oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:955)
>         at 
> oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1062)
>         at 
> oracle.jdbc.driver.T4CPreparedStatement.executeMaybeDescribe(T4CPreparedStatement.java:839)
>         at 
> oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1132)
>         at 
> oracle.jdbc.driver.OracleStatement.doScrollExecuteCommon(OracleStatement.java:4055)
>         at 
> oracle.jdbc.driver.OraclePreparedStatement.doScrollPstmtExecuteUpdate(OraclePreparedStatement.java:10763)
>         at 
> oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3283)
>         at 
> oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3329)
>         at org.nuxeo.ecm.core.storage.sql.Mapper.query(Mapper.java:1822)
>         at 
> org.nuxeo.ecm.core.storage.sql.SessionImpl.query(SessionImpl.java:633)
>         ... 170 more
> Using % instead of * works well.
> Maybe it would be a good idea to replaace * by % before building the SQL 
> query.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://jira.nuxeo.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       
_______________________________________________
ECM-tickets mailing list
[email protected]
http://lists.nuxeo.com/mailman/listinfo/ecm-tickets

Reply via email to