Hello everyone,

Following this Issue we would like to rollback from the last version 
( to the version 1.0.66.
We’re going to drop the special index wich are not compatibles with this 
But we would like to know if both version are compatible (structures,syntaxe, 
etc) or we have to dump/recreate  the DB while the rollback . ?

Ticket created for this question 
Ticket created for malformed DB issues : 
Many thanks in  advance

PS : We found  out the version realeasing the specials indexes (1.0.99)

Jean-François RIGHI
Service Étude et Développement

+33(0)3 27 08 08 08

3595 route de Tournai - C.S. 20009 - 59501 DOUAI Cedex France
        Pour toutes demandes d’assistance: mailto:supp...@synelia.fr ou +33(0)3 
27 08 08 26
De : Jean-François RIGHI 
Envoyé : mardi 3 octobre 2017 09:14
À : mailto:sqlite-users@mailinglists.sqlite.org
Objet : Database base disk is malformed issue

Hello everyone,

Following this ticket issue, we were advised to  submit it  by email,

Basicaly we  got 1 issue and 2 questions

1) We were working with an old version of System.data.sqlite.dll (1.0.66) wich 
was prety stable. But we needed to work with concat index (CREATE INDEX IDX ON 
TABLE_1 (FIELD1 || FIELD2) to upgrade performance. Since we changed the dll we 
often got a
Database base disk is malformed issue. We can repair the base via an sql dump 
of the base. The issue itself is never exactly the same : we can have a 
duplicate  TRIGGER or TABLE or sometimes INSERT INTO with non valide data.
That's crazy. We tried to change the DROP / CREATE code. Catchall exception and 
close connections... But the issue is still here and worst of all it happend 
randomly !
⇒ More informations :
.The old version of SQLite we used : and the new one :
.Almost users have a windows 10 OS
.We use visual studio 2010 (SP1) with the .net  Framework 3.5 (x86)
.The DB is encrypted with the sqlite encryption algorithm
.The DB is around 200Mo (depending of users)
.The DB is saved in the users computers
       . We tried to set :   AddHandler 
AppDomain.CurrentDomain.UnhandledException, AddressOf CatchAllHandler wich try 
to close the connection (in case of)
. We don’t have mutlithread connection as in this link 
(https://system.data.sqlite.org/index.html/tktview?name=ee2f11285e) -> so we 
did not modify WAL connection settings
       As soon as the the DB is corrupted we use this method to repair it :
       sqlite3 mydb.db
       sqlite> .mode insert
       sqlite> .output dump_all.sql
       sqlite> .dump
       sqlite> .exit
       move mydb.db mydb-corrupt.db
       sqlite3 mydb.db
       sqlite> .read dump_all.sql
       sqlite> .exit
With this method we can see what happend and we often have this kind of issue : 
Table XXX  already exists -> and indeed in the Dump_all.sql there is twice the 
: « CREATE TABLE  XXX » , this Table was created at runtime with 
We tried a new method like this  (in production since yesterday -> no feedbacks 

As told before we also have twice CREATE TRIGGER issue in Corrupted DB.

DOES SOMEONE HAVE ANY IDEA how what is hapenning ? =) 

(We are going to upload a corrupted DB on a ftp if needed and i can answer to 
any question while office hours (GMT+1))

2) we also like to know when the index concatenation feature has been released 
? (to try with the oldest version of System.data.sqlite.dll compatible) (

3) An finally , Is there a way to get the old version of dll witout having to 
recompile the source code ?

Many Many Many thanks !!(we're getting nuts so help will be really great ^^)

sqlite-users mailing list

Reply via email to