PostgresDAC v3.0.0 发布
发布于 2015-03-04,作者:Microolap
我们发布了 PostgresDAC 组件套件的全新主要版本。这是一个从将近两年前开始的漫长旅程。目标很复杂,并非所有目标都已实现。但是,总的来说,我们可以毫不犹豫地自豪地说,此版本是一个重要的里程碑。
转储和恢复功能
TPSQLDump 和 TPSQLRestore 组件是一对,在整个市场上是独一无二的。不仅在 Delphi 或 C Builder 世界中,而且对于任何其他 IDE 或工具链,都没有这样的设施。这就是为什么我们的首要目标是保持这些类的最新状态。完成了很多工作,一年前,全新的 v3 TPSQLDump 和 TPSQLRestore 组件作为 v2.11.0 版本的一部分发布。
TPSQLDump 和 TPSQLRestore 与本机 pg_dump 和 pg_restore 实用程序完全兼容。开箱即用地支持每一个本机功能
- 输出格式(二进制、文本、目录、gzip),
- 并行转储和恢复,
- 对存档项目进行全面选择、过滤和重新排序,
- SQL-92 特定输出选项等。
异步按需获取模式
默认的 TPSQLQuery 模式适用于在正常的同步应用程序中提交命令并获取结果集。但是,对于开发人员来说,有一些缺点可能很重要
- TPSQLQuery.Open 等待命令完成。应用程序可能还有其他工作要做(例如维护用户界面),在这种情况下,在等待响应时阻塞并不是一个好主意。
- 由于客户端应用程序的执行在等待结果时被挂起,因此应用程序很难决定它想尝试取消正在进行的命令。
- 默认模式下的 TPSQLQuery 始终收集命令的整个结果,并将其缓存在一个地方。虽然这种行为简化了一些内部逻辑,但对于包含许多行的结果,它可能不切实际。
为了避免此类限制,开发人员现在可以使用全新的“按需获取”模式,该模式由 TPSQLQuery.Options 集合中的 dsoFetchOnDemand 选项启用。当然也有局限性
- 要获得“按需获取”模式的优势,应使用只读的 TPSQLQuery 对象。此限制可能会随着时间推移而取消。
- 每个只读的 TPSQLQuery 组件都必须有其单独的 TPSQLDatabase 组件,因为“按需获取”命令流将阻塞连接,直到获取结果集的最后一行。
支持内置范围和几何字段类型
以前,这些特定类型被映射到 TStringField 类。现在,PostgresDAC 为此提供了新的 TField 后代
- TPSQLRangeField
- TPSQLPointField
- TPSQLCircleField
- TPSQLBoxField
- TPSQLLSegField
如果需要,所有这些都将自动创建,或者可以在设计时手动添加。
TPSQLRangeField 封装了所有内置的 PostgreSQL 范围类型:int4range、int8range、numrange、tsrange、tstzrange 和 daterange。有关范围值的信息通过使用 TPSQLRangeBound 记录存储每个边界的值存储在 TPSQLRange 记录中。根据底层表字段类型,开发人员可以使用适当的 AsInteger、AsFloat 等方法访问边界值。
增强版手册
我们已经完成了新的帮助系统。它已从头开始重写。支持以下格式
完整变更日志
- [!] 为只读 TPSQLQuery 对象引入了“按需获取”模式
- [!] 添加了对几何类型的支持
- [!] 添加了 TPSQLRangeField
- [!] 停止支持 8.0 之前的 PostgreSQL 服务器
- [!] 添加了 v9.4.0 客户端库
- [!] 添加了 v9.4.0 转储和恢复库(pg_dump.dll、pg_restore.dll)
- [*] 组件 TPSQLUser 和 TBDE2PSQLDAC 标记为已弃用,并将很快删除
- [*] 如果 TPSQLDatabase 在非独占模式下用于带有 dsoFetchOnDemand 的 TPSQLQuery,则会引发 EPSQLDatabaseError
- [*] TPSQLDatabase.CancelBackend 现在检查连接以防止 AV
- [-] 修复了“如果 SQL 参数名称由不正确的字符链组成,则可能会发生 AV”的错误
- [-] 修复了“在 TPSQLDirectQuery.Open 中发生错误后,EPSQLDatabaseError 详细错误属性为空”的错误
下载
欢迎立即下载 PostgresDAC v3.0.0,网址:http://microolap.com/products/connectivity/postgresdac/download/ 或登录到我们网站上的您的私人区域,网址:http://microolap.com/my/downloads/
反馈
请随时使用我们的支持票务系统提出任何问题或报告错误,网址:http://www.microolap.com/support/