RD4: Autocreazione del DB e indici omonimi
copia linkDescrizione del difetto
La creazione automatica del database falliva in un'applicazione se più indici del database utilizzato dall'applicazione avevano lo stesso codice.
Il database SQLite, a differenza dei database più comuni, memorizza infatti gli indici come oggetti globali. Il codice dell'indice deve pertanto essere univoco all'interno di tutto il database e non solo all'interno della tabella in cui è contenuto.
Il malfunzionamento si manifestava solo se:
- si avviava un'applicazione web che utilizzava un database SQLite con schema autogestito a run-time ed erano presenti indici con lo stesso DBCode
- si avviava un'applicazione offline che utilizzava un database di tipo differente da SQLite (ad esempio SQL Server o Oracle, dove il codice degli indici deve essere univoco solo all'interno della tabella in cui è contenuto)
A partire dalla versione 11.5 il codice degli indici dei database SQLite con schema autogestito è calcolato concatenando anche il codice della tabella in cui questo è contenuto.
Effetti del malfunzionamento
- All'avvio dell'applicazione gli indici non venivano creati e veniva segnalato un errore nella videata di debug.
Soluzioni
Era sufficiente, qualora possibile, modificare il codice degli indici per renderlo univoco all'interno del database.
Funzionalità interessate
Lo sviluppo di applicazioni offline che utilizzino database di tipo differente da SQLite.
Note
- Correzione relativa alla richiesta di assistenza 001185-2012.
- Se il database era SQLite, In.de segnalava già l'errore di codice non univoco durante la verifica del database.
Ultima modifica: 09/10/2012 / Validità: da 11.5.5000