System.Data.SQLite
View Ticket
Not logged in
Ticket UUID: 6d45c782e475b30e2f6ce2e8e114f9d38efc7cc0
Title: lots of 'WARNING: Type mapping failed' in logs
Status: Closed Type: Incident
Severity: Important Priority: Medium
Subsystem: Convert Resolution: Works_As_Designed
Last Modified: 2014-02-14 21:15:47
Version Found In: 1.0.91
User Comments:
anonymous added on 2013-12-10 11:31:27:
After updating sqlite version to 1.0.89 we have lots of 'DebugOutput - WARNING: Type mapping failed' lines in our logs. Looks like some column types are not valid now (f.e. INTEGER UNSIGNED, LONGBLOB, INT2 UNSIGNED) but they are still used in huge existing databases at our customers, so every attempt to get column value with SQLiteDataReader object results with new line in log file. Log size grows significally. 

Also we handle SQLiteException errors in code, but at least some of them results with extra 'DebugOutput - SQLite error' lines in our logs. As far as I understood, 'TRACE_WARNING' constant is built-in and I couldn't locate a way to change the default behaviour. 

Is there a way to disable extra log lines generation? Or to handle / override such trace events to determine should it be written to trace automatically or not.

SQLite build 1.0.89 for .Net 4.5

mistachkin added on 2013-12-11 07:55:36:
Fixed on trunk by check-in [16f09dbc53].  The fix will be included in the next
release, 1.0.90.0, due out sometime within the next month.

anonymous added on 2014-02-13 13:59:02:
Issue is still actual for SQLiteErrorCode.Constraint errors. I see autogenerated entries in my log file like:

DebugOutput  - SQLite error (2067): abort at 14 in [INSERT INTO serverHosts 
                            (
                                typeId, 
                                hash, 
                                host

Checked on 1.0.91 version

mistachkin added on 2014-02-13 19:16:27:
This has been addressed via check-in [16f09dbc5392fb53], which was prior to
release 1.0.90.0.  Please upgrade to 1.0.91.0 and try again.

anonymous added on 2014-02-14 12:12:25:
1.0.91.0 is already used. SQLite writes at least 'UNIQUE constraint failed' erorrs to Trace and our custom trace listener redirects them to log file. I created a simple standalone utility that reproduces the issue

mistachkin added on 2014-02-14 21:15:17:

Those log messages are coming from the SQLite core library itself. To disable all such log messages, you can use the following C# code:

SQLiteLog.Enabled = false;

Please note that the above code will disable all messages that originate from the SQLiteLog class, including all messages from the SQLite core library.