Update : 人大金仓[SqlServer] PartitionBy

This commit is contained in:
sunkaixuan
2024-08-25 19:39:56 +08:00
parent 6d51dac4df
commit 44dbb4896f
2 changed files with 24 additions and 5 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.QueryBuilder.
// return this;
//}
}
public class KdbndpQueryable<T, T2> : QueryableProvider<T, T2>
{

View File

@@ -7,6 +7,17 @@ namespace SqlSugar
public partial class KdbndpQueryBuilder : QueryBuilder
{
#region Sql Template
public override string SqlTemplate
{
get
{
if (this.PartitionByValue.HasValue())
{
return "SELECT {0}{" + UtilConstants.ReplaceKey + "} FROM {1}{2}{3}{4}";
}
return base.SqlTemplate;
}
}
public override string PageTempalte
{
get
@@ -14,6 +25,10 @@ namespace SqlSugar
/*
SELECT * FROM TABLE WHERE CONDITION ORDER BY ID DESC LIMIT 10 offset 0
*/
if (this.PartitionByValue.HasValue())
{
return base.PageTempalte;
}
var template = "SELECT {0} FROM {1} {2} {3} {4} LIMIT {6} offset {5}";
return template;
}
@@ -35,6 +50,10 @@ namespace SqlSugar
}
public override string ToSqlString()
{
if (PartitionByValue.HasValue())
{
return base.ToSqlString();
}
base.AppendFilter();
string oldOrderValue = this.OrderByValue;
var isNullOrderValue = Skip == 0 && Take == 1 && oldOrderValue == "ORDER BY NOW() ";