完善 DuckDB

This commit is contained in:
2881099
2024-08-21 18:53:01 +08:00
parent 109ad58c1d
commit 8ab5372a09
6 changed files with 287 additions and 28 deletions

View File

@ -93,6 +93,7 @@ public static class FreeSqlJsonMapCoreExtensions
case DataType.OdbcOracle:
case DataType.CustomOracle:
case DataType.Dameng:
case DataType.DuckDB:
fsql.Aop.ParseExpression += (_, e) =>
{
//if (e.Expression is MethodCallExpression callExp)
@ -164,6 +165,9 @@ public static class FreeSqlJsonMapCoreExtensions
case DataType.Dameng:
StyleJsonValue();
return;
case DataType.DuckDB:
StyleDotAccess();
return;
}
StylePgJson();
return;
@ -186,6 +190,15 @@ public static class FreeSqlJsonMapCoreExtensions
}
e.Result = $"json_value({result},'${jsonPath}')";
}
void StyleDotAccess()
{
while (parentMemExps.Any())
{
memExp = parentMemExps.Pop();
result = $"{result}['{memExp.Member.Name}']";
}
e.Result = result;
}
void StylePgJson()
{
while (parentMemExps.Any())