27QString QgsExecuteSpatialiteQueryAlgorithm::name()
const
29 return QStringLiteral(
"spatialiteexecutesql" );
32QString QgsExecuteSpatialiteQueryAlgorithm::displayName()
const
34 return QObject::tr(
"SpatiaLite execute SQL" );
37QStringList QgsExecuteSpatialiteQueryAlgorithm::tags()
const
39 return QObject::tr(
"database,sql,spatialite,execute" ).split(
',' );
42QString QgsExecuteSpatialiteQueryAlgorithm::group()
const
44 return QObject::tr(
"Database" );
47QString QgsExecuteSpatialiteQueryAlgorithm::groupId()
const
49 return QStringLiteral(
"database" );
52QString QgsExecuteSpatialiteQueryAlgorithm::shortHelpString()
const
54 return QObject::tr(
"This algorithm executes a SQL command on a SpatiaLite database. The database is determined by an input layer or file." );
57QString QgsExecuteSpatialiteQueryAlgorithm::shortDescription()
const
59 return QObject::tr(
"Executes a SQL command on a SpatiaLite database determined by an input layer or file." );
62QgsExecuteSpatialiteQueryAlgorithm *QgsExecuteSpatialiteQueryAlgorithm::createInstance()
const
64 return new QgsExecuteSpatialiteQueryAlgorithm();
67void QgsExecuteSpatialiteQueryAlgorithm::initAlgorithm(
const QVariantMap & )
76 QgsVectorLayer *layer = parameterAsVectorLayer( parameters, QStringLiteral(
"DATABASE" ), context );
79 if ( uri.database().isEmpty() )
81 if ( databaseUri.contains( QStringLiteral(
"|layername" ), Qt::CaseInsensitive ) )
82 databaseUri = databaseUri.left( databaseUri.indexOf( QLatin1String(
"|layername" ) ) );
83 else if ( databaseUri.contains( QStringLiteral(
"|layerid" ), Qt::CaseInsensitive ) )
84 databaseUri = databaseUri.left( databaseUri.indexOf( QLatin1String(
"|layerid" ) ) );
86 uri =
QgsDataSourceUri( QStringLiteral(
"dbname='%1'" ).arg( databaseUri ) );
89 std::unique_ptr<QgsAbstractDatabaseProviderConnection> conn;
100 const QString sql = parameterAsString( parameters, QStringLiteral(
"SQL" ), context ).replace(
'\n',
' ' );
103 conn->executeSql( sql );
110 return QVariantMap();
@ Vector
Tables (i.e. vector layers with or without geometry). When used for a sink this indicates the sink ha...
Provides common functionality for database based connections.
virtual QString dataSourceUri(bool expandAuthConfig=false) const
Gets the data source specification.
Stores the component parts of a data source URI (e.g.
Contains information about the context in which a processing algorithm is executed.
Custom exception class for processing related exceptions.
Base class for providing feedback from a processing algorithm.
A string parameter for processing algorithms.
A vector layer (with or without geometry) parameter for processing algorithms.
Custom exception class for provider connection related exceptions.
static QgsProviderRegistry * instance(const QString &pluginPath=QString())
Means of accessing canonical single instance.
QgsProviderMetadata * providerMetadata(const QString &providerKey) const
Returns metadata of the provider or nullptr if not found.
Represents a vector layer which manages a vector based dataset.
QgsVectorDataProvider * dataProvider() final
Returns the layer's data provider, it may be nullptr.