Merge origin/dev-v7-deploy into dev-v8-zbwip (builds)
This commit is contained in:
@@ -128,48 +128,48 @@ namespace Umbraco.Core.Persistence.SqlSyntax
|
||||
public virtual string GetStringColumnEqualComparison(string column, int paramIndex, TextColumnType columnType)
|
||||
{
|
||||
//use the 'upper' method to always ensure strings are matched without case sensitivity no matter what the db setting.
|
||||
return string.Format("upper({0}) = upper(@{1})", column, paramIndex);
|
||||
return $"upper({column}) = upper(@{paramIndex})";
|
||||
}
|
||||
|
||||
public virtual string GetStringColumnWildcardComparison(string column, int paramIndex, TextColumnType columnType)
|
||||
{
|
||||
//use the 'upper' method to always ensure strings are matched without case sensitivity no matter what the db setting.
|
||||
return string.Format("upper({0}) LIKE upper(@{1})", column, paramIndex);
|
||||
return $"upper({column}) LIKE upper(@{paramIndex})";
|
||||
}
|
||||
|
||||
[Obsolete("Use the overload with the parameter index instead")]
|
||||
public virtual string GetStringColumnEqualComparison(string column, string value, TextColumnType columnType)
|
||||
{
|
||||
//use the 'upper' method to always ensure strings are matched without case sensitivity no matter what the db setting.
|
||||
return string.Format("upper({0}) = '{1}'", column, value.ToUpper());
|
||||
return $"upper({column}) = '{value.ToUpper()}'";
|
||||
}
|
||||
|
||||
[Obsolete("Use the overload with the parameter index instead")]
|
||||
public virtual string GetStringColumnStartsWithComparison(string column, string value, TextColumnType columnType)
|
||||
{
|
||||
//use the 'upper' method to always ensure strings are matched without case sensitivity no matter what the db setting.
|
||||
return string.Format("upper({0}) LIKE '{1}%'", column, value.ToUpper());
|
||||
return $"upper({column}) LIKE '{value.ToUpper()}%'";
|
||||
}
|
||||
|
||||
[Obsolete("Use the overload with the parameter index instead")]
|
||||
public virtual string GetStringColumnEndsWithComparison(string column, string value, TextColumnType columnType)
|
||||
{
|
||||
//use the 'upper' method to always ensure strings are matched without case sensitivity no matter what the db setting.
|
||||
return string.Format("upper({0}) LIKE '%{1}'", column, value.ToUpper());
|
||||
return $"upper({column}) LIKE '%{value.ToUpper()}'";
|
||||
}
|
||||
|
||||
[Obsolete("Use the overload with the parameter index instead")]
|
||||
public virtual string GetStringColumnContainsComparison(string column, string value, TextColumnType columnType)
|
||||
{
|
||||
//use the 'upper' method to always ensure strings are matched without case sensitivity no matter what the db setting.
|
||||
return string.Format("upper({0}) LIKE '%{1}%'", column, value.ToUpper());
|
||||
return $"upper({column}) LIKE '%{value.ToUpper()}%'";
|
||||
}
|
||||
|
||||
[Obsolete("Use the overload with the parameter index instead")]
|
||||
public virtual string GetStringColumnWildcardComparison(string column, string value, TextColumnType columnType)
|
||||
{
|
||||
//use the 'upper' method to always ensure strings are matched without case sensitivity no matter what the db setting.
|
||||
return string.Format("upper({0}) LIKE '{1}'", column, value.ToUpper());
|
||||
return $"upper({column}) LIKE '{value.ToUpper()}'";
|
||||
}
|
||||
|
||||
public virtual string GetConcat(params string[] args)
|
||||
@@ -179,22 +179,22 @@ namespace Umbraco.Core.Persistence.SqlSyntax
|
||||
|
||||
public virtual string GetQuotedTableName(string tableName)
|
||||
{
|
||||
return string.Format("\"{0}\"", tableName);
|
||||
return $"\"{tableName}\"";
|
||||
}
|
||||
|
||||
public virtual string GetQuotedColumnName(string columnName)
|
||||
{
|
||||
return string.Format("\"{0}\"", columnName);
|
||||
return $"\"{columnName}\"";
|
||||
}
|
||||
|
||||
public virtual string GetQuotedName(string name)
|
||||
{
|
||||
return string.Format("\"{0}\"", name);
|
||||
return $"\"{name}\"";
|
||||
}
|
||||
|
||||
public virtual string GetQuotedValue(string value)
|
||||
{
|
||||
return string.Format("'{0}'", value);
|
||||
return $"'{value}'";
|
||||
}
|
||||
|
||||
public virtual string GetIndexType(IndexTypes indexTypes)
|
||||
@@ -299,13 +299,13 @@ namespace Umbraco.Core.Persistence.SqlSyntax
|
||||
|
||||
public virtual string Format(IndexDefinition index)
|
||||
{
|
||||
string name = string.IsNullOrEmpty(index.Name)
|
||||
? string.Format("IX_{0}_{1}", index.TableName, index.ColumnName)
|
||||
: index.Name;
|
||||
var name = string.IsNullOrEmpty(index.Name)
|
||||
? $"IX_{index.TableName}_{index.ColumnName}"
|
||||
: index.Name;
|
||||
|
||||
string columns = index.Columns.Any()
|
||||
? string.Join(",", index.Columns.Select(x => GetQuotedColumnName(x.Name)))
|
||||
: GetQuotedColumnName(index.ColumnName);
|
||||
var columns = index.Columns.Any()
|
||||
? string.Join(",", index.Columns.Select(x => GetQuotedColumnName(x.Name)))
|
||||
: GetQuotedColumnName(index.ColumnName);
|
||||
|
||||
return string.Format(CreateIndex, GetIndexType(index.IndexType), " ", GetQuotedName(name),
|
||||
GetQuotedTableName(index.TableName), columns);
|
||||
@@ -318,9 +318,9 @@ namespace Umbraco.Core.Persistence.SqlSyntax
|
||||
|
||||
public virtual string Format(ForeignKeyDefinition foreignKey)
|
||||
{
|
||||
string constraintName = string.IsNullOrEmpty(foreignKey.Name)
|
||||
? string.Format("FK_{0}_{1}_{2}", foreignKey.ForeignTable, foreignKey.PrimaryTable, foreignKey.PrimaryColumns.First())
|
||||
: foreignKey.Name;
|
||||
var constraintName = string.IsNullOrEmpty(foreignKey.Name)
|
||||
? $"FK_{foreignKey.ForeignTable}_{foreignKey.PrimaryTable}_{foreignKey.PrimaryColumns.First()}"
|
||||
: foreignKey.Name;
|
||||
|
||||
return string.Format(CreateForeignKeyConstraint,
|
||||
GetQuotedTableName(foreignKey.ForeignTable),
|
||||
@@ -344,16 +344,9 @@ namespace Umbraco.Core.Persistence.SqlSyntax
|
||||
|
||||
public virtual string Format(ColumnDefinition column)
|
||||
{
|
||||
var clauses = new List<string>();
|
||||
|
||||
foreach (var action in ClauseOrder)
|
||||
{
|
||||
string clause = action(column);
|
||||
if (!string.IsNullOrEmpty(clause))
|
||||
clauses.Add(clause);
|
||||
}
|
||||
|
||||
return string.Join(" ", clauses.ToArray());
|
||||
return string.Join(" ", ClauseOrder
|
||||
.Select(action => action(column))
|
||||
.Where(clause => string.IsNullOrEmpty(clause) == false));
|
||||
}
|
||||
|
||||
public virtual string FormatPrimaryKey(TableDefinition table)
|
||||
@@ -362,17 +355,17 @@ namespace Umbraco.Core.Persistence.SqlSyntax
|
||||
if (columnDefinition == null)
|
||||
return string.Empty;
|
||||
|
||||
string constraintName = string.IsNullOrEmpty(columnDefinition.PrimaryKeyName)
|
||||
? string.Format("PK_{0}", table.Name)
|
||||
: columnDefinition.PrimaryKeyName;
|
||||
var constraintName = string.IsNullOrEmpty(columnDefinition.PrimaryKeyName)
|
||||
? $"PK_{table.Name}"
|
||||
: columnDefinition.PrimaryKeyName;
|
||||
|
||||
string columns = string.IsNullOrEmpty(columnDefinition.PrimaryKeyColumns)
|
||||
? GetQuotedColumnName(columnDefinition.Name)
|
||||
: string.Join(", ", columnDefinition.PrimaryKeyColumns
|
||||
.Split(new[] { ',', ' ' }, StringSplitOptions.RemoveEmptyEntries)
|
||||
.Select(GetQuotedColumnName));
|
||||
var columns = string.IsNullOrEmpty(columnDefinition.PrimaryKeyColumns)
|
||||
? GetQuotedColumnName(columnDefinition.Name)
|
||||
: string.Join(", ", columnDefinition.PrimaryKeyColumns
|
||||
.Split(new[] { ',', ' ' }, StringSplitOptions.RemoveEmptyEntries)
|
||||
.Select(GetQuotedColumnName));
|
||||
|
||||
string primaryKeyPart = string.Concat("PRIMARY KEY", columnDefinition.IsIndexed ? " CLUSTERED" : " NONCLUSTERED");
|
||||
var primaryKeyPart = string.Concat("PRIMARY KEY", columnDefinition.IsIndexed ? " CLUSTERED" : " NONCLUSTERED");
|
||||
|
||||
return string.Format(CreateConstraint,
|
||||
GetQuotedTableName(table.Name),
|
||||
@@ -396,7 +389,7 @@ namespace Umbraco.Core.Persistence.SqlSyntax
|
||||
|
||||
protected virtual string FormatCascade(string onWhat, Rule rule)
|
||||
{
|
||||
string action = "NO ACTION";
|
||||
var action = "NO ACTION";
|
||||
switch (rule)
|
||||
{
|
||||
case Rule.None:
|
||||
@@ -412,7 +405,7 @@ namespace Umbraco.Core.Persistence.SqlSyntax
|
||||
break;
|
||||
}
|
||||
|
||||
return string.Format(" ON {0} {1}", onWhat, action);
|
||||
return $" ON {onWhat} {action}";
|
||||
}
|
||||
|
||||
protected virtual string FormatString(ColumnDefinition column)
|
||||
@@ -429,15 +422,13 @@ namespace Umbraco.Core.Persistence.SqlSyntax
|
||||
{
|
||||
if (column.Size != default(int))
|
||||
{
|
||||
return string.Format("{0}({1})",
|
||||
GetSpecialDbType(column.DbType),
|
||||
column.Size);
|
||||
return $"{GetSpecialDbType(column.DbType)}({column.Size})";
|
||||
}
|
||||
|
||||
return GetSpecialDbType(column.DbType);
|
||||
}
|
||||
|
||||
Type type = column.Type.HasValue
|
||||
var type = column.Type.HasValue
|
||||
? DbTypeMap.ColumnDbTypeMap.First(x => x.Value == column.Type.Value).Key
|
||||
: column.PropertyType;
|
||||
|
||||
@@ -454,10 +445,10 @@ namespace Umbraco.Core.Persistence.SqlSyntax
|
||||
return string.Format(DecimalColumnDefinitionFormat, precision, scale);
|
||||
}
|
||||
|
||||
string definition = DbTypeMap.ColumnTypeMap.First(x => x.Key == type).Value;
|
||||
string dbTypeDefinition = column.Size != default(int)
|
||||
? string.Format("{0}({1})", definition, column.Size)
|
||||
: definition;
|
||||
var definition = DbTypeMap.ColumnTypeMap.First(x => x.Key == type).Value;
|
||||
var dbTypeDefinition = column.Size != default(int)
|
||||
? $"{definition}({column.Size})"
|
||||
: definition;
|
||||
//NOTE Percision is left out
|
||||
return dbTypeDefinition;
|
||||
}
|
||||
@@ -472,10 +463,8 @@ namespace Umbraco.Core.Persistence.SqlSyntax
|
||||
if (string.IsNullOrEmpty(column.ConstraintName) && column.DefaultValue == null)
|
||||
return string.Empty;
|
||||
|
||||
return string.Format("CONSTRAINT {0}",
|
||||
string.IsNullOrEmpty(column.ConstraintName)
|
||||
? GetQuotedName(string.Format("DF_{0}_{1}", column.TableName, column.Name))
|
||||
: column.ConstraintName);
|
||||
return
|
||||
$"CONSTRAINT {(string.IsNullOrEmpty(column.ConstraintName) ? GetQuotedName($"DF_{column.TableName}_{column.Name}") : column.ConstraintName)}";
|
||||
}
|
||||
|
||||
protected virtual string FormatDefaultValue(ColumnDefinition column)
|
||||
@@ -490,11 +479,8 @@ namespace Umbraco.Core.Persistence.SqlSyntax
|
||||
// see if this is for a system method
|
||||
if (column.DefaultValue is SystemMethods)
|
||||
{
|
||||
string method = FormatSystemMethods((SystemMethods)column.DefaultValue);
|
||||
if (string.IsNullOrEmpty(method))
|
||||
return string.Empty;
|
||||
|
||||
return string.Format(DefaultValueFormat, method);
|
||||
var method = FormatSystemMethods((SystemMethods)column.DefaultValue);
|
||||
return string.IsNullOrEmpty(method) ? string.Empty : string.Format(DefaultValueFormat, method);
|
||||
}
|
||||
|
||||
return string.Format(DefaultValueFormat, GetQuotedValue(column.DefaultValue.ToString()));
|
||||
@@ -509,6 +495,8 @@ namespace Umbraco.Core.Persistence.SqlSyntax
|
||||
|
||||
protected abstract string FormatIdentity(ColumnDefinition column);
|
||||
|
||||
public abstract Sql<SqlContext> SelectTop(Sql<SqlContext> sql, int top);
|
||||
|
||||
public virtual string DeleteDefaultConstraint
|
||||
{
|
||||
get
|
||||
@@ -517,34 +505,34 @@ namespace Umbraco.Core.Persistence.SqlSyntax
|
||||
}
|
||||
}
|
||||
|
||||
public virtual string CreateTable { get { return "CREATE TABLE {0} ({1})"; } }
|
||||
public virtual string DropTable { get { return "DROP TABLE {0}"; } }
|
||||
public virtual string CreateTable => "CREATE TABLE {0} ({1})";
|
||||
public virtual string DropTable => "DROP TABLE {0}";
|
||||
|
||||
public virtual string AddColumn { get { return "ALTER TABLE {0} ADD COLUMN {1}"; } }
|
||||
public virtual string DropColumn { get { return "ALTER TABLE {0} DROP COLUMN {1}"; } }
|
||||
public virtual string AlterColumn { get { return "ALTER TABLE {0} ALTER COLUMN {1}"; } }
|
||||
public virtual string RenameColumn { get { return "ALTER TABLE {0} RENAME COLUMN {1} TO {2}"; } }
|
||||
public virtual string AddColumn => "ALTER TABLE {0} ADD COLUMN {1}";
|
||||
public virtual string DropColumn => "ALTER TABLE {0} DROP COLUMN {1}";
|
||||
public virtual string AlterColumn => "ALTER TABLE {0} ALTER COLUMN {1}";
|
||||
public virtual string RenameColumn => "ALTER TABLE {0} RENAME COLUMN {1} TO {2}";
|
||||
|
||||
public virtual string RenameTable { get { return "RENAME TABLE {0} TO {1}"; } }
|
||||
public virtual string RenameTable => "RENAME TABLE {0} TO {1}";
|
||||
|
||||
public virtual string CreateSchema { get { return "CREATE SCHEMA {0}"; } }
|
||||
public virtual string AlterSchema { get { return "ALTER SCHEMA {0} TRANSFER {1}.{2}"; } }
|
||||
public virtual string DropSchema { get { return "DROP SCHEMA {0}"; } }
|
||||
public virtual string CreateSchema => "CREATE SCHEMA {0}";
|
||||
public virtual string AlterSchema => "ALTER SCHEMA {0} TRANSFER {1}.{2}";
|
||||
public virtual string DropSchema => "DROP SCHEMA {0}";
|
||||
|
||||
public virtual string CreateIndex { get { return "CREATE {0}{1}INDEX {2} ON {3} ({4})"; } }
|
||||
public virtual string DropIndex { get { return "DROP INDEX {0}"; } }
|
||||
public virtual string CreateIndex => "CREATE {0}{1}INDEX {2} ON {3} ({4})";
|
||||
public virtual string DropIndex => "DROP INDEX {0}";
|
||||
|
||||
public virtual string InsertData { get { return "INSERT INTO {0} ({1}) VALUES ({2})"; } }
|
||||
public virtual string UpdateData { get { return "UPDATE {0} SET {1} WHERE {2}"; } }
|
||||
public virtual string DeleteData { get { return "DELETE FROM {0} WHERE {1}"; } }
|
||||
public virtual string TruncateTable { get { return "TRUNCATE TABLE {0}"; } }
|
||||
public virtual string InsertData => "INSERT INTO {0} ({1}) VALUES ({2})";
|
||||
public virtual string UpdateData => "UPDATE {0} SET {1} WHERE {2}";
|
||||
public virtual string DeleteData => "DELETE FROM {0} WHERE {1}";
|
||||
public virtual string TruncateTable => "TRUNCATE TABLE {0}";
|
||||
|
||||
public virtual string CreateConstraint { get { return "ALTER TABLE {0} ADD CONSTRAINT {1} {2} ({3})"; } }
|
||||
public virtual string DeleteConstraint { get { return "ALTER TABLE {0} DROP CONSTRAINT {1}"; } }
|
||||
public virtual string CreateForeignKeyConstraint { get { return "ALTER TABLE {0} ADD CONSTRAINT {1} FOREIGN KEY ({2}) REFERENCES {3} ({4}){5}{6}"; } }
|
||||
public virtual string CreateConstraint => "ALTER TABLE {0} ADD CONSTRAINT {1} {2} ({3})";
|
||||
public virtual string DeleteConstraint => "ALTER TABLE {0} DROP CONSTRAINT {1}";
|
||||
public virtual string CreateForeignKeyConstraint => "ALTER TABLE {0} ADD CONSTRAINT {1} FOREIGN KEY ({2}) REFERENCES {3} ({4}){5}{6}";
|
||||
|
||||
public virtual string ConvertIntegerToOrderableString { get { return "REPLACE(STR({0}, 8), SPACE(1), '0')"; } }
|
||||
public virtual string ConvertDateToOrderableString { get { return "CONVERT(nvarchar, {0}, 102)"; } }
|
||||
public virtual string ConvertDecimalToOrderableString { get { return "REPLACE(STR({0}, 20, 9), SPACE(1), '0')"; } }
|
||||
public virtual string ConvertIntegerToOrderableString => "REPLACE(STR({0}, 8), SPACE(1), '0')";
|
||||
public virtual string ConvertDateToOrderableString => "CONVERT(nvarchar, {0}, 102)";
|
||||
public virtual string ConvertDecimalToOrderableString => "REPLACE(STR({0}, 20, 9), SPACE(1), '0')";
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user