Represents class information. An index for class_name is created.
Attribute Name |
Data Type |
Description |
---|---|---|
class_of |
object |
A class object. Represents a meta information object for the class stored in the system. |
class_name |
VARCHAR(255) |
Class name |
class_type |
INTEGER |
0 for a class, and 1 for a virtual class |
is_system_class |
INTEGER |
0 for a user-defined class, and 1 for a system class |
owner |
db_user |
Class owner |
inst_attr_count |
INTEGER |
The number of instance attributes |
class_attr_count |
INTEGER |
The number of class attributes |
shard_attr_count |
INTEGER |
The number of shared attributes |
inst_meth_count |
INTEGER |
The number of instance methods |
calss_meth_count |
INTEGER |
The number of class methods |
sub_classes |
SEQUENCE OF _db_class |
Class one level down |
super_classes |
SEQUENCE OF _db_class |
Class one level up |
inst_attrs |
SEQUENCE OF _db_attribute |
Instance attribute |
class_attrs |
SEQUENCE OF _db_attribute |
Class attribute |
shared_attrs |
SEQUENCE OF _db_attribute |
Shared attribute |
inst_meths |
SEQUENCE OF _db_method |
Instance method |
class_meths |
SEQUENCE OF _db_method |
Class method |
meth_files |
SEQUENCE OF _db_methfile |
File path in which the function for the method is located |
query_specs |
SEQUENCE OF _db_queryspec |
SQL definition statement for a virtual class |
indexes |
SEQUENCE OF _db_index |
Index created in the class |
The following example shows how to retrieve all subclasses under the class owned by user 'PUBLIC' (for the child class female_event in the result, see the example in Adding a super class).
SELECT class_name, SEQUENCE(SELECT class_name FROM _db_class s WHERE s IN c.sub_classes)
FROM _db_class c
WHERE c.owner.name = 'PUBLIC' AND c.sub_classes IS NOT NULL;
class_name sequence((select class_name from _db_class s where s in c.sub_classes))
============================================
'event' {'female_event'}
Note All examples of system catalog classes have been written in the csql utility. In this example, --no-auto-commit (inactive mode of auto-commit) and -u (specifying user DBA) options are used.
% csql --no-auto-commit -u dba demodb