Notizie: scarica ora l'ultima versione disponibile di SeaMonkey!

Autore Topic: Compattazione places.sqlite e bookmarklet  (Letto 3706 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline Borgata

  • Post: 624
Compattazione places.sqlite e bookmarklet
« il: 21 Aprile 2011 10:03:48 »
Qualche tempo fa un utente aveva suggerito questo codice

Codice: [Seleziona]
Components.classes["@mozilla.org/browser/nav-history-service;1"].getService(Components.interfaces.nsPIPlacesDatabase).DBConnection.executeSimpleSQL("VACUUM");alert("Places successfully compacted!");
per la compattazione dei segnalibri.

Il codice va eseguito dalla consolle degli errori.
Pensavo di inserirlo in un bookmarklet per averne accesso più facilmente, ma a quanto pare c'è qualche difficoltà, e non riesco a farlo funzionare.

Qualche suggerimento? O per qualche motivo non è possibile?

Offline Gioxx

  • Amministratore
  • Post: 7730
    • Gioxx's Wall

Offline Borgata

  • Post: 624
Re: Compattazione places.sqlite e bookmarklet
« Risposta #2 il: 21 Aprile 2011 10:40:52 »
Eheh  si, Probabilmente farei prima!  :lol:

Però in fin dei conti mi interessava anche capire meglio i boolmarklet, e speravo di poter capirci qualcosa in più facendolo funzionare in quel modo.
Per cui se è cosa fattibile...

Grazie! ;)

Offline gialloporpora

  • サンドロ
  • Moderatore
  • Post: 10806
    • Il blog che non c'è
Re: Compattazione places.sqlite e bookmarklet
« Risposta #3 il: 21 Aprile 2011 11:02:53 »
Non puoi usarlo come bookmarklet, col bookmarklet non puoi eseguire codice a livello chrome, solo normale Javascript, diciamo che hai gli stessi permessi del normale JS incluso nelle pagine, non certo quello di richiamare Component .classes.
Ciao

Offline Borgata

  • Post: 624
Re: Compattazione places.sqlite e bookmarklet
« Risposta #4 il: 21 Aprile 2011 11:42:30 »
Immaginavo :)
Peccato, sarebbe stato utile!

Grazie!

Offline gialloporpora

  • サンドロ
  • Moderatore
  • Post: 10806
    • Il blog che non c'è
Re: Compattazione places.sqlite e bookmarklet
« Risposta #5 il: 21 Aprile 2011 11:46:46 »
Se vuoi eseguire codice con privilegi avanzati puoi farlo con keyconfig (aggiungendo una scorciatoia), Custom Buttons (aggiundo un pulsante, quindi assomiglia molto al bookmarklet per certi aspetti), Ubiquity, userChromeJS,  ecc…
Ciao

Offline MaK

  • Post: 371
    • Blog
Re: Compattazione places.sqlite e bookmarklet
« Risposta #6 il: 21 Aprile 2011 15:22:40 »
Sto lavorando ad una piccola estensione per semplificare alcuni compiti di manutenzione (tra cui il vacuum), ma funzionerà solo da Firefox 5 in poi, quando sarà pronta inserirò un breve articolo su Planet Mozilla.
In ogni caso vacuum viene già eseguito una volta al mese dopo 5 minuti che lasci il computer in idle con il browser aperto.
Eseguirlo più spesso può portare ad un peggioramento delle prestazioni, al contrario di quanto si possa pensare.

Offline Godai71

  • Moderatore
  • Post: 4153
    • The Walking Shadow
Re: Compattazione places.sqlite e bookmarklet
« Risposta #7 il: 21 Aprile 2011 17:06:43 »
Personalmente il vacuum lo faccio una volta la settimana prima del backup
utilizzando l'eseguibile di sqlite e un file batch

Offline Faus-74

  • Post: 613
Re: Compattazione places.sqlite e bookmarklet
« Risposta #8 il: 22 Aprile 2011 11:35:28 »
A cosa serve il vacuum?  :oops:

Offline Megabyte

  • Post: 1819
Re: Compattazione places.sqlite e bookmarklet
« Risposta #9 il: 22 Aprile 2011 11:40:37 »
Personalmente il vacuum lo faccio una volta la settimana prima del backup
utilizzando l'eseguibile di sqlite e un file batch
Scusate… mi spiegate cosa fanno esattamente le estensioni tipo questa o questa?
Si limitano a riorganizzare il file di "cronologia & segnalibri" senza cancellare nulla (migliorando le prestazioni) oppure eliminano definitivamente le voci vecchie/inutilizzate (cancellando qualcosa)?

