X-Git-Url: http://git.kpe.io/?p=clsql.git;a=blobdiff_plain;f=base%2Fdb-interface.lisp;h=93e39734085ef66d45fc529d8b356bd9735a7421;hp=8b608473eea9d543f4cbd1aa2cd4af1eab6107dc;hb=ce0e343835a040406678dff74a62d1b0cb56f317;hpb=bada52b7a8fd2cc484dee33cccd64ca09a52ec3d diff --git a/base/db-interface.lisp b/base/db-interface.lisp index 8b60847..93e3973 100644 --- a/base/db-interface.lisp +++ b/base/db-interface.lisp @@ -2,7 +2,7 @@ ;;;; ************************************************************************* ;;;; FILE IDENTIFICATION ;;;; -;;;; Name: db-interface.cl +;;;; Name: db-interface.lisp ;;;; Purpose: Generic function definitions for DB interfaces ;;;; Programmers: Kevin M. Rosenberg based on ;;;; Original code by Pierre R. Mai. Additions from @@ -11,7 +11,7 @@ ;;;; ;;;; $Id$ ;;;; -;;;; This file, part of CLSQL, is Copyright (c) 2002 by Kevin M. Rosenberg +;;;; This file, part of CLSQL, is Copyright (c) 2002-2004 by Kevin M. Rosenberg ;;;; and Copyright (c) 1999-2001 by Pierre R. Mai, and onShoreD ;;;; ;;;; CLSQL users are granted the rights to distribute and use this software @@ -19,8 +19,7 @@ ;;;; (http://opensource.franz.com/preamble.html), also known as the LLGPL. ;;;; ************************************************************************* -(declaim (optimize (debug 3) (speed 3) (safety 1) (compilation-speed 0))) -(in-package :clsql-base-sys) +(in-package #:clsql-base-sys) (defgeneric database-type-load-foreign (database-type) (:documentation @@ -134,6 +133,15 @@ returns nil when result-set is finished.")) (defgeneric database-sequence-next (name database) (:documentation "Increment a sequence in DATABASE.")) +(defgeneric database-list-sequences (database &key owner) + (:documentation "List all sequences in DATABASE.")) + +(defgeneric database-set-sequence-position (name position database) + (:documentation "Set the position of the sequence called NAME in DATABASE.")) + +(defgeneric database-sequence-last (name database) + (:documentation "Select the last value in sequence NAME in DATABASE.")) + (defgeneric database-start-transaction (database) (:documentation "Start a transaction in DATABASE.")) @@ -147,13 +155,19 @@ returns nil when result-set is finished.")) (:documentation "Return the type SQL type specifier as a string, for the given lisp type and parameters.")) -(defgeneric database-list-tables (database &key system-tables) +(defgeneric database-list-tables (database &key owner) (:documentation "List all tables in the given database")) + +(defgeneric database-list-views (database &key owner) + (:documentation "List all views in the DATABASE.")) -(defgeneric database-list-attributes (table database) +(defgeneric database-list-indexes (database &key owner) + (:documentation "List all indexes in the DATABASE.")) + +(defgeneric database-list-attributes (table database &key owner) (:documentation "List all attributes in TABLE.")) -(defgeneric database-attribute-type (attribute table database) +(defgeneric database-attribute-type (attribute table database &key owner) (:documentation "Return the type of ATTRIBUTE in TABLE.")) (defgeneric database-add-attribute (table attribute database) @@ -165,7 +179,7 @@ the given lisp type and parameters.")) (defgeneric oid (object) (:documentation "Return the unique ID of a database object.")) - + ;;; Large objects support (Marc Battyani) (defgeneric database-create-large-object (database)