Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(deps-dev): bump gson-fire from 1.8.3 to 1.8.5 #99

Open
wants to merge 11 commits into
base: master
Choose a base branch
from
45 changes: 45 additions & 0 deletions database/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@
<version.db2>${version.db2-10.5}</version.db2>
<version.postgresql>42.3.3</version.postgresql>
<version.liquibase>4.8.0</version.liquibase>
<version.liquibase>4.4.0</version.liquibase>
<version.informix>4.50.3</version.informix>

<!-- CockroachDB is compatible with PostgreSQL 9.5,
so a different version of the JDBC driver needs to be used -->
Expand Down Expand Up @@ -93,6 +95,7 @@
<version>${version.postgresql}</version>
</dependency>
<dependency>
<<<<<<< 3ed6b1a4936388ebbb9c9debd1f7c4e0c9251495
<groupId>com.ibm.db2</groupId>
<artifactId>jcc</artifactId>
<version>${version.db2}</version>
Expand All @@ -102,6 +105,15 @@
<artifactId>db2jcc4</artifactId>
<version>${version.db2}</version>
</dependency>
<dependency>
<groupId>com.ibm.informix.jdbc</groupId>
<artifactId>ifxjdbc</artifactId>
=======
<groupId>com.ibm.informix</groupId>
<artifactId>jdbc</artifactId>
>>>>>>> IBM Informix support (update VII).
<version>${version.informix}</version>
</dependency>
</dependencies>
</dependencyManagement>

Expand Down Expand Up @@ -640,6 +652,39 @@
</dependencies>
</profile>

<profile>
<id>informix</id>
<properties>
<database.type>informix</database.type>
<database.driver>com.informix.jdbc.IfxDriver</database.driver>
<database.datasource.class>com.informix.jdbcx.IfxDataSource</database.datasource.class>
</properties>

<dependencies>
<dependency>
<groupId>com.ibm.informix</groupId>
<artifactId>jdbc</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>sql-maven-plugin</artifactId>
<dependencies>
<dependency>
<groupId>com.ibm.informix</groupId>
<artifactId>jdbc</artifactId>
<version>${version.informix}</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</pluginManagement>
</build>
</profile>
</profiles>

</project>
8 changes: 8 additions & 0 deletions distro/sql-script/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -208,6 +208,10 @@
<filelist dir="target/camunda-engine-${project.version}/org/camunda/bpm/engine/db/create" files="activiti.cockroachdb.create.engine.sql activiti.cockroachdb.create.case.engine.sql activiti.cockroachdb.create.decision.engine.sql activiti.cockroachdb.create.history.sql activiti.cockroachdb.create.case.history.sql activiti.cockroachdb.create.decision.history.sql" />
</concat>

<concat destfile="target/sql/create/informix_engine_${project.version}.sql" fixlastline="yes">
<filelist dir="target/camunda-engine-${project.version}/org/camunda/bpm/engine/db/create" files="activiti.informix.create.engine.sql activiti.informix.create.case.engine.sql activiti.informix.create.decision.engine.sql activiti.informix.create.history.sql activiti.informix.create.case.history.sql activiti.informix.create.decision.history.sql" />
</concat>

<!-- add identity create files -->
<copy todir="target/sql/create" flatten="false">
<fileset dir="target/camunda-engine-${project.version}/org/camunda/bpm/engine/db/create" />
Expand Down Expand Up @@ -254,6 +258,10 @@
<filelist dir="target/camunda-engine-${project.version}/org/camunda/bpm/engine/db/drop" files="activiti.cockroachdb.drop.decision.engine.sql activiti.cockroachdb.drop.case.engine.sql activiti.cockroachdb.drop.engine.sql activiti.cockroachdb.drop.decision.history.sql activiti.cockroachdb.drop.case.history.sql activiti.cockroachdb.drop.history.sql" />
</concat>

<concat destfile="target/sql/drop/informix_engine_${project.version}.sql" fixlastline="yes">
<filelist dir="target/camunda-engine-${project.version}/org/camunda/bpm/engine/db/drop" files="activiti.informix.drop.decision.engine.sql activiti.informix.drop.case.engine.sql activiti.informix.drop.engine.sql activiti.informix.drop.decision.history.sql activiti.informix.drop.case.history.sql activiti.informix.drop.history.sql" />
</concat>

