r9200: move large object support to base
authorKevin M. Rosenberg <kevin@rosenberg.net>
Sun, 2 May 2004 03:13:19 +0000 (03:13 +0000)
committerKevin M. Rosenberg <kevin@rosenberg.net>
Sun, 2 May 2004 03:13:19 +0000 (03:13 +0000)
ChangeLog
TODO
base/basic-sql.lisp
base/package.lisp
classic/sql.lisp
sql/package.lisp

index 42a0b4e6e7eb7290ffa9bb732eeca9d19f30b9a4..b0dfd22e397f3c0de2ee2909fa9ee21dd3343988 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -9,6 +9,9 @@
        rather than read-from-string.
        * */*.lisp: Merge clsql-base-sys and clsql-base packages
        into clsql-base package
+       * classic/sql.lisp: Move large object support into base, leaving
+       classic without any functionality that is provided in the clsql
+       system.
        
 1 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
        * Version 2.10.5: SQLite backend now passes all result-types tests
diff --git a/TODO b/TODO
index 763403704ae9afebe2ba5d3e9d49d1397b37d6f0..1aca8f2d3ae2c904ea16e246cc221973e289c2c5 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,14 +1,16 @@
 GENERAL 
 
 * port Oracle backend to UFFI.
+* consider adding large object support to mysql and odbc
 
 TESTS TO ADD
 
 * CACHE-TABLE-QUERIES
-* :VOID-VALUE
+* :VOID-VALUE, use a new view-class with several fields with different void-values
 * :db-kind :key adds an index for that key, complicated by different
   backends show autogenerated primary key in different ways.
 * New universal and bigint types, add tests for other types
+* Large object testing
  
 COMMONSQL SPEC
 
index eaccc03315e1770b8139e0be2a10cbd27bd7a757..86f826755317b9ca1830ed4d1b96703f6d02417c 100644 (file)
@@ -166,5 +166,21 @@ specified in output-type-spec and returned like in MAP."
                       (apply function row))))
        (database-dump-result-set result-set database)))))
 
+;;; Large objects support
 
+(defun create-large-object (&key (database *default-database*))
+  "Creates a new large object in the database and returns the object identifier"
+  (database-create-large-object database))
+
+(defun write-large-object (object-id data &key (database *default-database*))
+  "Writes data to the large object"
+  (database-write-large-object object-id data database))
+
+(defun read-large-object (object-id &key (database *default-database*))
+  "Reads the large object content"
+  (database-read-large-object object-id database))
+
+(defun delete-large-object (object-id &key (database *default-database*))
+  "Deletes the large object in the database"
+  (database-delete-large-object object-id database))
 
index 6b55ef520bdc38bafbf31481bf3ec6a5f544b05d..faefebd9ee95ceeaf945936b2b7eaa8277062c6f 100644 (file)
      #:database-list-table-indexes
      #:database-list-views
      
-     ;; Large objects (Marc B)
+     ;; Large objects 
      #:database-create-large-object
      #:database-write-large-object
      #:database-read-large-object
      #:database-delete-large-object
+     #:create-large-object
+     #:write-large-object
+     #:read-large-object
+     #:delete-large-object
 
      #:command-output
      #:make-process-lock
index d1d971555854c772d9ab9eec667db43fdf3d0f8b..a98d963888ce997bf1b8ff286dfc9bd39aeca231 100644 (file)
                    (lisp->sql-name (cadr o))))))
 
 
-;;; Marc Battyani : Large objects support
-
-(defun create-large-object (&key (database *default-database*))
-  "Creates a new large object in the database and returns the object identifier"
-  (database-create-large-object database))
-
-(defun write-large-object (object-id data &key (database *default-database*))
-  "Writes data to the large object"
-  (database-write-large-object object-id data database))
-
-(defun read-large-object (object-id &key (database *default-database*))
-  "Reads the large object content"
-  (database-read-large-object object-id database))
-
-(defun delete-large-object (object-id &key (database *default-database*))
-  "Deletes the large object in the database"
-  (database-delete-large-object object-id database))
-
 
 ;;; These functions are not exported. If you application depends on these
 ;;; functions consider using the clsql package using has further support.
index 5293df99f500c0c8ba11f0181082c0e3178f4e55..b1e39f27e4b37a9e0996858a6dcf460724dc24f0 100644 (file)
        #:do-query
        #:map-query
        #:describe-table
+       #:create-large-object
+       #:write-large-object
+       #:read-large-object
+       #:delete-large-object
 
        
        ;; recording.lisp -- SQL I/O Recording