<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div class="elementToProof" style="font-family: Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Buongiorno,</div>
<div class="elementToProof" style="font-family: Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
sto cercando di approfondire, con <b>QGIS</b>, il formato dati "<b>Geopackage</b>" e, in particolare, i files <temporanei> "<b>gpkg-wal</b>"[0] & "<b>gpkg-shm</b>"[1]. La documentazione presente in rete è abbondante ma mi "sfugge" un qualcosa...</div>
<div class="elementToProof" style="font-family: Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Provate a seguirmi.</div>
<ol start="1" data-listchain="__List_Chain_350">
<li style="font-family: Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<div class="elementToProof" style="font-family: Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Creo un GPKG e lo salvo, in locale, in una cartella. Nessun file temporaneo viene generato nella cartella contenente il GPKG.</div>
</li><li style="font-family: Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<div class="elementToProof" style="font-family: Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Creo una connessione al GPKG appena creato. Nessun file temporaneo viene generato. </div>
</li><li style="font-family: Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<div class="elementToProof" style="font-family: Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Creo un nuovo layer (ad esempio, poligonale). Nessun file temporaneo viene generato. </div>
</li><li style="font-family: Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<div class="elementToProof" style="font-family: Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<b>Attivo sul layer appena creato una sessione di editing. Vengono generati due files temporanei, gpkg-wal & gpkg-shm</b></div>
</li><li style="font-family: Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<div class="elementToProof" style="font-family: Arial, Helvetica, sans-serif; color: rgb(0, 0, 0);">
<span style="font-size: 12pt;"><b>Chiudo la sessione di editing. </b></span><span style="font-size: 16px; background-color: rgb(255, 255, 255);"><b>Vengono eliminati i due files temporanei, gpkg-wal & gpkg-shm</b></span></div>
</li></ol>
<div class="elementToProof" style="font-family: -apple-system, Roboto, SegoeUI, "Segoe UI", "Helvetica Neue", Helvetica, "Microsoft YaHei", "Meiryo UI", Meiryo, "Arial Unicode MS", sans-serif; font-size: 16px; color: rgb(17, 17, 17);">
<b>Perfetto.</b></div>
<div class="elementToProof" style="font-family: -apple-system, Roboto, SegoeUI, "Segoe UI", "Helvetica Neue", Helvetica, "Microsoft YaHei", "Meiryo UI", Meiryo, "Arial Unicode MS", sans-serif; font-size: 16px; color: rgb(17, 17, 17);">
<b><br>
</b></div>
<div class="elementToProof" style="font-family: -apple-system, Roboto, SegoeUI, "Segoe UI", "Helvetica Neue", Helvetica, "Microsoft YaHei", "Meiryo UI", Meiryo, "Arial Unicode MS", sans-serif; font-size: 16px; color: rgb(17, 17, 17);">
Ripeto gli stessi passaggi, con le stesse versioni di QGIS utilizzate (PC1: WIN 11, QGIS 3.28.12; PC2 WIN 10, QGIS 3.28.14). Ma, anziché usare un GPKG "locale" salvo il database su un disco di rete, condiviso, in modo da testare l'editing concorrente.</div>
<ol start="1" data-listchain="__List_Chain_351" style="text-align: left; flex-direction: column; display: flex;">
<li style="font-family: Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); align-self: start; margin-right: 0px; margin-left: 0px;">
<div class="elementToProof" style="text-align: left; text-indent: 0px; margin-top: 0px; margin-bottom: 0px; font-family: Arial, Helvetica, sans-serif; color: rgb(0, 0, 0);">
<span style="font-size: 12pt;">Creo un GPKG e lo salvo, in remoto, su un disco condiviso, in una cartella. Nessun file temporaneo viene generato
</span><span style="font-size: 16px; background-color: rgb(255, 255, 255);">nella cartella contenente il GPKG.</span></div>
</li><li style="font-family: Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); align-self: start; margin-right: 0px; margin-left: 0px;">
<div class="elementToProof" style="text-align: left; text-indent: 0px; margin-top: 0px; margin-bottom: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Creo una connessione al GPKG appena creato. Nessun file temporaneo viene generato. </div>
</li><li style="font-family: Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); align-self: start; margin-right: 0px; margin-left: 0px;">
<div class="elementToProof" style="text-align: left; text-indent: 0px; margin-top: 0px; margin-bottom: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Creo un nuovo layer (ad esempio, poligonale). Nessun file temporaneo viene generato. </div>
</li><li style="font-family: Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); align-self: start; margin-right: 0px; margin-left: 0px;">
<div class="elementToProof" style="text-align: left; text-indent: 0px; margin-top: 0px; margin-bottom: 0px; font-family: Arial, Helvetica, sans-serif; color: rgb(0, 0, 0);">
<span style="font-size: 12pt;"><b>Attivo sul layer appena creato una sessione di editing.
</b></span><span style="font-size: 16px; background-color: rgb(255, 255, 255);"><b>Nessun file temporaneo viene generato. </b></span></div>
</li><li style="font-family: Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); align-self: start; margin-right: 0px; margin-left: 0px;">
<div class="elementToProof" style="text-align: left; text-indent: 0px; margin-top: 0px; margin-bottom: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<b>Chiudo la sessione di editing (salvando le modifiche nello stesso istante) e tutto si conclude senza alcun problema.</b></div>
</li></ol>
<div class="elementToProof" style="font-family: -apple-system, Roboto, SegoeUI, "Segoe UI", "Helvetica Neue", Helvetica, "Microsoft YaHei", "Meiryo UI", Meiryo, "Arial Unicode MS", sans-serif; font-size: 16px; color: rgb(17, 17, 17);">
<b>Non mi è chiaro il comportamento soprattutto per quanto riguarda i punti 4 e 5.
</b>Mi sarei aspettato un comportamento esattamente opposto a quanto evidenziato (anche per gestire l'"editing concorrente") ma forse mi sono perso un qualcosa.</div>
<div class="elementToProof" style="font-family: -apple-system, Roboto, SegoeUI, "Segoe UI", "Helvetica Neue", Helvetica, "Microsoft YaHei", "Meiryo UI", Meiryo, "Arial Unicode MS", sans-serif; font-size: 16px; color: rgb(17, 17, 17);">
<br>
</div>
<div class="elementToProof" style="font-family: -apple-system, Roboto, SegoeUI, "Segoe UI", "Helvetica Neue", Helvetica, "Microsoft YaHei", "Meiryo UI", Meiryo, "Arial Unicode MS", sans-serif; font-size: 16px; color: rgb(17, 17, 17);">
Posso chiedere il Vostro aiuto?</div>
<div class="elementToProof" style="font-family: -apple-system, Roboto, SegoeUI, "Segoe UI", "Helvetica Neue", Helvetica, "Microsoft YaHei", "Meiryo UI", Meiryo, "Arial Unicode MS", sans-serif; font-size: 16px; color: rgb(17, 17, 17);">
<br>
</div>
<div class="elementToProof" style="font-family: -apple-system, Roboto, SegoeUI, "Segoe UI", "Helvetica Neue", Helvetica, "Microsoft YaHei", "Meiryo UI", Meiryo, "Arial Unicode MS", sans-serif; font-size: 16px; color: rgb(17, 17, 17);">
Grazie!</div>
<div class="elementToProof" style="font-family: -apple-system, Roboto, SegoeUI, "Segoe UI", "Helvetica Neue", Helvetica, "Microsoft YaHei", "Meiryo UI", Meiryo, "Arial Unicode MS", sans-serif; font-size: 16px; color: rgb(17, 17, 17);">
<br>
</div>
<div class="elementToProof" style="font-family: -apple-system, Roboto, SegoeUI, "Segoe UI", "Helvetica Neue", Helvetica, "Microsoft YaHei", "Meiryo UI", Meiryo, "Arial Unicode MS", sans-serif; font-size: 16px; color: rgb(17, 17, 17);">
Ciao,</div>
<div class="elementToProof" style="font-family: -apple-system, Roboto, SegoeUI, "Segoe UI", "Helvetica Neue", Helvetica, "Microsoft YaHei", "Meiryo UI", Meiryo, "Arial Unicode MS", sans-serif; font-size: 16px; color: rgb(17, 17, 17);">
Francesco.</div>
<div class="elementToProof" style="font-family: -apple-system, Roboto, SegoeUI, "Segoe UI", "Helvetica Neue", Helvetica, "Microsoft YaHei", "Meiryo UI", Meiryo, "Arial Unicode MS", sans-serif; font-size: 16px; color: rgb(17, 17, 17);">
<b><br>
</b></div>
<div class="elementToProof" style="font-family: -apple-system, Roboto, SegoeUI, "Segoe UI", "Helvetica Neue", Helvetica, "Microsoft YaHei", "Meiryo UI", Meiryo, "Arial Unicode MS", sans-serif; font-size: 16px; color: rgb(17, 17, 17);">
<b>[0] gpkg-wal</b>: Questo file contiene il <b>log di scrittura anticipata (WAL)</b> per la connessione corrente. In pratica, registra lo stato transazionale del database tra le operazioni di
<b>COMMIT</b> o <b>ROLLBACK</b>. In altre parole, tiene traccia dei cambiamenti apportati al database durante una sessione di lavoro.</div>
<div class="elementToProof" style="font-family: -apple-system, Roboto, SegoeUI, "Segoe UI", "Helvetica Neue", Helvetica, "Microsoft YaHei", "Meiryo UI", Meiryo, "Arial Unicode MS", sans-serif; font-size: 16px; color: rgb(17, 17, 17);">
<b><br>
</b></div>
<div class="elementToProof" style="font-family: -apple-system, Roboto, SegoeUI, "Segoe UI", "Helvetica Neue", Helvetica, "Microsoft YaHei", "Meiryo UI", Meiryo, "Arial Unicode MS", sans-serif; font-size: 16px; color: rgb(17, 17, 17);">
<b>[1] gpkg-shm</b>: Questo file gestisce l’accesso concorrente al database tramite un indice verso il file
<b>WAL</b>. In sostanza, aiuta a garantire che più utenti possano accedere al database contemporaneamente senza causare conflitti.</div>
<div class="elementToProof" style="font-family: Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Dove: WAL: Write-ahead Log; SHM: Shared Memory</div>
<div class="elementToProof" style="font-family: Verdana, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<a href="https://sqlite.org/tempfiles.html" id="OWA709a491d-2640-59a7-0abc-b5985e2379fc" class="OWAAutoLink" data-loopstyle="linkonly">https://sqlite.org/tempfiles.html</a></div>
<div class="elementToProof" style="font-family: Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
</body>
</html>