24 QString QgsAttributeIndexAlgorithm::name()
const 26 return QStringLiteral(
"createattributeindex" );
29 QString QgsAttributeIndexAlgorithm::displayName()
const 31 return QObject::tr(
"Create attribute index" );
34 QStringList QgsAttributeIndexAlgorithm::tags()
const 36 return QObject::tr(
"table,attribute,index,create,vector" ).split(
',' );
39 QString QgsAttributeIndexAlgorithm::group()
const 41 return QObject::tr(
"Vector general" );
44 QString QgsAttributeIndexAlgorithm::groupId()
const 46 return QStringLiteral(
"vectorgeneral" );
49 QgsProcessingAlgorithm::Flags QgsAttributeIndexAlgorithm::flags()
const 55 QString QgsAttributeIndexAlgorithm::shortHelpString()
const 57 return QObject::tr(
"Creates an index to speed up queries made against " 58 "a field in a table. Support for index creation is " 59 "dependent on the layer's data provider and the field type." );
62 QgsAttributeIndexAlgorithm *QgsAttributeIndexAlgorithm::createInstance()
const 64 return new QgsAttributeIndexAlgorithm();
67 void QgsAttributeIndexAlgorithm::initAlgorithm(
const QVariantMap & )
70 addParameter(
new QgsProcessingParameterField( QStringLiteral(
"FIELD" ), QObject::tr(
"Attribute to index" ), QVariant(), QStringLiteral(
"INPUT" ) ) );
77 QgsVectorLayer *layer = parameterAsVectorLayer( parameters, QStringLiteral(
"INPUT" ), context );
80 throw QgsProcessingException( QObject::tr(
"Could not load source layer for %1." ).arg( QStringLiteral(
"INPUT" ) ) );
82 QString field = parameterAsString( parameters, QStringLiteral(
"FIELD" ), context );
89 feedback->
pushInfo( QObject::tr(
"Can not create attribute index on %1" ).arg( field ) );
98 feedback->
pushInfo( QObject::tr(
"Could not create attribute index" ) );
103 feedback->
pushInfo( QObject::tr(
"Layer's data provider does not support creating attribute indexes" ) );
108 outputs.insert( QStringLiteral(
"OUTPUT" ), layer->
id() );
int lookupField(const QString &fieldName) const
Looks up field's index from the field name.
Base class for providing feedback from a processing algorithm.
virtual QgsVectorDataProvider::Capabilities capabilities() const
Returns flags containing the supported capabilities.
A vector layer or feature source field parameter for processing algorithms.
virtual Flags flags() const
Returns the flags indicating how and when the algorithm operates and should be exposed to users...
Field comes from the underlying data provider of the vector layer (originIndex = index in provider's ...
A vector layer output for processing algorithms.
virtual bool createAttributeIndex(int field)
Create an attribute index on the datasource.
int fieldOriginIndex(int fieldIdx) const
Gets field's origin index (its meaning is specific to each type of origin)
Can create indexes on provider's fields.
QString id() const
Returns the layer's unique ID, which is used to access this layer from QgsProject.
QgsFields fields() const FINAL
Returns the list of fields of this layer.
Algorithm is not thread safe and cannot be run in a background thread, e.g. for algorithms which mani...
virtual void pushInfo(const QString &info)
Pushes a general informational message from the algorithm.
Custom exception class for processing related exceptions.
A vector layer (with or without geometry) parameter for processing algorithms.
QgsVectorDataProvider * dataProvider() FINAL
Returns the layer's data provider, it may be nullptr.
This is the base class for vector data providers.
Represents a vector layer which manages a vector based data sets.
Contains information about the context in which a processing algorithm is executed.