27using namespace Qt::StringLiterals;
31QString QgsExecuteSpatialiteQueryAlgorithm::name()
const
33 return u
"spatialiteexecutesql"_s;
36QString QgsExecuteSpatialiteQueryAlgorithm::displayName()
const
38 return QObject::tr(
"SpatiaLite execute SQL" );
41QStringList QgsExecuteSpatialiteQueryAlgorithm::tags()
const
43 return QObject::tr(
"database,sql,spatialite,execute" ).split(
',' );
46QString QgsExecuteSpatialiteQueryAlgorithm::group()
const
48 return QObject::tr(
"Database" );
51QString QgsExecuteSpatialiteQueryAlgorithm::groupId()
const
56QString QgsExecuteSpatialiteQueryAlgorithm::shortHelpString()
const
58 return QObject::tr(
"This algorithm executes a SQL command on a SpatiaLite database. The database is determined by an input layer or file." );
61QString QgsExecuteSpatialiteQueryAlgorithm::shortDescription()
const
63 return QObject::tr(
"Executes a SQL command on a SpatiaLite database determined by an input layer or file." );
66QgsExecuteSpatialiteQueryAlgorithm *QgsExecuteSpatialiteQueryAlgorithm::createInstance()
const
68 return new QgsExecuteSpatialiteQueryAlgorithm();
71void QgsExecuteSpatialiteQueryAlgorithm::initAlgorithm(
const QVariantMap & )
80 QgsVectorLayer *layer = parameterAsVectorLayer( parameters, u
"DATABASE"_s, context );
83 if ( uri.database().isEmpty() )
85 if ( databaseUri.contains( u
"|layername"_s, Qt::CaseInsensitive ) )
86 databaseUri = databaseUri.left( databaseUri.indexOf(
"|layername"_L1 ) );
87 else if ( databaseUri.contains( u
"|layerid"_s, Qt::CaseInsensitive ) )
88 databaseUri = databaseUri.left( databaseUri.indexOf(
"|layerid"_L1 ) );
93 std::unique_ptr<QgsAbstractDatabaseProviderConnection> conn;
104 const QString sql = parameterAsString( parameters, u
"SQL"_s, context ).replace(
'\n',
' ' );
107 conn->executeSql( sql );
114 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.