@@ -410,8 +482,17 @@
             subtitle_type,
             audio_props,
             video_props,
+            stars,
             seriesId,  programId);
 
+        if (!rating.isEmpty() && !rating_system.isEmpty())
+        {
+            EventRating event_rating;
+            event_rating.system = rating_system;
+            event_rating.rating = rating;
+            event->ratings.append(event_rating); 
+        }
+
         db_events.enqueue(event);
     }
 }
@@ -516,6 +597,7 @@
                 subtitle_type,
                 audio_props,
                 video_props,
+                0.0,
                 "",  "");
 
             db_events.enqueue(event);
Index: libs/libmythtv/programdata.cpp
===================================================================
--- libs/libmythtv/programdata.cpp	(revision 25556)
+++ libs/libmythtv/programdata.cpp	(working copy)
@@ -177,6 +177,7 @@
     seriesId        = other.seriesId;
     programId       = other.programId;
     previouslyshown = other.previouslyshown;
+    ratings         = other.ratings;
 
     Squeeze();
 
@@ -272,7 +273,8 @@
         "       partnumber,     parttotal, "
         "       syndicatedepisodenumber, "
         "       airdate,        originalairdate, "
-        "       previouslyshown,listingsource "
+        "       previouslyshown,listingsource, "
+        "       stars+0 "
         "FROM program "
         "WHERE chanid   = :CHANID AND "
         "      manualid = 0       AND "
@@ -305,6 +307,7 @@
             query.value(7).toUInt(),
             query.value(8).toUInt(),
             query.value(9).toUInt(),
+            query.value(19).toDouble(),
             query.value(10).toString(),
             query.value(11).toString(),
             query.value(18).toUInt());
@@ -705,7 +708,7 @@
         "  starttime,      endtime, "
         "  closecaptioned, stereo,         hdtv,            subtitled, "
         "  subtitletypes,  audioprop,      videoprop, "
-        "  partnumber,     parttotal, "
+        "  stars,          partnumber,     parttotal, "
         "  syndicatedepisodenumber, "
         "  airdate,        originalairdate,listingsource, "
         "  seriesid,       programid,      previouslyshown ) "
@@ -715,7 +718,7 @@
         " :STARTTIME,     :ENDTIME, "
         " :CC,            :STEREO,        :HDTV,           :HASSUBTITLES, "
         " :SUBTYPES,      :AUDIOPROP,     :VIDEOPROP, "
-        " :PARTNUMBER,    :PARTTOTAL, "
+        " :STARS,         :PARTNUMBER,    :PARTTOTAL, "
         " :SYNDICATENO, "
         " :AIRDATE,       :ORIGAIRDATE,   :LSOURCE, "
         " :SERIESID,      :PROGRAMID,     :PREVSHOWN) ");
@@ -737,6 +740,7 @@
     query.bindValue(":SUBTYPES",    subtitleType);
     query.bindValue(":AUDIOPROP",   audioProps);
     query.bindValue(":VIDEOPROP",   videoProps);
+    query.bindValue(":STARS",       stars);
     query.bindValue(":PARTNUMBER",  partnumber);
     query.bindValue(":PARTTOTAL",   parttotal);
     query.bindValue(":SYNDICATENO", syndicatedepisodenumber);
@@ -784,7 +788,6 @@
     colorcode       = other.colorcode;
     clumpidx        = other.clumpidx;
     clumpmax        = other.clumpmax;
-    ratings         = other.ratings;
 
     squeeze_str(channel);
     squeeze_str(startts);
@@ -888,7 +891,7 @@
         return 0;
     }
 
-    QList<ProgRating>::const_iterator j = ratings.begin();
+    QList<EventRating>::const_iterator j = ratings.begin();
     for (; j != ratings.end(); ++j)
     {
         query.prepare(
Index: libs/libmythtv/programdata.h
===================================================================
--- libs/libmythtv/programdata.h	(revision 25556)
+++ libs/libmythtv/programdata.h	(working copy)
@@ -60,6 +60,13 @@
 };
 typedef vector<DBPerson> DBCredits;
 
+class MPUBLIC EventRating
+{
+  public:
+    QString system;
+    QString rating;
+};
+
 class MPUBLIC DBEvent
 {
   public:
@@ -77,6 +84,7 @@
         subtitleType(0),
         audioProps(0),
         videoProps(0),
+        stars(0.0),
         categoryType(0/*kCategoryNone*/),
         seriesId(QString::null),
         programId(QString::null),
@@ -90,6 +98,7 @@
             unsigned char    _subtitleType,
             unsigned char    _audioProps,
             unsigned char    _videoProps,
+            float            _stars,
             const QString   &_seriesId,  const QString   &_programId,
             uint32_t         _listingsource) :
         title(_title),           subtitle(_subtitle),
@@ -102,6 +111,7 @@
         syndicatedepisodenumber(QString("")),
         subtitleType(_subtitleType),
         audioProps(_audioProps), videoProps(_videoProps),
+        stars(_stars),
         categoryType(_category_type),
         seriesId(_seriesId),
         programId(_programId),
@@ -152,11 +162,13 @@
     unsigned char subtitleType;
     unsigned char audioProps;
     unsigned char videoProps;
+    float         stars;
     unsigned char categoryType;
     QString       seriesId;
     QString       programId;
     bool          previouslyshown;
     uint32_t      listingsource;
+    QList<EventRating> ratings;
 };
 
 class MPUBLIC DBEventEIT : public DBEvent
@@ -171,10 +183,11 @@
                unsigned char    _subtitleType,
                unsigned char    _audioProps,
                unsigned char    _videoProps,
+               float            _stars,
                const QString   &_seriesId,  const QString   &_programId) :
         DBEvent(_title, _subtitle, _desc, _category, _category_type,
                 _start, _end, _subtitleType, _audioProps, _videoProps,
-                _seriesId, _programId, kListingSourceEIT),
+                _stars, _seriesId, _programId, kListingSourceEIT),
         chanid(_chanid), fixup(_fixup)
     {
     }
@@ -188,7 +201,7 @@
                unsigned char    _videoProps) :
         DBEvent(_title, QString(""), _desc, QString(""), 0/*kCategoryNone*/,
                 _start, _end, _subtitleType, _audioProps, _videoProps,
-                QString(""), QString(""), kListingSourceEIT),
+                0.0, QString(""), QString(""), kListingSourceEIT),
         chanid(_chanid), fixup(_fixup)
     {
     }
@@ -203,13 +216,6 @@
     uint32_t      fixup;
 };
 
-class MPUBLIC ProgRating
-{
-  public:
-    QString system;
-    QString rating;
-};
-
 class MPUBLIC ProgInfo : public DBEvent
 {
   public:
@@ -245,7 +251,6 @@
     QString       colorcode;
     QString       clumpidx;
     QString       clumpmax;
-    QList<ProgRating> ratings;
 };
 
 class MPUBLIC ProgramData
Index: programs/mythfilldatabase/xmltvparser.cpp
===================================================================
--- programs/mythfilldatabase/xmltvparser.cpp	(revision 25556)
+++ programs/mythfilldatabase/xmltvparser.cpp	(working copy)
@@ -403,7 +403,7 @@
                 QDomElement item = values.item(0).toElement();
                 if (item.isNull())
                     continue;
-                ProgRating rating;
+                EventRating rating;
                 rating.system = info.attribute("system", "");
                 rating.rating = getFirstText(item);
                 pginfo->ratings.append(rating);
