Skip to content

Releases: tada/pljava

PL/Java 1.6.0 announced

19 Oct 00:32
Compare
Choose a tag to compare

PL/Java brings functions, triggers, and types in Java.

1.6.0 is a notably refactored release that requires Java 9 or later and PostgreSQL 9.5 or later, and brings a number of changes from 1.5.x.

Current users of a 1.5.x release should review the 1.6.0 release notes for possibly necessary changes before updating to 1.6.0.

It includes configurable permissions (finer grained than just java versus javaU), a smarter SQL generator, and a much-improved build experience.

Project site: http://tada.github.io/pljava/
Release notes: http://tada.github.io/pljava/releasenotes.html

Selected changes

  • The Java permissions available to java and javaU functions can be tailored for each case. Language 'aliases' beyond those two can also be set up with CREATE LANGUAGE and have their own associated permissions.

  • The SQL generator no longer needs to be explicitly told about dependencies between a new type and the functions that use it, or are used in its implementation.

  • PL/Java functions can now be variadic.

  • The build system now takes pg_config values such as CFLAGS into account to match the compiler configuration used to build PostgreSQL.

  • Two continuous integration services now routinely build PL/Java for Linux (x86_64 and ppc64le), Mac OS X, and Windows (MinGW-w64 and MSVC), with results visible at GitHub.

Please see the release notes for a more complete list of changes.

Availability:

1.6.0 is available from GitHub as a source release, which builds quickly using Maven:

Release page: https://github.com/tada/pljava/releases/tag/V1_6_0

This wiki page will add links to prebuilt packages that become available:
https://github.com/tada/pljava/wiki/Prebuilt-packages

PL/Java 1.5.6 announced

05 Oct 03:57
Compare
Choose a tag to compare

PL/Java brings functions, triggers, and types in Java. 1.5.6 adds support for PostgreSQL 13 and a workaround for a build issue on EnterpriseDB 11.

It includes improvements to the java.sql.SQLXML API, an update of the ISO SQL/XML examples based on the Saxon product to Saxon 10, some improvements to internals, and a number of bug fixes.

Project site: http://tada.github.io/pljava/
Release notes: http://tada.github.io/pljava/releasenotes.html

Selected changes

  • The java.sql.SQLXML API now includes more adjustments to control behavior when processing documents that may be from untrusted sources: resource limits, control of resolution of external documents and entities, validation against a schema, and integration of an XML catalog to locally satisfy requests for external documents.

  • The optional ISO SQL/XML examples based on the Saxon library now use Saxon 10, which now includes support for XML Query higher-order functions in the freely-licensed Saxon-HE.

  • Interoperation between PostgreSQL and Java arrays, while still treating all PostgreSQL arrays as one-dimensional, has been improved. For arrays that correspond to Java primitive types, either a Java primitive array or its boxed counterpart can be used, and a boxed array can include nulls.

Please see the release notes for a more complete list of changes.

Availability:

1.5.6 is available from GitHub as a source release, which builds quickly using Maven:

Release page: https://github.com/tada/pljava/releases/tag/V1_5_6

This wiki page will add links to prebuilt packages that become available:
https://github.com/tada/pljava/wiki/Prebuilt-packages

PL/Java 1.5.5 announced

04 Nov 13:06
Compare
Choose a tag to compare

PL/Java brings functions, triggers, and types in Java. 1.5.5 supports PostgreSQL through 12 and Java through 13 at build time and run time.

Project site: http://tada.github.io/pljava/
Release notes: http://tada.github.io/pljava/releasenotes.html

Changes in 1.5.5

  • This is a pure bug-fix release that fixes runtime issues reported in 32-bit i386 builds, some of which would not affect a more common 64-bit architecture, but some of which could under the wrong circumstances, so this release should be used in preference to 1.5.4 or 1.5.3 on any architecture.

Other recent user-visible changes were announced in release 1.5.4 and release 1.5.3.