Lo chiedo perché tempo fa avevo provato un'estensione di questo tipo (non ricordo quale…), e a suo arbitrio mi ha cancellato i "segnalibri inutilizzati" arrecandomi quindi un danno irreversibile!! :?

Grazie

Offline gialloporpora

  • サンドロ
  • Moderatore
  • Post: 10806
    • Il blog che non c'è
Re: Compattazione places.sqlite e bookmarklet
« Risposta #10 il: 22 Aprile 2011 11:42:10 »
A eliminare gli spazi vuoti (come da nome):

SQLite Query Language: VACUUM
Citazione
Unless SQLite is running in "auto_vacuum=FULL" mode, when a large amount of data is deleted from the database file it leaves behind empty space, or "free" database pages. This means the database file might be larger than strictly necessary. Running VACUUM to rebuild the database reclaims this space and reduces the size of the database file.

Offline MaK

  • Post: 371
    • Blog
Re: Compattazione places.sqlite e bookmarklet
« Risposta #11 il: 22 Aprile 2011 12:54:02 »
Quelle estensioni esistono perchè un tempo non eseguivamo alcuna manutenzione sul database, oggi la manutenzione avviene settimanalmente nei momenti in cui lasciate il sistema in idle con il browser aperto. Con l'estensione a cui sto lavorando (in realtà è finita ma c'è un bug nel gestore delle estensioni che devo risolvere) sarà possibile utilizzare manualmente il codice interno per fare la stessa manutenzione a richiesta, il che dovrebbe assicurare la salvaguardia dei dati.
Al moemento comunque a meno di problemi seri, tipo menu cronologia che impiega 2 secondi ad aprirsi, non è necessaria alcuna manutenzione straordinaria.

Offline Megabyte

  • Post: 1819
Re: Compattazione places.sqlite e bookmarklet
« Risposta #12 il: 22 Aprile 2011 13:12:18 »
Mi accorgo adesso che il file places.sqlite del mio profilo principale, che al momento del passaggio a FF4 superava i 200MB, è sceso a 50MB (esatti).

È una cosa normale (magari dipendente da qualche nuova caratteristica di FF4) oppure ho involontariamente modificato io qualche impostazione (limitando forzatamente la dimensione del file)?

Grazie
« Ultima modifica: 22 Aprile 2011 13:18:31 da Megabyte »

Offline MaK

  • Post: 371
    • Blog
Re: Compattazione places.sqlite e bookmarklet
« Risposta #13 il: 22 Aprile 2011 13:24:28 »
Mi accorgo adesso che il file places.sqlite del mio profilo principale, che al momento del passaggio a FF4 superava i 200MB, è sceso a 50MB (esatti).

È una cosa normale (magari dipendente da qualche nuova caratteristica di FF4) oppure ho involontariamente modificato io qualche impostazione (limitando forzatamente la dimensione del file)?

Dipende, se nella cartella del profilo hai un file places.sqlite.corrupt, allora ad un certo punto hai perso la cronologia e il db è stato sostituito.
Se usavi la Google toolbar c'era un problema noto a riguardo che potrebbe essere stato sistemato da Google.
O magari era semplicemente deframmentato, ma la differenza mi sembra eccessiva.

Offline Megabyte

  • Post: 1819
Re: Compattazione places.sqlite e bookmarklet
« Risposta #14 il: 22 Aprile 2011 13:32:51 »
Dipende, se nella cartella del profilo hai un file places.sqlite.corrupt, allora ad un certo punto hai perso la cronologia e il db è stato sostituito.
Se usavi la Google toolbar c'era un problema noto a riguardo che potrebbe essere stato sistemato da Google.
O magari era semplicemente deframmentato, ma la differenza mi sembra eccessiva.

Il file places.sqlite.corrupt non è presente, e non ho mai installato la Google toolbar. :?

Quello che mi meraviglia è che la dimensione di places.sqlite sia ora ferma a 50MB esatti (come se ci fosse un'impostazione precisa che la vincola a questo valore massimo).
Non è che in FF4 abbiano inserito una "limitazione di default" di questo tipo?
Il file places.sqlite è attualmente libero di superare i 50MB (su profilo nuovo)?

Grazie
« Ultima modifica: 22 Aprile 2011 13:41:29 da Megabyte »

0 Utenti e 1 Visitatore stanno visualizzando questo topic.