

# Amazon Athena JDBC 3.x 发布说明
<a name="jdbc-v3-driver-release-notes"></a>

这些发行说明详细介绍了 Amazon Athena JDBC 3.x 驱动程序中的改进和修复。

## 3.7.0
<a name="jdbc-v3-driver-release-notes-2025-11-21"></a>

发布时间：2025 年 11 月 21 日

### 改进
<a name="jdbc-v3-driver-release-notes-2025-11-21-improvements"></a>
+ **浏览器 OIDC 可信身份传播身份验证插件**：添加了一个新的身份验证插件，该插件支持使用 OpenID Connect（OIDC）身份提供商进行基于浏览器的无缝身份验证。该插件通过默认浏览器处理完整的 OAuth 2.0 流程，自动提取 JSON Web 令牌（JWT），并与可信身份传播集成。其专为单用户桌面环境而设计，提供比手动 JWT 处理更简化的身份验证体验。有关可信身份传播的更多信息，请参阅 [What is trusted identity propagation?](https://docs.amazonaws.cn/singlesignon/latest/userguide/trustedidentitypropagation-overview.html)。

### 修复
<a name="jdbc-v3-driver-release-notes-2025-11-21-fixes"></a>
+ **增强的时间戳精度支持**：该驱动程序现已完全支持通过 `getTimestamp()` 方法从 Athena 查询返回的时间戳值的毫秒级和纳秒级精度。
+ **改进的复杂类型处理**：修复了在 `DatabaseMetaData#getColumns` 和常规元数据操作中解析嵌套数据类型（数组、结构和映射）的问题，确保复杂数据结构的类型信息准确无误。
+ **增强的错误日志记录**：改进了 S3 元数据提取失败的日志记录，提供了更清晰的错误消息和更完善的诊断信息。

## 3.6.0
<a name="jdbc-v3-driver-release-notes-2025-09-10"></a>

发布时间：2025 年 9 月 10 日

### 改进
<a name="jdbc-v3-driver-release-notes-2025-09-10-improvements"></a>
+ **JWT 可信身份传播身份验证插件**：添加了新的身份验证插件，以支持 JWT 可信身份传播与 JDBC 驱动程序集成。通过此身份验证类型，您可以使用从外部身份提供者处获得的 JSON Web 令牌（JWT）作为连接参数，在 Athena 进行身份验证。使用可信身份传播，可以向 IAM 角色添加身份上下文，以识别请求访问 Amazon 资源的用户身份。有关启用和使用可信身份传播的信息，请参阅 [What is trusted identity propagation?](https://docs.amazonaws.cn/singlesignon/latest/userguide/trustedidentitypropagation-overview.html)。
+ **自定义 SSO OIDC 和 SSO 管理端点支持**：增加了对 JDBC 驱动程序中自定义 SSO OIDC 和 SSO 管理端点的支持。在 VPC 后面运行 JDBC 时，此增强功能可以为 SSO 服务指定自有端点。
+ **AmazonSDK 版本更新**：我们已将驱动程序中使用的 Amazon SDK 版本更新到 2.32.16，并更新了 3.6.0 版本的项目依赖关系。

## 3.5.1
<a name="jdbc-v3-driver-release-notes-2025-07-17"></a>

发布时间：2025 年 7 月 17 日

### 改进
<a name="jdbc-v3-driver-release-notes-2025-07-17-improvements"></a>
+ **日志功能** — 通过将日志级别提升到 `INFO` 并添加行数、偏移量和对象长度等指标，改善了 S3 获取日志记录。实现了连接生命周期的跟踪并优化了整体日志记录性能。
+ **特殊字符处理** — 改进了对架构和目录名称中 `LIKE` 模式的特殊字符的处理。
+ **连接状态管理** — 改进了连接状态管理，防止出现潜在错误，方法是在连接关闭后防止 API 调用，并在关闭期间为查询操作添加安全检查。

### 修复
<a name="jdbc-v3-driver-release-notes-2025-07-17-fixes"></a>
+ **DDL 查询元数据** — 修复了 DDL 查询元数据处理的 `NoSuchKeyFound` 问题。

## 3.5.0
<a name="jdbc-v3-driver-release-notes-2025-03-18"></a>

发布时间：2025 年 3 月 18 日

### 改进
<a name="jdbc-v3-driver-release-notes-2025-03-18-improvements"></a>
+ **结果配置参数** – 增加了对两个新连接参数 `ExpectedBucketOwner` 和 `AclOption` 的支持。有关更多信息，请参阅[结果配置参数](jdbc-v3-driver-advanced-connection-parameters.md#jdbc-v3-driver-result-config)。
+ **Amazon SDK 版本** – 驱动程序中使用的 Amazon SDK 版本已更新至 2.30.22。

## 3.4.0
<a name="jdbc-v3-driver-release-notes-2025-02-18"></a>

发布时间：2025 年 2 月 18 日

### 改进
<a name="jdbc-v3-driver-release-notes-2025-02-18-improvements"></a>
+ **结果提取器** – 此驱动程序现在会自动选择最快的方法来下载查询结果。这样在大多数情况下就无需手动配置提取器。有关更多信息，请参阅 [结果提取参数](jdbc-v3-driver-advanced-connection-parameters.md#jdbc-v3-driver-result-fetching-parameters)。

### 修复
<a name="jdbc-v3-driver-release-notes-2025-02-18-fixes"></a>
+ **ResultSet** – 此驱动程序现在可以针对不会在 S3 上生成结果对象的 DDL 语句，处理其结果集的迭代。当 `GetQueryResultsStream` 返回一个完全空的页面时，则还会返回一个空 `ResultSet` 对象，而不是 null。
+ **ResultsStream** – 通过移除不必要的调用来计算内部缓冲区中的行数，从而优化了结果流。
+ **getTables** – 通过处理基于 `ListTableMetadata` 和 `GetTableMetadata` 响应的表类型，优化了 `GetTables` 调用。

## 3.3.0
<a name="jdbc-v3-driver-release-notes-2024-10-30"></a>

发布时间：2024 年 10 月 30 日

### 改进
<a name="jdbc-v3-driver-release-notes-2024-10-30-improvements"></a>
+ **DataZone 身份验证** – 增加了对 DataZone 身份验证插件 `DataZoneIdC` 和 `DataZoneIAM` 的支持。有关更多信息，请参阅[DataZone IdC 凭证提供程序](jdbc-v3-driver-datazone-idc.md)和[DataZone IAM 凭证提供程序](jdbc-v3-driver-datazone-iamcp.md)。
+ **网络超时** – 现在可以使用 `NetworkTimeoutMillis` 连接参数设置网络超时。以前，它只能在 `Connection` 对象本身上进行设置。有关更多信息，请参阅 [网络超时](jdbc-v3-driver-other-configuration.md#jdbc-v3-driver-network-timeout)。

### 修复
<a name="jdbc-v3-driver-release-notes-2024-10-30-fixes"></a>
+ **S3 空对象处理** – 驱动程序现在处理 S3 提取器中的空对象，而不是抛出 Amazon S3 Range Not Satisfiable 异常。
+ **日志记录** – 驱动程序在使用查询结果后不再记录消息 Items requested for query execution [...], but subscription is cancelled。
+ **空参数字符串** – 驱动程序现在处理连接参数中存在的空字符串，就好像该参数不存在一样。这解决了某些 BI 工具无意中传递空字符串而导致意外的身份验证尝试时发生的问题。

## 3.2.2
<a name="jdbc-v3-driver-release-notes-2024-07-29"></a>

发布时间：2024 年 7 月 29 日

### 改进
<a name="jdbc-v3-driver-release-notes-2024-07-29-improvements"></a>
+ **数据类型映射**：通过更改驱动程序将 `tinyint`、`smallint`、`row` 和 `struct` 数据类型映射到 Java 对象的方式，提高了对 JDBC 规范的合规性。
+ **Amazon SDK 版本更新**：驱动程序中使用的 Amazon SDK 版本已更新至 2.26.23。

### 修复
<a name="jdbc-v3-driver-release-notes-2024-07-29-fixes"></a>
+ **注释**：修复了语句末尾的行注释问题。
+ **数据库列表**：修复了当分页 `ListDatabases` API 返回的最后一页为空时，列出数据库可能会进入无限循环的问题。

## 3.2.1
<a name="jdbc-v3-driver-release-notes-2024-07-03"></a>

发布时间：2024 年 7 月 3 日

### 改进
<a name="jdbc-v3-driver-release-notes-2024-07-03-improvements"></a>
+ **JWT 凭证提供程序** – 添加了对用户指定的会话持续时间的支持。有关更多信息，请参阅 [角色会话持续时间](jdbc-v3-driver-jwt-credentials.md#jdbc-v3-driver-jwt-role-session-duration)。

### 修复
<a name="jdbc-v3-driver-release-notes-2024-07-03-fixes"></a>
+ **线程池** – 为异步任务的每个连接创建一个 `ThreadPoolExecutor`，以避免使用 `ForkJoin` 池。
+ **凭证提供程序** – 当为 HTTP 客户端配置了外部 IdP 时，现在会解析代理主机以获取架构和主机。
+ **默认凭证提供程序** – 确保客户端代码无法关闭默认凭证提供程序。
+ **getColumns** – 修复了 `DatabaseMetaData#getColumns` 方法中的 `ORDINAL_COLUMN` 列属性问题。
+ **ResultSet** – 向 `ResultSet.` 添加了对 `Infinity`、`-Infinity` 和 `NaN` 的支持 修复了从目录操作返回的列类型与已完成查询的结果集之间的差异。

## 3.2.0
<a name="jdbc-v3-driver-release-notes-2024-02-26"></a>

发布时间：2024 年 4 月 26 日

### 改进
<a name="jdbc-v3-driver-release-notes-2024-02-26-improvements"></a>
+ **目录操作性能** – 不使用通配符的目录操作的性能已得到提高。
+ **最小轮询间隔更改** – 已修改最小轮询间隔默认值，以减少驱动程序对 Athena 进行的 API 调用次数。仍然会尽快检测到查询完成。
+ **BI 工具可发现性** – 商业智能工具更容易发现驱动程序。
+ **数据类型映射** – Athena `binary`、`array` 和 `struct` DDL 数据类型的数据类型映射已得到改进。
+ **Amazon SDK 版本** – 驱动程序中使用的 Amazon SDK 版本已更新至 2.25.34。

### 修复
<a name="jdbc-v3-driver-release-notes-2024-02-26-fixes"></a>
+ **联合目录表列表** – 修复了导致联合目录返回空表列表的问题。
+ **getSchemas** – 修复了导致 JDBC [DatabaseMetaData\#getSchemas](https://docs.oracle.com/javase/8/docs/api/java/sql/DatabaseMetaData.html#getSchemas--) 方法仅从默认目录而不是从所有目录中获取数据库的问题。
+ **getColumns** – 修复了使用空目录名称调用 JDBC [DatabaseMetaData\#getColumns](https://docs.oracle.com/javase/8/docs/api/java/sql/DatabaseMetaData.html#getColumns-java.lang.String-java.lang.String-java.lang.String-java.lang.String-) 方法时导致返回空目录的问题。

## 3.1.0
<a name="jdbc-v3-driver-release-notes-2024-02-15"></a>

发布时间：2024 年 2 月 15 日

### 改进
<a name="jdbc-v3-driver-release-notes-2024-02-15-improvements"></a>
+ 添加了对 Microsoft Active Directory 联合身份验证服务（AD FS）Windows 集成身份验证和基于表单的身份验证的支持。
+ 为了与 2.x 版本向后兼容，现在接受 `awsathena` JDBC 子协议，但会产生弃用警告。请改用 `athena` JDBC 子协议。
+ `AwsDataCatalog` 现在是目录参数的默认值，`default` 是数据库参数的默认值。这些更改确保返回当前目录和数据库的正确值，而不是 null。
+ 为符合 JDBC 规范，`IS_AUTOINCREMENT` 和 `IS_GENERATEDCOLUMN` 现在返回的是空字符串，而不是 `NO`。
+ 现在，Athena `int` 数据类型映射到与 Athena `integer` 相同的 JDBC 类型，而不是映射到 `other`。
+ 现在，当 Athena 中的列元数据不包含可选 `precision` 和 `scale` 字段时，驱动程序会为 `ResultSet` 列中的相应值返回零。
+ Amazon SDK 版本已更新为 2.21.39。

### 修复
<a name="jdbc-v3-driver-release-notes-2024-02-15-fixes"></a>
+ 修复了当来自 Athena 的纯文本结果的列数与 Athena 结果元数据中的列数不一致时导致出现异常的 `GetQueryResultsStream` 问题。

## 3.0.0
<a name="jdbc-v3-driver-release-notes-2023-11-16"></a>

发布时间：2023 年 11 月 16 日

Athena JDBC 3.x 驱动程序是新一代的驱动程序，具有更好的性能和兼容性。JDBC 3.x 驱动程序支持直接从 Amazon S3 读取查询结果，此举可提高使用大型查询结果的应用程序的性能。该新驱动程序还减少了第三方依赖项，让与商业智能工具和自定义应用程序的集成变得更加容易。