Please see the release notes for a more complete list of changes.

Availability:

1.5.5 is available from GitHub as a source release, which builds quickly using Maven:

Release page: https://github.com/tada/pljava/releases/tag/V1_5_5

This wiki page will add links to prebuilt packages that become available:
https://github.com/tada/pljava/wiki/Prebuilt-packages

PL/Java 1.5.4 announced

29 Oct 22:38
Compare
Choose a tag to compare

PL/Java brings functions, triggers, and types in Java. 1.5.4 supports PostgreSQL through 12 and Java through 13 at build time and run time.

Project site: http://tada.github.io/pljava/
Release notes: http://tada.github.io/pljava/releasenotes.html

Changes in 1.5.4

  • This release follows closely on 1.5.3 to correct some reported build issues
    with Java 11 and 13.
  • A work-in-progress feature that can apply the SQLXML API to other
    tree-structured data types is introduced.
  • Documentation updates cover changes to Application Class Data Sharing in
    recent Hotspot versions, and ahead-of-time compilation using jaotc.

Other recent user-visible changes were announced in release 1.5.3.

Please see the release notes for a more complete list of changes.

Availability:

1.5.4 is available from GitHub as a source release, which builds quickly using Maven:

Release page: https://github.com/tada/pljava/releases/tag/V1_5_4

This wiki page will add links to prebuilt packages that become available:
https://github.com/tada/pljava/wiki/Prebuilt-packages

PL/Java 1.5.3 announced

04 Oct 04:17
Compare
Choose a tag to compare

PL/Java brings functions, triggers, and types in Java. 1.5.3 adds support for PostgreSQL 12, and can now be built with Java versions later than 8.

Project site: http://tada.github.io/pljava/
Release notes: http://tada.github.io/pljava/releasenotes.html

Selected changes

  • Rework of threading/synchronization management to eliminate Java object finalizers (long deprecated informally, and formally since Java 9). Fixes occasional hangs that could be seen when running on an OpenJ9 JVM.

  • Improvements to the java.sql.SQLXML type.

  • Includes an example that provides substantially complete implementations of the ISO SQL/XML functions XMLEXISTS, XMLQUERY, XMLTABLE, and XMLCAST (using the XQuery language as ISO SQL specifies, rather than XPath as used by the versions in core PostgreSQL), and the LIKE_REGEX, OCCURRENCES_REGEX, POSITION_REGEX, SUBSTRING_REGEX, and TRANSLATE_REGEX functions that apply XQuery regular expressions. As ordinary extension functions without special treatment in the SQL parser, these have to be called using slightly different syntax than ISO SQL provides. The optionally-built example relies on the Saxon XQuery library.

Please see the release notes for a more complete list of changes.

Availability:

1.5.3 is available from GitHub as a source release, which builds quickly using Maven:

Release page: https://github.com/tada/pljava/releases/tag/V1_5_3

This wiki page will add links to prebuilt packages that become available:
https://github.com/tada/pljava/wiki/Prebuilt-packages

PL/Java 1.5.2 released to fix a regression in date conversions

05 Nov 18:20
Compare
Choose a tag to compare

PL/Java 1.5 brings functions, triggers, and types in Java to PostgreSQL releases from 11 back to 8.2. Release 1.5.2 fixes a regression in 1.5.1 that affected the conversion of PostgreSQL date values to Java java.sql.Date objects.

Project site: http://tada.github.io/pljava/
Release notes: http://tada.github.io/pljava/releasenotes.html

Change

Before 1.5.1, PostgreSQL date, time, and timestamp values could be accessed in PL/Java as java.sql.Date, java.sql.Time, and java.sql.Timestamp objects. PL/Java 1.5.1 added the option of accessing those values as objects of new classes in the Java 8+ java.time package. The new classes are recommended as a superior API for accessing dates, times, and timestamps.

