메소드에 대한 정보이며 class_of, meth_name에 대한 인덱스가 생성되어 있다.
속성명 |
데이터 타입 |
설명 |
---|---|---|
class_of |
_db_class |
메소드가 속한 클래스 |
meth_type |
INTEGER |
메소드가 클래스에 정의된 타입. 인스턴스 메소드이면 0, 클래스 메소드이면 1 |
from_class_of |
_db_class |
메소드가 상속된 것이면 그 메소드가 정의되어 있는 상위 클래스가 설정되며 그렇지 않으면 NULL |
from_meth_name |
VARCHAR(255) |
상속받은 메소드이며 이름 충돌이 발생하여 이를 해결하기 위해 그 메소드명이 바뀐 경우, 상위 클래스에 정의된 원래 이름이 설정됨. 그 이외에는 모두 NULL |
meth_name |
VARCHAR(255) |
메소드 이름 |
signatures |
SEQUENCE OF _db_meth_sig |
메소드 호출시 수행하는 C 함수에 대한 구성 정보 |
다음 예제에서는 사용자 ‘DBA’ 가 소유하고 있는 클래스 중에서 클래스 메소드가 있는 것(c.class_meth_count > 0)의 클래스 메소드를 검색한다.
csql> select class_name, sequence(select meth_name
csql> from _db_method m
csql> where m in c.class_meths)
csql> from _db_class c
csql> where c.owner.name = 'DBA' and
csql> c.class_meth_count > 0
csql> order by 1;
csql> ;xrun
=== <Result of SELECT Command in Line 1> ===
class_name sequence((select meth_name from _db_method m where m in c.class
_meths))
============================================
'db_authorization' {'check_authorization'}
'db_authorizations' {'add_user', 'drop_user', 'find_user', 'print_authorizations',
'info', 'change_owner', 'change_trigger_owner', 'get_owner'}
'db_root' {'add_user', 'drop_user', 'find_user', 'print_authorizations',
'info', 'change_owner', 'change_trigger_owner', 'get_owner', 'change_sp_owner'}
'db_user' {'add_user', 'drop_user', 'find_user', 'login'}
'glo' {'new', 'new_lo', 'new_lo_import', 'new_fbo'}
'glo_holder' {'new'}