X-Git-Url: http://git.kpe.io/?p=clsql.git;a=blobdiff_plain;f=sql%2Fdb-interface.lisp;h=10b25d93defb0bbd1c1325561669b4c271c723b8;hp=d1466e780cae8c38cf6907a5f8ec91dad95f4821;hb=ed3fc2379a78875cf80cdb4d000c0bfdf8806fe7;hpb=43cf0db7885a60d71132fe8ede3285c43d961efe diff --git a/sql/db-interface.lisp b/sql/db-interface.lisp index d1466e7..10b25d9 100644 --- a/sql/db-interface.lisp +++ b/sql/db-interface.lisp @@ -296,6 +296,12 @@ of TYPE_NAME (keyword) PRECISION SCALE NULLABLE.") nil) (:documentation "NIL [default] if database-type does not use column name on DROP INDEX.")) +(defgeneric db-type-use-fully-qualified-column-on-drop-index? (db-type) + (:method (db-type) + (declare (ignore db-type)) + nil) + (:documentation "NIL [default] if database-type does not require fully qualified column name on DROP INDEX.")) + (defgeneric db-type-has-views? (db-type) (:method (db-type) (declare (ignore db-type)) @@ -359,6 +365,17 @@ of TYPE_NAME (keyword) PRECISION SCALE NULLABLE.") nil) (:documentation "T if database backend supports prepared statements.")) +(defgeneric db-type-has-intersect? (db-type) + (:method (db-type) + (declare (ignore db-type)) + t) + (:documentation "T [default] if database-type supports INTERSECT.")) + +(defgeneric db-type-has-except? (db-type) + (:method (db-type) + (declare (ignore db-type)) + t) + (:documentation "T [default] if database-type supports EXCEPT.")) ;;; Large objects support (Marc Battyani) @@ -452,4 +469,11 @@ of TYPE_NAME (keyword) PRECISION SCALE NULLABLE.") (unless (is-database-open database) (signal-closed-database-error database))) +(defvar *foreign-library-search-paths* nil + "A list of pathnames denoting directories where CLSQL will look +for foreign libraries \(in addition to the default places).") +(defun push-library-path (path) + "Adds the pathspec PATH \(which should denote a directory) to +the list *FOREIGN-LIBRARY-SEARCH-PATHS*." + (pushnew path *foreign-library-search-paths* :test #'equal))