!81 *TDSQLForPG同步PGSQL修改

Merge pull request !81 from 杜子腾/master
This commit is contained in:
阿妮亚 2025-06-24 06:19:53 +00:00 committed by Gitee
commit 066c3239cf
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
2 changed files with 18 additions and 3 deletions

View File

@ -20,7 +20,7 @@ namespace SqlSugar.TDSQLForPGODBC
if (csharpTypeName.ToLower().IsIn("boolean", "bool")) if (csharpTypeName.ToLower().IsIn("boolean", "bool"))
csharpTypeName = "bool"; csharpTypeName = "bool";
if (csharpTypeName == "DateTimeOffset") if (csharpTypeName == "DateTimeOffset")
csharpTypeName = "DateTime"; return "timestamptz";
var mappings = this.MappingTypes.Where(it => it.Value.ToString().Equals(csharpTypeName, StringComparison.CurrentCultureIgnoreCase)).ToList(); var mappings = this.MappingTypes.Where(it => it.Value.ToString().Equals(csharpTypeName, StringComparison.CurrentCultureIgnoreCase)).ToList();
if (mappings != null && mappings.Count > 0) if (mappings != null && mappings.Count > 0)
return mappings.First().Key; return mappings.First().Key;

View File

@ -452,6 +452,7 @@ namespace SqlSugar.TDSQLForPGODBC
{ {
result = GetJson(result, model.Args[5].MemberName, model.Args.Count() == 6); result = GetJson(result, model.Args[5].MemberName, model.Args.Count() == 6);
} }
result = ConvertToJsonbIfEnabled(model, result);
return result; return result;
} }
@ -478,14 +479,14 @@ namespace SqlSugar.TDSQLForPGODBC
{ {
var parameter = model.Args[0]; var parameter = model.Args[0];
//var parameter1 = model.Args[1]; //var parameter1 = model.Args[1];
return $" json_array_length({parameter.MemberName}::json) "; return ConvertToJsonbIfEnabled(model, $" json_array_length({parameter.MemberName}::json) ");
} }
public override string JsonParse(MethodCallExpressionModel model) public override string JsonParse(MethodCallExpressionModel model)
{ {
var parameter = model.Args[0]; var parameter = model.Args[0];
//var parameter1 = model.Args[1]; //var parameter1 = model.Args[1];
return $" ({parameter.MemberName}::json) "; return ConvertToJsonbIfEnabled(model, $" ({parameter.MemberName}::json) ");
} }
public override string JsonArrayAny(MethodCallExpressionModel model) public override string JsonArrayAny(MethodCallExpressionModel model)
@ -519,5 +520,19 @@ namespace SqlSugar.TDSQLForPGODBC
return $" {model.Args[0].MemberName}::jsonb @> '[{{\"{model.Args[1].MemberValue}\":\"{model.Args[2].MemberValue.ObjToStringNoTrim().ToSqlFilter()}\"}}]'::jsonb "; return $" {model.Args[0].MemberName}::jsonb @> '[{{\"{model.Args[1].MemberValue}\":\"{model.Args[2].MemberValue.ObjToStringNoTrim().ToSqlFilter()}\"}}]'::jsonb ";
} }
} }
private static string ConvertToJsonbIfEnabled(MethodCallExpressionModel model, string result)
{
if (model?.Conext?.SugarContext?.Context is ISqlSugarClient db)
{
if (db.CurrentConnectionConfig?.MoreSettings?.EnableJsonb == true)
{
result = result.Replace("::json", "::jsonb");
}
}
return result;
}
} }
} }