Bug #852
ferméErreur sous au chargement d'une instance en tant que superviseur
100%
Description
En tant que superviseur, la requête suivante est exécutée :
select * from SB_Workflow_ProcessInstance instance where modelid = ?
avec modelid tout en minuscules, alors qu'elle est déclarée comme modelId avec un I.
J'obtiens un superbe plantage d'emblée (voir pile plus bas) !!
Or, au moins sur les versions Unix, POstgresQL est cas sensitive pour les noms d'objets, si ceux-ci ont été créés avec des guillemets "". Ici, l'erreur est peut-être à mettre en relation avec la façon dont dbBuilder exécute les ordres DDL...?
Toujours est-il que j'ai dû renommé la colonne avec :
alter table SB_Workflow_ProcessInstance rename column "modelId" to modelId;
La meilleure solution consiste aussi sans doute à modifier le code de ProcessInstanceManagerImpl ligne 156.
Pile :
org.postgresql.util.PSQLException: ERREUR: la colonne « modelid » n'existe pas
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1592)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1327)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:192)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:451)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:350)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:254)
at org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeQuery(WrappedPreparedStatement.java:211)
at com.silverpeas.workflow.engine.instance.ProcessInstanceManagerImpl.getProcessInstances(ProcessInstanceManagerImpl.java:210)
at com.silverpeas.processManager.ProcessManagerSessionController.resetCurrentProcessList(ProcessManagerSessionController.java:320)