Skip to content

Releases: mk3008/Carbunql

0.8.14

30 Oct 13:24
2bb205e
Compare
Choose a tag to compare

What's Changed

  • The arguments for the JOIN function have been revised. by @mk3008 in #559
  • Added ExistsIn and NotExistsIn functions with improved argument order by @mk3008 in #561

Full Changelog: 0.8.13.2...0.8.14

0.8.13.2

30 Oct 11:27
41664e6
Compare
Choose a tag to compare

What's Changed

  • Enhance FluentTable with Improved Single Table Support by @mk3008 in #554
  • Refactored Type Handling for Array Parsing by @mk3008 in #556
  • Added timeout setting to Github Actions by @mk3008 in #557

Full Changelog: 0.8.13.1...0.8.13.2

0.8.13.1

21 Oct 12:15
b7b554c
Compare
Choose a tag to compare

What's Changed

  • Handle Extract function units (e.g., YEAR, MONTH) as reserved keywords. by @mk3008 in #552

Full Changelog: 0.8.13...0.8.13.1

0.8.13

20 Oct 05:12
8982cf7
Compare
Choose a tag to compare

What's Changed

  • Enhancements for Table Joins, Column/Table Existence Checks, and New Functions by @mk3008 in #542
  • Fix: Missing namespace import added to resolve build errors by @mk3008 in #543
  • Fix: Adjusted column alias handling in Select method to avoid empty aliases by @mk3008 in #544
  • Add: Support for parsing UPDATE queries by @mk3008 in #548
  • Add: Support for parsing DELETE queries by @mk3008 in #549
  • Support: Leading Comma SQL Formatting by @mk3008 in #550

Full Changelog: 0.8.12...0.8.13

0.8.12

03 Oct 23:11
25156a6
Compare
Choose a tag to compare

Added If, IfNotNull, and IfNotNullOrEmpty functions.

It's now easier to write dynamic search conditions.

int? price = null;
var query = SelectQuery.Parse(sql)
    .If(price != null, x => x.Equal(nameof(price), price));

by @mk3008 in #533

💣Serialization feature has been removed

We have discontinued it for the time being as the maintenance costs are not justified.

by @mk3008 in #534

Marked AddParameter as obsolete

We recommend using the parameter method.

by @mk3008 in #536

Supports ANY function parsing

SELECT
    s.unit_price * s.amount AS price
FROM
    sale AS s
WHERE
    s.unit_price * s.amount = ANY(:prices)

by @mk3008 in #538

Add support for ESCAPE keyword in LIKE clause parsing

WITH users AS (
  SELECT '30' as name
  UNION ALL
  SELECT '%30'
)
SELECT * FROM users WHERE name LIKE 'x%3%' escape 'x'

by @mk3008 in #541

Full Changelog

0.8.11...0.8.12

0.8.11

01 Sep 12:14
5ebe9a6
Compare
Choose a tag to compare

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

0.8.10

18 Aug 15:21
556bdd3
Compare
Choose a tag to compare

We recommend upgrading to the latest version as it will improve security.

What's Changed

  • Changes to query command text specifications by @mk3008 in #515

Full Changelog: 0.8.9.1...0.8.10

0.8.9.1

18 Aug 07:49
91e03a4
Compare
Choose a tag to compare

What's Changed

Full Changelog: 0.8.9...0.8.9.1

0.8.9

15 Aug 13:16
4d7a8a2
Compare
Choose a tag to compare

What's Changed

Full Changelog: 0.8.8...0.8.9

0.8.8

09 Aug 13:38
342d8ba
Compare
Choose a tag to compare

What's Changed

  • Improved analysis of union queries by @mk3008 in #502

Full Changelog: 0.8.7...0.8.8