Qorus Integration Engine®  4.1.4.p4_git
OMQ::QorusOracleDatasourcePool Class Reference

An Oracle specific class which is used for automated instrumentation as in OracleExtensions::OracleDatasourcePool but this one is directly inherited from Qore::SQL::DatasourcePool. More...

Inheritance diagram for OMQ::QorusOracleDatasourcePool:
Qore::SQL::DatasourcePool OracleExtensions::OracleInstrumentationBase Qore::SQL::AbstractDatasource Qore::Serializable

Public Member Methods

 constructor (hash< auto > opts, *Qore::Thread::Queue queue, auto arg, code userAutoInfo)
 creates the object
 
nothing beginTransaction ()
 Start new transaction with potential automatic Aplication info set.
 
nothing commit ()
 Commit the transaction. Application info is cleared.
 
nothing rollback ()
 Rollback the transaction. Application info is cleared.
 
auto exec (string sql)
 exec with automatic approach of getting application info More...
 
auto execRaw (string sql)
 execRaw with automatic approach of getting application info More...
 
auto select (string sql)
 select with automatic approach of getting application info More...
 
auto selectRow (string sql)
 selectRow with automatic approach of getting application info More...
 
auto selectRows (string sql)
 selectRows with automatic approach of getting application info More...
 
auto vexec (string sql, softlist< auto > vargs)
 vexec with automatic approach of getting application info More...
 
auto vselect (string sql, softlist< auto > vargs)
 vselect with automatic approach of getting application info More...
 
auto vselectRow (string sql, softlist< auto > vargs)
 vselectRow with automatic approach of getting application info More...
 
auto vselectRows (string sql, softlist< auto > vargs)
 vselectRows with automatic approach of getting application info More...
 

Static Public Member Methods

static *OracleExtensions::OracleApplicationInfo getOracleInstrumentation ()
 A helper function for automated Oracle instrumentation in QorusOracleDatasourcePool. It tries to get the most valuable info form the current Qorus context to identify the place of the origin of the DB operation in the system or user code. More...
 

Detailed Description

An Oracle specific class which is used for automated instrumentation as in OracleExtensions::OracleDatasourcePool but this one is directly inherited from Qore::SQL::DatasourcePool.

All user code gets this class automatically instead of raw DatasourcePool if is the datasource of Oracle type and the qorus.oracle-datasource-pool option is set to True.

The user code works as with standard OMQ::SQL::DatasourcePool out of the box. No changes in current code base are required.

The auto instrumentation is provided by Qorus internal OMQ::QorusOracleDatasourcePool::getOracleInstrumentation() method.

User code can use all functionality of OracleExtensions::OracleInstrumentationBase like a custom application info etc.

User code has to wrap OMQ::QorusOracleDatasourcePool into OracleExtensions::OracleDatasourcePool to use advanced extensions like "longops" or "server output".

Member Function Documentation

◆ exec()

auto OMQ::QorusOracleDatasourcePool::exec ( string  sql)

exec with automatic approach of getting application info

Parameters
sqla SQL statement
...binding arguments as in parent class method
Return values
anya result as in parent class method

This method tries to find application info automatically. The previously set info (beginTransaction, setAppInfo) is used or a context related info is used in Qorus Integration Engine.

◆ execRaw()

auto OMQ::QorusOracleDatasourcePool::execRaw ( string  sql)
virtual

execRaw with automatic approach of getting application info

Parameters
sqla SQL statement
Return values
anya result as in parent class method

This method tries to find application infautomatically. The previously set info (beginTransaction, setAppInfo) is used or a context related info is used in Qorus Integration Engine.

Reimplemented from Qore::SQL::DatasourcePool.

◆ getOracleInstrumentation()

static *OracleExtensions::OracleApplicationInfo OMQ::QorusOracleDatasourcePool::getOracleInstrumentation ( )
static

A helper function for automated Oracle instrumentation in QorusOracleDatasourcePool. It tries to get the most valuable info form the current Qorus context to identify the place of the origin of the DB operation in the system or user code.

