Synchronization code

This commit is contained in:
sunkaixuan 2023-08-13 17:49:20 +08:00
parent 5f45b608bc
commit e49d39f968
10 changed files with 54 additions and 1 deletions

View File

@ -1064,5 +1064,10 @@ namespace SqlSugar
var parameterNameA = mode.Args[0].MemberName; var parameterNameA = mode.Args[0].MemberName;
return $" CEILING({parameterNameA}) "; return $" CEILING({parameterNameA}) ";
} }
public virtual string NewUid(MethodCallExpressionModel mode)
{
return $" uuid_generate_v4() ";
}
} }
} }

View File

@ -120,6 +120,7 @@ namespace SqlSugar
string Right(MethodCallExpressionModel mode); string Right(MethodCallExpressionModel mode);
string PadLeft(MethodCallExpressionModel mode); string PadLeft(MethodCallExpressionModel mode);
string Floor(MethodCallExpressionModel mode); string Floor(MethodCallExpressionModel mode);
string Ceil(MethodCallExpressionModel mode); string Ceil(MethodCallExpressionModel mode);
string NewUid(MethodCallExpressionModel mode);
} }
} }

View File

@ -303,6 +303,7 @@ namespace SqlSugar
public static string ToVarchar(object value) { return value.ObjToString(); } public static string ToVarchar(object value) { return value.ObjToString(); }
public static decimal ToDecimal(object value) { return value.ObjToDecimal(); } public static decimal ToDecimal(object value) { return value.ObjToDecimal(); }
public static Guid ToGuid(object value) { return Guid.Parse(value.ObjToString()); } public static Guid ToGuid(object value) { return Guid.Parse(value.ObjToString()); }
public static Guid NewUid() { throw new NotSupportedException("Can only be used in expressions"); }
public static double ToDouble(object value) { return value.ObjToMoney(); } public static double ToDouble(object value) { return value.ObjToMoney(); }
public static bool ToBool(object value) { return value.ObjToBool(); } public static bool ToBool(object value) { return value.ObjToBool(); }
public static string Substring(object value, int index, int length) { return value.ObjToString().Substring(index, length); } public static string Substring(object value, int index, int length) { return value.ObjToString().Substring(index, length); }

View File

@ -259,5 +259,10 @@ namespace SqlSugar
var parameterNameA = mode.Args[0].MemberName; var parameterNameA = mode.Args[0].MemberName;
return $" CEIL({parameterNameA}) "; return $" CEIL({parameterNameA}) ";
} }
public override string NewUid(MethodCallExpressionModel mode)
{
return " SYS_GUID() ";
}
} }
} }

View File

@ -37,6 +37,11 @@ namespace SqlSugar
{ {
base.AppendFilter(); base.AppendFilter();
string oldOrderValue = this.OrderByValue; string oldOrderValue = this.OrderByValue;
var isNullOrderValue = Skip == 0 && Take == 1 && oldOrderValue == "ORDER BY NOW() ";
if (isNullOrderValue)
{
this.OrderByValue = null;
}
string result = null; string result = null;
sql = new StringBuilder(); sql = new StringBuilder();
sql.AppendFormat(SqlTemplate, GetSelectValue, GetTableNameString, GetWhereValueString, GetGroupByString + HavingInfos, (Skip != null || Take != null) ? null : GetOrderByString); sql.AppendFormat(SqlTemplate, GetSelectValue, GetTableNameString, GetWhereValueString, GetGroupByString + HavingInfos, (Skip != null || Take != null) ? null : GetOrderByString);
@ -61,6 +66,19 @@ namespace SqlSugar
result = sql.ToString(); result = sql.ToString();
} }
this.OrderByValue = oldOrderValue; this.OrderByValue = oldOrderValue;
result = GetSqlQuerySql(result);
if (result.IndexOf("-- No table") > 0)
{
return "-- No table";
}
if (TranLock != null)
{
result = result + TranLock;
}
if (result.Contains("uuid_generate_v4()"))
{
result = " CREATE EXTENSION IF NOT EXISTS pgcrypto;CREATE EXTENSION IF NOT EXISTS \"uuid-ossp\"; " + result;
}
return result; return result;
} }

