0.8.11
Added the FluentTable class.
This class can manage queries by CTE name and alias name together.
This makes writing query processing much simpler.
Example
[Fact]
public void PhysicalTableTest()
{
var tableA = FluentTable.Create("table_a", "a");
var sq = new SelectQuery()
.From(tableA)
.SelectAll(tableA);
var expect = """
SELECT
a.*
FROM
table_a AS a
""";
Assert.Equal(expect, sq.ToText());
}
[Fact]
public void SubQueryTest()
{
var tableA = FluentTable.Create("select * from table_a", "a");
var sq = new SelectQuery()
.From(tableA)
.SelectAll(tableA);
var expect = """
SELECT
a.*
FROM
(
SELECT
*
FROM
table_a
) AS a
""";
Assert.Equal(expect, sq.ToText());
}
[Fact]
public void CteTest()
{
var tableA = FluentTable.Create("select * from table_a", "cte_a", "a");
var sq = new SelectQuery()
.From(tableA)
.SelectAll(tableA);
var expect = """
WITH
cte_a AS (
SELECT
*
FROM
table_a
)
SELECT
a.*
FROM
cte_a AS a
""";
Assert.Equal(expect, sq.ToText());
}
What's Changed
- Update Carbunql.csproj by @mk3008 in #517
- Update README.md by @mk3008 in #518
- Improved filter search target by @mk3008 in #519
- Enhanced override processing for selected columns by @mk3008 in #521
- Enhancement: Added build method to SelectQuery class. by @mk3008 in #525
- Enhancement: Added ReverseSign function by @mk3008 in #526
- Enhancement: Changed target framework by @mk3008 in #528
- Enhancement: Added FluentTable class by @mk3008 in #529
Full Changelog: 0.8.10...0.8.11