Changeset: f6eeed9238ca for monetdb-java
URL: https://dev.monetdb.org/hg/monetdb-java/rev/f6eeed9238ca
Added Files:
TODO
Modified Files:
.github/workflows/testjars.yml
pom.xml
src/main/java/org/monetdb/jdbc/MonetConnection.java
src/main/java/org/monetdb/jdbc/MonetDatabaseMetaData.java
src/main/java/org/monetdb/jdbc/MonetDriver.java
src/main/java/org/monetdb/mcl/net/Target.java
src/main/java/org/monetdb/mcl/parser/QuotedStringParser.java
src/test/java/JDBC_API_Tester.java
src/test/java/JUnitTester.java
src/test/java/org/monetdb/jdbc/OnClientTestsParent.java
src/test/java/org/monetdb/mcl/net/ControlTester.java
src/test/java/org/monetdb/testinfra/MtestLauncher.java
src/test/java/org/monetdb/testinfra/PrefixedOutputStream.java
Branch: mvn
Log Message:
Merge 'default' into 'mvn'
diffs (truncated from 1526 to 300 lines):
diff --git a/.github/workflows/testjars.yml b/.github/workflows/testjars.yml
--- a/.github/workflows/testjars.yml
+++ b/.github/workflows/testjars.yml
@@ -1,5 +1,11 @@
-# This workflow builds the jdbc jar on Linux and tries to run the tests on
-# Linux, macOS and Windows.
+# GitHub Actions workflow for testing monetdb-jdbc
+#
+# This workflow contains three jobs: 'build_jar', 'platforms' and
+# 'monets'. The latter two expand into a number of variants
+# for different operating systems, JVM versions and MonetDB versions.
+#
+# The 'build_jar' job builds the jdbc jar and the tests jar on Linux.
+# All other jobs depend on the result.
name: test jars
@@ -9,20 +15,23 @@ on:
jobs:
# This job builds the jars for use by the other jobs.
- # It quickly tests against MonetDB and tlstester instances running in a
container.
+ # It runs a subset of the test suite so we can fail the run early if there
+ # are obvious failures.
build_jar:
runs-on: ubuntu-latest
env:
MONETDB_TLSTESTER: localhost:4300
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v6
# Skip all other steps if pom.xml and src/ haven't changed.
- # You can increment the xyz component of the cache key to invalidate
- # any existing cache and run everything anew.
+ # This is useful while we tweak the test jobs that follow later.
+ #
+ # If necessary you can increment the xyz component of the cache
+ # key below to invalidate any existing cache and force a rebuild.
- name: Cache the whole job
- uses: actions/cache@v4
+ uses: actions/cache@v5
id: cache-all
with:
path: jars
@@ -30,23 +39,29 @@ jobs:
# We start the containers manually rather than using GitHub's Service
# Container feature because we don't want to spend time starting the
- # containers if job 'cache-all' above already has everything cached.
+ # containers if step 'cache-all' above already has everything cached.
- name: Start containers
if: (!steps.cache-all.outputs.cache-hit)
run: |
- docker run -d -e MDB_DB_ADMIN_PASS=monetdb -e
MDB_CREATE_DBS=testjdbc -p 50000:50000 docker.io/monetdb/dev-builds:Aug2024
+ docker run -d -e MDB_DB_ADMIN_PASS=monetdb -e
MDB_CREATE_DBS=testjdbc -p 50000:50000 docker.io/monetdb/dev-builds:Dec2025
docker run -d -e TLSTEST_DOMAIN=localhost -p 4300-4350:4300-4350
docker.io/monetdb/tlstester:0.3.1
+ # Separately cache everything Maven needs to download while building and
+ # testing, because that usually doesn't change between runs.
+ #
+ # The 'restore-keys' setting allows this step to restore the cache for a
+ # different version pom.xml if no exact match is available. This may
still
+ # reduce the amount of items that Maven needs to download.
- name: Cache Maven downloads
if: (!steps.cache-all.outputs.cache-hit)
- uses: actions/cache@v4
+ uses: actions/cache@v5
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- - uses: actions/setup-java@v4
+ - uses: actions/setup-java@v5
if: (!steps.cache-all.outputs.cache-hit)
with:
java-version: 24
@@ -56,7 +71,8 @@ jobs:
if: (!steps.cache-all.outputs.cache-hit)
run: ./mvnw --no-transfer-progress package -Dgroups='!slow'
- - uses: actions/upload-artifact@v4
+ # Store the jars we built so the other jobs can pick them up.
+ - uses: actions/upload-artifact@v7
with:
name: jars
path: jars
@@ -65,9 +81,11 @@ jobs:
- # This job tests the jars on various platforms, always against the latest
- # MonetDB because MonetDB/[email protected] can only fairly recent
versions.
- platform:
+ # This job tests the jars on various combinations of OS and JDK version.
+ #
+ # We use the latest MonetDB version because the MonetDB/install-monetdb
Action
+ # can only install fairly recent versions on MacOS (this is due to Homebrew).
+ platforms:
needs: build_jar
strategy:
fail-fast: false
@@ -78,24 +96,29 @@ jobs:
- windows-latest
java: # do we really need to test all these versions?
- 8
- #- 11
- #- 17
- #- 21
- - 24
- #- 25
+ - 11
+ - 17
+ - 21
+ - 25
+ - 26
+ monetdbversion: # need this to force Dec2025-SP2 as Latest ==
Dec2025-SP3 is not available on macOS
+ - Dec2025-SP2
include:
- # override java-dist only for java 8
+ # Oracle JVM < 17 not supported by actions/setup-java
- java: 8
java-dist: liberica
+ - java: 11
+ java-dist: liberica
runs-on: ${{ matrix.os }}
steps:
- - uses: actions/setup-java@v4
+ - uses: actions/setup-java@v5
with:
java-version: ${{ matrix.java }}
distribution: ${{ matrix.java-dist || 'oracle' }}
- - uses: actions/download-artifact@v4
+ # Here we pick up the jars built by job build_jar
+ - uses: actions/download-artifact@v8
with:
name: jars
path: jars
@@ -105,7 +128,7 @@ jobs:
- uses: MonetDB/[email protected]
with:
- version: Latest
+ version: ${{ matrix.monetdbversion }}
- name: Run tests
run: |
@@ -113,17 +136,20 @@ jobs:
-
- oldmonetdb:
+ # This job tests the jars from job build_jar with various older and newer
+ # MonetDB versions.
+ monets:
needs: build_jar
strategy:
fail-fast: false
matrix:
monetdb_image:
# See https://hub.docker.com/r/monetdb/monetdb/tags for docker image
names of official MonetDB releases
- # See https://hub.docker.com/r/monetdb/dev-builds/tags for docker
image name of default branch
+ # See https://hub.docker.com/r/monetdb/dev-builds/tags for docker
image name of test builds
- "monetdb/dev-builds:default"
- "monetdb/monetdb:latest"
+ - "monetdb/monetdb:Dec2025-SP2"
+ # - "monetdb/monetdb:Dec2025-SP1"
- "monetdb/monetdb:Mar2025-SP3"
# - "monetdb/monetdb:Mar2025-SP2"
# - "monetdb/monetdb:Mar2025-SP1"
@@ -132,8 +158,8 @@ jobs:
- "monetdb/monetdb:Dec2023-SP4"
- "monetdb/monetdb:Jun2023-SP3"
- "monetdb/monetdb:Sep2022-SP3"
- - "monetdb/monetdb:Jan2022-SP4"
- - "monetdb/monetdb:Jul2021-SP2"
+ # - "monetdb/monetdb:Jan2022-SP4"
+ # - "monetdb/monetdb:Jul2021-SP2"
# - Jan2022
# - Sep2022
# - Jun2023
@@ -161,17 +187,17 @@ jobs:
MONETDB_TLSTESTER: localhost:4300
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v6
# Not sure what makes most sense here...
# test old MonetDB versions with an old Java version
# or with a newer one
- - uses: actions/setup-java@v4
+ - uses: actions/setup-java@v5
with:
java-version: 24
distribution: oracle
- - uses: actions/download-artifact@v4
+ - uses: actions/download-artifact@v8
with:
name: jars
path: jars
diff --git a/.hgtags b/.hgtags
--- a/.hgtags
+++ b/.hgtags
@@ -10,3 +10,4 @@ fd66573f88946b488e4f1f26db624d8f370aa5a8
843f7d03540ab1170ce80d9e89993235b45d3ff9 v3.3
1a4014a0c0c8751c5a5ea9e1205f1aea22c9188b v12.0
334a06e4f64cf25a612817684ad870622a674656 v12.1
+239d4e1c4b88057cb91db413195ddac820fecd36 v12.2
diff --git a/ChangeLog b/ChangeLog
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,13 +1,13 @@
# ChangeLog file for monetdb-java
# This file is updated with Maddlog
-* Thu Oct 2 2025 Martin van Dinther <[email protected]>
-- Compiled and released new jar files: monetdb-jdbc-12.1.jre8.jar and
+* Thu Jan 8 2026 Joeri van Ruth <[email protected]>
+- Compiled and released new jar files: monetdb-jdbc-12.2.jre8.jar and
jdbcclient.jre8.jar
+* Fri Jan 2 2026 Joeri van Ruth <[email protected]>
+- Fix backslash issues in ResultSetMetaData column names. (#11).
+
For a complete list of changes in previous monetdb-java releases see:
https://www.monetdb.org/downloads/Java/archive/ChangeLog-Archive
-* Fri Jan 2 2026 Joeri van Ruth <[email protected]>
-- Fix backslash issues in ResultSetMetaData column names. (#11).
-
diff --git a/ChangeLog-Archive b/ChangeLog-Archive
--- a/ChangeLog-Archive
+++ b/ChangeLog-Archive
@@ -2,6 +2,13 @@
# This file contains all past monetdb-java ChangeLog entries
# For every new release the ChangeLog is prepended to this file.
+* Thu Jan 8 2026 Joeri van Ruth <[email protected]>
+- Compiled and released new jar files: monetdb-jdbc-12.2.jre8.jar and
+ jdbcclient.jre8.jar
+
+* Fri Jan 2 2026 Joeri van Ruth <[email protected]>
+- Fix backslash issues in ResultSetMetaData column names. (#11).
+
* Thu Oct 2 2025 Martin van Dinther <[email protected]>
- Compiled and released new jar files: monetdb-jdbc-12.1.jre8.jar and
jdbcclient.jre8.jar
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -83,6 +83,6 @@ This Source Code Form is subject to the
License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at http://mozilla.org/MPL/2.0/.
-Copyright 2024, 2025 MonetDB Foundation;
+Copyright 2024 - present MonetDB Foundation;
Copyright August 2008 - 2023 MonetDB B.V.;
Copyright 1997 - July 2008 CWI.
diff --git a/TODO b/TODO
new file mode 100644
--- /dev/null
+++ b/TODO
@@ -0,0 +1,11 @@
+Quick notes from the mvn branch
+
+- remove the years from the copyright message
+
+- restore Test_Csendthread, it's actuall useful
+
+- re-check github actions versions
+
+- modernize copyright message (see ControlTester for an example)
+
+- start converting the JDBC_API_Tester tests to Junit style
diff --git a/example/MJDBCTest.java b/example/MJDBCTest.java
--- a/example/MJDBCTest.java
+++ b/example/MJDBCTest.java
@@ -5,7 +5,7 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
- * Copyright 2024, 2025 MonetDB Foundation;
+ * Copyright 2024 - 2026 MonetDB Foundation;
* Copyright August 2008 - 2023 MonetDB B.V.;
* Copyright 1997 - July 2008 CWI.
*/
diff --git a/example/OnClientExample.java b/example/OnClientExample.java
--- a/example/OnClientExample.java
+++ b/example/OnClientExample.java
@@ -5,7 +5,7 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]