diff --git a/src/SQLCE4Umbraco/SqlCEInstaller.cs b/src/SQLCE4Umbraco/SqlCEInstaller.cs index aeb40ed811..80a669e59c 100644 --- a/src/SQLCE4Umbraco/SqlCEInstaller.cs +++ b/src/SQLCE4Umbraco/SqlCEInstaller.cs @@ -21,15 +21,15 @@ namespace SqlCE4Umbraco public class SqlCEInstaller : DefaultInstallerUtility { #region Private Constants - + /// The latest database version this installer supports. private const DatabaseVersion LatestVersionSupported = DatabaseVersion.Version4_8; /// The specifications to determine the database version. private static readonly VersionSpecs[] m_VersionSpecs = new VersionSpecs[] { - new VersionSpecs("SELECT CONSTRAINT_NAME FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS LEFT OUTER JOIN umbracoApp ON appAlias = appAlias WHERE CONSTRAINT_NAME = 'FK_umbracoUser2app_umbracoApp'", 0, DatabaseVersion.Version4_8), - new VersionSpecs("SELECT id FROM umbracoNode WHERE id = -21", 1, DatabaseVersion.Version4_1), - new VersionSpecs("SELECT action FROM umbracoAppTree",DatabaseVersion.Version4), + new VersionSpecs("SELECT CONSTRAINT_NAME FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS LEFT OUTER JOIN umbracoApp ON appAlias = appAlias WHERE CONSTRAINT_NAME = 'FK_umbracoUser2app_umbracoApp'", 0, DatabaseVersion.Version4_8), + new VersionSpecs("SELECT id FROM umbracoNode WHERE id = -21", 1, DatabaseVersion.Version4_1), + new VersionSpecs("SELECT action FROM umbracoAppTree",DatabaseVersion.Version4), new VersionSpecs("SELECT description FROM cmsContentType",DatabaseVersion.Version3), new VersionSpecs("SELECT id FROM sysobjects",DatabaseVersion.None) }; @@ -43,8 +43,9 @@ namespace SqlCE4Umbraco public override bool CanConnect { get - { - SqlHelper.CreateEmptyDatabase(); + { + using (var sqlHelper = SqlHelper) + sqlHelper.CreateEmptyDatabase(); return base.CanConnect; } } @@ -93,22 +94,22 @@ namespace SqlCE4Umbraco #region DefaultInstaller Members - /// - /// Returns the sql to do a full install - /// - protected override string FullInstallSql - { - get { return string.Empty; } - } + /// + /// Returns the sql to do a full install + /// + protected override string FullInstallSql + { + get { return string.Empty; } + } - /// - /// Returns the sql to do an upgrade - /// - protected override string UpgradeSql - { - get { return string.Empty; } - } + /// + /// Returns the sql to do an upgrade + /// + protected override string UpgradeSql + { + get { return string.Empty; } + } // We need to override this as the default way of detection a db connection checks for systables that doesn't exist // in a CE db @@ -123,8 +124,9 @@ namespace SqlCE4Umbraco // verify connection try { - if (SqlCeApplicationBlock.VerifyConnection(base.SqlHelper.ConnectionString)) - return DatabaseVersion.None; + using (var sqlHelper = SqlHelper) + if (SqlCeApplicationBlock.VerifyConnection(sqlHelper.ConnectionString)) + return DatabaseVersion.None; } catch (Exception e) { diff --git a/src/SQLCE4Umbraco/SqlCETableUtility.cs b/src/SQLCE4Umbraco/SqlCETableUtility.cs index 7c32252d20..cac6e0d784 100644 --- a/src/SQLCE4Umbraco/SqlCETableUtility.cs +++ b/src/SQLCE4Umbraco/SqlCETableUtility.cs @@ -37,13 +37,15 @@ namespace SqlCE4Umbraco ITable table = null; // get name in correct casing - name = SqlHelper.ExecuteScalar("SELECT name FROM sys.tables WHERE name=@name", - SqlHelper.CreateParameter("name", name)); + using (var sqlHelper = SqlHelper) + name = sqlHelper.ExecuteScalar("SELECT name FROM sys.tables WHERE name=@name", + sqlHelper.CreateParameter("name", name)); if (name != null) { table = new DefaultTable(name); - using (IRecordsReader reader = SqlHelper.ExecuteReader( + using (var sqlHelper = SqlHelper) + using (IRecordsReader reader = sqlHelper.ExecuteReader( @"SELECT c.name AS Name, st.name AS DataType, c.max_length, c.is_nullable, c.is_identity FROM sys.tables AS t JOIN sys.columns AS c ON t.object_id = c.object_id @@ -51,7 +53,7 @@ namespace SqlCE4Umbraco JOIN sys.types AS ty ON ty.user_type_id = c.user_type_id JOIN sys.types st ON ty.system_type_id = st.user_type_id WHERE t.name = @name - ORDER BY c.column_id", SqlHelper.CreateParameter("name", name))) + ORDER BY c.column_id", sqlHelper.CreateParameter("name", name))) { while (reader.Read()) { @@ -112,7 +114,8 @@ namespace SqlCE4Umbraco // create query StringBuilder createTableQuery = new StringBuilder(); - createTableQuery.AppendFormat("CREATE TABLE [{0}] (", SqlHelper.EscapeString(table.Name)); + using (var sqlHelper = SqlHelper) + createTableQuery.AppendFormat("CREATE TABLE [{0}] (", sqlHelper.EscapeString(table.Name)); // add fields while (hasNext) @@ -136,7 +139,8 @@ namespace SqlCE4Umbraco // execute query try { - SqlHelper.ExecuteNonQuery(createTableQuery.ToString()); + using (var sqlHelper = SqlHelper) + sqlHelper.ExecuteNonQuery(createTableQuery.ToString()); } catch (Exception executeException) { @@ -154,13 +158,15 @@ namespace SqlCE4Umbraco Debug.Assert(table != null && field != null); StringBuilder addColumnQuery = new StringBuilder(); - addColumnQuery.AppendFormat("ALTER TABLE [{0}] ADD [{1}] {2}", - SqlHelper.EscapeString(table.Name), - SqlHelper.EscapeString(field.Name), - SqlHelper.EscapeString(GetDatabaseType(field))); + using (var sqlHelper = SqlHelper) + addColumnQuery.AppendFormat("ALTER TABLE [{0}] ADD [{1}] {2}", + sqlHelper.EscapeString(table.Name), + sqlHelper.EscapeString(field.Name), + sqlHelper.EscapeString(GetDatabaseType(field))); try { - SqlHelper.ExecuteNonQuery(addColumnQuery.ToString()); + using (var sqlHelper = SqlHelper) + sqlHelper.ExecuteNonQuery(addColumnQuery.ToString()); } catch (Exception executeException) { diff --git a/src/Umbraco.Web/UI/Controls/UmbracoControl.cs b/src/Umbraco.Web/UI/Controls/UmbracoControl.cs index 4d8bd4ce69..bc633b22a3 100644 --- a/src/Umbraco.Web/UI/Controls/UmbracoControl.cs +++ b/src/Umbraco.Web/UI/Controls/UmbracoControl.cs @@ -84,9 +84,10 @@ namespace Umbraco.Web.UI.Controls get { return _url ?? (_url = new UrlHelper(new RequestContext(new HttpContextWrapper(Context), new RouteData()))); } } - /// - /// Returns the legacy SqlHelper - /// + /// + /// Unused, please do not use + /// + [Obsolete("Obsolete, For querying the database use the new UmbracoDatabase object ApplicationContext.Current.DatabaseContext.Database", false)] protected ISqlHelper SqlHelper { get { return Application.SqlHelper; } diff --git a/src/Umbraco.Web/UI/Controls/UmbracoUserControl.cs b/src/Umbraco.Web/UI/Controls/UmbracoUserControl.cs index b60c519dd4..2a18413ace 100644 --- a/src/Umbraco.Web/UI/Controls/UmbracoUserControl.cs +++ b/src/Umbraco.Web/UI/Controls/UmbracoUserControl.cs @@ -123,8 +123,9 @@ namespace Umbraco.Web.UI.Controls } /// - /// Returns the legacy SqlHelper + /// Unused, please do not use /// + [Obsolete("Obsolete, For querying the database use the new UmbracoDatabase object ApplicationContext.Current.DatabaseContext.Database", false)] protected ISqlHelper SqlHelper { get { return global::umbraco.BusinessLogic.Application.SqlHelper; } diff --git a/src/Umbraco.Web/umbraco.presentation/content.cs b/src/Umbraco.Web/umbraco.presentation/content.cs index 777fe80782..7b7a24e63d 100644 --- a/src/Umbraco.Web/umbraco.presentation/content.cs +++ b/src/Umbraco.Web/umbraco.presentation/content.cs @@ -152,6 +152,10 @@ namespace umbraco get { return _xmlContent == null; } } + /// + /// Unused, please do not use + /// + [Obsolete("Obsolete, For querying the database use the new UmbracoDatabase object ApplicationContext.Current.DatabaseContext.Database", false)] protected static ISqlHelper SqlHelper { get { return Application.SqlHelper; } diff --git a/src/Umbraco.Web/umbraco.presentation/library.cs b/src/Umbraco.Web/umbraco.presentation/library.cs index 5047aef271..8bd94aa5b6 100644 --- a/src/Umbraco.Web/umbraco.presentation/library.cs +++ b/src/Umbraco.Web/umbraco.presentation/library.cs @@ -77,9 +77,13 @@ namespace umbraco #region Properties + /// + /// Unused, please do not use + /// + [Obsolete("Obsolete, For querying the database use the new UmbracoDatabase object ApplicationContext.Current.DatabaseContext.Database", false)] protected static ISqlHelper SqlHelper { - get { return umbraco.BusinessLogic.Application.SqlHelper; } + get { return Application.SqlHelper; } } #endregion @@ -1275,8 +1279,9 @@ namespace umbraco XmlDocument xd = new XmlDocument(); xd.LoadXml(""); - using (IRecordsReader dr = SqlHelper.ExecuteReader("Select id, [value] from cmsDataTypeprevalues where DataTypeNodeId = @dataTypeId order by sortorder", - SqlHelper.CreateParameter("@dataTypeId", DataTypeId))) + using (var sqlHelper = Application.SqlHelper) + using (IRecordsReader dr = sqlHelper.ExecuteReader("Select id, [value] from cmsDataTypeprevalues where DataTypeNodeId = @dataTypeId order by sortorder", + sqlHelper.CreateParameter("@dataTypeId", DataTypeId))) { while (dr.Read()) { @@ -1298,8 +1303,9 @@ namespace umbraco { try { - return SqlHelper.ExecuteScalar("select [value] from cmsDataTypePreValues where id = @id", - SqlHelper.CreateParameter("@id", Id)); + using (var sqlHelper = Application.SqlHelper) + return sqlHelper.ExecuteScalar("select [value] from cmsDataTypePreValues where id = @id", + sqlHelper.CreateParameter("@id", Id)); } catch { diff --git a/src/Umbraco.Web/umbraco.presentation/macro.cs b/src/Umbraco.Web/umbraco.presentation/macro.cs index 77027749e2..6d2936cd9a 100644 --- a/src/Umbraco.Web/umbraco.presentation/macro.cs +++ b/src/Umbraco.Web/umbraco.presentation/macro.cs @@ -64,6 +64,10 @@ namespace umbraco private const string MacrosAddedKey = "macrosAdded"; public IList Exceptions = new List(); + /// + /// Unused, please do not use + /// + [Obsolete("Obsolete, For querying the database use the new UmbracoDatabase object ApplicationContext.Current.DatabaseContext.Database", false)] protected static ISqlHelper SqlHelper { get { return Application.SqlHelper; } diff --git a/src/Umbraco.Web/umbraco.presentation/template.cs b/src/Umbraco.Web/umbraco.presentation/template.cs index dfdad324e2..4290ce2acf 100644 --- a/src/Umbraco.Web/umbraco.presentation/template.cs +++ b/src/Umbraco.Web/umbraco.presentation/template.cs @@ -468,12 +468,14 @@ namespace umbraco #endregion - + /// + /// Unused, please do not use + /// + [Obsolete("Obsolete, For querying the database use the new UmbracoDatabase object ApplicationContext.Current.DatabaseContext.Database", false)] protected static ISqlHelper SqlHelper { get { return Application.SqlHelper; } } - #region constructors public static string GetMasterPageName(int templateID) @@ -497,11 +499,12 @@ namespace umbraco var t = ApplicationContext.Current.ApplicationCache.RuntimeCache.GetCacheItem