Add json-columns module: JSON columns in Hibernate 7.4.14 (@JdbcTypeCode(SqlTypes.JSON)), JSONB querying, GIN/expression indexes, dirty checking, Jackson 3 vs 2 on PostgreSQL 18.6 and MySQL 8.0.46
Co-Authored-By: Claude Sonnet 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_017ic4b6Kg9RWSTJzyz6KP9X
This commit is contained in:
Executable
+39
@@ -0,0 +1,39 @@
|
||||
#!/usr/bin/env bash
|
||||
# Runs FormatMapperProbe under five classpaths and writes output/09-format-mapper-matrix.txt.
|
||||
# Needs PostgreSQL up (scripts/start-databases.sh) and `mvn test-compile` done.
|
||||
set -uo pipefail
|
||||
cd "$(dirname "$0")/.."
|
||||
OUT=output/09-format-mapper-matrix.txt
|
||||
mkdir -p output target/cp
|
||||
mvn -B -q test-compile >/dev/null 2>&1
|
||||
cp_for() { # name, extra mvn args...
|
||||
local name="$1"; shift
|
||||
mvn -B -q dependency:build-classpath -Dmdep.includeScope=test -Dmdep.outputFile="target/cp/$name.txt" "$@" >/dev/null 2>&1
|
||||
}
|
||||
drop() { tr ':' '\n' < "target/cp/$1.txt" | grep -v -E "$2" | paste -sd: - > "target/cp/$3.txt"; }
|
||||
cp_for j3 # Jackson 3 only: what Spring Boot 4 gives you
|
||||
cp_for j2j3 -Pjackson2 # Jackson 2 and Jackson 3 side by side
|
||||
cp_for j2j3t -Pjackson2,jsr310 # ... plus jackson-datatype-jsr310 for Jackson 2
|
||||
drop j2j3 '/tools/jackson/' j2 # Jackson 2 only
|
||||
drop j2j3t '/tools/jackson/' j2t # Jackson 2 only, with jsr310
|
||||
drop j3 '/tools/jackson/|/com/fasterxml/jackson/' none # no Jackson at all
|
||||
run() { # label, classpath-name, setting
|
||||
local label="$1" cpname="$2" setting="${3:-}"
|
||||
echo "== $label"
|
||||
java -cp "target/test-classes:target/classes:$(cat target/cp/$cpname.txt)" com.ankurm.jsoncolumns.FormatMapperProbe "$setting" 2>&1 \
|
||||
| grep -E '^(setting|on classpath|mapper|stored|read back|FAILED)'
|
||||
echo
|
||||
}
|
||||
{
|
||||
echo "# Hibernate $(grep -o 'hibernate-core-[0-9.A-Za-z]*' target/cp/j3.txt | head -1)"
|
||||
run "A. Jackson 3 only, setting not set" j3
|
||||
run "B. Jackson 2 + Jackson 3, setting not set" j2j3
|
||||
run "C. Jackson 2 only, setting not set" j2
|
||||
run "D. no Jackson at all, setting not set" none
|
||||
run "E. Jackson 2 + Jackson 3, setting = jackson (Jackson 2)" j2j3 jackson
|
||||
run "F. Jackson 3 only, setting = jackson (Jackson 2 absent)" j3 jackson
|
||||
run "G. Jackson 2 + Jackson 3, setting = jackson3" j2j3 jackson3
|
||||
run "H. Jackson 2 + jackson-datatype-jsr310, setting not set" j2t
|
||||
run "I. Jackson 2 + Jackson 3 + jsr310, setting not set" j2j3t
|
||||
} > "$OUT"
|
||||
cat "$OUT"
|
||||
Reference in New Issue
Block a user