<!-- add identity drop files -->
<copy todir="target/sql/drop" flatten="false">
<fileset dir="target/camunda-engine-${project.version}/org/camunda/bpm/engine/db/drop" />
Expand Down
6 changes: 6 additions & 0 deletions distro/wildfly/modules/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,12 @@
<artifactId>camunda-connect-soap-http-client</artifactId>
</dependency>

<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-jsr310</artifactId>
<version>${version.jackson}</version>
</dependency>

<!-- script engine dependencies -->
<dependency>
<groupId>org.codehaus.groovy</groupId>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<module xmlns="urn:jboss:module:1.0" name="com.fasterxml.jackson.datatype.jackson-datatype-jsr310" slot="@version.jackson@">
<resources>
<resource-root path="jackson-datatype-jsr310-@version.jackson@.jar" />
</resources>

<dependencies>
<module name="com.fasterxml.jackson.core.jackson-databind" slot="@version.jackson.databind@" />
</dependencies>
</module>
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<module xmlns="urn:jboss:module:1.0" name="com.fasterxml.jackson.datatype.jackson-datatype-jsr310" slot="@version.jackson@">
<resources>
<resource-root path="jackson-datatype-jsr310-@version.jackson@.jar" />
</resources>

<dependencies>
<module name="com.fasterxml.jackson.core.jackson-databind" slot="@version.jackson@" />
</dependencies>
</module>
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
<module name="org.camunda.commons.camunda-commons-typed-values" />

<module name="com.fasterxml.jackson.core.jackson-databind" slot="@version.jackson@" />
<module name="com.fasterxml.jackson.datatype.jackson-datatype-jsr310" slot="@version.jackson@" />
<module name="com.jayway.jsonpath.json-path" />
</dependencies>

