Qore TableMapper Module Reference  1.3
TableMapper::SqlStatementOutboundMapper Class Reference

provides an outbound data mapper to a Table with SqlUtil select hash as a asource More...

Inheritance diagram for TableMapper::SqlStatementOutboundMapper:

Public Member Methods

 constructor (SqlUtil::AbstractTable source, *hash< auto > sh, hash< auto > mapv, *hash< auto > opts)
 builds the object based on an optional hash providing field mappings, data constraints, and optionally custom mapping logic More...
 
 constructor (SqlUtil::Table source, *hash< auto > sh, hash< auto > mapv, *hash< auto > opts)
 builds the object based on an optional hash providing field mappings, data constraints, and optionally custom mapping logic More...
 
Qore::SQL::AbstractDatasource getDatasource ()
 returns the AbstractDatasource object associated with this object
 
SqlUtil::AbstractTable getTable ()
 returns the underlying SqlUtil::AbstractTable object More...
 
string getTableName ()
 returns the table name More...
 
hash< string, hash< MapperOptionInfo > > getUserOptions ()
 returns mapper options useful for users
 
 initStatement ()
 initializes the internal statement object
 
hash< auto > optionKeys ()
 returns a list of valid constructor options for this class (can be overridden in subclasses) More...
 
- Public Member Methods inherited from TableMapper::AbstractSqlStatementOutboundMapper
 commit ()
 commits the transaction and frees the Qore::SQL::AbstractDatasource transaction thread resource
 
 constructor (hash< auto > mapv, *hash< auto > opts)
 builds the object based on an optional hash providing field mappings, data constraints, and optionally custom mapping logic More...
 
*hash< string, auto > getData ()
 Retrieve mapped data as a hash of lists. More...
 
*list< auto > getDataRows ()
 Retrieve mapped data as a list of hashes. More...
 
Qore::SQL::SQLStatement getRowIterator ()
 returns a row iterator for the underlying SQL statement for this object More...
 
Qore::SQL::AbstractSQLStatement getStatement ()
 returns a row iterator for the underlying SQL statement for this object More...
 
hash< string, hash< MapperOptionInfo > > getUserOptions ()
 returns mapper options useful for users
 
SqlStatementMapperIterator iterator ()
 Returns an SqlStatementMapperIterator based on the current object. More...
 
hash< auto > optionKeys ()
 returns a list of valid constructor options for this class (can be overridden in subclasses) More...
 
 rollback ()
 rolls the transaction back and frees the Qore::SQL::AbstractDatasource transaction thread resource
 

Static Public Member Methods

static *hash< string, AbstractDataField > getStaticInputRecord (AbstractTable table, *hash< auto > select_hash, *reference< string > sql, *hash< auto > input)
 returns a description of the input record based on Qore::SQL::AbstractSQLStatement::describe()
 

Private Member Methods

 initOptions (reference< hash< auto >> opts)
 initializes options
 
- Private Member Methods inherited from TableMapper::AbstractSqlStatementOutboundMapper
abstract initOptions (reference< hash > opts)
 re-implement to initialize options
 

Private Attributes

const OptionKeys = ...
 option keys for this class
 
const UserOptions = ...
 user options for this class
 

Additional Inherited Members

- Public Attributes inherited from TableMapper::AbstractSqlStatementOutboundMapper
const OptionDefaults = ...
 default option values
 
const OptionKeys = ...
 option keys for this class
 
- Static Private Member Methods inherited from TableMapper::AbstractSqlStatementOutboundMapper
static *hash< string, AbstractDataField > getInputRecordFromStmt (AbstractSQLStatement stmt, *hash< auto > input)
 returns an input record description from an SQLStatement
 

Detailed Description

provides an outbound data mapper to a Table with SqlUtil select hash as a asource

Member Function Documentation

◆ constructor() [1/2]

TableMapper::SqlStatementOutboundMapper::constructor ( SqlUtil::AbstractTable  source,
*hash< auto >  sh,
hash< auto >  mapv,
*hash< auto >  opts 
)

builds the object based on an optional hash providing field mappings, data constraints, and optionally custom mapping logic

The source statement is also scanned using Qore::SQL::AbstractSQLStatement and column definitions are used to update the source record specification.

Parameters
sourcethe source table object. A sh select hash is applied to this table
sha SqlUtil select hash
mapva optional hash providing overrides for the default 1:1 input to output field mappings; each hash key is the name in lower case of the output column in the target table; each value is either True (meaning no translations are done; the data is copied 1:1) or a hash describing the mapping; see Mapper Specification Format for detailed documentation for this option
optsan optional hash of options for the mapper; see Mapper Options for a description of valid mapper options plus the following options specific to this object:
Exceptions
MAP-ERROR

◆ constructor() [2/2]

TableMapper::SqlStatementOutboundMapper::constructor ( SqlUtil::Table  source,
*hash< auto >  sh,
hash< auto >  mapv,
*hash< auto >  opts 
)

builds the object based on an optional hash providing field mappings, data constraints, and optionally custom mapping logic

The source statement is also scanned using Qore::SQL::SQLStatement and column definitions are used to update the source record specification.

Parameters
sourcethe source table object. A sh select hash is applied to this table
sha SqlUtil select hash
mapva optional hash providing overrides for the default 1:1 input to output field mappings; each hash key is the name in lower case of the output column in the target table; each value is either True (meaning no translations are done; the data is copied 1:1) or a hash describing the mapping; see Mapper Specification Format for detailed documentation for this option
optsan optional hash of options for the mapper; see Mapper Options for a description of valid mapper options plus the following options specific to this object:
  • "select_block": for size of the batch returned from TableMapper::AbstarctSqlStatementOutboundMapper::getData() or AbstarctSqlStatementOutboundMapper::getDataRows()
Exceptions
MAP-ERROR

◆ getTable()

SqlUtil::AbstractTable TableMapper::SqlStatementOutboundMapper::getTable ( )

returns the underlying SqlUtil::AbstractTable object

Returns
SqlUtil::AbstractTable provided in constructor

◆ getTableName()

string TableMapper::SqlStatementOutboundMapper::getTableName ( )

returns the table name

Returns
string with main table name

◆ optionKeys()

hash<auto> TableMapper::SqlStatementOutboundMapper::optionKeys ( )

returns a list of valid constructor options for this class (can be overridden in subclasses)

Returns
a list of valid constructor options for this class (can be overridden in subclasses)