# ResultMapper.hpp

This File On Github
Ask A Question

API: latest
module: oatpp-postgresql
#include "oatpp-postgresql/mapping/ResultMapper.hpp"

# ResultMapper

Mapper from PostgreSQL result to oatpp objects.

namespace oatpp { namespace postgresql { namespace mapping { 
  class ResultMapper {}
}}}

# Methods

Return Type Name Summary
[none] ResultMapper Default constructor.
void setReadOneRowMethod Set "read one row" method for class id.
void setReadRowsMethod Set "read rows" method for class id.
oatpp::Void readOneRow Read one row to oatpp object or collection.
oatpp::Void readRows Read count of rows to oatpp collection.

# ResultMapper::ResultMapper

Default constructor.

ResultMapper()

# ResultMapper::setReadOneRowMethod

Set "read one row" method for class id.

  • @param classId
  • @param method

void setReadOneRowMethod(const data::mapping::type::ClassId& classId, ReadOneRowMethod method)

# ResultMapper::setReadRowsMethod

Set "read rows" method for class id.

  • @param classId
  • @param method

void setReadRowsMethod(const data::mapping::type::ClassId& classId, ReadRowsMethod method)

# ResultMapper::readOneRow

Read one row to oatpp object or collection.
Allowed output type classes are: - oatpp::Vector - oatpp::List - oatpp::UnorderedSet - oatpp::Fields - oatpp::UnorderedFields - oatpp::Object

  • @param dbData
  • @param type
  • @return

oatpp::Void readOneRow(ResultData* dbData, const Type* type, v_int64 rowIndex)

# ResultMapper::readRows

Read count of rows to oatpp collection.
Allowed collections to store rows are: - oatpp::Vector - oatpp::List - oatpp::UnorderedSet.

  • @param dbData
  • @param type
  • @param count
  • @return

oatpp::Void readRows(ResultData* dbData, const Type* type, v_int64 count)

# ResultMapper::ResultData

Result data.

namespace oatpp { namespace postgresql { namespace mapping { 
  class ResultMapper {
    struct ResultData {}
  };
}}}

# Fields

Type Name Summary
PGresult* dbResult PGResult.
std::shared_ptr<const data::mapping::TypeResolver> typeResolver oatpp::data::mapping::TypeResolver.
std::vector<oatpp::String> colNames Column names.
std::unordered_map<data::share::StringKeyLabel, v_int32> colIndices Column indices.
v_int64 colCount Column count.
v_int64 rowIndex Current row index.
v_int64 rowCount Row count.

# Methods

Return Type Name Summary
[none] ResultData Constructor.

# ResultMapper::ResultData::dbResult

PGResult.

PGresult* dbResult

# ResultMapper::ResultData::typeResolver

oatpp::data::mapping::TypeResolver.

std::shared_ptr<const data::mapping::TypeResolver> typeResolver

# ResultMapper::ResultData::colNames

Column names.

std::vector<oatpp::String> colNames

# ResultMapper::ResultData::colIndices

Column indices.

std::unordered_map<data::share::StringKeyLabel, v_int32> colIndices

# ResultMapper::ResultData::colCount

Column count.

v_int64 colCount

# ResultMapper::ResultData::rowIndex

Current row index.

v_int64 rowIndex

# ResultMapper::ResultData::rowCount

Row count.

v_int64 rowCount

# ResultMapper::ResultData::ResultData

Constructor.

  • @param pDbResult
  • @param pTypeResolver

ResultData(PGresult* pDbResult, const std::shared_ptr<const data::mapping::TypeResolver>& pTypeResolver)