X-Git-Url: http://git.kpe.io/?p=clsql.git;a=blobdiff_plain;f=sql%2Fdb-interface.lisp;h=939af1fa68ff89356e7f35bc4d8a56ca258348cf;hp=385e08ba07b7b0811b11f5a29f03f16228b4e040;hb=e622ee6f4bf2b9fe81af59d566e651c983a4833b;hpb=8c6c643e3debe875bd14408cc3129d8148dfd125 diff --git a/sql/db-interface.lisp b/sql/db-interface.lisp index 385e08b..939af1f 100644 --- a/sql/db-interface.lisp +++ b/sql/db-interface.lisp @@ -172,34 +172,66 @@ if unable to destory.")) (:method ((database t)) (signal-no-database-error database))) -(defgeneric database-get-type-specifier (type args database) +(defgeneric database-get-type-specifier (type args database db-underlying-type) (:documentation "Return the type SQL type specifier as a string, for the given lisp type and parameters.")) (defgeneric database-list-tables (database &key owner) - (:documentation "List all tables in the given database")) + (:documentation "List all tables in the given database") + (:method ((database t) &key owner) + (declare (ignore owner)) + (signal-no-database-error database))) + +(defgeneric database-list-tables-and-sequences (database &key owner) + (:documentation "List all tables in the given database, may include seqeneces") + (:method ((database t) &key owner) + (declare (ignore owner)) + (signal-no-database-error database)) + (:method ((database database) &key owner) + (database-list-tables database :owner owner))) (defgeneric database-list-views (database &key owner) - (:documentation "List all views in the DATABASE.")) + (:documentation "List all views in the DATABASE.") + (:method ((database t) &key owner) + (declare (ignore owner)) + (signal-no-database-error database))) (defgeneric database-list-indexes (database &key owner) - (:documentation "List all indexes in the DATABASE.")) + (:documentation "List all indexes in the DATABASE.") + (:method ((database t) &key owner) + (declare (ignore owner)) + (signal-no-database-error database))) (defgeneric database-list-table-indexes (table database &key owner) - (:documentation "List all indexes for a table in the DATABASE.")) + (:documentation "List all indexes for a table in the DATABASE.") + (:method (table (database t) &key owner) + (declare (ignore table owner)) + (signal-no-database-error database))) (defgeneric database-list-attributes (table database &key owner) - (:documentation "List all attributes in TABLE.")) + (:documentation "List all attributes in TABLE.") + (:method (table (database t) &key owner) + (declare (ignore table owner)) + (signal-no-database-error database))) (defgeneric database-attribute-type (attribute table database &key owner) (:documentation "Return the type of ATTRIBUTE in TABLE. Returns multiple values -of TYPE_NAME (keyword) PRECISION SCALE NULLABLE.")) +of TYPE_NAME (keyword) PRECISION SCALE NULLABLE.") + (:method (attribute table (database t) &key owner) + (declare (ignore attribute table owner)) + (signal-no-database-error database))) (defgeneric database-add-attribute (table attribute database) - (:documentation "Add the attribute to the table.")) + (:documentation "Add the attribute to the table.") + (:method (table attribute (database t)) + (declare (ignore table attribute)) + (signal-no-database-error database))) (defgeneric database-rename-attribute (table oldatt newname database) - (:documentation "Rename the attribute in the table to NEWNAME.")) + (:documentation "Rename the attribute in the table to NEWNAME.") + (:method (table oldatt newname (database t)) + (declare (ignore table oldatt newname)) + (signal-no-database-error database))) (defgeneric oid (object) (:documentation "Return the unique ID of a database object."))