Expand Down
2 changes: 1 addition & 1 deletion engine-rest/engine-rest-openapi/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
<openapi.generator.version>4.2.3</openapi.generator.version>
<!-- properties versions used by the openapi client -->
<!-- update them during openapi.generator version update -->
<gson-fire-version>1.8.3</gson-fire-version>
<gson-fire-version>1.8.5</gson-fire-version>
<swagger-core-version>1.5.22</swagger-core-version>
<okhttp-version>3.14.2</okhttp-version>
<gson-version>2.8.9</gson-version>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1610,6 +1610,7 @@ protected static Properties getDefaultDatabaseTypeMappings() {
databaseTypeMappings.setProperty("DB2/SUN64", "db2");
databaseTypeMappings.setProperty("DB2/PTX", "db2");
databaseTypeMappings.setProperty("DB2/2", "db2");
databaseTypeMappings.setProperty("Informix Dynamic Server", "informix");
return databaseTypeMappings;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,8 @@ public class DbSqlSessionFactory implements SessionFactory {
public static final String POSTGRES = "postgres";
public static final String MARIADB = "mariadb";
public static final String CRDB = "cockroachdb";
public static final String[] SUPPORTED_DATABASES = {MSSQL, DB2, ORACLE, H2, MYSQL, POSTGRES, MARIADB, CRDB};
public static final String INFORMIX = "informix";
public static final String[] SUPPORTED_DATABASES = {MSSQL, DB2, ORACLE, H2, MYSQL, POSTGRES, MARIADB, CRDB, INFORMIX};

protected static final Map<String, Map<String, String>> databaseSpecificStatements = new HashMap<>();

Expand Down Expand Up @@ -714,6 +715,100 @@ public class DbSqlSessionFactory implements SessionFactory {
constants.put("constant.integer.cast", "NULL");
constants.put("constant.null.reporter", "NULL AS REPORTER_");
dbSpecificConstants.put(MSSQL, constants);

// informix
databaseSpecificLimitBeforeStatements.put(INFORMIX, "SELECT SKIP ${firstResult} FIRST ${maxResults} * FROM (");
optimizeDatabaseSpecificLimitBeforeWithoutOffsetStatements.put(INFORMIX, "");
databaseSpecificLimitAfterStatements.put(INFORMIX, ")");
databaseSpecificInnerLimitAfterStatements.put(INFORMIX, databaseSpecificLimitAfterStatements.get(INFORMIX));
optimizeDatabaseSpecificLimitAfterWithoutOffsetStatements.put(INFORMIX, "");
databaseSpecificLimitBetweenStatements.put(INFORMIX, "");
databaseSpecificLimitBetweenFilterStatements.put(INFORMIX, "");
databaseSpecificLimitBetweenAcquisitionStatements.put(INFORMIX, "");
databaseSpecificLimitBeforeWithoutOffsetStatements.put(INFORMIX, "FIRST ${maxResults}");
databaseSpecificLimitAfterWithoutOffsetStatements.put(INFORMIX, "");
databaseSpecificOrderByStatements.put(INFORMIX, defaultOrderBy);
databaseSpecificLimitBeforeNativeQueryStatements.put(INFORMIX, "");
databaseSpecificDistinct.put(INFORMIX, "distinct");
databaseSpecificNumericCast.put(INFORMIX, "");

databaseSpecificCountDistinctBeforeStart.put(INFORMIX, defaultDistinctCountBeforeStart);
databaseSpecificCountDistinctBeforeEnd.put(INFORMIX, defaultDistinctCountBeforeEnd);
databaseSpecificCountDistinctAfterEnd.put(INFORMIX, defaultDistinctCountAfterEnd);

databaseSpecificEscapeChar.put(INFORMIX, defaultEscapeChar);

databaseSpecificBitAnd1.put(INFORMIX, "BITAND(");
databaseSpecificBitAnd2.put(INFORMIX, ",");
databaseSpecificBitAnd3.put(INFORMIX, ")");
databaseSpecificDatepart1.put(INFORMIX, "");
databaseSpecificDatepart2.put(INFORMIX, "(");
databaseSpecificDatepart3.put(INFORMIX, ")");
databaseSpecificDummyTable.put(INFORMIX, "FROM SYSMASTER:SYSDUAL");
databaseSpecificTrueConstant.put(INFORMIX, "'t'");
databaseSpecificFalseConstant.put(INFORMIX, "'f'");
databaseSpecificIfNull.put(INFORMIX, "NVL");

databaseSpecificDaysComparator.put(INFORMIX, "DATE(${date}) + ${days} <= #{currentTimestamp}");

databaseSpecificCollationForCaseSensitivity.put(INFORMIX, "");

addDatabaseSpecificStatement(INFORMIX, "insertByteArray", "insertByteArray_postgres");
addDatabaseSpecificStatement(INFORMIX, "updateByteArray", "updateByteArray_postgres");
addDatabaseSpecificStatement(INFORMIX, "selectByteArray", "selectByteArray_postgres");
addDatabaseSpecificStatement(INFORMIX, "selectByteArrays", "selectByteArrays_postgres");
addDatabaseSpecificStatement(INFORMIX, "selectResourceByDeploymentIdAndResourceName", "selectResourceByDeploymentIdAndResourceName_postgres");
addDatabaseSpecificStatement(INFORMIX, "selectResourceByDeploymentIdAndResourceNames", "selectResourceByDeploymentIdAndResourceNames_postgres");
addDatabaseSpecificStatement(INFORMIX, "selectResourceByDeploymentIdAndResourceId", "selectResourceByDeploymentIdAndResourceId_postgres");
addDatabaseSpecificStatement(INFORMIX, "selectResourceByDeploymentIdAndResourceIds", "selectResourceByDeploymentIdAndResourceIds_postgres");
addDatabaseSpecificStatement(INFORMIX, "selectResourcesByDeploymentId", "selectResourcesByDeploymentId_postgres");
addDatabaseSpecificStatement(INFORMIX, "selectResourceById", "selectResourceById_postgres");
addDatabaseSpecificStatement(INFORMIX, "selectLatestResourcesByDeploymentName", "selectLatestResourcesByDeploymentName_postgres");
addDatabaseSpecificStatement(INFORMIX, "insertIdentityInfo", "insertIdentityInfo_postgres");
addDatabaseSpecificStatement(INFORMIX, "updateIdentityInfo", "updateIdentityInfo_postgres");
addDatabaseSpecificStatement(INFORMIX, "selectIdentityInfoById", "selectIdentityInfoById_postgres");
addDatabaseSpecificStatement(INFORMIX, "selectIdentityInfoByUserIdAndKey", "selectIdentityInfoByUserIdAndKey_postgres");
addDatabaseSpecificStatement(INFORMIX, "selectIdentityInfoByUserId", "selectIdentityInfoByUserId_postgres");
addDatabaseSpecificStatement(INFORMIX, "selectIdentityInfoDetails", "selectIdentityInfoDetails_postgres");
addDatabaseSpecificStatement(INFORMIX, "insertComment", "insertComment_postgres");
addDatabaseSpecificStatement(INFORMIX, "selectCommentsByTaskId", "selectCommentsByTaskId_postgres");
addDatabaseSpecificStatement(INFORMIX, "selectCommentsByProcessInstanceId", "selectCommentsByProcessInstanceId_postgres");
addDatabaseSpecificStatement(INFORMIX, "selectCommentByTaskIdAndCommentId", "selectCommentByTaskIdAndCommentId_postgres");
addDatabaseSpecificStatement(INFORMIX, "selectFilterByQueryCriteria", "selectFilterByQueryCriteria_oracleDb2");
addDatabaseSpecificStatement(INFORMIX, "selectFilter", "selectFilter_postgres");

addDatabaseSpecificStatement(INFORMIX, "deleteAttachmentsByRemovalTime", "deleteAttachmentsByRemovalTime_informix");
addDatabaseSpecificStatement(INFORMIX, "deleteCommentsByRemovalTime", "deleteCommentsByRemovalTime_informix");
addDatabaseSpecificStatement(INFORMIX, "deleteHistoricActivityInstancesByRemovalTime", "deleteHistoricActivityInstancesByRemovalTime_informix");
addDatabaseSpecificStatement(INFORMIX, "deleteHistoricDecisionInputInstancesByRemovalTime", "deleteHistoricDecisionInputInstancesByRemovalTime_informix");
addDatabaseSpecificStatement(INFORMIX, "deleteHistoricDecisionInstancesByRemovalTime", "deleteHistoricDecisionInstancesByRemovalTime_informix");
addDatabaseSpecificStatement(INFORMIX, "deleteHistoricDecisionOutputInstancesByRemovalTime", "deleteHistoricDecisionOutputInstancesByRemovalTime_informix");
addDatabaseSpecificStatement(INFORMIX, "deleteHistoricDetailsByRemovalTime", "deleteHistoricDetailsByRemovalTime_informix");
addDatabaseSpecificStatement(INFORMIX, "deleteExternalTaskLogByRemovalTime", "deleteExternalTaskLogByRemovalTime_informix");
addDatabaseSpecificStatement(INFORMIX, "deleteHistoricIdentityLinkLogByRemovalTime", "deleteHistoricIdentityLinkLogByRemovalTime_informix");
addDatabaseSpecificStatement(INFORMIX, "deleteHistoricIncidentsByRemovalTime", "deleteHistoricIncidentsByRemovalTime_informix");
addDatabaseSpecificStatement(INFORMIX, "deleteJobLogByRemovalTime", "deleteJobLogByRemovalTime_informix");
addDatabaseSpecificStatement(INFORMIX, "deleteHistoricProcessInstancesByRemovalTime", "deleteHistoricProcessInstancesByRemovalTime_informix");
addDatabaseSpecificStatement(INFORMIX, "deleteHistoricTaskInstancesByRemovalTime", "deleteHistoricTaskInstancesByRemovalTime_informix");
addDatabaseSpecificStatement(INFORMIX, "deleteHistoricVariableInstancesByRemovalTime", "deleteHistoricVariableInstancesByRemovalTime_informix");
addDatabaseSpecificStatement(INFORMIX, "deleteUserOperationLogByRemovalTime", "deleteUserOperationLogByRemovalTime_informix");
addDatabaseSpecificStatement(INFORMIX, "deleteByteArraysByRemovalTime", "deleteByteArraysByRemovalTime_informix");
addDatabaseSpecificStatement(INFORMIX, "deleteHistoricBatchesByRemovalTime", "deleteHistoricBatchesByRemovalTime_informix");
addDatabaseSpecificStatement(INFORMIX, "deleteAuthorizationsByRemovalTime", "deleteAuthorizationsByRemovalTime_informix");
addDatabaseSpecificStatement(INFORMIX, "deleteTaskMetricsByRemovalTime", "deleteTaskMetricsByRemovalTime_informix");

constants = new HashMap<String, String>();
constants.put("constant.event", "'event'");
constants.put("constant.op_message", "NEW_VALUE_ || '_|_' || PROPERTY_");
constants.put("constant_for_update", "for update");
constants.put("constant.datepart.quarter", "QUARTER");
constants.put("constant.datepart.month", "MONTH");
constants.put("constant.datepart.minute", "MINUTE");
constants.put("constant.null.startTime", "CAST(NULL AS DATETIME) AS START_TIME_");
constants.put("constant.varchar.cast", "'${key}'");
constants.put("constant.integer.cast", "cast(NULL as integer)");
constants.put("constant.null.reporter", "CAST(NULL AS VARCHAR(255)) AS REPORTER_");
dbSpecificConstants.put(INFORMIX, constants);
}

protected String databaseType;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -133,8 +133,11 @@ public static boolean checkForeignKeyConstraintViolation(Throwable cause) {
List<SQLException> relatedSqlExceptions = findRelatedSqlExceptions(cause);
for (SQLException exception : relatedSqlExceptions) {

// Exception.message can be null on Informix
if (exception.getMessage() == null) {
return false;
// PostgreSQL doesn't allow for a proper check
if ("23503".equals(exception.getSQLState()) && exception.getErrorCode() == 0) {
} else if ("23503".equals(exception.getSQLState()) && exception.getErrorCode() == 0) {
return false;
} else if (
// SqlServer
Expand All @@ -154,6 +157,9 @@ public static boolean checkForeignKeyConstraintViolation(Throwable cause) {
|| (exception.getMessage().toLowerCase().contains("sqlstate=23503") && exception.getMessage().toLowerCase().contains("sqlcode=-530"))
// DB2 zOS
|| ("23503".equals(exception.getSQLState()) && exception.getErrorCode() == -530)
// Informix
|| (exception.getMessage().toLowerCase().contains("referential constraint")
|| ("23000".equals(exception.getSQLState()) && exception.getErrorCode() == -691))
) {

return true;
Expand All @@ -167,7 +173,10 @@ public static boolean checkVariableIntegrityViolation(Throwable cause) {

List<SQLException> relatedSqlExceptions = findRelatedSqlExceptions(cause);
for (SQLException exception : relatedSqlExceptions) {
if (
// Exception.message can be null on Informix
if (exception.getMessage() == null) {
return false;
} else if (
// MySQL & MariaDB
(exception.getMessage().toLowerCase().contains("act_uniq_variable") && "23000".equals(exception.getSQLState()) && exception.getErrorCode() == 1062)
// PostgreSQL
Expand All @@ -177,7 +186,9 @@ public static boolean checkVariableIntegrityViolation(Throwable cause) {
// Oracle
|| (exception.getMessage().toLowerCase().contains("act_uniq_variable") && "23000".equals(exception.getSQLState()) && exception.getErrorCode() == 1)
// H2
|| (exception.getMessage().toLowerCase().contains("act_uniq_variable") && "23505".equals(exception.getSQLState()) && exception.getErrorCode() == 23505)
|| (exception.getMessage().toLowerCase().contains("act_uniq_variable_index_c") && "23505".equals(exception.getSQLState()) && exception.getErrorCode() == 23505)
// Informix
|| (exception.getMessage().toLowerCase().contains("act_uniq_variable") && "23000".equals(exception.getSQLState()) && exception.getErrorCode() == -239)
) {
return true;
}
Expand Down