However, one regression resulted in the older conversion between PostgreSQL date and java.sql.Date, leading to an error of one day for some dates of the year in some time zones. Release 1.5.2 restores the former behavior.

Please see the release notes for more complete information.

Availability:

1.5.2 is available from GitHub as a source release, which builds quickly using Maven:

Release page: https://github.com/tada/pljava/releases/tag/V1_5_2

This wiki page will add links to prebuilt packages that become available:
https://github.com/tada/pljava/wiki/Prebuilt-packages

PL/Java 1.5.1 announced

17 Oct 05:17
Compare
Choose a tag to compare

PL/Java brings functions, triggers, and types in Java. 1.5.1 adds support for PostgreSQL 9.6, 10, and 11, with a number of improvements and fixes.

Project site: http://tada.github.io/pljava/
Release notes: http://tada.github.io/pljava/releasenotes.html

Security note

Two minor enhancements are described in the release notes.

Selected changes

New datatype support has been added, with more details in the release notes:

  • Classes from the Java 8 new date/time API (in the java.time package) can now be used in place of the older java.sql.Date/Time/Timestamp classes to represent PostgreSQL date, time with and without timezone, and timestamp with and without timezone. These new classes fit the SQL types much more closely, and PL/Java code written for Java 8 or later is strongly encouraged to use them (as is PL/Java code written for earlier Java releases, if it is practical to migrate to Java 8 or later).

  • Code that manipulates XML can now receive and return it using the standard JDBC java.sql.SQLXML API, with efficiency and memory footprint advantages relative to PL/Java's default behavior of mapping whole XML documents to Java strings.

This release introduces support for parallel-safety declarations on functions in PostgreSQL 9.6. Simple cases work as expected, but PL/Java's code has not been thoroughly audited to be sure its internal behavior cannot violate constraints on parallel-restricted or parallel-safe functions. See the release notes and new user-guide page on parallel query.

In PostgreSQL 10, trigger transition tables are supported for AFTER triggers, as described in the release notes.

Please see the release notes for a more complete list of changes.

Availability:

1.5.1 is available from GitHub as a source release, which builds quickly using Maven:

Release page: https://github.com/tada/pljava/releases/tag/V1_5_1

This wiki page will add links to prebuilt packages that become available:
https://github.com/tada/pljava/wiki/Prebuilt-packages

PL/Java 1.5.1-BETA3

07 Oct 21:23
Compare
Choose a tag to compare
PL/Java 1.5.1-BETA3 Pre-release
Pre-release

PL/Java 1.5.1-BETA3 announced

PL/Java brings functions, triggers, and types in Java. 1.5.1, now in BETA3, adds support for PostgreSQL 9.6, 10, and 11 (beta4), with a number of improvements and fixes.

Project site: http://tada.github.io/pljava/
Release notes: http://tada.github.io/pljava/releasenotes.html

Security note

Two minor enhancements are described in the release notes.

Selected changes

New datatype support has been added, with more details in the release notes:

  • Classes from the Java 8 new date/time API (in the java.time package) can now be used in place of the older java.sql.Date/Time/Timestamp classes to represent PostgreSQL date, time with and without timezone, and timestamp with and without timezone. These new classes fit the SQL types much more closely, and PL/Java code written for Java 8 or later is strongly encouraged to use them (as is PL/Java code written for earlier Java releases, if it is practical to migrate to Java 8 or later).

  • Code that manipulates XML can now receive and return it using the standard JDBC java.sql.SQLXML API, with efficiency and memory footprint advantages relative to PL/Java's default behavior of mapping whole XML documents to Java strings.

Beta testers are encouraged to exercise the new datatype mappings.

This release introduces support for parallel-safety declarations on functions in PostgreSQL 9.6. Simple cases work as expected, but PL/Java's code has not been thoroughly audited to be sure its internal behavior cannot violate constraints on parallel-restricted or parallel-safe functions. See the release notes and new user-guide page on parallel query.

