Error updating database. Cause: com.ibm.as400.access.AS400JDBCSQLSyntaxErrorException: [SQL0104] Token UPDATE was not valid. Valid tokens: EXCLUSIVE.SQL: SELECT * FROM ACT_GE_PROPERTY WHERE NAME_ = 'deployment.lock' for read only with rs use and keep update locksCause: com.ibm.as400.access.AS400JDBCSQLSyntaxErrorException: [SQL0104] Token UPDATE was not valid. Valid tokens: EXCLUSIVE.
Is there posibility to make camunda BPM working on DB2 AS400?
as written in the ticket you created (https://app.camunda.com/jira/browse/CAM-6984), you may submit pull requests to fix these queries with certain restrictions. Let us know if you have any questions on this. Perhaps there are also other users who work with Camunda and DB2 AS400 who can share their experience.
Pull requests means code contributions to our open-source github project, see https://github.com/camunda/camunda-bpm-platform. This requires that you have a good understanding how the engine and its querying works internally. We can assist you in case of questions but we cannot walk you through step by step. We prefer English for communication so that all users can follow the discussion.
Pull Requests bedeutet Code-Beiträge zu unserem Open-Source-Github-Projekt, siehe https://github.com/camunda/camunda-bpm-platform. Dies erfordert ein gutes Verständnis der Engine und ihrer Queryausführung. Wir können bei Fragen behilflich sein, aber wir können keine Schritt-für-Schritt-Anweisungen geben. Wir bevorzugen Englisch für die Kommunikation, damit alle Benutzer der Diskussion folgen können.
Marcus and I have already investigated, that camunda is using a DB2 instead of DB2400 dialect (which we have already forced in bpm-platform.xml db2)
Is there a possibility to change the hibernate dialect externally without changing the source code ?
Camunda does not use Hibernate but MyBatis. With MyBatis, object-relational mappings and SQL statements are written by hand, so just changing the database type name won’t solve the problem as there is no concept of dialects.
Using a custom database type name could be a clean way of extending Camunda with mappings for DB2400, though. I.e. setting a custom database type name, extending Camunda that it uses the default DB2 statements by default and then replacing certain statements with DB2400-specific variants.
Try to become familiar with query execution in Camunda and how Camunda selects the statement that are executed. Starting points could be unit tests. A central class will be DbSqlSessionFactory.
Thanks for making this effort. As the changes are bigger than I thought they would be (DLL scripts, dependencies, builds), I agree with my colleague’s assessment. If it was just a change in the mybatis mappings and if that change was compatible with the supported databases, then I would have voted for merging. A community extension sounds fine. Let us know if you have any questions on that.