# Poco::Data

# class PooledSessionImpl

Library: Data
Package: SessionPooling
Header: Poco/Data/PooledSessionImpl.h

## Description

PooledSessionImpl is a decorator created by SessionPool that adds session pool management to SessionImpl objects.

## Inheritance

Direct Base Classes: SessionImpl

All Base Classes: SessionImpl, Poco::RefCountedObject

## Member Summary

Member Functions: access, begin, canTransact, close, commit, connectorName, createStatementImpl, getConnectionTimeout, getFeature, getProperty, getTransactionIsolation, hasFeature, hasProperty, hasTransactionIsolation, impl, isConnected, isGood, isTransaction, isTransactionIsolation, open, reset, rollback, setConnectionTimeout, setFeature, setProperty, setTransactionIsolation

Inherited Functions: begin, canTransact, close, commit, connectionString, connectorName, createStatementImpl, dbmsName, duplicate, getConnectionTimeout, getFeature, getLoginTimeout, getProperty, getTransactionIsolation, hasFeature, hasProperty, hasTransactionIsolation, isAutocommit, isConnected, isGood, isTransaction, isTransactionIsolation, open, operator =, reconnect, referenceCount, release, reset, rollback, setConnectionString, setConnectionTimeout, setDBMSName, setFeature, setLoginTimeout, setProperty, setTransactionIsolation, shouldParse, uri

## Constructors

### PooledSessionImpl

PooledSessionImpl(
PooledSessionHolder * pHolder
);

Creates the PooledSessionImpl.

## Destructor

### ~PooledSessionImpl

~PooledSessionImpl();

Destroys the PooledSessionImpl.

## Member Functions

### begin

void begin();

See also: Poco::Data::SessionImpl::begin()

### canTransact

bool canTransact() const;

See also: Poco::Data::SessionImpl::canTransact()

### close

void close();

See also: Poco::Data::SessionImpl::close()

### commit

void commit();

See also: Poco::Data::SessionImpl::commit()

### connectorName

const std::string & connectorName() const;

See also: Poco::Data::SessionImpl::connectorName()

### createStatementImpl

StatementImpl::Ptr createStatementImpl();

### getConnectionTimeout

std::size_t getConnectionTimeout() const;

See also: Poco::Data::SessionImpl::getConnectionTimeout()

### getFeature

bool getFeature(
const std::string & name
) const;

See also: Poco::Data::SessionImpl::getFeature()

### getProperty

Poco::Any getProperty(
const std::string & name
) const;

See also: Poco::Data::SessionImpl::getProperty()

### getTransactionIsolation

Poco::UInt32 getTransactionIsolation() const;

See also: Poco::Data::SessionImpl::getTransactionIsolation()

### hasFeature

bool hasFeature(
const std::string & name
) const;

See also: Poco::Data::SessionImpl::hasFeature()

### hasProperty

bool hasProperty(
const std::string & name
) const;

See also: Poco::Data::SessionImpl::hasProperty()

### hasTransactionIsolation

bool hasTransactionIsolation(
Poco::UInt32
) const;

See also: Poco::Data::SessionImpl::hasTransactionIsolation()

### isConnected

bool isConnected() const;

See also: Poco::Data::SessionImpl::isConnected()

### isGood

bool isGood() const;

See also: Poco::Data::SessionImpl::isGood()

### isTransaction

bool isTransaction() const;

See also: Poco::Data::SessionImpl::isTransaction()

### isTransactionIsolation

bool isTransactionIsolation(
Poco::UInt32
) const;

See also: Poco::Data::SessionImpl::isTransactionIsolation()

### open

void open(
const std::string & connect = ""
);

See also: Poco::Data::SessionImpl::open()

### reset

void reset();

See also: Poco::Data::SessionImpl::reset()

### rollback

void rollback();

See also: Poco::Data::SessionImpl::rollback()

### setConnectionTimeout

void setConnectionTimeout(
std::size_t timeout
);

See also: Poco::Data::SessionImpl::setConnectionTimeout()

### setFeature

void setFeature(
const std::string & name,
bool state
);

See also: Poco::Data::SessionImpl::setFeature()

### setProperty

void setProperty(
const std::string & name,
const Poco::Any & value
);

See also: Poco::Data::SessionImpl::setProperty()

### setTransactionIsolation

void setTransactionIsolation(
Poco::UInt32
);

See also: Poco::Data::SessionImpl::setTransactionIsolation()

### access

SessionImpl * access() const;

Updates the last access timestamp, verifies validity of the session and returns the session if it is valid.

Throws an SessionUnavailableException if the session is no longer valid.

### impl

SessionImpl * impl() const;

Returns a pointer to the SessionImpl.