Package Submarine - external symbols

See internal symbols too
A very simple quasi-object persistency system built on top of Postmodern.
Package Submarine uses the packages Cl-Postgres, Common-Lisp, Iterate, Mop-Utils, S-Sql and Sb-Mop. It has 136 total symbols and 30 external ones.

Condition

dao-errorBase class for DAO related errors.
dao-nonexistent-idCondition signaling the attempt to initialize a dao
with a non-existant ID.
unresolved-foreign-keyCondition signaling that a class with a foreign-key
reference to a non-defined class has been tri...

Class

daoBase class for any PostgreSQL aware classes.
db-classMetaclass for PostgreSQL aware classes. It takes
two additional arguments in DEFTABLE: :INDICES (...

Function

get-daoGet the dao corresponding to the given primary key,
or return nil if it does not exist.
query-dao-funExecute the given `QUERY' (which can be either a string or a
S-SQL expression, which will be eval...
relateMake OBJECT1 and OBJECT2 enter into the many-to-many relation
`RELATION'. If `RELATION' is not pr...
relatedpTell whether `OBJECT1' and `OBJECT2' are in the many-to-many relation
`RELATION' (or the unnamed ...
select-dao-funFunctional interface for SELECT-DAO.
slot-value-or-id-if-foreignSLOT-VALUE if SLOT in OBJECT is not foreign, the ID of the object
in the slot otherwise. If the o...
unrelate`OBJECT1' stops being with `OBJECT2' in `RELATION'.

Generic-Function

dao-exists-pReturn a boolean indicating whether the given DAO
exists in the database.
dao=T if all the slot-values of `LEFT' and `RIGHT'
are the same. If the compared values are not DAO...
delete-daoDelete the given dao from the database.
get-allGet all objects of TYPE that stand in a many-to-one
relation with OBJECT.
insert-daoInsert the given DAO into the database.
save-daoSave a dao: update it when it already exists, insert it otherwise.
update-daoUpdate the DAO's representation in the database
with the values in the given object and return it...

Macro

def-many-to-manyDefines a possibly named many-to-many mapping between two
persistent classes. There can be only o...
defdaoWrapper macro for defining a class inheriting from DAO and with the
metaclass set to DB-CLASS.
make-and-saveMake a DAO and immediately save it. Takes the same arguments as
(make-instance ((dao dao))).
query-daoExecute the given `QUERY' (which can be either a string or a
S-SQL expression, which won't be eva...
select-daoSelect daos of TYPE for the rows in its table for which the given TEST
holds.
with-class-connectionRun BODY in an environment with an always pooled connection to the database
specified by the DB-C...
with-connectionBinds *database* to a new connection and runs body in that scope.
with-object-connectionRun BODY in an environment with a connection to the database
specified by the DB-CLASS-CONNECTION...