private static RecentChangeBE PopulateRecentChange(IDataRecord dr) {
     RecentChangeBE recentChange = new RecentChangeBE();
     recentChange.Timestamp = GetUTF8String(dr, "rc_timestamp");
     recentChange.User = new UserBE();
     if (MediaWikiConverterContext.Current.Merge) {
         recentChange.User.ID = MediaWikiConverterContext.Current.MergeUserId;
     } else {
         recentChange.User.ID = DbUtils.Convert.To<uint>(dr["rc_user"], 0);
     }
     recentChange.User.Name = GetUTF8String(dr, "rc_user_text");
     recentChange.Page = new PageBE();
     recentChange.Page.ID = DbUtils.Convert.To<ulong>(dr["rc_cur_id"]).Value;
     recentChange.Page._Namespace = DbUtils.Convert.To<ushort>(dr["rc_namespace"]).Value;
     recentChange.Page._Title = GetUTF8String(dr, "rc_title");
     recentChange.Comment = GetUTF8String(dr, "rc_comment");
     recentChange.ThisOldID = DbUtils.Convert.To<ulong>(dr["rc_this_oldid"], 0);
     recentChange.LastOldID = DbUtils.Convert.To<ulong>(dr["rc_last_oldid"], 0);
     recentChange.Type = (RC)DbUtils.Convert.To<uint>(dr["rc_type"], 0);
     recentChange.IP = GetUTF8String(dr, "rc_ip");
     recentChange.IsMinor = DbUtils.Convert.To<uint>(dr["rc_minor"]).Value;
     recentChange.IsBot = DbUtils.Convert.To<uint>(dr["rc_bot"]).Value;
     recentChange.IsNew = DbUtils.Convert.To<uint>(dr["rc_new"]).Value;
     recentChange.IsPatrolled = DbUtils.Convert.To<uint>(dr["rc_patrolled"]).Value;
     return recentChange;
 }
 public static void InsertDWRecentChange(RecentChangeBE recentChange) {
     MediaWikiConverterContext.Current.DWCatalog.NewQuery(String.Format("INSERT into recentchanges (rc_timestamp, rc_cur_time, rc_user, rc_namespace, rc_title, rc_comment, rc_cur_id, rc_this_oldid, rc_last_oldid, rc_type, rc_ip, rc_minor, rc_bot, rc_new, rc_patrolled) VALUES ('{0}', '{1}', '{2}', '{3}', '{4}', '{5}', '{6}', '{7}', '{8}', '{9}', '{10}', '{11}', '{12}', '{13}', '{14}')",
         recentChange.Timestamp, recentChange.Timestamp, recentChange.User.ID, recentChange.Page._Namespace, DataCommand.MakeSqlSafe(recentChange.Page.Title.AsUnprefixedDbPath()),
         DataCommand.MakeSqlSafe(recentChange.Comment), recentChange.Page.ID, recentChange.ThisOldID, recentChange.LastOldID, (uint)recentChange.Type, recentChange.IP, recentChange.IsMinor, recentChange.IsBot, recentChange.IsNew, recentChange.IsPatrolled)).Execute();
 }