Qore TableMapper Module Reference  1.3
TableMapper::SqlStatementMapperIterator Class Reference

provides a hash iterator based on a mapper object and an SQLStatement or SqlUtil select hash More...

Inheritance diagram for TableMapper::SqlStatementMapperIterator:

Public Member Methods

 constructor (TableMapper::AbstractSqlStatementOutboundMapper mapper)
 creates the iterator from the Mapper passed More...
 
 constructor (SqlUtil::AbstractTable table, hash sh, hash mapv, *hash opts)
 creates the iterator from the arguments passed More...
 
 constructor (SqlUtil::Table table, hash sh, hash mapv, *hash opts)
 creates the iterator from the arguments passed More...
 
 constructor (Qore::SQL::AbstractSQLStatement stmt, hash mapv, *hash opts)
 creates the iterator from the arguments passed More...
 
int getCount ()
 returns the internal record count More...
 
auto getRuntime (string key)
 get current runtime option value for a key More...
 
hash getValue ()
 returns the current row transformed with the mapper
 
bool hasBulk ()
 returns True because this class supports bulk mode
 
list mapBulk (int size)
 performs bulk mapping by selecting the requested number of rows in a single select More...
 
 replaceRuntime (*hash runtime)
 replaces runtime options More...
 
 resetCount ()
 resets the internal record count More...
 
 setRuntime (string key, auto value)
 set the runtime option with "key" to value "value" More...
 
 setRuntime (hash runtime)
 adds runtime options to the current runtime option hash More...
 

Private Attributes

Mapper::Mapper m_mapper
 data mapper
 

Detailed Description

provides a hash iterator based on a mapper object and an SQLStatement or SqlUtil select hash

provides support for bulk DML:

Member Function Documentation

◆ constructor() [1/4]

TableMapper::SqlStatementMapperIterator::constructor ( TableMapper::AbstractSqlStatementOutboundMapper  mapper)

creates the iterator from the Mapper passed

Parameters
mapperthe mapper to iterate

◆ constructor() [2/4]

TableMapper::SqlStatementMapperIterator::constructor ( SqlUtil::AbstractTable  table,
hash  sh,
hash  mapv,
*hash  opts 
)

creates the iterator from the arguments passed

Parameters
tableSqlUtil::AbstractTable as a base for select hash sh
sha SqlUtil select hash (columns/joins/wheres...)
mapva hash providing field mappings; each hash key is the name of the output field; 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
Exceptions
MAP-ERRORthe map hash has a logical error (ex: "trunc" key given without "maxlen", invalid map key)

◆ constructor() [3/4]

TableMapper::SqlStatementMapperIterator::constructor ( SqlUtil::Table  table,
hash  sh,
hash  mapv,
*hash  opts 
)

creates the iterator from the arguments passed

Parameters
tableSqlUtil::Table as a base for select hash sh
sha SqlUtil select hash (columns/joins/wheres...)
mapva hash providing field mappings; each hash key is the name of the output field; 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
Exceptions
MAP-ERRORthe map hash has a logical error (ex: "trunc" key given without "maxlen", invalid map key)

◆ constructor() [4/4]

TableMapper::SqlStatementMapperIterator::constructor ( Qore::SQL::AbstractSQLStatement  stmt,
hash  mapv,
*hash  opts 
)

creates the iterator from the arguments passed

Parameters
stmtalready constructed SQLStatement object
mapvthe mapper to transform the data
optsan optional hash of options for the mapper; see Mapper Options for a description of valid mapper options

◆ getCount()

int TableMapper::SqlStatementMapperIterator::getCount ( )

returns the internal record count

See also
resetCount()

◆ getRuntime()

auto TableMapper::SqlStatementMapperIterator::getRuntime ( string  key)

get current runtime option value for a key

Parameters
keythe runtime option key
Returns
a runtime value if the key exists in the current runtime option hash and is set
See also
Since
TableMapper 1.1.1

◆ mapBulk()

list TableMapper::SqlStatementMapperIterator::mapBulk ( int  size)

performs bulk mapping by selecting the requested number of rows in a single select

Parameters
sizethe number of rows to return
Returns
a list of mapped hashes with a maximum number of rows corresponding to the size argument; in case there is less input data than requested, the list returned could have fewer rows than requested; in case there is no more data, the return value is an empty list

◆ replaceRuntime()

TableMapper::SqlStatementMapperIterator::replaceRuntime ( *hash  runtime)

replaces runtime options

Parameters
runtimea hash of runtime options to use to replace the current runtime option hash
See also
Since
TableMapper 1.1

◆ resetCount()

TableMapper::SqlStatementMapperIterator::resetCount ( )

resets the internal record count

See also
getCount()

◆ setRuntime() [1/2]

TableMapper::SqlStatementMapperIterator::setRuntime ( string  key,
auto  value 
)

set the runtime option with "key" to value "value"

Parameters
keya string with valid runtime key
valueanything passed to the current runtime key
See also
Since
TableMapper 1.1.1

◆ setRuntime() [2/2]

TableMapper::SqlStatementMapperIterator::setRuntime ( hash  runtime)

adds runtime options to the current runtime option hash

Parameters
runtimea hash of runtime options to add to the current runtime option hash
See also
Since
TableMapper 1.1.1