Exemple #1
0
        public void Pages_Update(PageBE page)
        {
            // Update page text only if it has been set
            string updatePageText = String.Empty;

            if (page.IsTextPopulated)
            {
                updatePageText = ", page_text = ?PAGETEXT";
            }

            string      query = String.Format(@" /* Pages_Update */
update pages SET 
page_namespace      = ?NAMESPACE,
page_title          = ?TITLE,
page_comment        = ?PAGECOMMENT,
page_user_id        = ?USERID,
page_timestamp      = ?PAGETIMESTAMP,
page_is_redirect    = ?ISREDIRECT,
page_minor_edit     = ?MINOREDIT,
page_is_new         = ?ISNEW,
page_touched        = ?TOUCHED,
page_usecache       = ?USECACHE,
page_tip            = ?TIP,
page_parent         = ?PARENT,
page_restriction_id = ?RESTRICTIONID,
page_content_type   = ?CONTENTTYPE,
page_language       = ?LANGUAGE,
page_display_name   = ?DISPLAYNAME,
page_etag           = ?ETAG,
page_revision       = ?REVISION
{0}
where page_id       = ?PAGEID
", updatePageText);
            DataCommand cmd   = Catalog.NewQuery(query)
                                .With("PAGEID", page.ID)
                                .With("NAMESPACE", (int)page.Title.Namespace)
                                .With("TITLE", page.Title.AsUnprefixedDbPath())
                                .With("PAGECOMMENT", page.Comment)
                                .With("USERID", page.UserID)
                                .With("PAGETIMESTAMP", page._TimeStamp)
                                .With("ISREDIRECT", page.IsRedirect)
                                .With("MINOREDIT", page.MinorEdit)
                                .With("ISNEW", page.IsNew)
                                .With("TOUCHED", page._Touched)
                                .With("USECACHE", page.UseCache)
                                .With("TIP", page.TIP)
                                .With("PARENT", page.ParentID)
                                .With("RESTRICTIONID", page.RestrictionID)
                                .With("CONTENTTYPE", page.ContentType)
                                .With("LANGUAGE", page.Language)
                                .With("DISPLAYNAME", page.Title.DisplayName)
                                .With("ETAG", page.Etag)
                                .With("REVISION", page.Revision);

            if (page.IsTextPopulated)
            {
                cmd.With("PAGETEXT", page.GetText(this.Head));
            }
            cmd.Execute();
        }
Exemple #2
0
        public ulong Pages_Insert(PageBE page, ulong restoredPageID)
        {
            var query = @" /* Pages_Insert */
INSERT INTO pages ({0}page_namespace, page_title, page_text, page_comment, page_user_id, page_timestamp, page_is_redirect, page_minor_edit, page_is_new, page_touched, page_usecache, page_toc, page_tip, page_parent, page_restriction_id, page_content_type, page_language, page_display_name, page_etag, page_revision)
VALUES ({1}?NAMESPACE, ?TITLE, ?PAGETEXT, ?PAGECOMMENT, ?USERID, ?PAGETIMESTAMP, ?ISREDIRECT, ?MINOREDIT, ?ISNEW, ?TOUCHED, ?USECACHE, '', ?TIP, ?PARENT, ?RESTRICTIONID, ?CONTENTTYPE, ?LANGUAGE, ?DISPLAYNAME, ?ETAG, ?REVISION);
{2}
REPLACE INTO page_viewcount (page_id,page_counter) VALUES (@page_id,0);
SELECT @page_id";

            query = restoredPageID != 0
                ? string.Format(query, "page_id,", "?PAGE_ID,", "SELECT @page_id := " + restoredPageID + " as page_id;")
                : string.Format(query, "", "", "SELECT @page_id := LAST_INSERT_ID() as page_id;");

            // create the insertion command
            ulong pageId = 0;

            Catalog.NewQuery(query)
            .With("PAGE_ID", restoredPageID)
            .With("NAMESPACE", page.Title.Namespace)
            .With("TITLE", page.Title.AsUnprefixedDbPath())
            .With("PAGETEXT", page.GetText(this.Head))
            .With("PAGECOMMENT", page.Comment)
            .With("USERID", page.UserID)
            .With("PAGETIMESTAMP", page._TimeStamp)
            .With("ISREDIRECT", page.IsRedirect)
            .With("MINOREDIT", page.MinorEdit)
            .With("ISNEW", page.IsNew)
            .With("TOUCHED", page._Touched)
            .With("USECACHE", page.UseCache)
            .With("TIP", page.TIP)
            .With("PARENT", page.ParentID)
            .With("RESTRICTIONID", page.RestrictionID)
            .With("CONTENTTYPE", page.ContentType)
            .With("LANGUAGE", page.Language)
            .With("DISPLAYNAME", page.Title.DisplayName)
            .With("PAGEID", restoredPageID)
            .With("ETAG", page.Etag)
            .With("REVISION", page.Revision)
            .Execute(delegate(IDataReader dr) {
                if (dr.Read())
                {
                    pageId = dr.Read <ulong>("page_id");
                }
            });
            return(pageId);
        }
Exemple #3
0
        public void Pages_Update(PageBE page) {

            // Update page text only if it has been set
            string updatePageText = String.Empty;
            if(page.IsTextPopulated) {
                updatePageText = ", page_text = ?PAGETEXT";
            }

            string query = String.Format(@" /* Pages_Update */
update pages SET 
page_namespace      = ?NAMESPACE,
page_title          = ?TITLE,
page_comment        = ?PAGECOMMENT,
page_user_id        = ?USERID,
page_timestamp      = ?PAGETIMESTAMP,
page_is_redirect    = ?ISREDIRECT,
page_minor_edit     = ?MINOREDIT,
page_is_new         = ?ISNEW,
page_touched        = ?TOUCHED,
page_usecache       = ?USECACHE,
page_tip            = ?TIP,
page_parent         = ?PARENT,
page_restriction_id = ?RESTRICTIONID,
page_content_type   = ?CONTENTTYPE,
page_language       = ?LANGUAGE,
page_display_name   = ?DISPLAYNAME,
page_etag           = ?ETAG,
page_revision       = ?REVISION
{0}
where page_id       = ?PAGEID
", updatePageText);
            DataCommand cmd = Catalog.NewQuery(query)
            .With("PAGEID", page.ID)
            .With("NAMESPACE", (int)page.Title.Namespace)
            .With("TITLE", page.Title.AsUnprefixedDbPath())
            .With("PAGECOMMENT", page.Comment)
            .With("USERID", page.UserID)
            .With("PAGETIMESTAMP", page._TimeStamp)
            .With("ISREDIRECT", page.IsRedirect)
            .With("MINOREDIT", page.MinorEdit)
            .With("ISNEW", page.IsNew)
            .With("TOUCHED", page._Touched)
            .With("USECACHE", page.UseCache)
            .With("TIP", page.TIP)
            .With("PARENT", page.ParentID)
            .With("RESTRICTIONID", page.RestrictionID)
            .With("CONTENTTYPE", page.ContentType)
            .With("LANGUAGE", page.Language)
            .With("DISPLAYNAME", page.Title.DisplayName)
            .With("ETAG", page.Etag)
            .With("REVISION", page.Revision);
            if(page.IsTextPopulated) {
                cmd.With("PAGETEXT", page.GetText(this.Head));
            }
            cmd.Execute();
        }
Exemple #4
0
        public ulong Pages_Insert(PageBE page, ulong restoredPageID) {
            var query = @" /* Pages_Insert */
INSERT INTO pages ({0}page_namespace, page_title, page_text, page_comment, page_user_id, page_timestamp, page_is_redirect, page_minor_edit, page_is_new, page_touched, page_usecache, page_toc, page_tip, page_parent, page_restriction_id, page_content_type, page_language, page_display_name, page_etag, page_revision)
VALUES ({1}?NAMESPACE, ?TITLE, ?PAGETEXT, ?PAGECOMMENT, ?USERID, ?PAGETIMESTAMP, ?ISREDIRECT, ?MINOREDIT, ?ISNEW, ?TOUCHED, ?USECACHE, '', ?TIP, ?PARENT, ?RESTRICTIONID, ?CONTENTTYPE, ?LANGUAGE, ?DISPLAYNAME, ?ETAG, ?REVISION);
{2}
REPLACE INTO page_viewcount (page_id,page_counter) VALUES (@page_id,0);
SELECT @page_id";
            query = restoredPageID != 0
                ? string.Format(query, "page_id,", "?PAGE_ID,", "SELECT @page_id := " + restoredPageID + " as page_id;")
                : string.Format(query, "", "", "SELECT @page_id := LAST_INSERT_ID() as page_id;");

            // create the insertion command
            ulong pageId = 0;
            Catalog.NewQuery(query)
                .With("PAGE_ID", restoredPageID)
                .With("NAMESPACE", page.Title.Namespace)
                .With("TITLE", page.Title.AsUnprefixedDbPath())
                .With("PAGETEXT", page.GetText(this.Head))
                .With("PAGECOMMENT", page.Comment)
                .With("USERID", page.UserID)
                .With("PAGETIMESTAMP", page._TimeStamp)
                .With("ISREDIRECT", page.IsRedirect)
                .With("MINOREDIT", page.MinorEdit)
                .With("ISNEW", page.IsNew)
                .With("TOUCHED", page._Touched)
                .With("USECACHE", page.UseCache)
                .With("TIP", page.TIP)
                .With("PARENT", page.ParentID)
                .With("RESTRICTIONID", page.RestrictionID)
                .With("CONTENTTYPE", page.ContentType)
                .With("LANGUAGE", page.Language)
                .With("DISPLAYNAME", page.Title.DisplayName)
                .With("PAGEID", restoredPageID)
                .With("ETAG", page.Etag)
                .With("REVISION", page.Revision)
                .Execute(delegate(IDataReader dr) {
                if(dr.Read()) {
                    pageId = dr.Read<ulong>("page_id");
                }
            });
            return pageId;
        }
 public static void UpdateDWPageData(PageBE page)
 {
     MediaWikiConverterContext.Current.DWCatalog.NewQuery(String.Format("UPDATE pages set page_usecache={0}, page_tip='{1}', page_content_type='{2}', page_text='{3}' where page_id={4}", page.UseCache, DataCommand.MakeSqlSafe(page.TIP), DataCommand.MakeSqlSafe(page.ContentType), DataCommand.MakeSqlSafe(page.GetText(DbUtils.CurrentSession)), page.ID)).Execute();
 }