mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-04-05 17:37:58 +08:00
Synchronized code
This commit is contained in:
parent
feb6a58394
commit
28f29e409f
@ -13,11 +13,11 @@ namespace SqlSugar
|
||||
return this;
|
||||
}
|
||||
|
||||
public override ISugarQueryable<T> PartitionBy(string groupFileds)
|
||||
{
|
||||
this.GroupBy(groupFileds);
|
||||
return this;
|
||||
}
|
||||
//public override ISugarQueryable<T> PartitionBy(string groupFileds)
|
||||
//{
|
||||
// this.GroupBy(groupFileds);
|
||||
// return this;
|
||||
//}
|
||||
}
|
||||
public class DmQueryable<T, T2> : QueryableProvider<T, T2>
|
||||
{
|
||||
|
@ -50,8 +50,10 @@ namespace SqlSugar
|
||||
{
|
||||
var queryable = this.Context.Queryable<T>();
|
||||
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();
|
||||
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} ) ");
|
||||
}
|
||||
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
|
||||
{
|
||||
get
|
||||
{
|
||||
{
|
||||
return "SELECT {0}{" + UtilConstants.ReplaceKey + "} FROM {1}{2}{3}{4}";
|
||||
}
|
||||
}
|
||||
public override string ToSqlString()
|
||||
{
|
||||
|
||||
if (PartitionByValue.HasValue())
|
||||
{
|
||||
return base.ToSqlString();
|
||||
}
|
||||
//Support MySql Model
|
||||
if (this.Context.CurrentConnectionConfig.MoreSettings?.DatabaseModel == DbType.MySql)
|
||||
{
|
||||
@ -144,6 +149,11 @@ namespace SqlSugar
|
||||
return "SELECT {0} FROM {1}{2}{3}{4} ";
|
||||
}
|
||||
}
|
||||
public override string GetExternalOrderBy(string externalOrderBy)
|
||||
{
|
||||
return Regex.Replace(externalOrderBy, @"""\w+""\.", "");
|
||||
}
|
||||
|
||||
private string OffsetPage()
|
||||
{
|
||||
var skip = this.Skip ?? 1;
|
||||
|
@ -71,6 +71,7 @@ namespace SqlSugar
|
||||
//new KeyValuePair<string, CSharpDataType>("int1",CSharpDataType.@byte),
|
||||
new KeyValuePair<string, CSharpDataType>("smallint",CSharpDataType.@short),
|
||||
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>("uint4",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>("json",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>("lseg",CSharpDataType.@decimal),
|
||||
new KeyValuePair<string, CSharpDataType>("macaddr",CSharpDataType.@decimal),
|
||||
|
@ -497,13 +497,13 @@ WHERE tgrelid = '" + tableName + "'::regclass");
|
||||
{
|
||||
|
||||
ConvertCreateColumnInfo(item);
|
||||
if (item.DbColumnName.Equals("GUID", StringComparison.CurrentCultureIgnoreCase) && item.Length == 0)
|
||||
{
|
||||
if (item.DataType?.ToLower() != "uuid")
|
||||
{
|
||||
item.Length = 10;
|
||||
}
|
||||
}
|
||||
//if (item.DbColumnName.Equals("GUID", StringComparison.CurrentCultureIgnoreCase) && item.Length == 0)
|
||||
//{
|
||||
// if (item.DataType?.ToLower() != "uuid")
|
||||
// {
|
||||
// item.Length = 10;
|
||||
// }
|
||||
//}
|
||||
}
|
||||
}
|
||||
string sql = GetCreateTableSql(tableName, columns);
|
||||
|
@ -308,6 +308,10 @@ namespace SqlSugar
|
||||
public override string ToDate(MethodCallExpressionModel model)
|
||||
{
|
||||
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);
|
||||
}
|
||||
public override string DateAddByType(MethodCallExpressionModel model)
|
||||
@ -387,7 +391,7 @@ namespace SqlSugar
|
||||
public override string MergeString(params string[] strings)
|
||||
{
|
||||
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)
|
||||
{
|
||||
|
@ -104,6 +104,11 @@ namespace SqlSugar
|
||||
#endregion
|
||||
|
||||
#region Get SQL Partial
|
||||
public override string GetExternalOrderBy(string externalOrderBy)
|
||||
{
|
||||
return Regex.Replace(externalOrderBy, @"""\w+""\.", "");
|
||||
}
|
||||
|
||||
public override string GetSelectValue
|
||||
{
|
||||
get
|
||||
|
@ -391,7 +391,7 @@ namespace SqlSugar
|
||||
{
|
||||
var parameterNameA = mode.Args[0].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)
|
||||
|
Loading…
Reference in New Issue
Block a user