Object Oriented Data Manipulation Language (OODML)
-
+ Object Oriented Data Manipulation Language (OODML) provides a Common Lisp
+ Object System (CLOS) interface to SQL databases. View classes are defined with
+ the OODDL interface and objects are read and
+ written with the OODML.
+
+
+ The main function for reading data with the OODML is the
+ select function. The
+ select is also used in the FDML. However, when select
+ is given a view class name, it returns a list of instances of view classes.
@@ -113,7 +122,7 @@
DELETE-INSTANCE-RECORDS
- Delete SQL records represented by a view class object
+ Delete SQL records represented by a view class object.Function
@@ -124,15 +133,23 @@
Arguments and Values
-
+
+ object
+
+
+ An instance of a view class.
+
+
+ Description
- Deletes the records represented by OBJECT in the
- appropriate table of the database associated with OBJECT. If
- OBJECT is not yet associated with a database, an error is
- signalled.
+ Deletes the records represented by
+ object in the appropriate table of the
+ database associated with object. If
+ object is not yet associated with a
+ database, an error is signalled.
@@ -144,8 +161,6 @@
(make-instance 'tab :a 5 :b "the string")))
* (start-sql-recording :type :both)
* (delete-instance-records obj)
-
-
@@ -189,7 +204,7 @@
INSTANCE-REFRESHED
- Hook to call on object refresh
+ User hook to call on object refresh.Generic function
@@ -212,14 +227,16 @@
Description
- Provides a hook which is called within an object
- oriented call to SELECT with a non-nil value of REFRESH when
- the View Class instance OBJECT has been updated from the
- database. A method specialised on STANDARD-DB-OBJECT is
- provided which has no effects. Methods specialised on
- particular View Classes can be used to specify any operations
- that need to be made on View Classes instances which have been
- updated in calls to SELECT.
+ Provides a hook which is called within an object oriented
+ call to select with a non-nil value of
+ refresh when the View Class instance
+ object has been updated from the
+ database. A method specialised on
+ standard-db-object is provided which has no
+ effects. Methods specialised on particular View Classes can be
+ used to specify any operations that need to be made on View
+ Classes instances which have been updated in calls to
+ select.
@@ -231,15 +248,7 @@
Side Effects
-
-
-
-
- Affected by
-
-
-
-
+ The user hook function may cause side effects.
@@ -252,16 +261,10 @@
See Also
-
+ select
-
- Notes
-
-
-
-
@@ -278,17 +281,34 @@
Arguments and Values
-
+
+ object
+
+
+ An instance of a view class.
+
+
+
+
+ database
+
+
+ A database connection.
+
+
+ DescriptionUpdates the slot values of the View Class instance
- OBJECT using the attribute values of the appropriate table of
- DATABASE which defaults to the database associated with OBJECT
- or, if OBJECT is not associated with a database,
- *DEFAULT-DATABASE*. Join slots are updated but instances of
- the class on which the join is made are not updated.
+ object using the attribute values of the
+ appropriate table of database which
+ defaults to the database associated with
+ object or, if object is not associated
+ with a database, *default-database*. Join slots are updated but
+ instances of the class on which the join is made are not
+ updated.
@@ -300,21 +320,21 @@
Side Effects
-
+ Slot values of object may be modified.
Affected by
-
+ Data in SQL database.
Exceptional Situations
-
+ If database is not able to be read.
@@ -336,7 +356,7 @@
UPDATE-OBJECTS-JOINS
- Updates joined slots of objects
+ Updates joined slots of objects.Function
@@ -347,26 +367,63 @@
Arguments and Values
-
+
+ objects
+
+
+ A list of instances of a view class.
+
+
+
+
+ slots
+
+
+
+
+
+
+ force-p
+
+
+
+
+
+
+ class-name
+
+
+ A list of instances of a view class.
+
+
+
+
+ max-len
+
+
+
+
+ Description
- Updates from the records of the appropriate
- database tables the join slots specified by SLOTS in
- the supplied list of View Class instances OBJECTS.
- SLOTS is t by default which means that all join slots
- with :retrieval :immediate are updated. CLASS-NAME is
- used to specify the View Class of all instance in
- OBJECTS and default to nil which means that the class
- of the first instance in OBJECTS is used. FORCE-P is t
- by default which means that all join slots are updated
- whereas a value of nil means that only unbound join
- slots are updated. MAX-LEN defaults to
- *DEFAULT-UPDATE-OBJECTS-MAX-LEN* and when non-nil
- specifies that UPDATE-OBJECT-JOINS may issue multiple
- database queries with a maximum of MAX-LEN instances
- updated in each query.
+ Updates from the records of the appropriate database
+ tables the join slots specified by slots
+ in the supplied list of View Class instances
+ objects. slots
+ when &t; means that all join slots with :retrieval :immediate
+ are updated. class-name is used to
+ specify the View Class of all instance in
+ objects, when &nil; then the class of the
+ first instance in objects is
+ used. force-p when &t; means that all
+ join slots are updated whereas a value of &nil; means that only
+ unbound join slots are updated. max-len
+ when non-nil specifies that
+ update-object-joins may issue multiple
+ database queries with a maximum of
+ max-len instances updated in each query.
@@ -414,7 +471,7 @@
UPDATE-RECORD-FROM-SLOT
- Updates database from slot value
+ Updates database from slot value.Function
@@ -430,31 +487,34 @@
Description
- Updates the value stored in the column represented by
- the slot, specified by the CLOS slot name SLOT, of View Class
- instance OBJECT. DATABASE defaults to *DEFAULT-DATABASE* and
+ Updates the value stored in the column represented by the
+ slot, specified by the CLOS slot name
+ slot, of View Class instance
+ object. database
specifies the database in which the update is made only if
- OBJECT is not associated with a database. In this case, a
- record is created in DATABASE and the attribute represented by
- SLOT is initialised from the value of the supplied slots with
- other attributes having default values. Furthermore, OBJECT
- becomes associated with DATABASE.
+ object is not associated with a
+ database. In this case, a record is created in
+ database and the attribute represented by
+ slot is initialised from the value of the
+ supplied slots with other attributes having default
+ values. Furthermore, object becomes
+ associated with database.
- Examples
+ examples
- Side Effects
+ side effects
-
+ modifies sql database.
- Affected by
+ affected by
@@ -462,13 +522,13 @@
- Exceptional Situations
+ exceptional situations
-
+ if a database error occurs.
- See Also
+ see also
@@ -476,7 +536,7 @@
- Notes
+ notes
@@ -485,33 +545,35 @@
- UPDATE-RECORD-FROM-SLOTS
- Update database from slots of view class object
- Function
+ update-record-from-slots
+ update database from slots of view class object.
+ function
- Syntax
+ syntax
- (update-record-from-slots object slots &key database) =>
+ (update-record-from-slots object slots &key (database *default-database*)) =>
- Arguments and Values
+ arguments and values
- Description
- Updates the values stored in the columns represented by
- the slots, specified by the CLOS slot names SLOTS, of View
- Class instance OBJECT. DATABASE defaults to *DEFAULT-DATABASE*
- and specifies the database in which the update is made only if
- OBJECT is not associated with a database. In this case, a
- record is created in the appropriate table of DATABASE and the
- attributes represented by SLOTS are initialised from the
- values of the supplied slots with other attributes having
- default values. Furthermore, OBJECT becomes associated with
- DATABASE.
+ description
+ updates the values stored in the columns represented by
+ the slots, specified by the clos slot names
+ slots, of view class instance
+ object. database
+ specifies the database in which the update is made only if
+ object is not associated with a
+ database. In this case, a record is created in the appropriate
+ table of database and the attributes
+ represented by slots are initialised from
+ the values of the supplied slots with other attributes having
+ default values. Furthermore, object
+ becomes associated with database.
@@ -523,7 +585,7 @@
Side Effects
-
+ Modifies the SQL database.
@@ -566,7 +628,7 @@
Syntax
- (update-records-from-instance object &key database) =>
+ (update-records-from-instance object &key (database *default-database*)) => Arguments and Values
@@ -576,13 +638,16 @@
Description
- Using an instance of a View Class, OBJECT, update the
- table that stores its instance data. DATABASE defaults to
- *DEFAULT-DATABASE* and specifies the database in which the
- update is made only if OBJECT is not associated with a
+ Using an instance of a View Class,
+ object, update the table that stores its
+ instance data. database specifies the
+ database in which the update is made only if
+ object is not associated with a
database. In this case, a record is created in the appropriate
- table of DATABASE using values from the slot values of OBJECT,
- and OBJECT becomes associated with DATABASE.
+ table of database using values from the
+ slot values of object, and
+ object becomes associated with
+ database.
@@ -636,7 +701,7 @@
Syntax
- (update-slot-from-record object slot &key database) =>
+ (update-slot-from-record object slot &key (database *default-database*)) => Arguments and Values
@@ -647,12 +712,15 @@
DescriptionUpdates the slot value, specified by the CLOS slot name
- SLOT, of the View Class instance OBJECT using the attribute
- values of the appropriate table of DATABASE which defaults to
- the database associated with OBJECT or, if OBJECT is not
- associated with a database, *DEFAULT-DATABASE*. Join slots
- are updated but instances of the class on which the join is
- made are not updated.
+ slot, of the View Class instance
+ object using the attribute values of the
+ appropriate table of database which
+ defaults to the database associated with
+ object or, if
+ object is not associated with a database,
+ *default-database*. Join slots are updated
+ but instances of the class on which the join is made are not
+ updated.
@@ -664,21 +732,21 @@
Side Effects
-
+ Modifies the slot value of the object.
Affected by
-
+ Data in SQL database.Exceptional Situations
-
+ SQL access errors.