Releases: susom/database
Releases · susom/database
database-4.0
Features and bug fixes
- Basic support for Google BigQuery queries (read-only). DDL/DML operations may or may not work. See #41 for details.
- Removed
Sql.finalSql
to make debugging easier (#50). - Updated HikariCP from version 2.7.1 to 4.0.3.
- Updated
slf4j-api
from version 1.7.25 to 1.7.32. - Fixed some bugs based on SonarCloud analysis (#64).
Quality improvements
- Updated lots of internally used Maven plugins and dependencies (including Vert.x 4).
- Travis now runs tests with Java 8 and 11 and with multiple versions of PostgreSQL, SQL Server, and Oracle.
- Use the now public Oracle JDBC drivers.
- Incorporated SonarCloud into the Travis build.
- Fix tests so SonarCloud code coverage works.
database-3.3
Features and bug fixes
- Avoid a NullPointerException if
DatabaseProvider.get()
is never called (#35)
database-3.2
Features and bug fixes
- The
Schema
class has changed the default behavior for sequence creation to disable caching. Previous behavior was to explicitly cache 20 values, and attempts to disable that on Oracle and SQL Server did not work (#32). This new default is safer in case applications rely on monotonically increasing values, but be aware it can significantly impact performance. If your application supports caching of a particular sequence, you should set thecache()
value explicitly. - The Oracle flavor now explicitly specifies that character lengths are in characters, not bytes (#30). This helps when moving data between different database flavors.
- Upgrade PostgreSQL JDBC driver to 42.2.5 (#31). This new version includes security fixes.
database-3.1
Features and bug fixes
- Better support for integers and floats in MS SQL server.
- Support for LocalDate (date without timezone).
- Bugfix for MS SQL server Boolean evaluation.
- Bugfix for commitAndClose/rollbackAndClose.
- Upgrade most third-party libraries.
database-3.0
Features and bug fixes
- Remove dependency on
javax.inject.Provider
(667a4c5). This is a backwards incompatible change. You should update your code to usejava.util.function.Supplier
instead. If you were already using lambdas (which you should), you might not notice this change. - Avoid silently truncating column names when reading them from a result set (#15). This may now result in errors if column aliases exceed the limit for the database (either naturally or because we automatically assigned a missing/duplicate alias).
- Add variable substitutions in config values via
ConfigFrom.substitutions()
(#11). - Add
transactReturning()
variations to the database providers to avoid having to use ugly tricks like array wrappers (d058c5a). - Add convenience methods for reading properties from a "standard" set of files (c37ca9f).
- Add
on delete cascade
as an option for foreign keys inSchema
(#6). - Upgrade most third-party libraries.
database-2.5
Features and bug fixes
- Prevent silly errors by throwing an exception if you call
Schema.Table.addPrimaryKey(name, column...)
and the first parameter matches a column name - Improve the logic for foreign key indexing to avoid redundant multi-column indexes
Compatibility note: in some cases the indexes generated by Schema
may differ, so you may want to check schemas generated with older versions and drop the redundant indexes to stay in sync.
database-2.4
Features and bug fixes
- Actually create unique indexes when
Index.unique()
is called - Fail fast when VertUtil is invoked incorrectly so we get meaningful stack traces
Compatibility note: in some cases the indexes generated by Schema will now be unique, so you may want to check schemas generated with older versions and recreate the non-unique indexes to stay in sync.
database-2.3
Features and bug fixes
database-2.2
database-2.1
Features and bug fixes
- Verify
DriverManager
can access the database driver and avoid problems with multiple drivers on the classpath (e3e7242). - Add hooks for closing the database pool (e41c437).
- Always set the HikariCP pool name to avoid errors inside security sandbox (6757a36).
- Use a custom Vert.x worker pool with size matching database pool (284cdf6) to prevent blocking when all pool connections are in use. This improves concurrency and allows segregating slow/fast pools (see the
VertxServerFastAndSlow.java
demo). - Make MDC handling in Vert.x more robust (993ca1c).
- Relax the requirement to check results after insert (1773d66) and update (1e77028).
- Add
Config.sources()
to provide visibility into where configuration values come from (c9effc7). - Add exception type
ConfigInvalidException
for bad configuration values (361660b). - Added
ConfigFrom.firstOf()
as an alternative toConfig.from()
(e991c98). Config
extendsFunction<String, String>
andSupplier<Config>
to allow reduced coupling by passingConfig
as a standard Java interface and addedConfigFrom.other()
to convert these back toConfig
(e991c98).- Add
ConfigFrom.env()
to allow picking up values fromSystem.getenv()
(e991c98). - Add
ConfigFrom.rename()
,.includeKeys()
, and.excludeKeys()
for more control over filtering keys/values (e991c98). - Remove
ConfigStrings
interface, replacing it withFunction<String, String>
(e991c98).
Documentation and demo
- Clean up documentation a bit (923f158).
- Clean up the Vert.x sample and fix metrics and logging (85ef013).
- Fix demo build so checker works (57496f0).
- Add a simple Jetty example (55ec810).
- Add sample I was using to verify worker pool concurrency (ead5530).