Skip to content

Releases: 0x1000000/SqExpress

v1.1.1

17 Sep 13:23
Compare
Choose a tag to compare

Bugfix

  • Missed CreateNullableStringColumn in DerivedTableBase.
  • Table descriptor generation Unknown default value type: Bool (When a boolean column has a default value).

v1.1.0

10 Aug 23:30
Compare
Choose a tag to compare

1.1.0

New Features

  • Dynamic table metadata creation/modification with SqTable class

Bugfix

  • It adds conversion from float to double when reading from column with real type.
  • varbinary column explicit length now limited with 8000. Leave the length unspecified to get max length

v1.0.0

09 Jun 23:04
Compare
Choose a tag to compare

New Features

  • Retrieving of database tables metadata + comparison
  • MERGE expression builder
  • Table Value Functions
  • All aggregate functions now can be used with OVER(...)
  • SqDatabase can query IAsyncEnumerable<ISqRecord> (for .Net 6)
  • SqDatabase supports async version for all I/O operation (for .Net 6)
  • expr.SyntaxTree().ModifyDescendants(modifier) new method that returns object of the same type.
  • arguments of OR and AND operators now can be nullable (for .Net 6)
  • DateDiff function + polyfills for Postgresql and MySql
  • GetParentTables() for TableBase()

Breaking Changes

  • Values Constructor in MYSQL now is implemented through UNION ALL
  • .Net Framework is not supported anymore, however, .Net Standard 2.0 is still supported
  • .Net less than 6 now use .Net Standard 2.0 which does not have some functions
  • SyntaxTreeActions structure now has a generic parameter

v1.0.0-beta.2

29 May 03:28
Compare
Choose a tag to compare
  • Retrieving of database tables metadata + comparison
  • Table Value Functions

v1.0.0-beta

04 Nov 17:11
Compare
Choose a tag to compare

New Features

  • Retrieving of database tables metadata + comparison (works only for MS SQL so far)
  • MERGE expression builder

Breaking Changes

  • Values Constructor in MYSQL now is implemented through UNION ALL
  • .Net Framework is not supported anymore, however, .Net Standard 2.0 is still supported

v0.4.1

03 Nov 01:53
Compare
Choose a tag to compare
  • Bitwise operators (Warning! C# operator precedence is used)

v0.4.0

31 Jul 13:24
Compare
Choose a tag to compare

0.4.0.0

New Features

  • CTE (see readme.md)
  • SqQueryBuilder.ValueQuery(...) - It allows using a sub-query as a value (e.g. in boolean expressions or a column)
  • Powershell commandlets Gen-Tables and Gen-Models in Package Manager Console
  • Syntax Tree WalkThrough method has a new overload with a link to parent node
  • SqModels now have new methods: GetColumnsWithPrefix, ReadWithPrefix, IsNull, IsNullWithPrefix

Breaking Changes

  • Concat helper was renamed to Combine (to avoid a conflict with Linq)

v0.3.3

10 Jul 18:26
Compare
Choose a tag to compare

New Features

  • Support of DateTimeOffset
  • InsertInto(t, c1, c2, ...).Values(v1,v2,..).Values(v1,v2,..)...DoneWithValues()

Bugfix

  • StackOverflow on recursive foreign keys

v0.3.2

30 Apr 09:34
Compare
Choose a tag to compare

New Features

  • Cancellation Token for all db calls
  • Code-gen can be used with .Net 5 and 6 runtimes

v0.3.1

25 Jan 19:50
Compare
Choose a tag to compare

0.3.1.0

New Features

  • the DTO code-generator now has a parameter that allows generating C# records: --model-type ImmutableClass|Record or <SqModelGenType>ImmutableClass|Record</SqModelGenType>;
  • "CheckExistenceBy" in the Insert data builder what adds WHERE EXISTS(...) to a Insert source to avoid duplicates inserting;
  • ExistsIn<TTable>(..predicate..) ... - Helper that returns boolean expression EXISTS(SELECT 1 FROM TTable WHERE ..Predicate..)
  • QueryPage extension for OffsetFetch queries.

Bugfix

  • When some column(s) in values constructor contains only nulls, sqexpress now adds an explicit type cast for the first cell e.g. CAST(NULL as int)
  • MergeDataInto now allows only keys mapping unless WhenMatchThenUpdate is defined (without additional updates)
  • Derived tables now can have 0 declared columns