13
13
* *
14
14
***************************************************************************/
15
15
16
- #include " sqlite3.h"
16
+ #include < sqlite3.h>
17
17
18
+ #include " qgssqliteutils.h"
18
19
#include " qgsgeopackagedataitems.h"
19
20
#include " qgsogrdbconnection.h"
20
21
#include " qgslogger.h"
@@ -358,11 +359,11 @@ bool QgsGeoPackageCollectionItem::deleteGeoPackageRasterLayer( const QString &ur
358
359
{
359
360
QString baseUri = pieces.at ( 1 );
360
361
QString layerName = pieces.at ( 2 );
361
- sqlite3 *handle = nullptr ;
362
- int status = sqlite3_open_v2 ( baseUri. toUtf8 (). constData (), &handle , SQLITE_OPEN_READWRITE, nullptr );
362
+ sqlite3_database_unique_ptr database ;
363
+ int status = database. open_v2 ( baseUri , SQLITE_OPEN_READWRITE, nullptr );
363
364
if ( status != SQLITE_OK )
364
365
{
365
- errCause = sqlite3_errmsg ( handle );
366
+ errCause = sqlite3_errmsg ( database. get () );
366
367
}
367
368
else
368
369
{
@@ -378,7 +379,7 @@ bool QgsGeoPackageCollectionItem::deleteGeoPackageRasterLayer( const QString &ur
378
379
layerName.toUtf8 ().constData (),
379
380
layerName.toUtf8 ().constData () );
380
381
status = sqlite3_exec (
381
- handle , /* An open database */
382
+ database. get () , /* An open database */
382
383
sql, /* SQL to be evaluated */
383
384
nullptr , /* Callback function */
384
385
nullptr , /* 1st argument to callback */
@@ -395,7 +396,7 @@ bool QgsGeoPackageCollectionItem::deleteGeoPackageRasterLayer( const QString &ur
395
396
tableName.toUtf8 ().constData (),
396
397
layerName.toUtf8 ().constData () );
397
398
( void )sqlite3_exec (
398
- handle , /* An open database */
399
+ database. get () , /* An open database */
399
400
sql, /* SQL to be evaluated */
400
401
nullptr , /* Callback function */
401
402
nullptr , /* 1st argument to callback */
@@ -408,7 +409,7 @@ bool QgsGeoPackageCollectionItem::deleteGeoPackageRasterLayer( const QString &ur
408
409
char *sql = sqlite3_mprintf ( " DELETE FROM gpkg_2d_gridded_coverage_ancillary WHERE tile_matrix_set_name = '%q'" ,
409
410
layerName.toUtf8 ().constData () );
410
411
( void )sqlite3_exec (
411
- handle , /* An open database */
412
+ database. get () , /* An open database */
412
413
sql, /* SQL to be evaluated */
413
414
nullptr , /* Callback function */
414
415
nullptr , /* 1st argument to callback */
@@ -420,7 +421,7 @@ bool QgsGeoPackageCollectionItem::deleteGeoPackageRasterLayer( const QString &ur
420
421
char *sql = sqlite3_mprintf ( " DELETE FROM gpkg_2d_gridded_tile_ancillary WHERE tpudt_name = '%q'" ,
421
422
layerName.toUtf8 ().constData () );
422
423
( void )sqlite3_exec (
423
- handle , /* An open database */
424
+ database. get () , /* An open database */
424
425
sql, /* SQL to be evaluated */
425
426
nullptr , /* Callback function */
426
427
nullptr , /* 1st argument to callback */
@@ -431,7 +432,7 @@ bool QgsGeoPackageCollectionItem::deleteGeoPackageRasterLayer( const QString &ur
431
432
// Vacuum
432
433
{
433
434
( void )sqlite3_exec (
434
- handle , /* An open database */
435
+ database. get () , /* An open database */
435
436
" VACUUM" , /* SQL to be evaluated */
436
437
nullptr , /* Callback function */
437
438
nullptr , /* 1st argument to callback */
@@ -449,7 +450,6 @@ bool QgsGeoPackageCollectionItem::deleteGeoPackageRasterLayer( const QString &ur
449
450
}
450
451
sqlite3_free ( errmsg );
451
452
}
452
- sqlite3_close ( handle );
453
453
}
454
454
}
455
455
else
0 commit comments