- 优化 表达式对整数除法的处理,解析为整除;

This commit is contained in:
28810
2019-09-06 14:48:37 +08:00
parent d51aef2aa9
commit d105041858
15 changed files with 110 additions and 7 deletions

View File

@ -74,6 +74,8 @@ namespace FreeSql.MySql
public override string IsNull(string sql, object value) => $"ifnull({sql}, {value})";
public override string StringConcat(string[] objs, Type[] types) => $"concat({string.Join(", ", objs)})";
public override string Mod(string left, string right, Type leftType, Type rightType) => $"{left} % {right}";
public override string Div(string left, string right, Type leftType, Type rightType) => $"{left} div {right}";
public override string QuoteWriteParamter(Type type, string paramterName)
{
switch (type.FullName)
@ -87,7 +89,6 @@ namespace FreeSql.MySql
}
return paramterName;
}
public override string QuoteReadColumn(Type type, string columnName)
{
switch (type.FullName)

View File

@ -82,6 +82,8 @@ namespace FreeSql.MySql
public override string IsNull(string sql, object value) => $"ifnull({sql}, {value})";
public override string StringConcat(string[] objs, Type[] types) => $"concat({string.Join(", ", objs)})";
public override string Mod(string left, string right, Type leftType, Type rightType) => $"{left} % {right}";
public override string Div(string left, string right, Type leftType, Type rightType) => $"{left} div {right}";
public override string QuoteWriteParamter(Type type, string paramterName)
{
switch (type.FullName)
@ -95,7 +97,6 @@ namespace FreeSql.MySql
}
return paramterName;
}
public override string QuoteReadColumn(Type type, string columnName)
{
switch (type.FullName)

View File

@ -64,6 +64,7 @@ namespace FreeSql.Oracle
public override string IsNull(string sql, object value) => $"nvl({sql}, {value})";
public override string StringConcat(string[] objs, Type[] types) => $"{string.Join(" || ", objs)}";
public override string Mod(string left, string right, Type leftType, Type rightType) => $"mod({left}, {right})";
public override string Div(string left, string right, Type leftType, Type rightType) => $"trunc({left} / {right})";
public override string QuoteWriteParamter(Type type, string paramterName) => paramterName;
public override string QuoteReadColumn(Type type, string columnName) => columnName;

View File

@ -126,6 +126,7 @@ namespace FreeSql.PostgreSQL
public override string IsNull(string sql, object value) => $"coalesce({sql}, {value})";
public override string StringConcat(string[] objs, Type[] types) => $"{string.Join(" || ", objs)}";
public override string Mod(string left, string right, Type leftType, Type rightType) => $"{left} % {right}";
public override string Div(string left, string right, Type leftType, Type rightType) => $"{left} / {right}";
public override string QuoteWriteParamter(Type type, string paramterName) => paramterName;
public override string QuoteReadColumn(Type type, string columnName) => columnName;

View File

@ -66,6 +66,7 @@ namespace FreeSql.SqlServer
return string.Join(" + ", news);
}
public override string Mod(string left, string right, Type leftType, Type rightType) => $"{left} % {right}";
public override string Div(string left, string right, Type leftType, Type rightType) => $"{left} / {right}";
public override string QuoteWriteParamter(Type type, string paramterName) => paramterName;
public override string QuoteReadColumn(Type type, string columnName) => columnName;

View File

@ -79,6 +79,7 @@ namespace FreeSql.Sqlite
public override string IsNull(string sql, object value) => $"ifnull({sql}, {value})";
public override string StringConcat(string[] objs, Type[] types) => $"{string.Join(" || ", objs)}";
public override string Mod(string left, string right, Type leftType, Type rightType) => $"{left} % {right}";
public override string Div(string left, string right, Type leftType, Type rightType) => $"{left} / {right}";
public override string QuoteWriteParamter(Type type, string paramterName) => paramterName;
public override string QuoteReadColumn(Type type, string columnName) => columnName;