diff --git a/SqlProvidersCommon/SqlFilesStorageProviderBase.cs b/SqlProvidersCommon/SqlFilesStorageProviderBase.cs index be73853..2b3eba5 100644 --- a/SqlProvidersCommon/SqlFilesStorageProviderBase.cs +++ b/SqlProvidersCommon/SqlFilesStorageProviderBase.cs @@ -171,6 +171,7 @@ namespace ScrewTurn.Wiki.Plugins.SqlCommon { string query = queryBuilder.SelectFrom("File", new string[] { "Name" }); query = queryBuilder.Where(query, "Directory", WhereOperator.Equals, "Directory"); + query = queryBuilder.OrderBy(query, new [] { "Name" }, new[] { Ordering.Asc }); List parameters = new List(1); parameters.Add(new Parameter(ParameterType.String, "Directory", directory)); @@ -213,6 +214,7 @@ namespace ScrewTurn.Wiki.Plugins.SqlCommon { string query = queryBuilder.SelectFrom("Directory", new string[] { "FullPath" }); query = queryBuilder.Where(query, "Parent", WhereOperator.Equals, "Parent"); + query = queryBuilder.OrderBy(query, new[] { "FullPath" }, new[] { Ordering.Asc }); List parameters = new List(1); parameters.Add(new Parameter(ParameterType.String, "Parent", directory)); @@ -258,6 +260,7 @@ namespace ScrewTurn.Wiki.Plugins.SqlCommon { List parameters = new List(1); parameters.Add(new Parameter(ParameterType.String, "Parent", directory)); + query = queryBuilder.OrderBy(query, new[] { "FullPath" }, new[] { Ordering.Asc }); DbCommand command = builder.GetCommand(transaction, query, parameters); @@ -850,7 +853,8 @@ namespace ScrewTurn.Wiki.Plugins.SqlCommon { QueryBuilder queryBuilder = new QueryBuilder(builder); string query = queryBuilder.SelectFrom("Attachment", new string[] { "Page" }); - query = queryBuilder.GroupBy(query, new string[] { "Page" }); + query = queryBuilder.GroupBy(query, new[] { "Page" }); + query = queryBuilder.OrderBy(query, new[] { "Page" }, new[] { Ordering.Asc }); DbCommand command = builder.GetCommand(connString, query, new List()); @@ -882,6 +886,7 @@ namespace ScrewTurn.Wiki.Plugins.SqlCommon { string query = queryBuilder.SelectFrom("Attachment", new string[] { "Name" }); query = queryBuilder.Where(query, "Page", WhereOperator.Equals, "Page"); + query = queryBuilder.OrderBy(query, new[] { "Name" }, new[] { Ordering.Asc }); List parameters = new List(1); parameters.Add(new Parameter(ParameterType.String, "Page", pageInfo.FullName)); @@ -919,6 +924,7 @@ namespace ScrewTurn.Wiki.Plugins.SqlCommon { List parameters = new List(1); parameters.Add(new Parameter(ParameterType.String, "Page", pageInfo.FullName)); + query = queryBuilder.OrderBy(query, new[] { "Name" }, new[] { Ordering.Asc }); DbCommand command = builder.GetCommand(connection, query, parameters); diff --git a/SqlProvidersCommon/SqlPagesStorageProviderBase.cs b/SqlProvidersCommon/SqlPagesStorageProviderBase.cs index c88f087..e9407c0 100644 --- a/SqlProvidersCommon/SqlPagesStorageProviderBase.cs +++ b/SqlProvidersCommon/SqlPagesStorageProviderBase.cs @@ -825,6 +825,7 @@ namespace ScrewTurn.Wiki.Plugins.SqlCommon { query = queryBuilder.Where(query, "Namespace", "Name", WhereOperator.NotEquals, "Empty1"); query = queryBuilder.AndWhere(query, "Namespace", "DefaultPage", WhereOperator.IsNull, null, true, false); query = queryBuilder.OrWhere(query, "Page", "Namespace", WhereOperator.NotEquals, "Empty2", false, true); + query = queryBuilder.OrderBy(query, new[] { "Namespace_Name" }, new[] { Ordering.Asc }); List parameters = new List(2); parameters.Add(new Parameter(ParameterType.String, "Empty1", "")); @@ -1442,6 +1443,7 @@ namespace ScrewTurn.Wiki.Plugins.SqlCommon { new string[] { "Name", "Namespace" }, new string[] { "Page" }); query = queryBuilder.Where(query, "CategoryBinding", "Namespace", WhereOperator.Equals, "Namespace"); query = queryBuilder.AndWhere(query, "CategoryBinding", "Page", WhereOperator.Equals, "Page"); + query = queryBuilder.OrderBy(query, new[] { "Category_Name" }, new[] { Ordering.Asc }); List parameters = new List(2); parameters.Add(new Parameter(ParameterType.String, "Namespace", nspace)); @@ -1918,6 +1920,7 @@ namespace ScrewTurn.Wiki.Plugins.SqlCommon { string query = queryBuilder.SelectFrom("Page"); query = queryBuilder.Where(query, "Namespace", WhereOperator.Equals, "Namespace"); + query = queryBuilder.OrderBy(query, new[] { "Name" }, new[] { Ordering.Asc }); List parameters = new List(1); parameters.Add(new Parameter(ParameterType.String, "Namespace", nspaceName)); @@ -1958,6 +1961,7 @@ namespace ScrewTurn.Wiki.Plugins.SqlCommon { List parameters = new List(1); parameters.Add(new Parameter(ParameterType.String, "Namespace", nspaceName)); + query = queryBuilder.OrderBy(query, new[] { "Name" }, new[] { Ordering.Asc }); DbCommand command = builder.GetCommand(connection, query, parameters); @@ -2004,10 +2008,10 @@ namespace ScrewTurn.Wiki.Plugins.SqlCommon { ICommandBuilder builder = GetCommandBuilder(); QueryBuilder queryBuilder = new QueryBuilder(builder); - string query = queryBuilder.SelectFrom("Page"); - query = queryBuilder.SelectFrom("Page", "CategoryBinding", "Name", "Page", Join.LeftJoin); + string query = queryBuilder.SelectFrom("Page", "CategoryBinding", "Name", "Page", Join.LeftJoin); query = queryBuilder.Where(query, "CategoryBinding", "Category", WhereOperator.IsNull, null); query = queryBuilder.AndWhere(query, "Page", "Namespace", WhereOperator.Equals, "Namespace"); + query = queryBuilder.OrderBy(query, new[] { "Name" }, new[] { Ordering.Asc }); List parameters = new List(1); parameters.Add(new Parameter(ParameterType.String, "Namespace", nspaceName)); @@ -2237,6 +2241,7 @@ namespace ScrewTurn.Wiki.Plugins.SqlCommon { query = queryBuilder.Where(query, "Page", WhereOperator.Equals, "Page"); query = queryBuilder.AndWhere(query, "Namespace", WhereOperator.Equals, "Namespace"); query = queryBuilder.AndWhere(query, "Revision", WhereOperator.GreaterThanOrEqualTo, "Revision"); + query = queryBuilder.OrderBy(query, new[] { "Revision" }, new[] { Ordering.Asc }); List parameters = new List(3); parameters.Add(new Parameter(ParameterType.String, "Page", name)); @@ -2283,6 +2288,7 @@ namespace ScrewTurn.Wiki.Plugins.SqlCommon { query = queryBuilder.Where(query, "Page", WhereOperator.Equals, "Page"); query = queryBuilder.AndWhere(query, "Namespace", WhereOperator.Equals, "Namespace"); query = queryBuilder.AndWhere(query, "Revision", WhereOperator.GreaterThanOrEqualTo, "Revision"); + query = queryBuilder.OrderBy(query, new[] { "Revision" }, new[] { Ordering.Asc }); List parameters = new List(3); parameters.Add(new Parameter(ParameterType.String, "Page", name)); @@ -3088,7 +3094,7 @@ namespace ScrewTurn.Wiki.Plugins.SqlCommon { string query = queryBuilder.SelectFrom("Message", new string[] { "Id", "Parent", "Username", "Subject", "DateTime", "Body" }); query = queryBuilder.Where(query, "Page", WhereOperator.Equals, "Page"); query = queryBuilder.AndWhere(query, "Namespace", WhereOperator.Equals, "Namespace"); - query = queryBuilder.OrderBy(query, new string[] { "DateTime" }, new Ordering[] { Ordering.Asc }); + query = queryBuilder.OrderBy(query, new string[] { "DateTime", "Id" }, new Ordering[] { Ordering.Asc, Ordering.Asc }); List parameters = new List(2); parameters.Add(new Parameter(ParameterType.String, "Page", name)); @@ -3164,7 +3170,7 @@ namespace ScrewTurn.Wiki.Plugins.SqlCommon { string query = queryBuilder.SelectFrom("Message", new string[] { "Id", "Parent", "Username", "Subject", "DateTime", "Body" }); query = queryBuilder.Where(query, "Page", WhereOperator.Equals, "Page"); query = queryBuilder.AndWhere(query, "Namespace", WhereOperator.Equals, "Namespace"); - query = queryBuilder.OrderBy(query, new string[] { "DateTime" }, new Ordering[] { Ordering.Asc }); + query = queryBuilder.OrderBy(query, new string[] { "DateTime", "Id" }, new Ordering[] { Ordering.Asc, Ordering.Asc }); List parameters = new List(2); parameters.Add(new Parameter(ParameterType.String, "Page", name)); @@ -3996,7 +4002,9 @@ namespace ScrewTurn.Wiki.Plugins.SqlCommon { public Snippet[] GetSnippets() { ICommandBuilder builder = GetCommandBuilder(); - string query = QueryBuilder.NewQuery(builder).SelectFrom("Snippet"); + QueryBuilder queryBuilder = QueryBuilder.NewQuery(builder); + string query = queryBuilder.SelectFrom("Snippet"); + query = queryBuilder.OrderBy(query, new[] { "Name" }, new[] { Ordering.Asc }); DbCommand command = builder.GetCommand(connString, query, new List()); @@ -4194,7 +4202,9 @@ namespace ScrewTurn.Wiki.Plugins.SqlCommon { public ContentTemplate[] GetContentTemplates() { ICommandBuilder builder = GetCommandBuilder(); - string query = QueryBuilder.NewQuery(builder).SelectFrom("ContentTemplate"); + QueryBuilder queryBuilder = QueryBuilder.NewQuery(builder); + string query = queryBuilder.SelectFrom("ContentTemplate"); + query = queryBuilder.OrderBy(query, new[] { "Name" }, new[] { Ordering.Asc }); DbCommand command = builder.GetCommand(connString, query, new List()); diff --git a/SqlProvidersCommon/SqlSettingsStorageProviderBase.cs b/SqlProvidersCommon/SqlSettingsStorageProviderBase.cs index 4056edb..48666b2 100644 --- a/SqlProvidersCommon/SqlSettingsStorageProviderBase.cs +++ b/SqlProvidersCommon/SqlSettingsStorageProviderBase.cs @@ -157,6 +157,7 @@ namespace ScrewTurn.Wiki.Plugins.SqlCommon { public IDictionary GetAllSettings() { ICommandBuilder builder = GetCommandBuilder(); + // Sorting order is not relevant string query = QueryBuilder.NewQuery(builder).SelectFrom("Setting"); DbCommand command = builder.GetCommand(connString, query, new List()); @@ -705,6 +706,7 @@ namespace ScrewTurn.Wiki.Plugins.SqlCommon { public string[] ListPluginAssemblies() { ICommandBuilder builder = GetCommandBuilder(); + // Sort order is not relevant string query = QueryBuilder.NewQuery(builder).SelectFrom("PluginAssembly", new string[] { "Name" }); DbCommand command = builder.GetCommand(connString, query, new List()); @@ -1095,6 +1097,7 @@ namespace ScrewTurn.Wiki.Plugins.SqlCommon { private AclEntry[] LoadDataInternal() { ICommandBuilder builder = GetCommandBuilder(); + // Sort order is not relevant string query = QueryBuilder.NewQuery(builder).SelectFrom("AclEntry"); DbCommand command = builder.GetCommand(connString, query, new List()); @@ -1257,6 +1260,7 @@ namespace ScrewTurn.Wiki.Plugins.SqlCommon { string query = queryBuilder.SelectFrom("OutgoingLink", new string[] { "Destination" }); query = queryBuilder.Where(query, "Source", WhereOperator.Equals, "Source"); + query = queryBuilder.OrderBy(query, new[] { "Destination" }, new[] { Ordering.Asc }); List parameters = new List(1); parameters.Add(new Parameter(ParameterType.String, "Source", page)); diff --git a/SqlProvidersCommon/SqlUsersStorageProviderBase.cs b/SqlProvidersCommon/SqlUsersStorageProviderBase.cs index 40e87b2..ab64aaa 100644 --- a/SqlProvidersCommon/SqlUsersStorageProviderBase.cs +++ b/SqlProvidersCommon/SqlUsersStorageProviderBase.cs @@ -35,10 +35,12 @@ namespace ScrewTurn.Wiki.Plugins.SqlCommon { public UserInfo[] GetUsers() { ICommandBuilder builder = GetCommandBuilder(); - string query = QueryBuilder.NewQuery(builder).SelectFrom( + QueryBuilder queryBuilder = QueryBuilder.NewQuery(builder); + string query = queryBuilder.SelectFrom( "User", "UserGroupMembership", "Username", "User", Join.LeftJoin, new string[] { "Username", "DisplayName", "Email", "Active", "DateTime" }, new string[] { "UserGroup" }); + query = queryBuilder.OrderBy(query, new[] { "User_Username" }, new[] { Ordering.Asc }); DbCommand command = builder.GetCommand(connString, query, new List()); @@ -150,6 +152,7 @@ namespace ScrewTurn.Wiki.Plugins.SqlCommon { string query = queryBuilder.SelectFrom("UserGroupMembership", new string[] { "UserGroup" }); query = queryBuilder.Where(query, "User", WhereOperator.Equals, "Username"); + queryBuilder.OrderBy(query, new[] { "UserGroup_Name" }, new[] { Ordering.Asc }); List parameters = new List(1); parameters.Add(new Parameter(ParameterType.String, "Username", username)); @@ -184,6 +187,7 @@ namespace ScrewTurn.Wiki.Plugins.SqlCommon { string query = queryBuilder.SelectFrom("UserGroupMembership", new string[] { "UserGroup" }); query = queryBuilder.Where(query, "User", WhereOperator.Equals, "Username"); + queryBuilder.OrderBy(query, new[] { "UserGroup_Name" }, new[] { Ordering.Asc }); List parameters = new List(1); parameters.Add(new Parameter(ParameterType.String, "Username", username)); @@ -300,9 +304,11 @@ namespace ScrewTurn.Wiki.Plugins.SqlCommon { public UserGroup[] GetUserGroups() { ICommandBuilder builder = GetCommandBuilder(); - string query = QueryBuilder.NewQuery(builder).SelectFrom( + QueryBuilder queryBuilder = QueryBuilder.NewQuery(builder); + string query = queryBuilder.SelectFrom( "UserGroup", "UserGroupMembership", "Name", "UserGroup", Join.LeftJoin, new string[] { "Name", "Description" }, new string[] { "User" }); + query = queryBuilder.OrderBy(query, new[] { "UserGroup_Name", "UserGroupMembership_User" }, new[] { Ordering.Asc, Ordering.Asc }); DbCommand command = builder.GetCommand(connString, query, new List()); @@ -395,6 +401,7 @@ namespace ScrewTurn.Wiki.Plugins.SqlCommon { string query = queryBuilder.SelectFrom("UserGroupMembership", new string[] { "User" }); query = queryBuilder.Where(query, "UserGroup", WhereOperator.Equals, "UserGroup"); + query = queryBuilder.OrderBy(query, new[] { "User" }, new[] { Ordering.Asc }); List parameters = new List(1); parameters.Add(new Parameter(ParameterType.String, "UserGroup", group)); @@ -429,6 +436,7 @@ namespace ScrewTurn.Wiki.Plugins.SqlCommon { string query = queryBuilder.SelectFrom("UserGroupMembership", new string[] { "User" }); query = queryBuilder.Where(query, "UserGroup", WhereOperator.Equals, "UserGroup"); + query = queryBuilder.OrderBy(query, new[] { "User" }, new[] { Ordering.Asc }); List parameters = new List(1); parameters.Add(new Parameter(ParameterType.String, "UserGroup", group)); @@ -1020,6 +1028,7 @@ namespace ScrewTurn.Wiki.Plugins.SqlCommon { ICommandBuilder builder = GetCommandBuilder(); QueryBuilder queryBuilder = new QueryBuilder(builder); + // Sorting order is not relevant string query = queryBuilder.SelectFrom("UserData", new string[] { "Key", "Data" }); query = queryBuilder.Where(query, "User", WhereOperator.Equals, "Username"); @@ -1062,6 +1071,7 @@ namespace ScrewTurn.Wiki.Plugins.SqlCommon { new string[] { "Username", "DisplayName", "Email", "Active", "DateTime" }, new string[] { "Data" }, "UserGroupMembership", "User", Join.LeftJoin, new string[] { "UserGroup" }); query = queryBuilder.Where(query, "UserData", "Key", WhereOperator.Equals, "Key"); + query = queryBuilder.OrderBy(query, new[] { "User_Username" }, new[] { Ordering.Asc }); List parameters = new List(1); parameters.Add(new Parameter(ParameterType.String, "Key", key)); diff --git a/SqlServerProviders/SqlServerFilesStorageProvider.cs b/SqlServerProviders/SqlServerFilesStorageProvider.cs index a19243b..cf5ca82 100644 --- a/SqlServerProviders/SqlServerFilesStorageProvider.cs +++ b/SqlServerProviders/SqlServerFilesStorageProvider.cs @@ -13,7 +13,7 @@ namespace ScrewTurn.Wiki.Plugins.SqlServer { /// public class SqlServerFilesStorageProvider : SqlFilesStorageProviderBase { - private readonly ComponentInformation info = new ComponentInformation("SQL Server Files Storage Provider", "ScrewTurn Software", "3.0.0.180", "http://www.screwturn.eu", "http://www.screwturn.eu/Version/SQLServerProv/Files.txt"); + private readonly ComponentInformation info = new ComponentInformation("SQL Server Files Storage Provider", "ScrewTurn Software", "3.0.0.341", "http://www.screwturn.eu", "http://www.screwturn.eu/Version/SQLServerProv/Files.txt"); private readonly SqlServerCommandBuilder commandBuilder = new SqlServerCommandBuilder(); diff --git a/SqlServerProviders/SqlServerPagesStorageProvider.cs b/SqlServerProviders/SqlServerPagesStorageProvider.cs index 01fe063..336a8fe 100644 --- a/SqlServerProviders/SqlServerPagesStorageProvider.cs +++ b/SqlServerProviders/SqlServerPagesStorageProvider.cs @@ -13,7 +13,7 @@ namespace ScrewTurn.Wiki.Plugins.SqlServer { /// public class SqlServerPagesStorageProvider : SqlPagesStorageProviderBase, IPagesStorageProviderV30 { - private readonly ComponentInformation info = new ComponentInformation("SQL Server Pages Storage Provider", "ScrewTurn Software", "3.0.0.237", "http://www.screwturn.eu", "http://www.screwturn.eu/Version/SQLServerProv/Pages.txt"); + private readonly ComponentInformation info = new ComponentInformation("SQL Server Pages Storage Provider", "ScrewTurn Software", "3.0.0.341", "http://www.screwturn.eu", "http://www.screwturn.eu/Version/SQLServerProv/Pages.txt"); private readonly SqlServerCommandBuilder commandBuilder = new SqlServerCommandBuilder(); diff --git a/SqlServerProviders/SqlServerSettingsStorageProvider.cs b/SqlServerProviders/SqlServerSettingsStorageProvider.cs index bdc2559..ca04552 100644 --- a/SqlServerProviders/SqlServerSettingsStorageProvider.cs +++ b/SqlServerProviders/SqlServerSettingsStorageProvider.cs @@ -13,7 +13,7 @@ namespace ScrewTurn.Wiki.Plugins.SqlServer { /// public class SqlServerSettingsStorageProvider : SqlSettingsStorageProviderBase { - private readonly ComponentInformation info = new ComponentInformation("SQL Server Settings Storage Provider", "ScrewTurn Software", "3.0.0.235", "http://www.screwturn.eu", "http://www.screwturn.eu/Version/SQLServerProv/Settings.txt"); + private readonly ComponentInformation info = new ComponentInformation("SQL Server Settings Storage Provider", "ScrewTurn Software", "3.0.0.341", "http://www.screwturn.eu", "http://www.screwturn.eu/Version/SQLServerProv/Settings.txt"); private readonly SqlServerCommandBuilder commandBuilder = new SqlServerCommandBuilder(); diff --git a/SqlServerProviders/SqlServerUsersStorageProvider.cs b/SqlServerProviders/SqlServerUsersStorageProvider.cs index 75c2969..c2e68d0 100644 --- a/SqlServerProviders/SqlServerUsersStorageProvider.cs +++ b/SqlServerProviders/SqlServerUsersStorageProvider.cs @@ -13,7 +13,7 @@ namespace ScrewTurn.Wiki.Plugins.SqlServer { /// public class SqlServerUsersStorageProvider : SqlUsersStorageProviderBase, IUsersStorageProviderV30 { - private readonly ComponentInformation info = new ComponentInformation("SQL Server Users Storage Provider", "ScrewTurn Software", "3.0.0.180", "http://www.screwturn.eu", "http://www.screwturn.eu/Version/SQLServerProv/Users.txt"); + private readonly ComponentInformation info = new ComponentInformation("SQL Server Users Storage Provider", "ScrewTurn Software", "3.0.0.341", "http://www.screwturn.eu", "http://www.screwturn.eu/Version/SQLServerProv/Users.txt"); private readonly SqlServerCommandBuilder commandBuilder = new SqlServerCommandBuilder();