Routine (equal) can not be resolved?

936 views
Skip to first unread message

Frank Langelage

unread,
Sep 8, 2014, 7:05:54 PM9/8/14
to camunda...@googlegroups.com
I'm trying to get camunda running on IBM Informix database.
Added Informix to
#       modified:   engine/src/main/java/org/camunda/bpm/engine/impl/cfg/ProcessEngineConfigurationImpl.java
#       modified:   engine/src/main/java/org/camunda/bpm/engine/impl/db/sql/DbSqlSessionFactory.java
and created
#       engine/src/main/resources/org/camunda/bpm/engine/db/create/activiti.informix.create.case.engine.sql
#       engine/src/main/resources/org/camunda/bpm/engine/db/create/activiti.informix.create.engine.sql
#       engine/src/main/resources/org/camunda/bpm/engine/db/create/activiti.informix.create.history.sql
#       engine/src/main/resources/org/camunda/bpm/engine/db/create/activiti.informix.create.identity.sql
#       engine/src/main/resources/org/camunda/bpm/engine/db/drop/activiti.informix.drop.case.engine.sql
#       engine/src/main/resources/org/camunda/bpm/engine/db/drop/activiti.informix.drop.engine.sql
#       engine/src/main/resources/org/camunda/bpm/engine/db/drop/activiti.informix.drop.history.sql
#       engine/src/main/resources/org/camunda/bpm/engine/db/drop/activiti.informix.drop.identity.sql
engine deploys fine on WildFly creates the tables, indexes, etc.
Then deployed the webapp for jboss (camunda-webapp-jboss-7.2.0-20140908.085323-237.war) downloaded from https://oss.sonatype.org/content/repositories/snapshots/org/camunda/bpm/webapp/camunda-webapp-jboss/7.2.0-SNAPSHOT/.
Deployment works.

But on access I get an error:
09.09. 00:32:34,469 SEVERE [org.camunda.bpm.engine.impl.interceptor.CommandContext#close] Error while closing command context: org.apache.ibatis.exceptions.PersistenceException:
### Error querying database.  Cause: java.sql.SQLException: Routine (equal) can not be resolved.
### The error may exist in org/camunda/bpm/engine/impl/mapping/entity/Statistics.xml
### The error may involve org.camunda.bpm.engine.impl.persistence.entity.ProcessDefinitionStatisticsEntity.selectActivityStatistics
### The error occurred while executing a query
### SQL: SELECT SKIP ? FIRST ? * FROM (     select RES.*           from ( select INSTANCE.ACT_ID_ as ID_,       INSTANCE_COUNT                       , INCIDENT_TYPE_       , INCIDENT_COUNT                                  from      (select ACT_ID_, count(PROC_INST_ID_) as INSTANCE_COUNT       from ACT_RU_EXECUTION      where PROC_DEF_ID_ = ? and IS_ACTIVE_ = 1      group by ACT_ID_) INSTANCE                                                 left outer join                     (select INC.ACTIVITY_ID_, INC.INCIDENT_TYPE_, count(INC.ID_) as INCIDENT_COUNT         from ACT_RU_INCIDENT INC         where INC.PROC_DEF_ID_ = ?                   group by INC.ACTIVITY_ID_, INC.INCIDENT_TYPE_       ) INC               on INC.ACTIVITY_ID_ = INSTANCE.ACT_ID_              ) RES          order by RES.ID_ asc      )
### Cause: java.sql.SQLException: Routine (equal) can not be resolved.
    at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:23)
    at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:107)
    at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:98)
    at org.camunda.bpm.engine.impl.db.sql.DbSqlSession.selectList(DbSqlSession.java:81) [camunda-engine-7.2.0-SNAPSHOT.jar:7.2.0-SNAPSHOT]
    at org.camunda.bpm.engine.impl.db.entitymanager.DbEntityManager.selectListWithRawParameter(DbEntityManager.java:98) [camunda-engine-7.2.0-SNAPSHOT.jar:7.2.0-SNAPSHOT]
    at org.camunda.bpm.engine.impl.db.entitymanager.DbEntityManager.selectList(DbEntityManager.java:90) [camunda-engine-7.2.0-SNAPSHOT.jar:7.2.0-SNAPSHOT]
    at org.camunda.bpm.engine.impl.db.entitymanager.DbEntityManager.selectList(DbEntityManager.java:82) [camunda-engine-7.2.0-SNAPSHOT.jar:7.2.0-SNAPSHOT]
    at org.camunda.bpm.engine.impl.persistence.entity.StatisticsManager.getStatisticsGroupedByActivity(StatisticsManager.java:41) [camunda-engine-7.2.0-SNAPSHOT.jar:7.2.0-SNAPSHOT]
    at org.camunda.bpm.engine.impl.ActivityStatisticsQueryImpl.executeList(ActivityStatisticsQueryImpl.java:50) [camunda-engine-7.2.0-SNAPSHOT.jar:7.2.0-SNAPSHOT]
    at org.camunda.bpm.engine.impl.AbstractQuery.execute(AbstractQuery.java:138) [camunda-engine-7.2.0-SNAPSHOT.jar:7.2.0-SNAPSHOT]
    at org.camunda.bpm.engine.impl.interceptor.CommandExecutorImpl.execute(CommandExecutorImpl.java:24) [camunda-engine-7.2.0-SNAPSHOT.jar:7.2.0-SNAPSHOT]
    at org.camunda.bpm.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:97) [camunda-engine-7.2.0-SNAPSHOT.jar:7.2.0-SNAPSHOT]
    at org.camunda.bpm.engine.impl.interceptor.JtaTransactionInterceptor.execute(JtaTransactionInterceptor.java:59) [camunda-engine-7.2.0-SNAPSHOT.jar:7.2.0-SNAPSHOT]
    at org.camunda.bpm.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:32) [camunda-engine-7.2.0-SNAPSHOT.jar:7.2.0-SNAPSHOT]
    at org.camunda.bpm.engine.impl.AbstractQuery.list(AbstractQuery.java:112) [camunda-engine-7.2.0-SNAPSHOT.jar:7.2.0-SNAPSHOT]
    at org.camunda.bpm.engine.rest.sub.repository.impl.ProcessDefinitionResourceImpl.getActivityStatistics(ProcessDefinitionResourceImpl.java:192) [camunda-engine-rest-7.2.0-SNAPSHOT-classes.jar:7.2.0-SNAPSHOT]

But the statement shown does not contain any 'equal' routine.
There is no 'equal' at all in all the xml files at camunda-bpm-platform/engine/src/main/resources/org/camunda/bpm/engine/impl/mapping/entity.

Where does this error come from?

thorben.lindhauer

unread,
Sep 9, 2014, 4:22:32 AM9/9/14
to camunda...@googlegroups.com
Hi Frank,

This seems to be some kind of Informix problem with the issued statement. As we do not support Informix, we are not very familiar with it here at camunda.

Googling the error message suggests that there this error occurs when comparing boolean variables using the operator "=". So my guess is that you create the field ACT_RU_EXECUTION.IS_ACTIVE_ as a Boolean. I'm not familiar with the possible field types on Informix but I suggest you try to create the field as something equivalent to TINYINT on Mysql.

Best regards,
Thorben

Frank Langelage

unread,
Sep 10, 2014, 5:59:05 PM9/10/14
to camunda...@googlegroups.com
Thanks for spending time on this.
I did not expect that this is an Informix problem. A really odd one. I never used datatype boolean before.

Did not find a solution how to solve it, so I changed datatype from boolean to smallint.
Reply all
Reply to author
Forward
0 new messages