Katzebase v0.16.0

Version: 0.16.0
Status: Stable
Released: 2024-09-20
License: MIT License
Downloads
Katzebase.Server.exe • 3.75 MB
Source-Code

This is open source under the MIT License. You can obtain the source code for this specific version from GitHub or browse the releases for source code associated with specific versions. If you make any changes which you feel improves this application, please feel free to submit a pull - request.

Release Notes

Changes

  • Rewrote tokenizer.
  • Rewrote entire query parser.
    • Parsers are now separated into separate static classes for each query type.
    • Parsers are now reusable, allowing for the condition parser, field parser and the like to be reused inside other query parser types.
  • Functions are now fully recursive and are parsed in select fields, group by, order by, insert, update, select, where clause and join clauses.
  • Update statements now allow for joins.
  • Delete statements now allow for joins.
  • Introduced "insert select from" statements.
  • Temporarily removed support for procedures, they will need to be reimplemented.
  • Major changes to the way that indexes are selected and used. Multiple values for a single index are now handled in one index lookup operation.
  • Condition parser rewrite is now more robust and understandable.
  • Introduction of new dapper like queries using classes as return objects.
  • Introduction of parameterized queries prevents sql-injection attacks.
  • Scaler and aggregate function parser rewrite allowing for reusability in various parts of queries.
  • Added inline query string concatenation.
  • Added query field type detection for inline math and string aggregation to coexist without "casting" which would be found in other RDBMSs.
  • Added windowing functionality with TOP and OFFSET.

Remaining to-do:

  • Reimplement "SELECT INTO".
  • Reimplement stored procedures.
  • More robust parser validation.

What's Changed

Full Changelog: https://github.com/NTDLS/NTDLS.Katzebase.Server/compare/0.15.0...0.16.0