mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-05-08 06:37:57 +08:00
Synchronized code
This commit is contained in:
parent
feb6a58394
commit
28f29e409f
@ -13,11 +13,11 @@ namespace SqlSugar
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override ISugarQueryable<T> PartitionBy(string groupFileds)
|
//public override ISugarQueryable<T> PartitionBy(string groupFileds)
|
||||||
{
|
//{
|
||||||
this.GroupBy(groupFileds);
|
// this.GroupBy(groupFileds);
|
||||||
return this;
|
// return this;
|
||||||
}
|
//}
|
||||||
}
|
}
|
||||||
public class DmQueryable<T, T2> : QueryableProvider<T, T2>
|
public class DmQueryable<T, T2> : QueryableProvider<T, T2>
|
||||||
{
|
{
|
||||||
|
@ -50,8 +50,10 @@ namespace SqlSugar
|
|||||||
{
|
{
|
||||||
var queryable = this.Context.Queryable<T>();
|
var queryable = this.Context.Queryable<T>();
|
||||||
var tableName = queryable.SqlBuilder.GetTranslationTableName(dt.TableName);
|
var tableName = queryable.SqlBuilder.GetTranslationTableName(dt.TableName);
|
||||||
|
var sqlBuilder = this.Context.Queryable<object>().SqlBuilder;
|
||||||
|
var dts = dt.Columns.Cast<DataColumn>().Select(it => sqlBuilder.GetTranslationColumnName(it.ColumnName)).ToList();
|
||||||
dt.TableName = "temp" + SnowFlakeSingle.instance.getID();
|
dt.TableName = "temp" + SnowFlakeSingle.instance.getID();
|
||||||
var sql = queryable.AS(tableName).Where(it => false).ToSql().Key;
|
var sql = queryable.AS(tableName).Where(it => false).Select(string.Join(",", dts)).ToSql().Key;
|
||||||
await this.Context.Ado.ExecuteCommandAsync($"CREATE TABLE {dt.TableName} as ( {sql} ) ");
|
await this.Context.Ado.ExecuteCommandAsync($"CREATE TABLE {dt.TableName} as ( {sql} ) ");
|
||||||
}
|
}
|
||||||
public override string UpdateSql { get; set; } = @"UPDATE {1} TM INNER JOIN {2} TE ON {3} SET {0} ";
|
public override string UpdateSql { get; set; } = @"UPDATE {1} TM INNER JOIN {2} TE ON {3} SET {0} ";
|
||||||
|
@ -13,12 +13,17 @@ namespace SqlSugar
|
|||||||
public override string SqlTemplate
|
public override string SqlTemplate
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
return "SELECT {0}{" + UtilConstants.ReplaceKey + "} FROM {1}{2}{3}{4}";
|
return "SELECT {0}{" + UtilConstants.ReplaceKey + "} FROM {1}{2}{3}{4}";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public override string ToSqlString()
|
public override string ToSqlString()
|
||||||
{
|
{
|
||||||
|
|
||||||
|
if (PartitionByValue.HasValue())
|
||||||
|
{
|
||||||
|
return base.ToSqlString();
|
||||||
|
}
|
||||||
//Support MySql Model
|
//Support MySql Model
|
||||||
if (this.Context.CurrentConnectionConfig.MoreSettings?.DatabaseModel == DbType.MySql)
|
if (this.Context.CurrentConnectionConfig.MoreSettings?.DatabaseModel == DbType.MySql)
|
||||||
{
|
{
|
||||||
@ -144,6 +149,11 @@ namespace SqlSugar
|
|||||||
return "SELECT {0} FROM {1}{2}{3}{4} ";
|
return "SELECT {0} FROM {1}{2}{3}{4} ";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
public override string GetExternalOrderBy(string externalOrderBy)
|
||||||
|
{
|
||||||
|
return Regex.Replace(externalOrderBy, @"""\w+""\.", "");
|
||||||
|
}
|
||||||
|
|
||||||
private string OffsetPage()
|
private string OffsetPage()
|
||||||
{
|
{
|
||||||
var skip = this.Skip ?? 1;
|
var skip = this.Skip ?? 1;
|
||||||
|
@ -71,6 +71,7 @@ namespace SqlSugar
|
|||||||
//new KeyValuePair<string, CSharpDataType>("int1",CSharpDataType.@byte),
|
//new KeyValuePair<string, CSharpDataType>("int1",CSharpDataType.@byte),
|
||||||
new KeyValuePair<string, CSharpDataType>("smallint",CSharpDataType.@short),
|
new KeyValuePair<string, CSharpDataType>("smallint",CSharpDataType.@short),
|
||||||
new KeyValuePair<string, CSharpDataType>("smallint",CSharpDataType.@byte),
|
new KeyValuePair<string, CSharpDataType>("smallint",CSharpDataType.@byte),
|
||||||
|
new KeyValuePair<string, CSharpDataType>("tinyint",CSharpDataType.@byte),
|
||||||
new KeyValuePair<string, CSharpDataType>("int4",CSharpDataType.@int),
|
new KeyValuePair<string, CSharpDataType>("int4",CSharpDataType.@int),
|
||||||
new KeyValuePair<string, CSharpDataType>("uint4",CSharpDataType.@int),
|
new KeyValuePair<string, CSharpDataType>("uint4",CSharpDataType.@int),
|
||||||
new KeyValuePair<string, CSharpDataType>("integer",CSharpDataType.@int),
|
new KeyValuePair<string, CSharpDataType>("integer",CSharpDataType.@int),
|
||||||
@ -114,7 +115,8 @@ namespace SqlSugar
|
|||||||
new KeyValuePair<string, CSharpDataType>("xml",CSharpDataType.@string),
|
new KeyValuePair<string, CSharpDataType>("xml",CSharpDataType.@string),
|
||||||
new KeyValuePair<string, CSharpDataType>("json",CSharpDataType.@string),
|
new KeyValuePair<string, CSharpDataType>("json",CSharpDataType.@string),
|
||||||
new KeyValuePair<string, CSharpDataType>("rowid",CSharpDataType.@string),
|
new KeyValuePair<string, CSharpDataType>("rowid",CSharpDataType.@string),
|
||||||
|
new KeyValuePair<string, CSharpDataType>("information_schema.sql_identifier",CSharpDataType.@string),
|
||||||
|
new KeyValuePair<string, CSharpDataType>("information_schema.cardinal_number",CSharpDataType.@string),
|
||||||
new KeyValuePair<string, CSharpDataType>("interval",CSharpDataType.@decimal),
|
new KeyValuePair<string, CSharpDataType>("interval",CSharpDataType.@decimal),
|
||||||
new KeyValuePair<string, CSharpDataType>("lseg",CSharpDataType.@decimal),
|
new KeyValuePair<string, CSharpDataType>("lseg",CSharpDataType.@decimal),
|
||||||
new KeyValuePair<string, CSharpDataType>("macaddr",CSharpDataType.@decimal),
|
new KeyValuePair<string, CSharpDataType>("macaddr",CSharpDataType.@decimal),
|
||||||
|
@ -497,13 +497,13 @@ WHERE tgrelid = '" + tableName + "'::regclass");
|
|||||||
{
|
{
|
||||||
|
|
||||||
ConvertCreateColumnInfo(item);
|
ConvertCreateColumnInfo(item);
|
||||||
if (item.DbColumnName.Equals("GUID", StringComparison.CurrentCultureIgnoreCase) && item.Length == 0)
|
//if (item.DbColumnName.Equals("GUID", StringComparison.CurrentCultureIgnoreCase) && item.Length == 0)
|
||||||
{
|
//{
|
||||||
if (item.DataType?.ToLower() != "uuid")
|
// if (item.DataType?.ToLower() != "uuid")
|
||||||
{
|
// {
|
||||||
item.Length = 10;
|
// item.Length = 10;
|
||||||
}
|
// }
|
||||||
}
|
//}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
string sql = GetCreateTableSql(tableName, columns);
|
string sql = GetCreateTableSql(tableName, columns);
|
||||||
|
@ -308,6 +308,10 @@ namespace SqlSugar
|
|||||||
public override string ToDate(MethodCallExpressionModel model)
|
public override string ToDate(MethodCallExpressionModel model)
|
||||||
{
|
{
|
||||||
var parameter = model.Args[0];
|
var parameter = model.Args[0];
|
||||||
|
if (IsSqlServerModel(model))
|
||||||
|
{
|
||||||
|
return string.Format(" CAST({0} AS dateTime)", parameter.MemberName);
|
||||||
|
}
|
||||||
return string.Format(" CAST({0} AS timestamp)", parameter.MemberName);
|
return string.Format(" CAST({0} AS timestamp)", parameter.MemberName);
|
||||||
}
|
}
|
||||||
public override string DateAddByType(MethodCallExpressionModel model)
|
public override string DateAddByType(MethodCallExpressionModel model)
|
||||||
@ -387,7 +391,7 @@ namespace SqlSugar
|
|||||||
public override string MergeString(params string[] strings)
|
public override string MergeString(params string[] strings)
|
||||||
{
|
{
|
||||||
var key = Guid.NewGuid() + "";
|
var key = Guid.NewGuid() + "";
|
||||||
return " concat(" + string.Join(",", strings.Select(it => it?.Replace("+", key))).Replace("+", "").Replace(key, "+") + ") ";
|
return " pg_catalog.concat(" + string.Join(",", strings.Select(it => it?.Replace("+", key))).Replace("+", "").Replace(key, "+") + ") ";
|
||||||
}
|
}
|
||||||
public override string IsNull(MethodCallExpressionModel model)
|
public override string IsNull(MethodCallExpressionModel model)
|
||||||
{
|
{
|
||||||
|
@ -104,6 +104,11 @@ namespace SqlSugar
|
|||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Get SQL Partial
|
#region Get SQL Partial
|
||||||
|
public override string GetExternalOrderBy(string externalOrderBy)
|
||||||
|
{
|
||||||
|
return Regex.Replace(externalOrderBy, @"""\w+""\.", "");
|
||||||
|
}
|
||||||
|
|
||||||
public override string GetSelectValue
|
public override string GetSelectValue
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
|
@ -391,7 +391,7 @@ namespace SqlSugar
|
|||||||
{
|
{
|
||||||
var parameterNameA = mode.Args[0].MemberName;
|
var parameterNameA = mode.Args[0].MemberName;
|
||||||
var parameterNameB = mode.Args[1].MemberName;
|
var parameterNameB = mode.Args[1].MemberName;
|
||||||
return $" SUBSTR({parameterNameA}, -2, {parameterNameB}) ";
|
return $" SUBSTR({parameterNameA}, (LENGTH({parameterNameA})-2), {parameterNameB}) ";
|
||||||
}
|
}
|
||||||
|
|
||||||
public override string Ceil(MethodCallExpressionModel mode)
|
public override string Ceil(MethodCallExpressionModel mode)
|
||||||
|
Loading…
Reference in New Issue
Block a user