認識 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 实用程序完全兼容。 开箱即用地支持每个本机功能

  • 輸出格式(二進制、文本、目錄、gzipped),
  • 並行傾印和還原,
  • 對存檔項目的全面選擇、過濾和重新排序,
  • 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、tstzrangedaterange。 關於範圍值的資訊儲存在 TPSQLRange 記錄中,方法是使用 TPSQLRangeBound 記錄儲存每個邊界的值。 根據底層表格欄位類型,開發人員可以使用適當的方法(如 AsInteger、AsFloat 等)來存取邊界值。

增強的手冊

我們完成了新的幫助系統。 從頭開始重寫了它。 支援以下格式

  • chm,
  • pdf.
  • epub(進行中)。

完整變更日誌

  • [!] 為唯讀 TPSQLQuery 物件引入了隨需提取模式
  • [!] 新增了對幾何類型的支援
  • [!] 新增了 TPSQLRangeField
  • [!] 停止支援 pre-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/