33 std::unique_ptr<te::da::DataSourceTransactor> transactor = ds->getTransactor();
34 assert(transactor.get());
36 te::gm::Envelope box(-43.9329795837402, -20.6328010559082, -43.4036407470703, -20.1612071990967);
38 std::unique_ptr<te::da::DataSet> dataset = transactor->getDataSet(
"public.br_munic_2001",
"geom", &box,
te::gm::INTERSECTS);
40 assert(dataset.get());
41 std::cout <<
"DataSet size: " << dataset->size() << std::endl;
44 std::vector<std::string> pk_name;
45 pk_name.push_back(
"gid");
51 std::unique_ptr<te::da::DataSet> identified = transactor->getDataSet(
"public.br_munic_2001",oids);
52 assert(identified.get());
53 assert(dataset->size() == identified->size());
54 identified->moveBeforeFirst();
55 dataset->moveBeforeFirst();
57 std::cout <<
"== DataSet Retrieved From Box == " << std::endl;
60 std::cout <<
"== DataSet Retrieved From ObjectIdSet knowing pk == " << std::endl;
64 dataset->moveBeforeFirst();
65 std::unique_ptr<te::da::DataSetType> dt1 = transactor->getDataSetType(
"public.br_munic_2001");
67 std::unique_ptr<te::da::DataSet> identified1 = transactor->getDataSet(
"public.br_munic_2001",oids1);
69 std::cout <<
"== DataSet Retrieved From ObjectIdSet using dataSetType to discover pk == " << std::endl;
83 std::unique_ptr<te::da::DataSourceTransactor> transactor = ds->getTransactor();
84 assert(transactor.get());
88 te::gm::Envelope box(-43.9329795837402, -20.6328010559082, -43.4036407470703, -20.1612071990967);
90 std::unique_ptr<te::da::DataSet> dataset = transactor->getDataSet(
"br_munic_2001_wout_pk",
"geom", &box,
te::gm::INTERSECTS);
93 assert(dataset.get());
94 std::cout <<
"DataSet size: " << dataset->size() << std::endl;
97 dataset->moveBeforeFirst();
98 std::unique_ptr<te::da::DataSetType> dt1 = transactor->getDataSetType(
"br_munic_2001_wout_pk");
100 std::vector<std::string> pnames;
106 dataset->moveBeforeFirst();
107 std::vector<std::string> pnames1;
108 std::vector<int> ptypes1;
111 std::unique_ptr<te::da::Select> buildselect =
te::da::BuildSelect(
"br_munic_2001_wout_pk", pnames,oids);
112 std::unique_ptr<te::da::Select> buildselect1 =
te::da::BuildSelect(
"br_munic_2001_wout_pk", pnames1,oids);
115 std::unique_ptr<te::da::DataSet> identifiedSelect = transactor->query(buildselect.get());
116 std::cout <<
"== DataSet Retrieved From buildselect == " << std::endl;
117 std::cout <<
"DataSet size: " << identifiedSelect->size() << std::endl;
119 PrintDataSet(
"br_munic_2001_wout_pk_Select", identifiedSelect.get());
122 std::unique_ptr<te::da::DataSet> identifiedSelect1 = transactor->query(buildselect1.get());
123 std::cout <<
"== DataSet Retrieved From buildselect including geom == " << std::endl;
124 std::cout <<
"DataSet size: " << identifiedSelect1->size() << std::endl;
126 PrintDataSet(
"br_munic_2001_wout_pk_Select1", identifiedSelect1.get());
135 select->accept(sqlConverter);
137 std::cout <<
"The SQL is: " << sql << std::endl;
140 std::string sqlplus =
"select * from public.br_munic_2001_wout_pk where ";
142 std::unique_ptr<te::da::DataSet> identified = transactor->query(sqlplus);
144 assert(identified.get());
145 std::cout <<
"== DataSet size= " << dataset->size() <<
" == " << std::endl;
146 std::cout <<
"== DataSet Retrieved From ObjectIdSet = 14 identified " << identified->size() <<
" == " << std::endl;
150 std::cout <<
"== DataSet with out pk using Expression == " << std::endl;
152 PrintDataSet(
"br_munic_2001_wout_pk_identified", identified.get());
It describes a primary key (pk) constraint.
void ObjectId()
ObjectId example.
TEDATAACCESSEXPORT std::unique_ptr< Select > BuildSelect(const std::string &dsname)
static te::dt::Date ds(2010, 01, 01)
This is an abstract class that models a query expression.
It describes an index associated to a DataSetType.
An Envelope defines a 2D rectangular region.
This class represents a set of unique ids created in the same context. i.e. from the same data set...
Examples on how to access/manipulate DataSources in TerraLib.
A factory for data sources.
std::unique_ptr< te::da::DataSource > GetPostGISConnection()
TEDATAACCESSEXPORT ObjectIdSet * GenerateOIDSet(DataSet *dataset, const DataSetType *type)
A class that describes a check constraint.
A visitor for building an SQL statement from a given Query hierarchy.
TEDATAACCESSEXPORT void GetOIDPropertyNames(const DataSetType *type, std::vector< std::string > &pnames)
This is the factory for PostGIS data sources.
A class that implements a prepared query for PostgreSQL data access driver.
Implementation of the data source for the PostGIS driver.
void PrintDataSet(std::string datasetName, te::da::DataSet *dataset)
It prints the data in a given dataset.
TEDATAACCESSEXPORT void GetPropertyInfo(const DataSetType *const dt, std::vector< std::string > &pnames, std::vector< int > &ptypes)