Skip to content

Commit c3734ae

Browse files
committed
Merge REL1_6_STABLE into master
2 parents 7de17bc + 789e4d6 commit c3734ae

File tree

5 files changed

+81
-15
lines changed

5 files changed

+81
-15
lines changed

pljava-api/src/main/java/org/postgresql/pljava/annotation/processing/DDRProcessor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ public SourceVersion getSupportedSourceVersion()
6262
* Update latest_tested to be the latest Java release on which this
6363
* annotation processor has been tested without problems.
6464
*/
65-
int latest_tested = 24;
65+
int latest_tested = 25;
6666
int ordinal_9 = SourceVersion.RELEASE_9.ordinal();
6767
int ordinal_latest = latest_tested - 9 + ordinal_9;
6868

pljava-packaging/build.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -255,6 +255,10 @@ jos.close();
255255
simple update is possible, just repeat the next entry, with
256256
the from-version changed.
257257
-->
258+
<utf8 dir="target/classes" includes="pljava--.sql"
259+
fullpath=
260+
"pljava/sharedir/pljava/pljava--1.6.10--${project.version}.sql"
261+
/>
258262
<utf8 dir="target/classes" includes="pljava--.sql"
259263
fullpath=
260264
"pljava/sharedir/pljava/pljava--1.6.9--${project.version}.sql"

pljava/src/main/java/org/postgresql/pljava/internal/InstallHelper.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -986,6 +986,7 @@ void migrateFrom( SchemaVariant sv, Connection c, Statement s)
986986
UNREL20040120 ("5e4131738cd095b7ff6367d64f809f6cec6a7ba7"),
987987
EMPTY (null);
988988

989+
static final SchemaVariant REL_1_6_10 = REL_1_6_0;
989990
static final SchemaVariant REL_1_6_9 = REL_1_6_0;
990991
static final SchemaVariant REL_1_6_8 = REL_1_6_0;
991992
static final SchemaVariant REL_1_6_7 = REL_1_6_0;

src/site/markdown/build/versions.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Versions of external packages needed to build and use PL/Java
22

3-
As of spring 2025, the following version constraints are known.
3+
As of fall 2025, the following version constraints are known.
44

55
## Java
66

@@ -76,6 +76,6 @@ The PL/Java 1.6 series does not support PostgreSQL earlier than 9.5.
7676
More current PostgreSQL versions, naturally, are the focus of development
7777
and receive more attention in testing.
7878

79-
PL/Java 1.6.9 has been successfully built and run on at least one platform
80-
with PostgreSQL versions from 17 to 9.5, the latest maintenance
79+
PL/Java 1.6.10 has been successfully built and run on at least one platform
80+
with PostgreSQL versions from 18 to 9.5, the latest maintenance
8181
release for each.

src/site/markdown/releasenotes.md.vm

Lines changed: 72 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,78 @@
1010
#set($ghbug = 'https://github.com/tada/pljava/issues/')
1111
#set($ghpull = 'https://github.com/tada/pljava/pull/')
1212

13+
$h2 PL/Java 1.6.10
14+
15+
This is the tenth minor update in the PL/Java 1.6 series. It adds support
16+
for building and running with Java 25 and with PostgreSQL 18, and improvements
17+
to exception handling and logging that should be helpful in debugging the common
18+
developer mistake of catching a PostgreSQL exception and proceeding without
19+
rolling back to a prior savepoint. Further information on the changes
20+
may be found below.
21+
22+
When run on Java 24 or later, there is no security policy enforcement; please
23+
review the release notes below for PL/Java 1.6.9 for more detail on that.
24+
25+
$h3 Version compatibility
26+
27+
PL/Java 1.6.10 can be built against recent PostgreSQL versions including 18, and
28+
older ones back to 9.5, using Java SE 9 or later. The Java version used at
29+
runtime does not have to be the same version used for building. PL/Java itself
30+
can run on any Java version 9 or later, but for security policy enforcement the
31+
runtime Java version must be 23 or earlier. PL/Java functions can be
32+
written for, and use features of, whatever Java version will be loaded at run
33+
time. See [version compatibility][versions] for more detail.
34+
35+
$h3 Changes
36+
37+
$h4 Runtime
38+
39+
$h5 Exception-handling and logging improvements for mishandled exceptions
40+
41+
When a PL/Java function calls back into PostgreSQL, an exception may be thrown.
42+
At that point, there are two things a PL/Java function may legitimately do:
43+
it may re-throw the exception (or throw some other exception), so that the
44+
PL/Java function returns exceptionally and PostgreSQL cleans up the transaction,
45+
or it may roll back to a savepoint that was established before the exception was
46+
thrown, and then proceed and return non-exceptionally. To catch such an
47+
exception and simply proceed, without rolling back to a prior savepoint, is
48+
a common new-developer mistake.
49+
50+
In past PL/Java versions, the troubleshooting for such a common mistake was
51+
uncommonly difficult, because the mishandling might not be detected until
52+
PL/Java made some later, even quite unrelated, call back into PostgreSQL, and
53+
the exception thrown at that point might have no connection to the original
54+
exception that was mishandled.
55+
56+
PL/Java 1.6.10 adds new exception-handling and logging behavior that should
57+
greatly simplify debugging such common mistakes. Details are in the new
58+
documentation section [Catching PostgreSQL exceptions in Java][catch].
59+
60+
[catch]: use/catch.html
61+
62+
$h3 Bugs fixed
63+
64+
* [ClassNotFoundException using PL/Java 1.6.8 on Postgres 17.2](${ghbug}523)
65+
* [support for PostgreSQL 18](${ghbug}524)
66+
* [SQL generator may use non-reproducible order in rare cases](${ghbug}527)
67+
68+
$h3 Credits
69+
70+
Thanks to Achilleas Mantzios for starting on the PostgreSQL 18 changes, `daddeo`
71+
for making the case to improve the treatment and logging of mishandled
72+
exceptions.
73+
74+
$h2 Earlier releases
75+
76+
## A nice thing about using Velocity is that each release can be entered at
77+
## birth using h2 as its main heading, h3 and below within ... and then, when
78+
## it is moved under 'earlier releases', just define those variables to be
79+
## one heading level finer. Here goes:
80+
#set($h2 = '###')
81+
#set($h3 = '####')
82+
#set($h4 = '#####')
83+
#set($h5 = '######')
84+
1385
$h2 PL/Java 1.6.9
1486

1587
This is the ninth minor update in the PL/Java 1.6 series. It adds support
@@ -135,17 +207,6 @@ document debugging arrangements and Java stack traces.
135207
[nopolicy]: use/unenforced.html
136208
[variables]: use/variables.html
137209

138-
$h2 Earlier releases
139-
140-
## A nice thing about using Velocity is that each release can be entered at
141-
## birth using h2 as its main heading, h3 and below within ... and then, when
142-
## it is moved under 'earlier releases', just define those variables to be
143-
## one heading level finer. Here goes:
144-
#set($h2 = '###')
145-
#set($h3 = '####')
146-
#set($h4 = '#####')
147-
#set($h5 = '######')
148-
149210
$h2 PL/Java 1.6.8 (19 October 2024)
150211

151212
This is the eighth minor update in the PL/Java 1.6 series. It adds support

0 commit comments

Comments
 (0)