View File

@ -245,6 +245,10 @@ namespace SqlSugar
return $" JSON_CONTAINS({model.Args[0].MemberName},'{{\"{model.Args[1].MemberValue}\":\"{model.Args[2].MemberValue.ObjToStringNoTrim().ToSqlFilter()}\"}}')"; return $" JSON_CONTAINS({model.Args[0].MemberName},'{{\"{model.Args[1].MemberValue}\":\"{model.Args[2].MemberValue.ObjToStringNoTrim().ToSqlFilter()}\"}}')";
} }
} }
public override string NewUid(MethodCallExpressionModel mode)
{
return " CONCAT(\r\n LPAD(UPPER(HEX(FLOOR(UUID_SHORT() / 0x100000000))), 8, '0'),\r\n '-',\r\n LPAD(UPPER(HEX(FLOOR(UUID_SHORT() / 0x10000) & 0xFFFF)), 4, '0'),\r\n '-',\r\n LPAD(UPPER(HEX(FLOOR(UUID_SHORT() / 0x100) & 0xFFFF)), 4, '0'),\r\n '-',\r\n LPAD(UPPER(HEX(UUID_SHORT() & 0xFF)), 4, '0'),\r\n '-000000000000'\r\n ) ";
}
//public override string TrimEnd(MethodCallExpressionModel mode) //public override string TrimEnd(MethodCallExpressionModel mode)
//{ //{
// var parameterNameA = mode.Args[0].MemberName; // var parameterNameA = mode.Args[0].MemberName;

View File

@ -385,5 +385,10 @@ namespace SqlSugar
var parameterNameA = mode.Args[0].MemberName; var parameterNameA = mode.Args[0].MemberName;
return $" CEIL({parameterNameA}) "; return $" CEIL({parameterNameA}) ";
} }
public override string NewUid(MethodCallExpressionModel mode)
{
return " SYS_GUID() ";
}
} }
} }

View File

@ -86,6 +86,10 @@ namespace SqlSugar
{ {
result = result + TranLock; result = result + TranLock;
} }
if (result.Contains("uuid_generate_v4()"))
{
result=" CREATE EXTENSION IF NOT EXISTS pgcrypto;CREATE EXTENSION IF NOT EXISTS \"uuid-ossp\"; "+ result;
}
return result; return result;
} }

View File

@ -130,6 +130,11 @@ namespace SqlSugar
var parameterNameC = mode.Args[2].MemberName; var parameterNameC = mode.Args[2].MemberName;
return $" CONCAT(REPLICATE({parameterNameC}, {parameterNameB} - LEN({parameterNameA})), {parameterNameA}) "; return $" CONCAT(REPLICATE({parameterNameC}, {parameterNameB} - LEN({parameterNameA})), {parameterNameA}) ";
} }
public override string NewUid(MethodCallExpressionModel mode)
{
return " NEWID() ";
}
} }

View File

@ -319,5 +319,10 @@ namespace SqlSugar
var parameterNameB = mode.Args[1].MemberName; var parameterNameB = mode.Args[1].MemberName;
return $" SUBSTR({parameterNameA}, -2, {parameterNameB}) "; return $" SUBSTR({parameterNameA}, -2, {parameterNameB}) ";
} }
public override string NewUid(MethodCallExpressionModel mode)
{
return " substr(upper(hex(randomblob(4))), 1, 8) || '-' ||\r\n substr(upper(hex(randomblob(2))), 1, 4) || '-' ||\r\n '4' || substr(upper(hex(randomblob(2))), 2, 3) || '-' ||\r\n substr('89ab', 1 + (abs(random()) % 4), 1) || substr(upper(hex(randomblob(2))), 2, 3) || '-' ||\r\n substr(upper(hex(randomblob(6))), 1, 12) ";
}
} }
} }