2 <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
3 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
4 <!ENTITY % myents SYSTEM "entities.inc">
8 <!-- Object Oriented Data Manipulation Language -->
9 <reference id="ref-oodml">
10 <title>Object Oriented Data Manipulation Language (OODML)</title>
17 <refentry id="db-auto-sync">
19 <refname>*DB-AUTO-SYNC*</refname>
20 <refpurpose><!-- purpose --></refpurpose>
21 <refclass>Variable</refclass>
24 <title>Value Type</title>
30 <title>Initial Value</title>
31 <para><symbol>nil</symbol></para>
34 <title>Description</title>
38 <title>Examples</title>
44 <title>Affected By</title>
48 <title>See Also</title>
57 <refentry id="default-update-objects-max-len">
59 <refname>*DEFAULT-UPDATE-OBJECTS-MAX-LEN*</refname>
60 <refpurpose><!-- purpose --></refpurpose>
61 <refclass>Variable</refclass>
64 <title>Value Type</title>
70 <title>Initial Value</title>
71 <para><symbol>nil</symbol></para>
74 <title>Description</title>
78 <title>Examples</title>
84 <title>Affected By</title>
88 <title>See Also</title>
97 <refentry id="delete-instance-records">
99 <refname>DELETE-INSTANCE-RECORDS</refname>
100 <refpurpose><!-- purpose --></refpurpose>
101 <refclass>Function</refclass>
104 <title>Syntax</title>
106 <function> (DELETE-INSTANCE-RECORDS OBJECT) [generic]</function> => <returnvalue><!-- result --></returnvalue></synopsis>
109 <title>Arguments and Values</title>
111 <!-- arguments and values -->
115 <title>Description</title>
116 <para>Deletes the records represented by OBJECT in the
117 appropriate table of the database associated with OBJECT. If
118 OBJECT is not yet associated with a database, an error is
123 <title>Examples</title>
129 <title>Side Effects</title>
131 <!-- side effects -->
135 <title>Affected by</title>
143 <title>Exceptional Situations</title>
145 <!-- execeptional situations -->
149 <title>See Also</title>
164 <refentry id="instance-refreshed">
166 <refname>INSTANCE-REFRESHED</refname>
167 <refpurpose><!-- purpose --></refpurpose>
168 <refclass>Function</refclass>
171 <title>Syntax</title>
173 <function> (INSTANCE-REFRESHED OBJECT) [generic]</function> => <returnvalue><!-- result --></returnvalue></synopsis>
176 <title>Arguments and Values</title>
178 <!-- arguments and values -->
182 <title>Description</title>
183 <para>Provides a hook which is called within an object
184 oriented call to SELECT with a non-nil value of REFRESH when
185 the View Class instance OBJECT has been updated from the
186 database. A method specialised on STANDARD-DB-OBJECT is
187 provided which has no effects. Methods specialised on
188 particular View Classes can be used to specify any operations
189 that need to be made on View Classes instances which have been
190 updated in calls to SELECT.
194 <title>Examples</title>
200 <title>Side Effects</title>
202 <!-- side effects -->
206 <title>Affected by</title>
214 <title>Exceptional Situations</title>
216 <!-- execeptional situations -->
220 <title>See Also</title>
235 <refentry id="update-instance-from-records">
237 <refname>UPDATE-INSTANCE-FROM-RECORDS</refname>
238 <refpurpose><!-- purpose --></refpurpose>
239 <refclass>Function</refclass>
242 <title>Syntax</title>
244 <function> (UPDATE-INSTANCE-FROM-RECORDS OBJECT &KEY DATABASE) [generic]</function> => <returnvalue><!-- result --></returnvalue></synopsis>
247 <title>Arguments and Values</title>
249 <!-- arguments and values -->
253 <title>Description</title>
254 <para>Updates the slot values of the View Class instance
255 OBJECT using the attribute values of the appropriate table of
256 DATABASE which defaults to the database associated with OBJECT
257 or, if OBJECT is not associated with a database,
258 *DEFAULT-DATABASE*. Join slots are updated but instances of
259 the class on which the join is made are not updated.
263 <title>Examples</title>
269 <title>Side Effects</title>
271 <!-- side effects -->
275 <title>Affected by</title>
283 <title>Exceptional Situations</title>
285 <!-- execeptional situations -->
289 <title>See Also</title>
304 <refentry id="update-objects-joins">
306 <refname>UPDATE-OBJECTS-JOINS</refname>
307 <refpurpose><!-- purpose --></refpurpose>
308 <refclass>Function</refclass>
311 <title>Syntax</title>
313 <function> (UPDATE-OBJECTS-JOINS OBJECTS &KEY (SLOTS T) (FORCE-P T) CLASS-NAME (MAX-LEN *DEFAULT-UPDATE-OBJECTS-MAX-LEN*)) [function]</function> => <returnvalue><!-- result --></returnvalue></synopsis>
316 <title>Arguments and Values</title>
318 <!-- arguments and values -->
322 <title>Description</title>
323 <para>Updates from the records of the appropriate
324 database tables the join slots specified by SLOTS in
325 the supplied list of View Class instances OBJECTS.
326 SLOTS is t by default which means that all join slots
327 with :retrieval :immediate are updated. CLASS-NAME is
328 used to specify the View Class of all instance in
329 OBJECTS and default to nil which means that the class
330 of the first instance in OBJECTS is used. FORCE-P is t
331 by default which means that all join slots are updated
332 whereas a value of nil means that only unbound join
333 slots are updated. MAX-LEN defaults to
334 *DEFAULT-UPDATE-OBJECTS-MAX-LEN* and when non-nil
335 specifies that UPDATE-OBJECT-JOINS may issue multiple
336 database queries with a maximum of MAX-LEN instances
337 updated in each query.
341 <title>Examples</title>
347 <title>Side Effects</title>
349 <!-- side effects -->
353 <title>Affected by</title>
361 <title>Exceptional Situations</title>
363 <!-- execeptional situations -->
367 <title>See Also</title>
382 <refentry id="update-record-from-slot">
384 <refname>UPDATE-RECORD-FROM-SLOT</refname>
385 <refpurpose><!-- purpose --></refpurpose>
386 <refclass>Function</refclass>
389 <title>Syntax</title>
391 <function> (UPDATE-RECORD-FROM-SLOT OBJECT SLOT &KEY DATABASE) [generic]</function> => <returnvalue><!-- result --></returnvalue></synopsis>
394 <title>Arguments and Values</title>
396 <!-- arguments and values -->
400 <title>Description</title>
401 <para>Updates the value stored in the column represented by
402 the slot, specified by the CLOS slot name SLOT, of View Class
403 instance OBJECT. DATABASE defaults to *DEFAULT-DATABASE* and
404 specifies the database in which the update is made only if
405 OBJECT is not associated with a database. In this case, a
406 record is created in DATABASE and the attribute represented by
407 SLOT is initialised from the value of the supplied slots with
408 other attributes having default values. Furthermore, OBJECT
409 becomes associated with DATABASE.
413 <title>Examples</title>
419 <title>Side Effects</title>
421 <!-- side effects -->
425 <title>Affected by</title>
433 <title>Exceptional Situations</title>
435 <!-- execeptional situations -->
439 <title>See Also</title>
454 <refentry id="update-record-from-slots">
456 <refname>UPDATE-RECORD-FROM-SLOTS</refname>
457 <refpurpose><!-- purpose --></refpurpose>
458 <refclass>Function</refclass>
461 <title>Syntax</title>
463 <function> (UPDATE-RECORD-FROM-SLOTS OBJECT SLOTS &KEY DATABASE) [generic]</function> => <returnvalue><!-- result --></returnvalue></synopsis>
466 <title>Arguments and Values</title>
468 <!-- arguments and values -->
472 <title>Description</title>
473 <para>Updates the values stored in the columns represented by
474 the slots, specified by the CLOS slot names SLOTS, of View
475 Class instance OBJECT. DATABASE defaults to *DEFAULT-DATABASE*
476 and specifies the database in which the update is made only if
477 OBJECT is not associated with a database. In this case, a
478 record is created in the appropriate table of DATABASE and the
479 attributes represented by SLOTS are initialised from the
480 values of the supplied slots with other attributes having
481 default values. Furthermore, OBJECT becomes associated with
486 <title>Examples</title>
492 <title>Side Effects</title>
494 <!-- side effects -->
498 <title>Affected by</title>
506 <title>Exceptional Situations</title>
508 <!-- execeptional situations -->
512 <title>See Also</title>
528 <refentry id="update-records-from-instance">
530 <refname>UPDATE-RECORDS-FROM-INSTANCE</refname>
531 <refpurpose><!-- purpose --></refpurpose>
532 <refclass>Function</refclass>
535 <title>Syntax</title>
537 <function> (UPDATE-RECORDS-FROM-INSTANCE OBJECT &KEY DATABASE) [generic]</function> => <returnvalue><!-- result --></returnvalue></synopsis>
540 <title>Arguments and Values</title>
542 <!-- arguments and values -->
546 <title>Description</title>
547 <para>Using an instance of a View Class, OBJECT, update the
548 table that stores its instance data. DATABASE defaults to
549 *DEFAULT-DATABASE* and specifies the database in which the
550 update is made only if OBJECT is not associated with a
551 database. In this case, a record is created in the appropriate
552 table of DATABASE using values from the slot values of OBJECT,
553 and OBJECT becomes associated with DATABASE.
557 <title>Examples</title>
563 <title>Side Effects</title>
565 <!-- side effects -->
569 <title>Affected by</title>
577 <title>Exceptional Situations</title>
579 <!-- execeptional situations -->
583 <title>See Also</title>
598 <refentry id="update-slot-from-record">
600 <refname>UPDATE-SLOT-FROM-RECORD</refname>
601 <refpurpose><!-- purpose --></refpurpose>
602 <refclass>Function</refclass>
605 <title>Syntax</title>
607 <function> (UPDATE-SLOT-FROM-RECORD OBJECT SLOT &KEY DATABASE) [generic]</function> => <returnvalue><!-- result --></returnvalue></synopsis>
610 <title>Arguments and Values</title>
612 <!-- arguments and values -->
616 <title>Description</title>
617 <para>Updates the slot value, specified by the CLOS slot name
618 SLOT, of the View Class instance OBJECT using the attribute
619 values of the appropriate table of DATABASE which defaults to
620 the database associated with OBJECT or, if OBJECT is not
621 associated with a database, *DEFAULT-DATABASE*. Join slots
622 are updated but instances of the class on which the join is
623 made are not updated.
627 <title>Examples</title>
633 <title>Side Effects</title>
635 <!-- side effects -->
639 <title>Affected by</title>
647 <title>Exceptional Situations</title>
649 <!-- execeptional situations -->
653 <title>See Also</title>