Please see Qore OracleExtensions module and Oracle documentation for more information about Oracle instrumentation.

workflow:

  • client_info: object type:name:version
  • module: name of the step function:version
  • action: wfiid:stepid:index

service:

  • client_info: object type:service name:version
  • module:
  • action:

job:

  • client_info: jobname:version
  • module:
  • action: job_instanceid

Example

# type: STEP
# version: 1.0
# desc: a test step
# author: Petr Vanek (Qore Technologies, sro)
%new-style
sub rem_stream_send() {
DatasourcePool dsstage = get_datasource_pool("omquser");
on_success dsstage.commit();
on_error dsstage.rollback();
log(LL_INFO, "DS: %y", dsstage);
# wait 5s in the DB
dsstage.exec("begin dbms_lock.sleep(5); end;");
# ... code skip ...
}
# END

Log output for dsstage will be:

DS: {<QorusOracleDatasourcePool object>: userInfo: null, autoCode: function reference (0x7fa3e0fefeb0), m_ds: null}

Oracle's V$SESSION will contain these values for current connection:

  • module:
    rem_stream_send:1.0
  • action:
    200:316:0
  • client_info:
    workflow:REMOTE-STREAM-TEST:1.0

◆ select()

auto OMQ::QorusOracleDatasourcePool::select ( string  sql)

select with automatic approach of getting application info

Parameters
sqla SQL statement
...binding arguments as in parent class method
Return values
anya result as in parent class method

This method tries to find application info automatically. The previously set info (beginTransaction, setAppInfo) is used or a context related info is used in Qorus Integration Engine.

◆ selectRow()

auto OMQ::QorusOracleDatasourcePool::selectRow ( string  sql)

selectRow with automatic approach of getting application info

Parameters
sqla SQL statement
...binding arguments as in parent class method
Return values
anya result as in parent class method

This method tries to find application info automatically. The previously set info (beginTransaction, setAppInfo) is used or a context related info is used in Qorus Integration Engine.

◆ selectRows()

auto OMQ::QorusOracleDatasourcePool::selectRows ( string  sql)

selectRows with automatic approach of getting application info

Parameters
sqla SQL statement
...binding arguments as in parent class method
Return values
anya result as in parent class method

This method tries to find application info automatically. The previously set info (beginTransaction, setAppInfo) is used or a context related info is used in Qorus Integration Engine.

◆ vexec()

auto OMQ::QorusOracleDatasourcePool::vexec ( string  sql,
softlist< auto >  vargs 
)

vexec with automatic approach of getting application info

Parameters
sqla SQL statement
vargsbinding arguments as in parent class method
Return values
anya result as in parent class method

This method tries to find application info automatically. The previously set info (beginTransaction, setAppInfo) is used or a context related info is used in Qorus Integration Engine.

◆ vselect()

auto OMQ::QorusOracleDatasourcePool::vselect ( string  sql,
softlist< auto >  vargs 
)

vselect with automatic approach of getting application info

Parameters
sqla SQL statement
vargsbinding arguments as in parent class method
Return values
anya result as in parent class method

This method tries to find application info automatically. The previously set info (beginTransaction, setAppInfo) is used or a context related info is used in Qorus Integration Engine.

◆ vselectRow()

auto OMQ::QorusOracleDatasourcePool::vselectRow ( string  sql,
softlist< auto >  vargs 
)

vselectRow with automatic approach of getting application info

Parameters
sqla SQL statement
vargsbinding arguments as in parent class method
Return values
anya result as in parent class method

This method tries to find application info automatically. The previously set info (beginTransaction, setAppInfo) is used or a context related info is used in Qorus Integration Engine.

◆ vselectRows()

auto OMQ::QorusOracleDatasourcePool::vselectRows ( string  sql,
softlist< auto >  vargs 
)

vselectRows with automatic approach of getting application info

Parameters
sqla SQL statement
vargsbinding arguments as in parent class method
Return values
anya result as in parent class method

This method tries to find application info automatically. The previously set info (beginTransaction, setAppInfo) is used or a context related info is used in Qorus Integration Engine.


The documentation for this class was generated from the following file: