diff --git a/.github/workflows/javadoc_sync.yaml b/.github/workflows/javadoc_sync.yaml index 6177fc9e9f..f3e601feda 100644 --- a/.github/workflows/javadoc_sync.yaml +++ b/.github/workflows/javadoc_sync.yaml @@ -28,7 +28,7 @@ jobs: run: rm -rf com - name: Copy new files - run: cp -r target/site/apidocs/* . + run: cp -r target/reports/apidocs/* . - name: Commit files run: | diff --git a/athena-dynamodb/pom.xml b/athena-dynamodb/pom.xml index d1114c06eb..822be08086 100644 --- a/athena-dynamodb/pom.xml +++ b/athena-dynamodb/pom.xml @@ -13,7 +13,7 @@ software.amazon.awssdk bom - 2.28.1 + 2.28.11 pom import diff --git a/athena-elasticsearch/pom.xml b/athena-elasticsearch/pom.xml index a71b77df93..13f08500c8 100644 --- a/athena-elasticsearch/pom.xml +++ b/athena-elasticsearch/pom.xml @@ -127,7 +127,7 @@ org.elasticsearch.client elasticsearch-rest-client - 8.15.1 + 8.15.2 diff --git a/athena-gcs/pom.xml b/athena-gcs/pom.xml index 8e55459a2c..a9875d4b61 100644 --- a/athena-gcs/pom.xml +++ b/athena-gcs/pom.xml @@ -75,7 +75,7 @@ com.google.cloud google-cloud-storage - 2.42.0 + 2.43.1 diff --git a/athena-google-bigquery/pom.xml b/athena-google-bigquery/pom.xml index 1f313ce813..7ab30b3133 100644 --- a/athena-google-bigquery/pom.xml +++ b/athena-google-bigquery/pom.xml @@ -80,7 +80,7 @@ nl.jqno.equalsverifier equalsverifier - 3.16.2 + 3.17 test diff --git a/athena-jdbc/src/main/java/com/amazonaws/athena/connectors/jdbc/manager/JdbcRecordHandler.java b/athena-jdbc/src/main/java/com/amazonaws/athena/connectors/jdbc/manager/JdbcRecordHandler.java index 3c431efb5c..d1224b68f1 100644 --- a/athena-jdbc/src/main/java/com/amazonaws/athena/connectors/jdbc/manager/JdbcRecordHandler.java +++ b/athena-jdbc/src/main/java/com/amazonaws/athena/connectors/jdbc/manager/JdbcRecordHandler.java @@ -82,11 +82,11 @@ import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; +import java.time.LocalDate; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Map; -import java.util.concurrent.TimeUnit; /** * Abstracts JDBC record handler and provides common reusable split records handling. @@ -273,8 +273,9 @@ protected Extractor makeExtractor(Field field, ResultSet resultSet, Map { + //Issue fix for getting different date (offset by 1) for any dates prior to 1/1/1970. if (resultSet.getDate(fieldName) != null) { - dst.value = (int) TimeUnit.MILLISECONDS.toDays(resultSet.getDate(fieldName).getTime()); + dst.value = (int) LocalDate.parse(resultSet.getDate(fieldName).toString()).toEpochDay(); } dst.isSet = resultSet.wasNull() ? 0 : 1; }; diff --git a/athena-kafka/pom.xml b/athena-kafka/pom.xml index 18a54e7d60..d9b4c7a2d1 100644 --- a/athena-kafka/pom.xml +++ b/athena-kafka/pom.xml @@ -24,7 +24,7 @@ org.apache.kafka kafka-clients - 3.8.0 + 7.7.1-ce org.apache.avro diff --git a/athena-msk/pom.xml b/athena-msk/pom.xml index 20fe9c4fdc..3e602a3b60 100644 --- a/athena-msk/pom.xml +++ b/athena-msk/pom.xml @@ -81,7 +81,7 @@ org.apache.kafka kafka-clients - 3.8.0 + 7.7.1-ce org.apache.avro @@ -91,7 +91,7 @@ com.google.protobuf protobuf-java - 3.25.3 + 3.25.5 software.amazon.glue diff --git a/athena-oracle/src/test/java/com/amazonaws/athena/connectors/oracle/OracleRecordHandlerTest.java b/athena-oracle/src/test/java/com/amazonaws/athena/connectors/oracle/OracleRecordHandlerTest.java index d0b3ade385..7dfceed728 100644 --- a/athena-oracle/src/test/java/com/amazonaws/athena/connectors/oracle/OracleRecordHandlerTest.java +++ b/athena-oracle/src/test/java/com/amazonaws/athena/connectors/oracle/OracleRecordHandlerTest.java @@ -45,8 +45,10 @@ import org.mockito.Mockito; import java.sql.Connection; +import java.sql.Date; import java.sql.PreparedStatement; import java.sql.SQLException; +import java.time.LocalDate; import java.util.Collections; import static com.amazonaws.athena.connectors.oracle.OracleConstants.ORACLE_NAME; @@ -97,6 +99,8 @@ public void buildSplitSql() schemaBuilder.addField(FieldBuilder.newBuilder("testCol6", Types.MinorType.TINYINT.getType()).build()); schemaBuilder.addField(FieldBuilder.newBuilder("testCol7", Types.MinorType.FLOAT8.getType()).build()); schemaBuilder.addField(FieldBuilder.newBuilder("testCol8", Types.MinorType.BIT.getType()).build()); + schemaBuilder.addField(FieldBuilder.newBuilder("testCol9", Types.MinorType.DATEDAY.getType()).build()); + schemaBuilder.addField(FieldBuilder.newBuilder("testCol10", Types.MinorType.DATEDAY.getType()).build()); schemaBuilder.addField(FieldBuilder.newBuilder("partition_name", Types.MinorType.VARCHAR.getType()).build()); Schema schema = schemaBuilder.build(); @@ -120,6 +124,10 @@ public void buildSplitSql() ValueSet valueSet6 = getSingleValueSet(0); ValueSet valueSet7 = getSingleValueSet(1.2d); ValueSet valueSet8 = getSingleValueSet(true); + final long epochDaysPrior1970 = LocalDate.parse("1967-07-27").toEpochDay(); + ValueSet valueSet9 = getSingleValueSet(epochDaysPrior1970); + final long epochDaysPost1970 = LocalDate.parse("1971-01-01").toEpochDay(); + ValueSet valueSet10 = getSingleValueSet(epochDaysPost1970); Constraints constraints = Mockito.mock(Constraints.class); Mockito.when(constraints.getSummary()).thenReturn(new ImmutableMap.Builder() @@ -131,11 +139,13 @@ public void buildSplitSql() .put("testCol6", valueSet6) .put("testCol7", valueSet7) .put("testCol8", valueSet8) + .put("testCol9", valueSet9) + .put("testCol10", valueSet10) .build()); Mockito.when(constraints.getLimit()).thenReturn(5L); - String expectedSql = "SELECT \"testCol1\", \"testCol2\", \"testCol3\", \"testCol4\", \"testCol5\", \"testCol6\", \"testCol7\", \"testCol8\" FROM \"testSchema\".\"testTable\" PARTITION (p0) WHERE (\"testCol1\" IN (?,?)) AND ((\"testCol2\" >= ? AND \"testCol2\" < ?)) AND ((\"testCol3\" > ? AND \"testCol3\" <= ?)) AND (\"testCol4\" = ?) AND (\"testCol5\" = ?) AND (\"testCol6\" = ?) AND (\"testCol7\" = ?) AND (\"testCol8\" = ?)"; + String expectedSql = "SELECT \"testCol1\", \"testCol2\", \"testCol3\", \"testCol4\", \"testCol5\", \"testCol6\", \"testCol7\", \"testCol8\", \"testCol9\", \"testCol10\" FROM \"testSchema\".\"testTable\" PARTITION (p0) WHERE (\"testCol1\" IN (?,?)) AND ((\"testCol2\" >= ? AND \"testCol2\" < ?)) AND ((\"testCol3\" > ? AND \"testCol3\" <= ?)) AND (\"testCol4\" = ?) AND (\"testCol5\" = ?) AND (\"testCol6\" = ?) AND (\"testCol7\" = ?) AND (\"testCol8\" = ?) AND (\"testCol9\" = ?) AND (\"testCol10\" = ?)"; PreparedStatement expectedPreparedStatement = Mockito.mock(PreparedStatement.class); Mockito.when(this.connection.prepareStatement(Mockito.eq(expectedSql))).thenReturn(expectedPreparedStatement); PreparedStatement preparedStatement = this.oracleRecordHandler.buildSplitSql(this.connection, "testCatalogName", tableName, schema, constraints, split); @@ -152,6 +162,11 @@ public void buildSplitSql() Mockito.verify(preparedStatement, Mockito.times(1)).setByte(9, (byte) 0); Mockito.verify(preparedStatement, Mockito.times(1)).setDouble(10, 1.2d); Mockito.verify(preparedStatement, Mockito.times(1)).setBoolean(11, true); + //year – the year minus 1900; must be 0 to 8099. (Note that 8099 is 9999 minus 1900.) month – 0 to 11 day – 1 to 31 + Date expectedDatePrior1970 = new Date(67, 6, 27);//Date: 1967-07-27 + Mockito.verify(preparedStatement, Mockito.times(1)).setDate(12, expectedDatePrior1970); + Date expectedDatePost1970 = new Date(71, 0, 1);//Date: 1971-01-01 + Mockito.verify(preparedStatement, Mockito.times(1)).setDate(13, expectedDatePost1970); } private ValueSet getSingleValueSet(Object value) { diff --git a/athena-saphana/pom.xml b/athena-saphana/pom.xml index 85ca8aa644..a6d80a882a 100644 --- a/athena-saphana/pom.xml +++ b/athena-saphana/pom.xml @@ -62,7 +62,7 @@ com.sap.cloud.db.jdbc ngdbc - 2.21.11 + 2.22.11 diff --git a/athena-synapse/pom.xml b/athena-synapse/pom.xml index 21fb490ca8..6f1440edd9 100644 --- a/athena-synapse/pom.xml +++ b/athena-synapse/pom.xml @@ -35,7 +35,7 @@ com.microsoft.azure msal4j - 1.17.1 + 1.17.2 com.fasterxml.jackson.datatype diff --git a/pom.xml b/pom.xml index eca4e01b5f..659826a55f 100644 --- a/pom.xml +++ b/pom.xml @@ -27,11 +27,11 @@ 3.26.3 7.10.2 - 2.17.2 + 2.18.0 3.5.0 - 2.24.0 + 2.24.1 13.0.0 - 33.3.0-jre + 33.3.1-jre 3.25.3 4.3.4 2.15 @@ -53,7 +53,7 @@ org.junit junit-bom - 5.11.0 + 5.11.1 pom import @@ -432,7 +432,7 @@ org.apache.maven.plugins maven-gpg-plugin - 3.2.6 + 3.2.7 sign-artifacts