X-Git-Url: http://git.kpe.io/?p=clsql.git;a=blobdiff_plain;f=doc%2Fref-ooddl.xml;fp=doc%2Fref-ooddl.xml;h=568cb1af80d0eb0c0bcf9cf1431e19b735cc5586;hp=0000000000000000000000000000000000000000;hb=5248ae9f94d2022596ef8846e0581ea716607a84;hpb=23a10375f83c89c138369e05c8f57f679bb43ec9 diff --git a/doc/ref-ooddl.xml b/doc/ref-ooddl.xml new file mode 100644 index 0000000..568cb1a --- /dev/null +++ b/doc/ref-ooddl.xml @@ -0,0 +1,392 @@ + + +%myents; +]> + + + + Object Oriented Data Definition Language (OODDL) + + + + + + + + + STANDARD-DB-OBJECT + Superclass for all &clsql; View Classes. + Class + + + Class Precedence List + + + standard-db-object + standard-object + t + + + + + Description This class is the superclass + of all &clsql; View Classes. + + + Class details + (defclass STANDARD-DB-OBJECT ()(...)) + + + Slots + + + slot VIEW-DATABASE is of type T + + + + + + + + *DEFAULT-VARCHAR-LENGTH* + + Variable + + + Value Type + + + + + + Initial Value + nil + + + Description + + + + Examples + + + + + + Affected By + None. + + + See Also + None. + + + Notes + None. + + + + + + CREATE-VIEW-FROM-CLASS + + Function + + + Syntax + + (CREATE-VIEW-FROM-CLASS VIEW-CLASS-NAME &KEY (DATABASE *DEFAULT-DATABASE*)) [function] => + + + Arguments and Values + + + + + + Description + Creates a table as defined by the View Class + VIEW-CLASS-NAME in DATABASE which defaults to + *DEFAULT-DATABASE*. + + + + Examples + + + + + + Side Effects + + + + + + Affected by + + + + + + + + Exceptional Situations + + + + + + See Also + + + + + + + + Notes + + + + + + + + + DEF-VIEW-CLASS + + Function + + + Syntax + + (DEF-VIEW-CLASS CLASS SUPERS SLOTS &REST CL-OPTIONS) [macro] => + + + Arguments and Values + + + + + + Description + Creates a View Class called CLASS whose slots SLOTS can + map onto the attributes of a table in a database. If SUPERS is + nil then the superclass of CLASS will be STANDARD-DB-OBJECT, + otherwise SUPERS is a list of superclasses for CLASS which + must include STANDARD-DB-OBJECT or a descendent of this + class. The syntax of DEFCLASS is extended through the addition + of a class option :base-table which defines the database table + onto which the View Class maps and which defaults to + CLASS. The DEFCLASS syntax is also extended through additional + slot options. The :db-kind slot option specifies the kind of + DB mapping which is performed for this slot and defaults to + :base which indicates that the slot maps to an ordinary column + of the database table. A :db-kind value of :key indicates that + this slot is a special kind of :base slot which maps onto a + column which is one of the unique keys for the database table, + the value :join indicates this slot represents a join onto + another View Class which contains View Class objects, and the + value :virtual indicates a standard CLOS slot which does not + map onto columns of the database table. If a slot is specified + with :db-kind :join, the slot option :db-info contains a list + which specifies the nature of the join. For slots of :db-kind + :base or :key, the :type slot option has a special + interpretation such that Lisp types, such as string, integer + and float are automatically converted into appropriate SQL + types for the column onto which the slot maps. This behaviour + may be over-ridden using the :db-type slot option which is a + string specifying the vendor-specific database type for this + slot's column definition in the database. The :column slot + option specifies the name of the SQL column which the slot + maps onto, if :db-kind is not :virtual, and defaults to the + slot name. The :void-value slot option specifies the value to + store if the SQL value is NULL and defaults to NIL. The + :db-constraints slot option is a string representing an SQL + table constraint expression or a list of such strings. + + + + Examples + + + + + + Side Effects + + + + + + Affected by + + + + + + + + Exceptional Situations + + + + + + See Also + + + + + + + + Notes + + + + + + + + + DROP-VIEW-FROM-CLASS + + Function + + + Syntax + + (DROP-VIEW-FROM-CLASS VIEW-CLASS-NAME &KEY (DATABASE *DEFAULT-DATABASE*)) [function] => + + + Arguments and Values + + + + + + Description + Removes a table defined by the View Class + VIEW-CLASS-NAME from DATABASE which defaults to + *DEFAULT-DATABASE*. + + + + Examples + + + + + + Side Effects + + + + + + Affected by + + + + + + + + Exceptional Situations + + + + + + See Also + + + + + + + + Notes + + + + + + + + + LIST-CLASSES + + Function + + + Syntax + + (LIST-CLASSES &KEY (TEST #'IDENTITY) (ROOT-CLASS (FIND-CLASS 'STANDARD-DB-OBJECT)) (DATABASE *DEFAULT-DATABASE*)) [function] => + + + Arguments and Values + + + + + + Description + Returns a list of all the View Classes which + are connected to DATABASE, which defaults to + *DEFAULT-DATABASE*, and which descend from the class + ROOT-CLASS and which satisfy the function TEST. By + default ROOT-CLASS is STANDARD-DB-OBJECT and TEST is + IDENTITY. + + + + Examples + + + + + + Side Effects + + + + + + Affected by + + + + + + + + Exceptional Situations + + + + + + See Also + + + + + + + + Notes + + + + + + + + + +