Open Source RDBMS - Seamless, Scalable, Stable and Free

한국어 | Login |Register

Versions available for this page: CUBRID 8.2.1 |  CUBRID 8.3.0 |  CUBRID 8.3.1 |  CUBRID 8.4.0 |  CUBRID 8.4.1 |  CUBRID 8.4.3 |  CUBRID 9.0.0 | 

DB_METH_ARG

Represents the input/output argument information of the method of the class for which the current user has access authorization to a database.

Attribute Name

Data Type

Description

meth_name

VARCHAR(255)

Method name

class_name

VARCHAR(255)

Name of the class to which the method belongs

meth_type

VARCHAR(8)

‘INSTANCE’ for an instance method, and 'CLASS' for a class method.

index_of

INTEGER

Order in which arguments are listed in the function definition. Begins with 0 if it is a return value, and 1 if it is an input argument.

data_type

VARCHAR(9)

Data type of the argument

prec

INTEGER

Precision of the argument

scale

INTEGER

Scale of the argument

code_set

INTEGER

Character set if the data type of the argument is a character.

domain_class_name

VARCHAR(255)

Domain class name if the data type of the argument is an object.

Definition

CREATE VCLASS db_meth_arg (

meth_name, class_name, meth_type,

index_of, data_type, prec, scale, code_set, domain_class_name)

AS

SELECT s.meth_of.meth_name, s.meth_of.class_of.class_name,

       CASE WHEN s.meth_of.meth_type = 0 THEN 'INSTANCE' ELSE 'CLASS' END,

       a.index_of, t.type_name, d.prec, d.scale, d.code_set,

       d.class_of.class_name

FROM _db_meth_sig s, _db_meth_arg a, _db_domain d, _db_data_type t

WHERE a.meth_sig_of = s AND d.object_of = a AND d.data_type = t.type_id AND

        (CURRENT_USER = 'DBA' OR

        {s.meth_of.class_of.owner.name} subseteq (

                SELECT set{CURRENT_USER} + coalesce(sum(set{t.g.name}), set{})

                from db_user u, table(groups) as t(g)

                where u.name = CURRENT_USER ) OR

        {s.meth_of.class_of} subseteq (

SELECT sum(set{au.class_of})

                FROM _db_auth au

                WHERE {au.grantee.name} subseteq (

                            SELECT set{CURRENT_USER} + coalesce(sum(set{t.g.name}), set{})

                            from db_user u, table(groups) as t(g)

                            where u.name = CURRENT_USER ) AND

                                    au.auth_type = 'SELECT'));

Example

The following example shows how to retrieve input arguments of the method of the db_user class.

SELECT meth_name, data_type, prec

FROM db_meth_arg

WHERE class_name = 'db_user';

  meth_name             data_type                    prec

========================================================

  'append_data'         'STRING'               1073741823