- 修复 Oracle IncludeMany IN 元素超过 500 数目的问题;#843

This commit is contained in:
2881099 2021-08-30 11:22:56 +08:00
parent 5213bd0224
commit 6d53d3e6a3
16 changed files with 32 additions and 0 deletions

View File

@ -145,6 +145,7 @@ namespace FreeSql.Tests.MySqlMapType
{ {
//insert //insert
var orm = g.mysql; var orm = g.mysql;
var item = new EnumTestMap { }; var item = new EnumTestMap { };
Assert.Equal(1, orm.Insert<EnumTestMap>().AppendData(item).ExecuteAffrows()); Assert.Equal(1, orm.Insert<EnumTestMap>().AppendData(item).ExecuteAffrows());
var find = orm.Select<EnumTestMap>().Where(a => a.id == item.id && a.enum_to_int == ToStringMapEnum.ÖйúÈË).First(); var find = orm.Select<EnumTestMap>().Where(a => a.id == item.id && a.enum_to_int == ToStringMapEnum.ÖйúÈË).First();

View File

@ -316,6 +316,13 @@ namespace FreeSql.Tests
.ToList(); .ToList();
g.sqlite.Update<gf_t1>().NoneParameter().Set(a => a.rowstate + 1).Where(a => a.rowstate >= 0).ExecuteAffrows(); g.sqlite.Update<gf_t1>().NoneParameter().Set(a => a.rowstate + 1).Where(a => a.rowstate >= 0).ExecuteAffrows();
var dddd2sql1 = g.sqlite.Select<gf_t1>()
.DisableGlobalFilter()
.ToUpdate()
//.DisableGlobalFilter()
.Set(a => a.rowstate, 10)
.ToSql();
var dtot2 = g.sqlite.Select<gf_t1>().ToList(a => new gfDto var dtot2 = g.sqlite.Select<gf_t1>().ToList(a => new gfDto
{ {
dto2 = new dfDto2 dto2 = new dfDto2

View File

@ -56,6 +56,17 @@ namespace FreeSql
{ {
internal static ThreadLocal<ExpressionCallContext> expContext = new ThreadLocal<ExpressionCallContext>(); internal static ThreadLocal<ExpressionCallContext> expContext = new ThreadLocal<ExpressionCallContext>();
//public static bool BitAnd<TEnum>(TEnum enum1, [RawValue] TEnum enum2)
//{
// expContext.Value.Result = $"({expContext.Value.ParsedContent["enum1"]} & {Convert.ToInt32(enum2)}) = {Convert.ToInt32(enum2)}";
// return false;
//}
//public static bool BitOr<TEnum>(TEnum enum1, [RawValue] TEnum enum2)
//{
// expContext.Value.Result = $"({expContext.Value.ParsedContent["enum1"]} | {Convert.ToInt32(enum2)}) = {Convert.ToInt32(enum2)}";
// return false;
//}
#region SqlServer/PostgreSQL over #region SqlServer/PostgreSQL over
/// <summary> /// <summary>
/// rank() over(order by ...) /// rank() over(order by ...)

View File

@ -141,6 +141,7 @@ namespace FreeSql.Custom
for (var a = 0; a < arrExp.Expressions.Count; a++) for (var a = 0; a < arrExp.Expressions.Count; a++)
{ {
if (a > 0) arrSb.Append(","); if (a > 0) arrSb.Append(",");
if (a % 500 == 499) arrSb.Append(" \r\n \r\n"); //500元素分割, 3空格\r\n4空格
arrSb.Append(getExp(arrExp.Expressions[a])); arrSb.Append(getExp(arrExp.Expressions[a]));
} }
if (arrSb.Length == 1) arrSb.Append("NULL"); if (arrSb.Length == 1) arrSb.Append("NULL");

View File

@ -141,6 +141,7 @@ namespace FreeSql.Dameng
for (var a = 0; a < arrExp.Expressions.Count; a++) for (var a = 0; a < arrExp.Expressions.Count; a++)
{ {
if (a > 0) arrSb.Append(","); if (a > 0) arrSb.Append(",");
if (a % 500 == 499) arrSb.Append(" \r\n \r\n"); //500元素分割, 3空格\r\n4空格
arrSb.Append(getExp(arrExp.Expressions[a])); arrSb.Append(getExp(arrExp.Expressions[a]));
} }
if (arrSb.Length == 1) arrSb.Append("NULL"); if (arrSb.Length == 1) arrSb.Append("NULL");

View File

@ -128,6 +128,7 @@ namespace FreeSql.Firebird
for (var a = 0; a < arrExp.Expressions.Count; a++) for (var a = 0; a < arrExp.Expressions.Count; a++)
{ {
if (a > 0) arrSb.Append(","); if (a > 0) arrSb.Append(",");
if (a % 500 == 499) arrSb.Append(" \r\n \r\n"); //500元素分割, 3空格\r\n4空格
arrSb.Append(getExp(arrExp.Expressions[a])); arrSb.Append(getExp(arrExp.Expressions[a]));
} }
if (arrSb.Length == 1) arrSb.Append("NULL"); if (arrSb.Length == 1) arrSb.Append("NULL");

View File

@ -111,6 +111,7 @@ namespace FreeSql.MsAccess
for (var a = 0; a < arrExp.Expressions.Count; a++) for (var a = 0; a < arrExp.Expressions.Count; a++)
{ {
if (a > 0) arrSb.Append(","); if (a > 0) arrSb.Append(",");
if (a % 500 == 499) arrSb.Append(" \r\n \r\n"); //500元素分割, 3空格\r\n4空格
arrSb.Append(getExp(arrExp.Expressions[a])); arrSb.Append(getExp(arrExp.Expressions[a]));
} }
if (arrSb.Length == 1) arrSb.Append("NULL"); if (arrSb.Length == 1) arrSb.Append("NULL");

View File

@ -139,6 +139,7 @@ namespace FreeSql.MySql
for (var a = 0; a < arrExp.Expressions.Count; a++) for (var a = 0; a < arrExp.Expressions.Count; a++)
{ {
if (a > 0) arrSb.Append(","); if (a > 0) arrSb.Append(",");
if (a % 500 == 499) arrSb.Append(" \r\n \r\n"); //500元素分割, 3空格\r\n4空格
arrSb.Append(getExp(arrExp.Expressions[a])); arrSb.Append(getExp(arrExp.Expressions[a]));
} }
if (arrSb.Length == 1) arrSb.Append("NULL"); if (arrSb.Length == 1) arrSb.Append("NULL");

View File

@ -141,6 +141,7 @@ namespace FreeSql.Odbc.Dameng
for (var a = 0; a < arrExp.Expressions.Count; a++) for (var a = 0; a < arrExp.Expressions.Count; a++)
{ {
if (a > 0) arrSb.Append(","); if (a > 0) arrSb.Append(",");
if (a % 500 == 499) arrSb.Append(" \r\n \r\n"); //500元素分割, 3空格\r\n4空格
arrSb.Append(getExp(arrExp.Expressions[a])); arrSb.Append(getExp(arrExp.Expressions[a]));
} }
if (arrSb.Length == 1) arrSb.Append("NULL"); if (arrSb.Length == 1) arrSb.Append("NULL");

View File

@ -141,6 +141,7 @@ namespace FreeSql.Odbc.Default
for (var a = 0; a < arrExp.Expressions.Count; a++) for (var a = 0; a < arrExp.Expressions.Count; a++)
{ {
if (a > 0) arrSb.Append(","); if (a > 0) arrSb.Append(",");
if (a % 500 == 499) arrSb.Append(" \r\n \r\n"); //500元素分割, 3空格\r\n4空格
arrSb.Append(getExp(arrExp.Expressions[a])); arrSb.Append(getExp(arrExp.Expressions[a]));
} }
if (arrSb.Length == 1) arrSb.Append("NULL"); if (arrSb.Length == 1) arrSb.Append("NULL");

View File

@ -137,6 +137,7 @@ namespace FreeSql.Odbc.MySql
for (var a = 0; a < arrExp.Expressions.Count; a++) for (var a = 0; a < arrExp.Expressions.Count; a++)
{ {
if (a > 0) arrSb.Append(","); if (a > 0) arrSb.Append(",");
if (a % 500 == 499) arrSb.Append(" \r\n \r\n"); //500元素分割, 3空格\r\n4空格
arrSb.Append(getExp(arrExp.Expressions[a])); arrSb.Append(getExp(arrExp.Expressions[a]));
} }
if (arrSb.Length == 1) arrSb.Append("NULL"); if (arrSb.Length == 1) arrSb.Append("NULL");

View File

@ -141,6 +141,7 @@ namespace FreeSql.Odbc.Oracle
for (var a = 0; a < arrExp.Expressions.Count; a++) for (var a = 0; a < arrExp.Expressions.Count; a++)
{ {
if (a > 0) arrSb.Append(","); if (a > 0) arrSb.Append(",");
if (a % 500 == 499) arrSb.Append(" \r\n \r\n"); //500元素分割, 3空格\r\n4空格
arrSb.Append(getExp(arrExp.Expressions[a])); arrSb.Append(getExp(arrExp.Expressions[a]));
} }
if (arrSb.Length == 1) arrSb.Append("NULL"); if (arrSb.Length == 1) arrSb.Append("NULL");

View File

@ -147,6 +147,7 @@ namespace FreeSql.Odbc.SqlServer
for (var a = 0; a < arrExp.Expressions.Count; a++) for (var a = 0; a < arrExp.Expressions.Count; a++)
{ {
if (a > 0) arrSb.Append(","); if (a > 0) arrSb.Append(",");
if (a % 500 == 499) arrSb.Append(" \r\n \r\n"); //500元素分割, 3空格\r\n4空格
arrSb.Append(getExp(arrExp.Expressions[a])); arrSb.Append(getExp(arrExp.Expressions[a]));
} }
if (arrSb.Length == 1) arrSb.Append("NULL"); if (arrSb.Length == 1) arrSb.Append("NULL");

View File

@ -141,6 +141,7 @@ namespace FreeSql.Oracle
for (var a = 0; a < arrExp.Expressions.Count; a++) for (var a = 0; a < arrExp.Expressions.Count; a++)
{ {
if (a > 0) arrSb.Append(","); if (a > 0) arrSb.Append(",");
if (a % 500 == 499) arrSb.Append(" \r\n \r\n"); //500元素分割, 3空格\r\n4空格
arrSb.Append(getExp(arrExp.Expressions[a])); arrSb.Append(getExp(arrExp.Expressions[a]));
} }
if (arrSb.Length == 1) arrSb.Append("NULL"); if (arrSb.Length == 1) arrSb.Append("NULL");

View File

@ -146,6 +146,7 @@ namespace FreeSql.SqlServer
for (var a = 0; a < arrExp.Expressions.Count; a++) for (var a = 0; a < arrExp.Expressions.Count; a++)
{ {
if (a > 0) arrSb.Append(","); if (a > 0) arrSb.Append(",");
if (a % 500 == 499) arrSb.Append(" \r\n \r\n"); //500元素分割, 3空格\r\n4空格
arrSb.Append(getExp(arrExp.Expressions[a])); arrSb.Append(getExp(arrExp.Expressions[a]));
} }
if (arrSb.Length == 1) arrSb.Append("NULL"); if (arrSb.Length == 1) arrSb.Append("NULL");

View File

@ -137,6 +137,7 @@ namespace FreeSql.Sqlite
for (var a = 0; a < arrExp.Expressions.Count; a++) for (var a = 0; a < arrExp.Expressions.Count; a++)
{ {
if (a > 0) arrSb.Append(","); if (a > 0) arrSb.Append(",");
if (a % 500 == 499) arrSb.Append(" \r\n \r\n"); //500元素分割, 3空格\r\n4空格
arrSb.Append(getExp(arrExp.Expressions[a])); arrSb.Append(getExp(arrExp.Expressions[a]));
} }
if (arrSb.Length == 1) arrSb.Append("NULL"); if (arrSb.Length == 1) arrSb.Append("NULL");