In PostgreSQL 10, trigger transition tables are supported for AFTER triggers, as described in the release notes.

Please see the release notes for a more complete list of changes.
Availability:

1.5.1-BETA3 is available from GitHub as a source release, which builds quickly using Maven:

Release page: https://github.com/tada/pljava/releases/tag/V1_5_1b3

This wiki page will add links to prebuilt packages that become available:
https://github.com/tada/pljava/wiki/Prebuilt-packages

PL/Java 1.5.1-BETA2

10 Sep 17:27
Compare
Choose a tag to compare
PL/Java 1.5.1-BETA2 Pre-release
Pre-release

PL/Java 1.5.1-BETA2 announced

PL/Java brings functions, triggers, and types in Java. 1.5.1, now in BETA2, adds support for PostgreSQL 9.6, 10, and 11 (beta3), with a number of improvements and fixes.

Project site: http://tada.github.io/pljava/
Release notes: http://tada.github.io/pljava/releasenotes.html

Security note

Two minor enhancements are described in the release notes.

Selected changes

New datatype support has been added, with more details in the release notes:

  • Classes from the Java 8 new date/time API (in the java.time package) can now be used in place of the older java.sql.Date/Time/Timestamp classes to represent PostgreSQL date, time with and without timezone, and timestamp with and without timezone. These new classes fit the SQL types much more closely, and PL/Java code written for Java 8 or later is strongly encouraged to use them (as is PL/Java code written for earlier Java releases, if it is practical to migrate to Java 8 or later).

  • Code that manipulates XML can now receive and return it using the standard JDBC java.sql.SQLXML API, with efficiency and memory footprint advantages relative to PL/Java's default behavior of mapping whole XML documents to Java strings.

Beta testers are encouraged to exercise the new datatype mappings.

This release introduces support for parallel-safety declarations on functions in PostgreSQL 9.6. Simple cases work as expected, but PL/Java's code has not been thoroughly audited to be sure its internal behavior cannot violate constraints on parallel-restricted or parallel-safe functions. See the release notes and new user-guide page on parallel query.

In PostgreSQL 10, trigger transition tables are supported for AFTER triggers, as described in the release notes.

Please see the release notes for a more complete list of changes.

Availability:

1.5.1-BETA2 is available from GitHub as a source release, which builds quickly using Maven:

Release page: https://github.com/tada/pljava/releases/tag/V1_5_1b2

This wiki page will add links to prebuilt packages that become available:
https://github.com/tada/pljava/wiki/Prebuilt-packages

PL/Java 1.5.1-BETA1

20 Jun 04:53
Compare
Choose a tag to compare
PL/Java 1.5.1-BETA1 Pre-release
Pre-release

PL/Java 1.5.1-BETA1 announced; security note.

PL/Java brings functions, triggers, and types in Java. 1.5.1, now in beta, adds support for PostgreSQL 9.6 and 10 (beta), with a small number of improvements and fixes.

Project site: http://tada.github.io/pljava/
Release notes: http://tada.github.io/pljava/releasenotes.html

Security note

One previously-announced security issue is addressed in PL/Java 1.5.1, as described in the release notes.

Selected changes

This release introduces support for parallel-safety declarations on functions in PostgreSQL 9.6. Simple cases work as expected, but PL/Java's code has not been thoroughly audited to be sure its internal behavior cannot violate constraints on parallel-restricted or parallel-safe functions. See the release notes and new user-guide page on parallel query. This could be a fruitful area for beta testing.

In PostgreSQL 10, trigger transition tables are supported for AFTER triggers, as described in the release notes.

Please see the release notes for a more complete list of changes.

Availability:

1.5.1-BETA1 is available from GitHub as a source release, which builds quickly using Maven:

Release page: https://github.com/tada/pljava/releases/tag/V1_5_1b1

This wiki page will add links to prebuilt packages that become available:
https://github.com/tada/pljava/wiki/Prebuilt-packages