Synchronized code

This commit is contained in:
sunkaixuan 2024-11-04 16:18:18 +08:00
parent feb6a58394
commit 28f29e409f
8 changed files with 40 additions and 17 deletions

View File

@ -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>
{

View File

@ -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} ";

View File

@ -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;

View File

@ -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),

View File

@ -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);

View File

@ -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)
{

View File

@ -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

View File

@ -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)