From 9a12f4eef2e9e3bcd700eea096e3a48b5067023e Mon Sep 17 00:00:00 2001 From: Shandem Date: Thu, 15 Apr 2010 12:54:31 +0000 Subject: [PATCH] Fixes 26070 - Significant improvement in SQL queries Fixes 26780 - More sql improvements Fixes ClientDependency checkin. [TFS Changeset #65496] --- .../umbraco.controls/umbraco.controls.csproj | 4 ++ foreign dlls/ClientDependency.Core.dll | Bin 82944 -> 86528 bytes umbraco/cms/businesslogic/CMSNode.cs | 50 +++++++++++++++--- .../cms/businesslogic/template/Template.cs | 12 +++-- umbraco/cms/businesslogic/web/DocumentType.cs | 13 +++-- 5 files changed, 64 insertions(+), 15 deletions(-) diff --git a/components/umbraco.controls/umbraco.controls.csproj b/components/umbraco.controls/umbraco.controls.csproj index 9908f88aaa..55a0106984 100644 --- a/components/umbraco.controls/umbraco.controls.csproj +++ b/components/umbraco.controls/umbraco.controls.csproj @@ -100,6 +100,10 @@ {CCD75EC3-63DB-4184-B49D-51C1DD337230} umbraco.cms + + {C7CB79F0-1C97-4B33-BFA7-00731B579AE2} + umbraco.datalayer + {511F6D8D-7717-440A-9A57-A507E9A8B27F} umbraco.interfaces diff --git a/foreign dlls/ClientDependency.Core.dll b/foreign dlls/ClientDependency.Core.dll index d5ebcade6f8d3c4488fe08734cd517dae043baa1..af0f7462a92fd62d530c5a5857ad49b6b4353939 100644 GIT binary patch literal 86528 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 /// Used to persist object changes to the database. In Version3.0 it's just a stub for future compatibility /// @@ -500,6 +506,15 @@ namespace umbraco.cms.businesslogic } } + public virtual int ChildCount + { + get + { + return SqlHelper.ExecuteScalar("SELECT COUNT(*) FROM umbracoNode where ParentID = @parentId", + SqlHelper.CreateParameter("@parentId", this.Id)); + } + } + ///

/// The basic recursive tree pattern /// @@ -509,19 +524,21 @@ namespace umbraco.cms.businesslogic get { System.Collections.ArrayList tmp = new System.Collections.ArrayList(); - IRecordsReader dr = SqlHelper.ExecuteReader("select id from umbracoNode where ParentID = " + this.Id + " And nodeObjectType = @type order by sortOrder", - SqlHelper.CreateParameter("@type", this.nodeObjectType)); - - while (dr.Read()) - tmp.Add(dr.GetInt("Id")); + IRecordsReader dr = SqlHelper.ExecuteReader("SELECT id, createDate, trashed, parentId, nodeObjectType, nodeUser, level, path, sortOrder, uniqueID, text FROM umbracoNode WHERE ParentID = @ParentID AND nodeObjectType = @type order by sortOrder", + SqlHelper.CreateParameter("@type", this.nodeObjectType), SqlHelper.CreateParameter("ParentID", this.Id)); + while (dr.Read()){; + tmp.Add(new CMSNode(dr)); + } dr.Close(); CMSNode[] retval = new CMSNode[tmp.Count]; for (int i = 0; i < tmp.Count; i++) - retval[i] = new CMSNode((int)tmp[i]); - + { + //retval[i] = new CMSNode((int)tmp[i]); + retval[i] = (CMSNode)tmp[i]; + } return retval; } } @@ -573,6 +590,8 @@ namespace umbraco.cms.businesslogic return retval; } + + /// /// Given the protected modifier the CMSNode.MakeNew method can only be accessed by /// derived classes > who by definition knows of its own objectType. @@ -593,7 +612,7 @@ namespace umbraco.cms.businesslogic if (level > 0) { parent = new CMSNode(parentId); - sortOrder = parent.Children.Length + 1; + sortOrder = parent.ChildCount + 1; path = parent.Path; } else @@ -802,6 +821,21 @@ order by level,sortOrder"; SqlHelper.CreateParameter("@xml", x.OuterXml)); } + private void PopulateNodeFromReader(IRecordsReader dr) + { + if (dr.IsNull("uniqueID")) _uniqueID = Guid.NewGuid(); + else _uniqueID = dr.GetGuid("uniqueID"); + + _nodeObjectType = dr.GetGuid("nodeObjectType"); + _level = dr.GetShort("level"); + _path = dr.GetString("path"); + _parentid = dr.GetInt("parentId"); + _text = dr.GetString("text"); + _sortOrder = dr.GetInt("sortOrder"); + _userId = dr.GetInt("nodeUser"); + _createDate = dr.GetDateTime("createDate"); + } + private void XmlPopulate(XmlDocument xd, XmlNode x, bool Deep) { // attributes diff --git a/umbraco/cms/businesslogic/template/Template.cs b/umbraco/cms/businesslogic/template/Template.cs index e79a06db33..3b4c08c523 100644 --- a/umbraco/cms/businesslogic/template/Template.cs +++ b/umbraco/cms/businesslogic/template/Template.cs @@ -181,16 +181,22 @@ namespace umbraco.cms.businesslogic.template get { return (_mastertemplate > 0); } } + private bool _hasChildrenInitialized = false; + private bool _hasChildren; public override bool HasChildren { get { - return - SqlHelper.ExecuteScalar("select count(NodeId) as tmp from cmsTemplate where master = " + Id) > 0; + if (!_hasChildrenInitialized) + { + _hasChildren = SqlHelper.ExecuteScalar("select count(NodeId) as tmp from cmsTemplate where master = " + Id) > 0; + } + return _hasChildren; } set { - base.HasChildren = value; + _hasChildrenInitialized = true; + _hasChildren = value; } } diff --git a/umbraco/cms/businesslogic/web/DocumentType.cs b/umbraco/cms/businesslogic/web/DocumentType.cs index 7d51541897..f55a1a2ca4 100644 --- a/umbraco/cms/businesslogic/web/DocumentType.cs +++ b/umbraco/cms/businesslogic/web/DocumentType.cs @@ -104,17 +104,22 @@ namespace umbraco.cms.businesslogic.web } } + private bool _hasChildrenInitialized = false; + private bool _hasChildren; public override bool HasChildren { get { - return - SqlHelper.ExecuteScalar("select count(NodeId) as tmp from cmsContentType where masterContentType = " + Id) > 0; - + if (!_hasChildrenInitialized) + { + HasChildren = SqlHelper.ExecuteScalar("select count(NodeId) as tmp from cmsContentType where masterContentType = " + Id) > 0; + } + return _hasChildren; } set { - base.HasChildren = value; + _hasChildrenInitialized = true; + _hasChildren = value; } }