Updated on 2024-08-20 GMT+08:00

DBE_SESSION

API Description

Table 1 provides all APIs supported by the DBE_SESSION package. DBE_SESSION takes effect at the session level.

Table 1 DBE_SESSION

API

Description

DBE_SESSION.SET_CONTEXT

Sets the value of an attribute in a specified context.

DBE_SESSION.CLEAR_CONTEXT

Clears the value of an attribute in a specified context.

DBE_SESSION.SEARCH_CONTEXT

Queries the value of an attribute in a specified context.

DBE_SESSION.MODIFY_PACKAGE_STATE

Changes the PL/SQL status of the current session.

  • DBE_SESSION.SET_CONTEXT

    Sets the value of an attribute in a specified namespace (context). The prototype of the DBE_SESSION.SET_CONTEXT function is as follows:

    1
    2
    3
    4
    5
    DBE_SESSION.SET_CONTEXT(
        namespace text,
        attribute text,
        value text
    )returns void;
    
    Table 2 Parameters for DBE_SESSION.SET_CONTEXT

    Parameter

    Type

    Input/Output Parameter

    Can Be Empty

    Description

    namespace

    TEXT

    IN

    No

    Name of the context to be set. If the context does not exist, create a context. The value contains a maximum of 128 bytes. If the value exceeds 128 bytes, it will be truncated.

    attribute

    TEXT

    IN

    No

    Attribute name. The value contains a maximum of 1024 bytes. If the value exceeds 1024 bytes, it will be truncated.

    value

    TEXT

    IN

    No

    Name of the value to be set. The value contains a maximum of 1024 bytes. If the value exceeds 1024 bytes, it will be truncated.

  • DBE_SESSION.CLEAR_CONTEXT

    Clears the value of an attribute in a specified namespace (context). The prototype of the DBE_SESSION.CLEAR_CONTEXT function is as follows:

    1
    2
    3
    4
    5
    DBE_SESSION.CLEAR_CONTEXT (
        namespace text,
        client_identifier text default null,
        attribute text default null
    )returns void ;
    
    Table 3 Parameters for DBE_SESSION.CLEAR_CONTEXT

    Parameter

    Type

    Input/Output Parameter

    Can Be Empty

    Description

    namespace

    TEXT

    IN

    No

    Context specified by the user. The value contains a maximum of 128 bytes. If the value exceeds 128 bytes, it will be truncated.

    client_identifier

    TEXT

    IN

    Yes

    Client authentication. The default value is null. Generally, you do not need to manually set this parameter.

    attribute

    TEXT

    IN

    Yes

    Attribute to be cleared. The default value is null, indicating that all attributes of the specified context are cleared. The value contains a maximum of 1024 bytes. If the value exceeds 1024 bytes, it will be truncated.

    Note: To ensure forward compatibility, if the parameter value is 'null', all attributes of the specified context are cleared.

  • DBE_SESSION.SEARCH_CONTEXT

    Queries the value of an attribute in a specified namespace (context). The prototype of the DBE_SESSION.SEARCH_CONTEXT function is as follows:

    1
    2
    3
    4
    DBE_SESSION.SEARCH_CONTEXT (
        namespace text,
        attribute text
    )returns text;
    
    Table 4 Parameters for DBE_SESSION.SEARCH_CONTEXT

    Parameter

    Type

    Input/Output Parameter

    Can Be Empty

    Description

    namespace

    TEXT

    IN

    No

    Context specified by the user. The value contains a maximum of 128 bytes. If the value exceeds 128 bytes, it will be truncated.

    attribute

    TEXT

    IN

    No

    Attribute to be searched for. The value contains a maximum of 1024 bytes. If the value exceeds 1024 bytes, it will be truncated.

    Example:
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    DECLARE
        a text;
    BEGIN
        DBE_SESSION.set_context('test', 'gaussdb', 'one');   --Set the gaussdb attribute in the test context to one.
        a := DBE_SESSION.search_context('test', 'gaussdb');
        DBE_OUTPUT.PRINT_LINE(a);
        DBE_SESSION.clear_context('test', 'test','gaussdb');
    END;
    /
    -- Expected result:
    one
    ANONYMOUS BLOCK EXECUTE
    
  • DBE_SESSION.MODIFY_PACKAGE_STATE

    Changes the PL/SQL status of the current session. The prototype of the DBE_SESSION.MODIFY_PACKAGE_STATE function is as follows:

    1
    2
    DBE_SESSION.MODIFY_PACKAGE_STATE (
          flags int);
    
    Table 5 Parameters for DBE_SESSION.MODIFY_PACKAGE_STATE

    Parameter

    Type

    Input/Output Parameter

    Can Be Empty

    Description

    flags

    INT

    IN

    No

    Bit flag of the operation performed on the PL/SQL.

    When flags is set to 1, the session cache of the PL/SQL that is currently running in the session is released after the top-level PL/SQL is executed. The current value of any package is cleared globally and the cached cursor is closed. On subsequent use, PL/SQL re-instantiates and re-initializes the package globally.

    Other bit flags are not supported.

    Example:
    1
    2
    3
    4
    5
    CALL dbe_session.modify_package_state(1);
     modify_package_state 
    ----------------------
    
    (1 row)