From 997e0905ee1c042edb7d624d429281b7c6f76455 Mon Sep 17 00:00:00 2001 From: Jochen Dolze Date: Mon, 28 May 2012 23:56:19 +0200 Subject: Added better debug output on sql errors while parsing xmltv --- event.cpp | 2 ++ event.h | 5 +++++ parse.cpp | 15 ++++++++++++++- 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/event.cpp b/event.cpp index 49c6d7c..416ee65 100644 --- a/event.cpp +++ b/event.cpp @@ -300,6 +300,7 @@ void cXMLTVEvent::CreateEventID(time_t StartTime) newid|=(tm.tm_min & 0x3F); eventid=newid & 0xFFFF; + weakid=true; } void cXMLTVEvent::GetSQL(const char *Source, int SrcIdx, const char *ChannelID, char **Insert, char **Update) @@ -474,6 +475,7 @@ void cXMLTVEvent::Clear() episode=0; episodeoverall=0; parentalRating=0; + weakid=false; memset(&contents,0,sizeof(contents)); } diff --git a/event.h b/event.h index f93e591..c7000a7 100644 --- a/event.h +++ b/event.h @@ -49,6 +49,7 @@ private: int season; int episode; int episodeoverall; + bool weakid; tEventID eventid; tEventID eiteventid; cXMLTVStringList video; @@ -89,6 +90,10 @@ public: void SetPics(const char *Pics); void CreateEventID(time_t StartTime); void GetSQL(const char *Source, int SrcIdx, const char *ChannelID, char **Insert, char **Update); + bool WeakID() + { + return weakid; + } cXMLTVStringList *Credits() { return &credits; diff --git a/parse.cpp b/parse.cpp index e8736bd..cbabb18 100644 --- a/parse.cpp +++ b/parse.cpp @@ -844,7 +844,20 @@ int cParse::Process(cEPGExecutor &myExecutor,char *buffer, int bufsize) if (ret!=SQLITE_OK) { if (lerr!=PARSE_SQLERR) - esyslogs(source,"sqlite3: %s",errmsg); + { + if (!xevent.WeakID()) + { + esyslogs(source,"sqlite3: %s (%u@%i)",errmsg,xevent.EventID(),node->line); + tsyslogs(source,"sqlite3: %s",isql); + tsyslogs(source,"sqlite3: %s",usql); + } + else + { + esyslogs(source,"sqlite3: %s ('%s'@%i)",errmsg,xevent.Title(),node->line); + tsyslogs(source,"sqlite3: %s",isql); + tsyslogs(source,"sqlite3: %s",usql); + } + } lerr=PARSE_SQLERR; sqlite3_free(errmsg); break; -- cgit v1.2.3