03-30-2012 09:33 AM
com.vaadin.event.ListenerMethod$MethodException
Cause: org.activiti.engine.ActivitiException: couldn't get table counts
at com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:510) try {
log.fine("retrieving activiti tables from jdbc metadata");
String tableNameFilter = "ACT_%";
if ("postgres".equals(getDbSqlSession().getDbSqlSessionFactory().getDatabaseType())) {
tableNameFilter = "act_%";
}
tables = databaseMetaData.getTables(null, null, tableNameFilter, getDbSqlSession().JDBC_METADATA_TABLE_TYPES);Underscore is a symbol of Oracle grammar.I've tryed to run simple SQL on my database:select *
FROM all_tables
WHERE TABLE_NAME LIKE 'ACT_%'It returns not only tables which starts with ACT_ but also other tables which starts with act.select *
FROM all_tables
WHERE TABLE_NAME LIKE 'ACT_\%' ESCAPE '\'It returns only ACT tables as it should.
if ("postgres".equals(getDbSqlSession().getDbSqlSessionFactory().getDatabaseType())) {
tableNameFilter = "act_%";
}Is it possible to introduce special logic for Oracle like if ("oracle".equals(getDbSqlSession().getDbSqlSessionFactory().getDatabaseType())) {
tableNameFilter = "ACT_\% ESCAPE '\' ";
} Or do you have any other suggestion how to solve with issue?05-09-2012 04:41 PM
05-14-2012 10:11 AM
10-09-2012 01:58 PM
10-10-2012 03:30 AM
10-10-2012 03:53 PM
Can you create a JIRA-issue with the proposed solution elaborated a bit more? That would be great…