# Poco::Data::PostgreSQL

# class PostgreSQLStatementImpl

Library: Data/PostgreSQL
Package: PostgreSQL
Header: Poco/Data/PostgreSQL/PostgreSQLStatementImpl.h

## Description

Implements statement functionality needed for PostgreSQL

## Inheritance

Direct Base Classes: Poco::Data::StatementImpl

All Base Classes: Poco::Data::StatementImpl

## Member Summary

Member Functions: affectedRowCount, bindImpl, binder, canBind, canCompile, columnsReturned, compileImpl, extractor, hasNext, metaColumn, next

Inherited Functions: activateNextDataSet, activatePreviousDataSet, add, addBind, addExtract, affectedRowCount, bindImpl, binder, bindings, canBind, canCompile, columnsExtracted, columnsReturned, compileImpl, currentDataSet, dataSetCount, execDirectImpl, execute, executeDirect, extractionCount, extractionLimit, extractions, extractor, fixupBinding, fixupExtraction, getExtractionLimit, getState, getStorage, hasMoreDataSets, hasNext, isStoredProcedure, makeExtractors, metaColumn, next, removeBind, reset, resetBinding, rowsExtracted, session, setExtractionLimit, setStorage, subTotalRowCount, toString

## Constructors

### PostgreSQLStatementImpl

PostgreSQLStatementImpl(
SessionImpl & aSessionImpl
);

Creates the PostgreSQLStatementImpl.

## Destructor

### ~PostgreSQLStatementImpl

~PostgreSQLStatementImpl() override;

Destroys the PostgreSQLStatementImpl.

## Member Functions

### affectedRowCount

int affectedRowCount() const override;

Returns the number of affected rows. Used to find out the number of rows affected by insert, delete or update.

See also: Poco::Data::StatementImpl::affectedRowCount()

### bindImpl

void bindImpl() override;

Binds parameters

See also: Poco::Data::StatementImpl::bindImpl()

### binder

Poco::Data::AbstractBinder::Ptr binder() override;

Returns the concrete binder used by the statement.

### canBind

bool canBind() const override;

Returns true if a valid statement is set and we can bind.

See also: Poco::Data::StatementImpl::canBind()

### canCompile

bool canCompile() const override;

Returns true if another compile is possible.

See also: Poco::Data::StatementImpl::canCompile()

### columnsReturned

std::size_t columnsReturned() const override;

Returns number of columns returned by query.

See also: Poco::Data::StatementImpl::columnsReturned()

### compileImpl

void compileImpl() override;

Compiles the statement, doesn't bind yet

See also: Poco::Data::StatementImpl::compileImpl()

### extractor

Poco::Data::AbstractExtractor::Ptr extractor() override;

Returns the concrete extractor used by the statement.

### hasNext

bool hasNext() override;

Returns true if a call to next() will return data.

See also: Poco::Data::StatementImpl::hasNext()

### metaColumn

const MetaColumn & metaColumn(
std::size_t aPosition
) const override;

Returns column meta data.

See also: Poco::Data::StatementImpl::metaColumn()

### next

std::size_t next() override;

Retrieves the next row from the resultset. Will throw, if the resultset is empty.

See also: Poco::Data::StatementImpl::next()