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]

Reply via email to