[Gfoss] Spatialite e limite di parametri in una singola query

Luca Mandolesi mandoluca a gmail.com
Lun 22 Set 2014 21:18:30 CEST


Ciao Alessandro e grazie della risposta.
Sono passato da SQLalchemy dato che mi permette di scrivere le funzioni
senza preoccuparmi del DB che gira sotto. Questo perchè posso avere un
postgres centrale e tanti piccoli PC in missione che usano spatialite che è
un file secco. Ricompilare a manina per me è un eufemismo. Non saprei
nemmeno da dove partire.
Invece con un semplice campo di appoggi ad ogni tabella che assume 1 o 0
per l'istanza di database di quel momento posso fare la query di tutti i
record che voglio in un istante!

Il problema è sorto passando da postgres a spatialite e non avevo mai letto
la doc ufficiale di sqlite..ma poco male...aggiro!

Grazie mille
Luca



Il giorno 22 settembre 2014 19:07, <a.furieri at lqt.it> ha scritto:

> On Sun, 14 Sep 2014 11:03:11 +0200, Luca Mandolesi wrote:
>
>> Unica problema è proprio lato SQlite che mi pone un limite di 999
>> parametri ricercabili contemporaneamente.
>>
>>
> dalla doc ufficiale di SQLite [1]
>
> SQLite allocates space to hold all host parameters between 1 and the
> largest host parameter number used. Hence, an SQL statement that contains
> a host parameter like ?1000000000 would require gigabytes of storage.
> This could easily overwhelm the resources of the host machine.
> To prevent excessive memory allocations, the maximum value of a host
> parameter number is SQLITE_MAX_VARIABLE_NUMBER, which defaults to 999.
>
> [1] http://www.sqlite.org/limits.html
>
>  Non uso il metodo interno delle QT ma passo per SQLalchemy che mi
>> permette di dialogare con postgres e sqlite senza cambiare nulla.
>>
>>
> evidentemente SQLalchemy macina il tutto internamente in modo
> tale da utilizzare i parametri posizionali, e quindi va a sbattere
> sul limite duro dei 999 max.
>
> se tu avessi usato direttamente le API standard di SQLite senza
> ulteriori intermediari suppongo che il problema non si presenterebbe
> affatto, visto che nei tuoi snippets SQL non riesco a vedere
> traccia di parametri posizionali.
> ed in questo caso il limite max. di SQLite e' che uno statement
> SELECT non puo' essere piu' lungo di 1 milione di bytes
>
> ad ogni buon conto: SQLite e' estremamente configurabile.
> se ti ricompili "a manina" libsqlite3 puoi modificarti tutte queste
> impostazioni come meglio preferisci.
>
> ciao Sandro
> _______________________________________________
> Gfoss at lists.gfoss.it
> http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
> Questa e' una lista di discussione pubblica aperta a tutti.
> I messaggi di questa lista non hanno relazione diretta con le posizioni
> dell'Associazione GFOSS.it.
> 666+40 iscritti al 5.6.2014
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gfoss.it/pipermail/gfoss/attachments/20140922/8772555c/attachment.html>


Maggiori informazioni sulla lista Gfoss