CLSQL
此條目沒有列出任何參考或來源。 (2021年4月24日) |
開發者 | Kevin M. Rosenberg |
---|---|
編程語言 | Common Lisp |
操作系統 | 跨平台 |
類型 | 對象關係數據庫 |
許可協議 | Lisp Lessor GNU Public License |
網站 | clsql |
CLSQL是一個Common Lisp語言的SQL數據庫接口,用於讓Common Lisp和數據庫進行通信。這個項目由Kevin M. Rosenberg在2001年發起,以支持在多個Common Lisp的實現上通過使用UFFI這個庫,進行SQL數據庫的存取操作。CLSQL最初的代碼大部分來自於Pierre R. Mai所開發的MaiSQL庫。在2003年的時候,onShore Development公司拋棄了UncommonSQL這個庫,隨即在2004年的四月份,Marcus Pearce將UncommanSQL庫移植到了CLSQL上。UncommonSQL庫為CLSQL提供了和LispWorks公司的CommonSQL庫兼容的API。
簡介
CLSQL為編程語言操作數據庫提供了兩個不同的接口,一個是函數形式的接口,另一個是面向對象的接口。函數形式的接口除了提供諸如SELECT和UPDATE這樣的面向SQL操作的函數以外,還提供了特殊的語法以幫助在Lisp代碼中內嵌SQL語言的表達式。面向對象的接口則能夠將CLOS中的對象映射到數據庫的表中對應的元組上,並且包括了用於存儲新的對象、查詢對象和移除對象等操作的函數。大部分的應用程序都會同時使用這兩種風格的接口。