Skip to content

v2.4.0

Compare
Choose a tag to compare
@ldhasson ldhasson released this 23 Jun 13:24
· 75 commits to master since this release
bed95b0

This release provides a focus on Migration and Tilda enhancements to manage larger data models and enhance the meta-data that's available. This is a large release so please take the time to read the notes below.

Documentation remains on the Wiki (https://github.com/CapsicoHealth/Tilda/wiki).

Breaking

First of all, there are three breaking changes. In particular, we are finally moving to Java 11 from V8, which is a big jump Java-wise. Update your build and runtime environment accordingly. We expect to move to Java 17 early 2024.

  • #772 Move to Java 11.

We also made a decision to change some of the code-gen for nullable attributes. Lots of complaints and usability issues with the way things were. We figured the change is easily automatable with regular expressions across a code-base, and so we took the jump. Instructions are in the ticket itself.

  • #518 Revisit the decision of doing setXyzNull vs setNullXyz and isXyzNull Vs isNullXyz.

Finally, this is a change from v2.3 when we introduced the "tag" construct. Very customers used that feature so we felt the impact was minimal. Once again as well, the changes are trivial to implement.

  • #751 Change "tag" to "referenceTag" as that is closer to "referenceUrl" in what it does and how it works. also update enbedding in descriptions form ${TAG} to ${REFERENCE_TAG}.

Migration Enhancements

Several enhancements to the Migration process, in particular, the maintenance of the data catalog and full logging of migration actions in a table and in generated .sql files.

  • #742 Automatically create data catalog for all Tilda assets. Extend from Tilda formulas and so on.
  • #589 Track migration actions in a table.
  • #767 Generate an SQL file to capture the queries to be run for a Migrate session.
  • #771 The Migrations and cloneAs features don't work properly together.
  • #754 In some cases, migration fails for the Tilda helpers start script due to not being able to detect First/Last aggregates.

Tilda Enhancements

A number of simple and useful enhancements to the modeling capabilities of Tilda, in particular, the addition of STRING_AGG, clustering flag for indices, and entity classifications.

  • #766 Enhancement for declaring STRING types.
  • #761 Add support for customizing created/lastUpdated/deleted as part of conventions.
  • #755 Add NTHVALUE as an alias to NTH_VALUE.
  • #750 entityClass support to classify entities in a schema, for better grouping and documentation.
  • #749 Table "cloneFrom" to be a mirror of "cloneAs".
  • #745 Add support for STRING_AGG as an aggregate.
  • #630 Add clustering flag to indices.
  • #746 Revisit decision to show missing invariant field for PK columns as an error vs simply defaulting and only show an error if someone explicitly set it to false.

Thank you!

Database Utilities

In this release, we have built more database-oriented utilities. In particular, a brand new utility to do smart reorg of a databaase that is resumable and smarter than the standard Postgres vaccuum full.

  • #748 Smart Reorg utility.
  • #758 Tilda.RetireTable helper function.
  • #763 Reverse Improvements.
  • #760 CheckDB Helper command line utility.
  • #707 Export needs to be able to work off any ad-hoc table/view in a db without requiring Tilda mappings.

Minor Library Enhancements

  • #759 Connection executeSelectLong() and executeSelectString() helper functions.
  • #743 QueryHelper: add coalesce capabilities to comparison operators... for example, equals(col, val, coalesceVal) or something like that.

Infrastructure

  • #765 Move html2text from custom to JSOUP.
  • #753 JDBC driver update to postgresql-42.5.3.jar.
  • #764 Adding India time zone info built-in.

Bug Fixes

  • #768 Array parameters in queries are not handled properly if the passed in value is NULL.
  • #762 Docs shows many errors even if it seems to be completing successfully.
  • #757 Pivots do not allow multiple pivot aggregates on a single columns.
  • #756 Cleanup field JavaDoc description.
  • #752 __INITIALIZED element in Factory generated classes is not a good idea: Type Boolean is a value-based type which is a discouraged argument for the synchronized statement.
  • #744 Code Gen error when dealing with TreeSets vs Lists for array columns. See ClaimInpatientView for example.