diff --git a/.github/workflows/test-and-release.yml b/.github/workflows/test-and-release.yml index c37731f..e729a5d 100644 --- a/.github/workflows/test-and-release.yml +++ b/.github/workflows/test-and-release.yml @@ -12,14 +12,14 @@ jobs: - uses: actions/checkout@v4 with: fetch-depth: 0 - - uses: actions/setup-java@v3 + - uses: actions/setup-java@v4 with: distribution: 'temurin' java-version: '11' - name: Setup Clojure uses: DeLaGuardo/setup-clojure@master with: - cli: '1.11.1.1413' + cli: '1.11.1.1429' - name: Cache All The Things uses: actions/cache@v3 with: diff --git a/.github/workflows/test-and-snapshot.yml b/.github/workflows/test-and-snapshot.yml index 31b1b9b..6559803 100644 --- a/.github/workflows/test-and-snapshot.yml +++ b/.github/workflows/test-and-snapshot.yml @@ -10,14 +10,14 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: actions/setup-java@v3 + - uses: actions/setup-java@v4 with: distribution: 'temurin' java-version: '11' - name: Setup Clojure uses: DeLaGuardo/setup-clojure@master with: - cli: '1.11.1.1413' + cli: '1.11.1.1429' - name: Cache All The Things uses: actions/cache@v3 with: @@ -57,14 +57,14 @@ jobs: java: [ '11', '17', '20' ] steps: - uses: actions/checkout@v4 - - uses: actions/setup-java@v3 + - uses: actions/setup-java@v4 with: distribution: 'temurin' java-version: ${{ matrix.java }} - name: Setup Clojure uses: DeLaGuardo/setup-clojure@master with: - cli: '1.11.1.1413' + cli: '1.11.1.1429' - name: Cache All The Things uses: actions/cache@v3 with: @@ -93,7 +93,7 @@ jobs: - name: Setup Clojure uses: DeLaGuardo/setup-clojure@master with: - cli: '1.11.1.1413' + cli: '1.11.1.1429' - name: Cache All The Things uses: actions/cache@v3 with: diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 88ae7ab..3b74718 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -10,14 +10,14 @@ jobs: java: [ '11', '17', '20' ] steps: - uses: actions/checkout@v4 - - uses: actions/setup-java@v3 + - uses: actions/setup-java@v4 with: distribution: 'temurin' java-version: ${{ matrix.java }} - name: Setup Clojure uses: DeLaGuardo/setup-clojure@master with: - cli: '1.11.1.1413' + cli: '1.11.1.1429' - name: Cache All The Things uses: actions/cache@v3 with: @@ -61,7 +61,7 @@ jobs: - name: Setup Clojure uses: DeLaGuardo/setup-clojure@master with: - cli: '1.11.1.1413' + cli: '1.11.1.1429' - name: Cache All The Things uses: actions/cache@v3 with: diff --git a/CHANGELOG.md b/CHANGELOG.md index 53d3d94..10e70fc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,10 +2,11 @@ Only accretive/fixative changes will be made from now on. -* 1.3.next in progress +* 1.3.909 -- 2023-12-16 * Address [#267](https://github.com/seancorfield/next-jdbc/issues/267) by adding the `:schema-opts` option to override the default conventions for identifying foreign keys in columns. * Address [#264](https://github.com/seancorfield/next-jdbc/issues/264) by letting `insert-multi!` accept empty rows (and producing an empty result vector). This improves compatibility with `clojure.javaj.jdbc`. * Address [#258](https://github.com/seancorfield/next-jdbc/issues/258) by updating all the library (driver) versions in Getting Started to match the latest versions being tested (from `deps.edn`). + * Update `java.data` to 1.1.103 so that `next.jdbc` no longer has a transitive dependency on `org.clojure/tools.logging`! * Attempt to clarify that when calling `reduce` on the result of `plan`, you must provide an initial value. * Expand examples for calling `next.jdbc.sql/find-by-keys` to show `LIKE` and `IN` clauses. * Update `tools.build` to 0.9.6 (and get rid of `template/pom.xml` in favor of new `:pom-data` option to `b/write-pom`). diff --git a/README.md b/README.md index e4df99b..3efeddb 100644 --- a/README.md +++ b/README.md @@ -8,8 +8,8 @@ The next generation of `clojure.java.jdbc`: a new low-level Clojure wrapper for The latest versions on Clojars and on cljdoc: -[![Clojars](https://img.shields.io/badge/clojars-com.github.seancorfield/next.jdbc_1.3.894-blue.svg?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAABjFBMVEUAAAAdCh0qDikdChwAAAAnDSY0EjM2FjUnDiYnDSYnDSYpDigyEDEEAQRGNUb///////8mDSYAAAAAAAAAAAAFAgUqEyoAAAAAAAAAAAAFAgUAAABXU1c2FjVMx+dQx+f///////9Nx+b////4/f6y4vRPt+RQtOT///9Qt+P///8oDSey4vRQr9/////3/P5hzelNx+dNx+dNx+f///8AAAAuDy0zETIAAAAoDScAAAAAAAARBREAAAAvDy40ETMwEC9gSF+Ne42ilKKuoK6Rg5B5ZXlaP1o4Gzf///9nTWZ4YncyEDF/bn/8/Pz9/P339/c1FTUlDCRRM1AbCRtlS2QyEDEuDy1gRWAxEDAzETIwEC/g4OAvDy40EjOaiZorDiq9sbzNyM3UzdQyEDE0ETMzETKflZ/UzdQ5Fzmu4fNYyuhNx+dPt+RLu9xQyOhBbo81GTuW2vCo4PJNx+c4MFE5N1lHiLFEhKQyEDGDboMzETI5Fjh5bXje2d57aHrIw8jc2NyWhJUrDioxe9o4AAAAPnRSTlMAkf+IAQj9+e7n6e31RtqAD/QAAAED+A0ZEQ8DwvkLBsmcR4aG8+cdAD6C8/MC94eP+qoTrgH+/wj1HA8eEvpXOCUAAAABYktHRA8YugDZAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3wcHFjou4Z/shwAAAUpJREFUOMul0/VTwzAUB/AAwyW4y3B3h8EDNuTh7u6UDHcd8I+TbHSjWdrjju/1h77kc+3Lu5aQvyakF/r6B5wu1+DQMEBomLRtG0EpozYDCEccA4iIjIqOiY0bB5iYxHgZ4FQCpYneKmmal0aQPMOXZnUAvJhLkbpInf8NFtKCTrGImK6DJcTlDGl/BXGV6oCsrSNIYAM3aQDwl2xJYBtBB5lZAuyYgWzY3YMcNcjN2wc4EGMEFTg8+hlyfgEenygAj71Q9FBExH0wKC4p1bRTJlJWXqEAVNM05ovbXfkPAHBmAUQPAGaAsXMBLiwA8z3h0gRcsWsObuAWLJu8Awb3ZoB5T8EvS/CgBo9Y5Z8TPwXBJwlUI9Ia/yRrEZ8lID71Olrf0MiamkkL4kurDEjba+C/e2sninR0wrsH8eMTvrqIWbodjh7jyjdtCY3Aniz4jwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxNS0wNy0wN1QyMjo1ODo0NiswMjowMCgWtSoAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTUtMDctMDdUMjI6NTg6NDYrMDI6MDBZSw2WAAAAAElFTkSuQmCC)](https://clojars.org/com.github.seancorfield/next.jdbc) -[![cljdoc](https://cljdoc.org/badge/com.github.seancorfield/next.jdbc?1.3.894)](https://cljdoc.org/d/com.github.seancorfield/next.jdbc/CURRENT) +[![Clojars](https://img.shields.io/badge/clojars-com.github.seancorfield/next.jdbc_1.3.909-blue.svg?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAABjFBMVEUAAAAdCh0qDikdChwAAAAnDSY0EjM2FjUnDiYnDSYnDSYpDigyEDEEAQRGNUb///////8mDSYAAAAAAAAAAAAFAgUqEyoAAAAAAAAAAAAFAgUAAABXU1c2FjVMx+dQx+f///////9Nx+b////4/f6y4vRPt+RQtOT///9Qt+P///8oDSey4vRQr9/////3/P5hzelNx+dNx+dNx+f///8AAAAuDy0zETIAAAAoDScAAAAAAAARBREAAAAvDy40ETMwEC9gSF+Ne42ilKKuoK6Rg5B5ZXlaP1o4Gzf///9nTWZ4YncyEDF/bn/8/Pz9/P339/c1FTUlDCRRM1AbCRtlS2QyEDEuDy1gRWAxEDAzETIwEC/g4OAvDy40EjOaiZorDiq9sbzNyM3UzdQyEDE0ETMzETKflZ/UzdQ5Fzmu4fNYyuhNx+dPt+RLu9xQyOhBbo81GTuW2vCo4PJNx+c4MFE5N1lHiLFEhKQyEDGDboMzETI5Fjh5bXje2d57aHrIw8jc2NyWhJUrDioxe9o4AAAAPnRSTlMAkf+IAQj9+e7n6e31RtqAD/QAAAED+A0ZEQ8DwvkLBsmcR4aG8+cdAD6C8/MC94eP+qoTrgH+/wj1HA8eEvpXOCUAAAABYktHRA8YugDZAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3wcHFjou4Z/shwAAAUpJREFUOMul0/VTwzAUB/AAwyW4y3B3h8EDNuTh7u6UDHcd8I+TbHSjWdrjju/1h77kc+3Lu5aQvyakF/r6B5wu1+DQMEBomLRtG0EpozYDCEccA4iIjIqOiY0bB5iYxHgZ4FQCpYneKmmal0aQPMOXZnUAvJhLkbpInf8NFtKCTrGImK6DJcTlDGl/BXGV6oCsrSNIYAM3aQDwl2xJYBtBB5lZAuyYgWzY3YMcNcjN2wc4EGMEFTg8+hlyfgEenygAj71Q9FBExH0wKC4p1bRTJlJWXqEAVNM05ovbXfkPAHBmAUQPAGaAsXMBLiwA8z3h0gRcsWsObuAWLJu8Awb3ZoB5T8EvS/CgBo9Y5Z8TPwXBJwlUI9Ia/yRrEZ8lID71Olrf0MiamkkL4kurDEjba+C/e2sninR0wrsH8eMTvrqIWbodjh7jyjdtCY3Aniz4jwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxNS0wNy0wN1QyMjo1ODo0NiswMjowMCgWtSoAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTUtMDctMDdUMjI6NTg6NDYrMDI6MDBZSw2WAAAAAElFTkSuQmCC)](https://clojars.org/com.github.seancorfield/next.jdbc) +[![cljdoc](https://cljdoc.org/badge/com.github.seancorfield/next.jdbc?1.3.909)](https://cljdoc.org/d/com.github.seancorfield/next.jdbc/CURRENT) [![Slack](https://img.shields.io/badge/slack-next.jdbc-orange.svg?logo=slack)](https://clojurians.slack.com/app_redirect?channel=sql) [![Join Slack](https://img.shields.io/badge/slack-join_clojurians-orange.svg?logo=slack)](http://clojurians.net) @@ -20,7 +20,7 @@ The documentation on [cljdoc.org](https://cljdoc.org/d/com.github.seancorfield/n * [Migrating from `clojure.java.jdbc`](https://cljdoc.org/d/com.github.seancorfield/next.jdbc/CURRENT/doc/migration-from-clojure-java-jdbc) * Feedback via [issues](https://github.com/seancorfield/next-jdbc/issues) or in the [`#sql` channel on the Clojurians Slack](https://clojurians.slack.com/messages/C1Q164V29/) or the [`#sql` stream on the Clojurians Zulip](https://clojurians.zulipchat.com/#narrow/stream/152063-sql). -The documentation on GitHub is for **develop** since the 1.3.894 release -- [see the CHANGELOG](https://github.com/seancorfield/next-jdbc/blob/develop/CHANGELOG.md) and then read the [corresponding updated documentation](https://github.com/seancorfield/next-jdbc/tree/develop/doc) on GitHub if you want. Older versions of `next.jdbc` were published under the `seancorfield` group ID and you can find [older seancorfield/next.jdbc documentation on cljdoc.org](https://cljdoc.org/versions/seancorfield/next.jdbc). +The documentation on GitHub is for **develop** since the 1.3.909 release -- [see the CHANGELOG](https://github.com/seancorfield/next-jdbc/blob/develop/CHANGELOG.md) and then read the [corresponding updated documentation](https://github.com/seancorfield/next-jdbc/tree/develop/doc) on GitHub if you want. Older versions of `next.jdbc` were published under the `seancorfield` group ID and you can find [older seancorfield/next.jdbc documentation on cljdoc.org](https://cljdoc.org/versions/seancorfield/next.jdbc). This project follows the version scheme MAJOR.MINOR.COMMITS where MAJOR and MINOR provide some relative indication of the size of the change, but do not follow semantic versioning. In general, all changes endeavor to be non-breaking (by moving to new names rather than by breaking existing names). COMMITS is an ever-increasing counter of commits since the beginning of this repository. diff --git a/deps.edn b/deps.edn index a848da8..bc62cc7 100644 --- a/deps.edn +++ b/deps.edn @@ -1,13 +1,13 @@ {:mvn/repos {"sonatype" {:url "https://oss.sonatype.org/content/repositories/snapshots/"}} :paths ["src" "resources"] :deps {org.clojure/clojure {:mvn/version "1.11.1"} - org.clojure/java.data {:mvn/version "1.0.95"} + org.clojure/java.data {:mvn/version "1.1.103"} camel-snake-kebab/camel-snake-kebab {:mvn/version "0.4.3"}} :aliases {;; for help: clojure -A:deps -T:build help/doc :build {:deps {io.github.clojure/tools.build {:mvn/version "0.9.6"} - slipset/deps-deploy {:mvn/version "0.2.1"}} + slipset/deps-deploy {:mvn/version "0.2.2"}} :ns-default build} ;; versions to test against: @@ -21,7 +21,7 @@ io.github.cognitect-labs/test-runner {:git/tag "v0.5.1" :git/sha "dfb30dd"} ;; connection pooling - com.zaxxer/HikariCP {:mvn/version "5.0.1"} + com.zaxxer/HikariCP {:mvn/version "5.1.0"} com.mchange/c3p0 {:mvn/version "0.9.5.5"} ;; JDBC drivers ;; 10.16.x is JDK17+ @@ -30,22 +30,23 @@ org.hsqldb/hsqldb {:mvn/version "2.7.2"} com.h2database/h2 {:mvn/version "2.2.224"} net.sourceforge.jtds/jtds {:mvn/version "1.3.1"} - org.mariadb.jdbc/mariadb-java-client {:mvn/version "3.2.0"} - com.mysql/mysql-connector-j {:mvn/version "8.1.0"} - org.postgresql/postgresql {:mvn/version "42.6.0"} - io.zonky.test/embedded-postgres {:mvn/version "2.0.4"} - io.zonky.test.postgres/embedded-postgres-binaries-darwin-amd64 {:mvn/version "16.0.0"} - io.zonky.test.postgres/embedded-postgres-binaries-linux-amd64 {:mvn/version "16.0.0"} - io.zonky.test.postgres/embedded-postgres-binaries-windows-amd64 {:mvn/version "16.0.0"} - org.xerial/sqlite-jdbc {:mvn/version "3.43.0.0"} + org.mariadb.jdbc/mariadb-java-client {:mvn/version "3.3.1"} + com.mysql/mysql-connector-j {:mvn/version "8.2.0"} + org.postgresql/postgresql {:mvn/version "42.7.1"} + io.zonky.test/embedded-postgres {:mvn/version "2.0.6"} + io.zonky.test.postgres/embedded-postgres-binaries-darwin-amd64 {:mvn/version "16.1.1"} + io.zonky.test.postgres/embedded-postgres-binaries-linux-amd64 {:mvn/version "16.1.1"} + io.zonky.test.postgres/embedded-postgres-binaries-windows-amd64 {:mvn/version "16.1.1"} + org.xerial/sqlite-jdbc {:mvn/version "3.44.1.0"} com.microsoft.sqlserver/mssql-jdbc {:mvn/version "12.4.1.jre11"} ;; supplementary test stuff - ;; use log4j 2.x: - org.apache.logging.log4j/log4j-api {:mvn/version "2.20.0"} - ;; bridge into log4j: - org.apache.logging.log4j/log4j-1.2-api {:mvn/version "2.20.0"} - org.apache.logging.log4j/log4j-jcl {:mvn/version "2.20.0"} - org.apache.logging.log4j/log4j-jul {:mvn/version "2.20.0"} - org.apache.logging.log4j/log4j-slf4j-impl {:mvn/version "2.20.0"}} + ;; ;; use log4j 2.x: + ;; org.apache.logging.log4j/log4j-api {:mvn/version "2.22.0"} + ;; ;; bridge into log4j: + ;; org.apache.logging.log4j/log4j-1.2-api {:mvn/version "2.22.0"} + ;; org.apache.logging.log4j/log4j-jcl {:mvn/version "2.22.0"} + ;; org.apache.logging.log4j/log4j-jul {:mvn/version "2.22.0"} + ;; org.apache.logging.log4j/log4j-slf4j-impl {:mvn/version "2.22.0"} + } :jvm-opts ["-Dlog4j2.configurationFile=log4j2-info.properties"] :exec-fn cognitect.test-runner.api/test}}} diff --git a/doc/datafy-nav-and-schema.md b/doc/datafy-nav-and-schema.md index abbdb81..12c9c5c 100644 --- a/doc/datafy-nav-and-schema.md +++ b/doc/datafy-nav-and-schema.md @@ -26,7 +26,7 @@ By default, `next.jdbc` assumes that a column named `id` or `