23 #include "../common/StringUtils.h" 24 #include "../dataaccess/dataset/DataSetType.h" 25 #include "../dataaccess/dataset/DataSetTypeConverter.h" 26 #include "../dataaccess/datasource/DataSource.h" 27 #include "../dataaccess/datasource/DataSourceCapabilities.h" 28 #include "../dataaccess/utils/Utils.h" 30 #include "../datatype/Property.h" 31 #include "../datatype/StringProperty.h" 33 #include "../geometry/GeometryProperty.h" 35 #include "../statistics/core/Utils.h" 41 : m_firstOidSet(nullptr),
42 m_secondOidSet(nullptr),
44 m_isSecondQuery(false)
49 std::string inFirstDsetName,
50 std::unique_ptr<te::da::DataSetTypeConverter> firstConverter,
52 std::string inSecondDsetName,
53 std::unique_ptr<te::da::DataSetTypeConverter> secondConverter,
69 std::string inFirstDsetName,
70 std::unique_ptr<te::da::DataSetType> firstDsType,
71 std::unique_ptr<te::da::DataSet> firstDs,
72 std::unique_ptr<te::da::DataSetTypeConverter> firstConverter,
74 std::string inSecondDsetName,
75 std::unique_ptr<te::da::DataSetType> secondDsType,
76 std::unique_ptr<te::da::DataSet> secondDs,
77 std::unique_ptr<te::da::DataSetTypeConverter> secondConverter,
153 std::vector<te::dt::Property*> props;
156 for(std::size_t i = 0; i < dsType->
getProperties().size(); ++i)
161 props.push_back(prop);
173 dsType->
add(pkProperty);
199 newGeomProp->setGeometryType(newType);
204 dsType->
add(newGeomProp);
225 if (p.first ==
id && p.second == prop.
getName())
std::unique_ptr< te::da::DataSet > m_firstDs
std::unique_ptr< te::da::DataSet > m_secondDs
void setAutoNumber(bool a)
It tells if the property is an autonumber or not.
std::vector< te::dt::Property * > getTabularProps(te::da::DataSetType *dsType)
Property * getProperty(std::size_t i) const
It returns the i-th property.
std::string m_inSecondDsetName
te::da::DataSetType * getOutputDsType()
void add(te::dt::Property *p)
It adds a property to the list of properties of the primary key.
GeomType
Each enumerated type is compatible with a Well-known Binary (WKB) type code.
void setSRID(int srid)
It sets the spatial reference system identifier associated to this property.
An atomic property like an integer or double.
std::vector< std::pair< int, std::string > > m_attributeVec
boost::shared_ptr< DataSource > DataSourcePtr
TEVPEXPORT bool IsPointType(const te::gm::GeomType &geomType)
void setInput(te::da::DataSourcePtr inFirstDsrc, std::string inFirstDsetName, std::unique_ptr< te::da::DataSetTypeConverter > firstConverter, te::da::DataSourcePtr inSecondDsrc, std::string inSecondDsetName, std::unique_ptr< te::da::DataSetTypeConverter > secondConverter, const te::da::ObjectIdSet *firstOidSet=0, const te::da::ObjectIdSet *secondOidSet=0)
const te::da::ObjectIdSet * m_firstOidSet
A class that models the description of a dataset.
std::string m_outDsetName
std::unique_ptr< te::da::DataSetType > m_secondDsType
virtual bool paramsAreValid()
virtual Property * clone() const =0
It returns a clone of the object.
It models a property definition.
te::da::DataSourcePtr m_inSecondDsrc
bool isSelectedProperty(const int &id, const dt::Property &prop)
void setName(const std::string &name)
It sets the property name.
const std::vector< Property * > & getProperties() const
It returns the list of properties describing the CompositeProperty.
int getSRID() const
It returns the spatial reference system identifier associated to this property.
TEVPEXPORT bool IsLineStringType(const te::gm::GeomType &geomType)
void setParams(const std::vector< std::pair< int, std::string > > &attributeVec)
This class represents a set of unique ids created in the same context. i.e. from the same data set...
std::unique_ptr< te::da::DataSetType > m_firstDsType
std::unique_ptr< te::da::DataSetTypeConverter > m_firstConverter
void setOutput(te::da::DataSourcePtr outDsrc, std::string dsname)
Utility functions for the data access module.
te::da::DataSourcePtr m_outDsrc
std::string m_inFirstDsetName
te::da::DataSourcePtr m_inFirstDsrc
std::unique_ptr< te::da::DataSetTypeConverter > m_secondConverter
int getType() const
It returns the property data type.
void add(Constraint *c)
It adds a new constraint.
It describes a primary key (pk) constraint.
TEDATAACCESSEXPORT te::gm::GeometryProperty * GetFirstGeomProperty(const DataSetType *dt)
te::gm::GeomType setGeomResultType(te::gm::GeomType firstGeom, te::gm::GeomType secondGeom)
void setPrimaryKey(PrimaryKey *pk)
It sets the primary key constraint.
const te::da::ObjectIdSet * m_secondOidSet
const std::string & getName() const
It returns the property name.