- 修复 Xugu DataType 对应问题;#1934

This commit is contained in:
2881099
2024-11-29 20:42:30 +08:00
parent ccd13ba47f
commit cfb3bfa884
8 changed files with 13 additions and 1 deletions

View File

@@ -705,6 +705,7 @@ ManyToMany 级联删除中间表(注意不删除外部根)
case DataType.ShenTong:
case DataType.DuckDB:
case DataType.Firebird: //firebird 只支持单条插入 returning
case DataType.Xugu:
if (_tableIdentitys.Length == 1 && _tableReturnColumns.Length == 1)
{
var idtval = OrmInsert(table).AppendData(data).ExecuteIdentity();

View File

@@ -49,6 +49,7 @@ namespace FreeSql
case DataType.ShenTong:
case DataType.DuckDB:
case DataType.Firebird: //firebird 只支持单条插入 returning
case DataType.Xugu:
if (_tableIdentitys.Length == 1 && _tableReturnColumns.Length == 1)
{
await DbContextFlushCommandAsync(cancellationToken);

View File

@@ -48,6 +48,7 @@ namespace FreeSql
case DataType.ShenTong:
case DataType.DuckDB:
case DataType.Firebird: //firebird 只支持单条插入 returning
case DataType.Xugu:
if (_tableIdentitys.Length == 1 && _tableReturnColumns.Length == 1)
{
DbContextFlushCommand();

View File

@@ -751,6 +751,7 @@ JOIN {select._commonUtils.QuoteSqlName(tbDbName)} a ON cte_tbc.cte_id = a.{selec
case DataType.Firebird:
case DataType.ClickHouse:
case DataType.DuckDB:
case DataType.Xugu:
sql1ctePath = select._commonExpression.ExpressionWhereLambda(select._tables, select._tableRule,
Expression.Call(typeof(Convert).GetMethod("ToString", new Type[] { typeof(string) }), pathSelector?.Body), select._diymemexpWithTempQuery, null, null);
break;
@@ -847,6 +848,7 @@ JOIN {select._commonUtils.QuoteSqlName(tbDbName)} a ON cte_tbc.cte_id = a.{selec
case DataType.CustomMySql:
case DataType.Firebird:
case DataType.DuckDB:
case DataType.Xugu:
nsselsb.Append("RECURSIVE ");
break;
}
@@ -900,6 +902,7 @@ SELECT ");
case DataType.KingbaseES:
case DataType.ShenTong:
case DataType.DuckDB:
case DataType.Xugu:
return that.OrderBy("random()");
case DataType.Oracle:
case DataType.OdbcOracle:

View File

@@ -1291,6 +1291,7 @@ namespace FreeSql.Internal.CommonProvider
case DataType.OdbcPostgreSQL:
case DataType.CustomPostgreSQL:
case DataType.KingbaseES:
case DataType.Xugu:
_tosqlAppendContent = $"{_tosqlAppendContent} for update{(noawait ? " nowait" : "")}";
break;
case DataType.Oracle:

View File

@@ -82,6 +82,7 @@ namespace FreeSql.Internal.CommonProvider
case DataType.KingbaseES:
case DataType.ShenTong:
case DataType.DuckDB:
case DataType.Xugu:
InterceptPostgreSQL?.Invoke(); break;
case DataType.Oracle:
case DataType.OdbcOracle:
@@ -216,6 +217,7 @@ namespace FreeSql.Internal.CommonProvider
case DataType.CustomPostgreSQL:
case DataType.KingbaseES:
case DataType.ShenTong:
case DataType.Xugu:
break;
default:
var tbalias = _query2Provider._tables.Where(tb => tb.Table == col.Table).FirstOrDefault()?.Alias ?? _query2Provider._tables[0].Alias;

View File

@@ -1197,6 +1197,7 @@ namespace FreeSql.Internal.CommonProvider
case DataType.CustomPostgreSQL:
case DataType.KingbaseES:
case DataType.ShenTong:
case DataType.Xugu:
vcvalue = $"{_tableAlias}.{vcname}"; //set name = b.name
break;
default:

View File

@@ -397,6 +397,7 @@ namespace FreeSql.Internal
case DataType.CustomPostgreSQL:
case DataType.KingbaseES:
case DataType.ShenTong:
case DataType.Xugu:
if (strlen < 0) colattr.DbType = $"TEXT{strNotNull}";
else colattr.DbType = Regex.Replace(colattr.DbType, charPattern, m =>
replaceCounter++ == 0 ? $"{m.Groups[1].Value}({strlen})" : m.Groups[0].Value);
@@ -470,7 +471,8 @@ namespace FreeSql.Internal
case DataType.CustomPostgreSQL:
case DataType.KingbaseES:
case DataType.ShenTong: //驱动引发的异常:“System.Data.OscarClient.OscarException”(位于 System.Data.OscarClient.dll 中)
colattr.DbType = $"BYTEA{strNotNull}"; //变长二进制串
case DataType.Xugu:
colattr.DbType = $"BYTEA{strNotNull}"; //变长二进制串
break;
case DataType.Oracle:
case DataType.OdbcOracle: