Go to the documentation of this file.
26 #ifndef __TERRALIB_POSTGIS_INTERNAL_CONNECTED_DATASET_H
27 #define __TERRALIB_POSTGIS_INTERNAL_CONNECTED_DATASET_H
30 #include "../dataaccess/dataset/DataSet.h"
48 class GeometryProperty;
80 const int& connectionId,
81 const std::string& id_cursor,
83 const std::vector<int>& ptypes,
84 bool timeIsInteger =
true,
85 int newFetchSize = 5000);
108 std::unique_ptr<te::gm::Envelope>
getExtent(std::size_t i);
154 std::unique_ptr<te::gm::Geometry>
getGeometry(std::size_t i)
const;
156 std::unique_ptr<te::rst::Raster>
getRaster(std::size_t i)
const;
158 std::unique_ptr<te::dt::DateTime>
getDateTime(std::size_t i)
const;
160 std::unique_ptr<te::dt::Array>
getArray(std::size_t i)
const;
200 #endif // __TERRALIB_POSTGIS_INTERNAL_CONNECTED_DATASET_H
int m_size
The number of datasets in the collection.
An Envelope defines a 2D rectangular region.
te::common::AccessPolicy getAccessPolicy() const
It returns the read and write permission associated to the dataset.
te::common::TraverseType getTraverseType() const
It returns the traverse type associated to the dataset.
unsigned char getUChar(std::size_t i) const
Method for retrieving an unsigned character attribute value (1 byte long).
std::string m_idcursor
The id of current cursor.
bool isEmpty() const
It returns true if the collection is empty.
bool isBeforeBegin() const
It tells if the dataset internal pointer is in a position before the first element of the collection ...
std::unique_ptr< te::gm::Geometry > getGeometry(std::size_t i) const
Method for retrieving a geometric attribute value.
int m_iFetch
The index of the current row of current fetch.
struct pg_result PGresult
std::unique_ptr< te::gm::Envelope > getExtent(std::size_t i)
It computes the bounding rectangle for a spatial property of the dataset.
boost::int64_t getInt64(std::size_t i) const
Method for retrieving a 64-bit integer attribute value (8 bytes long).
float getFloat(std::size_t i) const
Method for retrieving a float attribute value.
char getChar(std::size_t i) const
Method for retrieving a signed character attribute value (1 byte long).
TraverseType
A dataset can be traversed in two ways:
std::unique_ptr< te::dt::ByteArray > getByteArray(std::size_t i) const
Method for retrieving a byte array.
bool moveBeforeFirst()
It moves the internal pointer to a position before the first item in the collection.
bool isAfterEnd() const
It tells if the dataset internal pointer is on the sentinel position after the last element of the co...
boost::int16_t getInt16(std::size_t i) const
Method for retrieving a 16-bit integer attribute value (2 bytes long).
int getPropertyDataType(std::size_t i) const
It returns the underlying data type of the property at position pos.
Implementation of a connected dataset for the PostGIS driver.
te::gm::Envelope * m_mbr
The dataset extent.
bool isAtEnd() const
It tells if the dataset internal pointer is on the last element of the collection.
std::size_t size() const
It returns the collection size, if it is known.
boost::int32_t getInt32(std::size_t i) const
Method for retrieving a 32-bit integer attribute value (4 bytes long).
std::string getString(std::size_t i) const
Method for retrieving a string value attribute.
A class that implements a connection to a PostgreSQL database.
#define TEPGISEXPORT
You can use this macro in order to export/import classes and functions from this module.
int m_newFetchSize
The size to be used every time we need to fetch more date.
std::unique_ptr< te::rst::Raster > getRaster(std::size_t i) const
Method for retrieving a raster attribute value.
bool isConnected() const
It returns true if the dataset is connected and false if it is disconnected. A dataset can be connect...
std::string getDatasetNameOfProperty(std::size_t i) const
It returns the underlying dataset name of the property at position pos.
std::unique_ptr< te::dt::Array > getArray(std::size_t i) const
Method for retrieving an array.
bool moveLast()
It sets the dataset internal pointer to the last item in the collection.
std::string getPropertyName(std::size_t i) const
It returns the property name at position pos.
bool isAtBegin() const
It tells if the dataset internal pointer is on the first element of the collection or not.
std::vector< int > m_ptypes
The list of property types.
double getDouble(std::size_t i) const
Method for retrieving a double attribute value.
int m_connectionId
The connection id used by this dataset.
bool moveNext()
It moves the internal pointer to the next item of the collection.
int m_iLayer
The index of total layer of the current row.
int m_fetchSize
The size of cursor fetch.
PGresult * m_result
The internal buffer with the result query.
std::string getNumeric(std::size_t i) const
Method for retrieving a numeric attribute value.
std::unique_ptr< te::dt::DateTime > getDateTime(std::size_t i) const
Method for retrieving a date and time attribute value.
bool movePrevious()
It moves the internal pointer to the previous item of the collection.
A dataset is the unit of information manipulated by the data access module of TerraLib.
Proxy configuration file for TerraView (see terraview_config.h).
bool move(std::size_t i)
It moves the dataset internal pointer to a given position.
DataSource * m_ds
The DataSource to get the connection.
~ConnectedDataSet()
The destructor will clear the internal PGresult.
bool m_timeIsInteger
It indicates if the postgis stores, internally, the time and timestamp as an integer.
PGresult * getPGResult() const
It returns the internal pg result.
bool getBool(std::size_t i) const
Method for retrieving a boolean attribute value.
bool isPositionValid() const
It tells if the dataset internal pointer is on a valid position.
AccessPolicy
Supported data access policies (can be used as bitfield).
bool moveFirst()
It moves the internal pointer to the first item in the collection.
std::size_t getNumProperties() const
It returns the number of properties that composes an item of the dataset.
ConnectedDataSet(PGresult *result, DataSource *dataSource, const int &connectionId, const std::string &id_cursor, const int &size, const std::vector< int > &ptypes, bool timeIsInteger=true, int newFetchSize=5000)
Constructor.
bool isNull(std::size_t i) const
It checks if the attribute value is NULL.