FIND-DATABASE — >Locate a database object through it's name.Function
databaseA database object or a string, denoting a database name.
errorpA generalized boolean. Defaults to t.
db-typeA keyword symbol denoting a known database back-end.
Either a database object, or, if
errorp is NIL,
possibly NIL.
find-database locates an active
database object given the specification in
database. If
database is an object of type
database, find-database
returns this. Otherwise it will search the active databases
as indicated by the list returned by
connected-databases for a database of
type db-type whose name (as returned by
database-name is equal as per
string= to the string passed as
database. If it succeeds, it returns
the first database found.
If db-type is NIL all databases
matching the string database are
considered. If no matching databases are found and
errorp is NIL then NIL is
returned. If errorp is NIL and one or
more matching databases are found, then the most recently
connected database is returned as a first value and the
number of matching databases is returned as a second
value. If no, or more than one, matching databases are found
and errorp is true, an error is
signalled.
(database-name-from-spec '("dent" "newesim" "dent" "dent") :mysql)
=> "dent/newesim/dent"
(connect '("dent" "newesim" "dent" "dent") :database-type :mysql)
=> #<CLSQL-MYSQL:MYSQL-DATABASE {48391DCD}>
(database-name *default-database*)
=> "dent/newesim/dent"
(database-name-from-spec '(nil "template1" "dent" nil) :postgresql)
=> "/template1/dent"
(connect '(nil "template1" "dent" nil) :database-type :postgresql)
=> #<CLSQL-POSTGRESQL:POSTGRESQL-DATABASE {48392D2D}>
(database-name *default-database*)
=> "/template1/dent"
(database-name-from-spec '("www.pmsf.de" "template1" "dent" nil) :postgresql)
=> "www.pmsf.de/template1/dent"
(find-database "dent/newesim/dent")
=> #<CLSQL-MYSQL:MYSQL-DATABASE {484E91C5}>
(find-database "/template1/dent")
=> #<CLSQL-POSTGRESQL:POSTGRESQL-DATABASE {48392D2D}>
(find-database "www.pmsf.de/template1/dent" nil)
=> NIL
(find-database **)
=> #<CLSQL-POSTGRESQL:POSTGRESQL-DATABASE {48392D2D}>