[Git][java-team/xerial-sqlite-jdbc][upstream] New upstream version 3.51.3.0+dfsg
Ying-Chun Liu (@paulliu)
gitlab at salsa.debian.org
Sat Apr 4 18:39:08 BST 2026
Ying-Chun Liu pushed to branch upstream at Debian Java Maintainers / xerial-sqlite-jdbc
Commits:
d9b02153 by Ying-Chun Liu (PaulLiu) at 2026-04-04T18:21:38+01:00
New upstream version 3.51.3.0+dfsg
- - - - -
8 changed files:
- Makefile
- Makefile.common
- README.adoc
- USAGE.md
- VERSION
- pom.xml
- src/main/ext/extension-functions.c
- src/test/java/org/sqlite/ExtensionTest.java
Changes:
=====================================
Makefile
=====================================
@@ -17,6 +17,11 @@ SRC:=src/main/java
JAVA_CLASSPATH:=$(TARGET)/classpath/slf4j-api.jar
SQLITE_OUT:=$(TARGET)/$(sqlite)-$(OS_NAME)-$(OS_ARCH)
SQLITE_OBJ?=$(SQLITE_OUT)/sqlite3.o
+SQLITE_SRC_ARCHIVE:=$(TARGET)/$(sqlite)-src.zip
+SQLITE_SRC:=$(TARGET)/sqlite-src.log
+SQLITE_SRC_TMP:=$(TARGET)/tmp-src.$(version)/$(SQLITE_SRC_PREFIX)
+SQLITE_AMALGAMATION_FROM_SRC:=$(TARGET)/tmp-src.$(version)/$(SQLITE_AMAL_PREFIX)
+SQLITE_AMALGAMATION_ZIP_FROM_SRC:=$(SQLITE_AMALGAMATION_FROM_SRC).zip
SQLITE_ARCHIVE:=$(TARGET)/$(sqlite)-amal.zip
SQLITE_UNPACKED:=$(TARGET)/sqlite-unpack.log
SQLITE_SOURCE?=$(TARGET)/$(SQLITE_AMAL_PREFIX)
@@ -24,13 +29,35 @@ SQLITE_HEADER?=$(SQLITE_SOURCE)/sqlite3.h
ifneq ($(SQLITE_SOURCE),$(TARGET)/$(SQLITE_AMAL_PREFIX))
created := $(shell touch $(SQLITE_UNPACKED))
endif
+ENABLE_UPDATE_DELETE_LIMIT?=1
SQLITE_INCLUDE := $(shell dirname "$(SQLITE_HEADER)")
CCFLAGS:= -I$(SQLITE_OUT) -I$(SQLITE_INCLUDE) $(CCFLAGS)
+$(SQLITE_SRC_ARCHIVE):
+ mkdir -p $(@D)
+ curl -L --max-redirs 0 -f -o$@ https://www.sqlite.org/2026/$(SQLITE_SRC_PREFIX).zip
+
+$(SQLITE_SRC): $(SQLITE_SRC_ARCHIVE)
+ unzip -qo $< -d $(TARGET)/tmp-src.$(version)
+ ((cd $(SQLITE_SRC_TMP) && ./configure --update-limit && make sqlite3.c) | tee $@)
+
+$(SQLITE_AMALGAMATION_ZIP_FROM_SRC): $(SQLITE_SRC)
+ mkdir -p $(SQLITE_AMALGAMATION_FROM_SRC)
+ cp $(SQLITE_SRC_TMP)/sqlite3.c $(SQLITE_SRC_TMP)/sqlite3.h $(SQLITE_SRC_TMP)/sqlite3ext.h $(SQLITE_AMALGAMATION_FROM_SRC)/
+ (cd $(SQLITE_AMALGAMATION_FROM_SRC)/.. && zip -r $(SQLITE_AMAL_PREFIX).zip $(SQLITE_AMAL_PREFIX))
+
+ifneq ($(ENABLE_UPDATE_DELETE_LIMIT),1)
+ENABLE_UPDATE_DELETE_LIMIT_FLAG :=
$(SQLITE_ARCHIVE):
+else
+ENABLE_UPDATE_DELETE_LIMIT_FLAG := -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT
+$(SQLITE_ARCHIVE): $(SQLITE_AMALGAMATION_ZIP_FROM_SRC)
+endif
@mkdir -p $(@D)
+ cp -v $(SQLITE_AMALGAMATION_ZIP_FROM_SRC) $@ || \
+ curl -L --max-redirs 0 -f -o$@ https://www.sqlite.org/2026/$(SQLITE_AMAL_PREFIX).zip || \
curl -L --max-redirs 0 -f -o$@ https://www.sqlite.org/2025/$(SQLITE_AMAL_PREFIX).zip || \
curl -L --max-redirs 0 -f -o$@ https://www.sqlite.org/2024/$(SQLITE_AMAL_PREFIX).zip || \
curl -L --max-redirs 0 -f -o$@ https://www.sqlite.org/2023/$(SQLITE_AMAL_PREFIX).zip || \
@@ -88,6 +115,7 @@ $(SQLITE_OUT)/sqlite3.o : $(SQLITE_UNPACKED)
-DSQLITE_ENABLE_FTS3_PARENTHESIS \
-DSQLITE_ENABLE_FTS5 \
-DSQLITE_ENABLE_RTREE \
+ -DSQLITE_ENABLE_PERCENTILE \
-DSQLITE_ENABLE_STAT4 \
-DSQLITE_ENABLE_DBSTAT_VTAB \
-DSQLITE_ENABLE_MATH_FUNCTIONS \
@@ -103,6 +131,7 @@ $(SQLITE_OUT)/sqlite3.o : $(SQLITE_UNPACKED)
-DSQLITE_MAX_ATTACHED=125 \
-DSQLITE_MAX_PAGE_COUNT=4294967294 \
-DSQLITE_DISABLE_PAGECACHE_OVERFLOW_STATS \
+ $(ENABLE_UPDATE_DELETE_LIMIT_FLAG) \
$(SQLITE_FLAGS) \
$(SQLITE_OUT)/sqlite3.c
=====================================
Makefile.common
=====================================
@@ -108,28 +108,28 @@ Linux-armv7_SQLITE_FLAGS :=
Linux-Android-arm_CC := $(CROSS_PREFIX)clang
Linux-Android-arm_STRIP := $(CROSS_ROOT)/bin/llvm-strip
-Linux-Android-arm_CCFLAGS := -I$(JAVA_HOME)/include -Ilib/inc_linux -I$(CROSS_ROOT)/sysroot/usr/include -Os -fPIC -fvisibility=hidden -fPIE -pie -lm -lc -landroid -ldl -llog
+Linux-Android-arm_CCFLAGS := -I$(JAVA_HOME)/include -Ilib/inc_linux -I$(CROSS_ROOT)/sysroot/usr/include -Os -fPIC -fvisibility=hidden -fPIE -pie -lm -lc -landroid -ldl -llog -Wno-implicit-function-declaration
Linux-Android-arm_LINKFLAGS := $(Default_LINKFLAGS) -Wl,-z,max-page-size=16384,-soname,libsqlitejdbc.so
Linux-Android-arm_LIBNAME := libsqlitejdbc.so
Linux-Android-arm_SQLITE_FLAGS :=
Linux-Android-aarch64_CC := $(CROSS_PREFIX)clang
Linux-Android-aarch64_STRIP := $(CROSS_ROOT)/bin/llvm-strip
-Linux-Android-aarch64_CCFLAGS := -I$(JAVA_HOME)/include -Ilib/inc_linux -I$(CROSS_ROOT)/sysroot/usr/include -Os -fPIC -fvisibility=hidden -fPIE -pie -lm -lc -landroid -ldl -llog
+Linux-Android-aarch64_CCFLAGS := -I$(JAVA_HOME)/include -Ilib/inc_linux -I$(CROSS_ROOT)/sysroot/usr/include -Os -fPIC -fvisibility=hidden -fPIE -pie -lm -lc -landroid -ldl -llog -Wno-implicit-function-declaration
Linux-Android-aarch64_LINKFLAGS := $(Default_LINKFLAGS) -Wl,-z,max-page-size=16384,-soname,libsqlitejdbc.so
Linux-Android-aarch64_LIBNAME := libsqlitejdbc.so
Linux-Android-aarch64_SQLITE_FLAGS :=
Linux-Android-x86_CC := $(CROSS_PREFIX)clang
Linux-Android-x86_STRIP := $(CROSS_ROOT)/bin/llvm-strip
-Linux-Android-x86_CCFLAGS := -I$(JAVA_HOME)/include -Ilib/inc_linux -I$(CROSS_ROOT)/sysroot/usr/include -Os -fPIC -fvisibility=hidden -fPIE -pie -lm -lc -landroid -ldl -llog
+Linux-Android-x86_CCFLAGS := -I$(JAVA_HOME)/include -Ilib/inc_linux -I$(CROSS_ROOT)/sysroot/usr/include -Os -fPIC -fvisibility=hidden -fPIE -pie -lm -lc -landroid -ldl -llog -Wno-implicit-function-declaration
Linux-Android-x86_LINKFLAGS := $(Default_LINKFLAGS) -Wl,-z,max-page-size=16384,-soname,libsqlitejdbc.so
Linux-Android-x86_LIBNAME := libsqlitejdbc.so
Linux-Android-x86_SQLITE_FLAGS :=
Linux-Android-x86_64_CC := $(CROSS_PREFIX)clang
Linux-Android-x86_64_STRIP := $(CROSS_ROOT)/bin/llvm-strip
-Linux-Android-x86_64_CCFLAGS := -I$(JAVA_HOME)/include -Ilib/inc_linux -I$(CROSS_ROOT)/sysroot/usr/include -Os -fPIC -fvisibility=hidden -fPIE -pie -lm -lc -landroid -ldl -llog
+Linux-Android-x86_64_CCFLAGS := -I$(JAVA_HOME)/include -Ilib/inc_linux -I$(CROSS_ROOT)/sysroot/usr/include -Os -fPIC -fvisibility=hidden -fPIE -pie -lm -lc -landroid -ldl -llog -Wno-implicit-function-declaration
Linux-Android-x86_64_LINKFLAGS := $(Default_LINKFLAGS) -Wl,-z,max-page-size=16384,-soname,libsqlitejdbc.so
Linux-Android-x86_64_LIBNAME := libsqlitejdbc.so
Linux-Android-x86_64_SQLITE_FLAGS :=
@@ -260,6 +260,7 @@ CCFLAGS := $($(target)_CCFLAGS)
LINKFLAGS := $($(target)_LINKFLAGS)
LIBNAME := $($(target)_LIBNAME)
SQLITE_FLAGS := $($(target)_SQLITE_FLAGS)
+SQLITE_SRC_PREFIX = sqlite-src-$(shell ./amalgamation_version.sh $(version))
SQLITE_AMAL_PREFIX = sqlite-amalgamation-$(shell ./amalgamation_version.sh $(version))
SQLITE_OLD_AMAL_PREFIX = sqlite-amalgamation-$(subst .,_,$(version))
CCFLAGS := $(CCFLAGS)
=====================================
README.adoc
=====================================
@@ -1,5 +1,5 @@
= SQLite JDBC Driver
-:project-version: 3.50.3.0
+:project-version: 3.51.3.0
image:https://img.shields.io/github/actions/workflow/status/xerial/sqlite-jdbc/ci.yml?branch=master[GitHub Workflow Status (branch),link=https://github.com/xerial/sqlite-jdbc/actions/workflows/ci.yml?query=branch%3Amaster]
image:https://badges.gitter.im/xerial/sqlite-jdbc.svg[Join the chat,link=https://gitter.im/xerial/sqlite-jdbc?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge]
=====================================
USAGE.md
=====================================
@@ -201,3 +201,26 @@ The name of directories in our jar and in Android Studio differ, here is a mappi
| arm | armeabi |
| x86 | x86 |
| x86_64 | x86_64 |
+
+## How to load Run-Time Loadable Extensions
+
+### Enable loadable extensions
+
+- If you use `DriverManager`, configure the `Properties`:
+
+```java
+prop.setProperty("enable_load_extension", "true");
+```
+
+- If you use `SQLiteConfig`:
+
+```java
+SQLiteConfig config = new SQLiteConfig();
+config.enableLoadExtension(true);
+```
+
+- You can also specify the pragma in the connection string: `"jdbc:sqlite::memory:?enable_load_extension=true"`
+
+### Load an extension
+
+Use the `load_extension` [SQL function](https://sqlite.org/lang_corefunc.html#load_extension).
\ No newline at end of file
=====================================
VERSION
=====================================
@@ -1 +1 @@
-version=3.50.3
+version=3.51.3
=====================================
pom.xml
=====================================
@@ -4,7 +4,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.xerial</groupId>
<artifactId>sqlite-jdbc</artifactId>
- <version>3.50.3.0</version>
+ <version>3.51.3.0</version>
<name>SQLite JDBC</name>
<description>SQLite JDBC library</description>
<url>https://github.com/xerial/sqlite-jdbc</url>
@@ -12,9 +12,9 @@
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<junit.version>5.12.2</junit.version>
- <surefire.version>3.5.3</surefire.version>
+ <surefire.version>3.5.4</surefire.version>
<archunit.version>1.4.1</archunit.version>
- <graalvm.version>24.1.2</graalvm.version>
+ <graalvm.version>25.0.2</graalvm.version>
<java9.sourceDirectory>${project.basedir}/src/main/java9</java9.sourceDirectory>
</properties>
@@ -101,7 +101,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
- <version>3.14.0</version>
+ <version>3.15.0</version>
<configuration>
<release>8</release>
</configuration>
@@ -137,7 +137,7 @@
<plugin>
<artifactId>maven-jar-plugin</artifactId>
- <version>3.4.2</version>
+ <version>3.5.0</version>
<configuration>
<!-- Pick the MANIFEST generated by the bundle plugin -->
<archive>
@@ -187,7 +187,7 @@
<plugin>
<groupId>org.sonatype.central</groupId>
<artifactId>central-publishing-maven-plugin</artifactId>
- <version>0.8.0</version>
+ <version>0.9.0</version>
<extensions>true</extensions>
<configuration>
<publishingServerId>central</publishingServerId>
@@ -199,7 +199,7 @@
<plugin>
<groupId>org.jreleaser</groupId>
<artifactId>jreleaser-maven-plugin</artifactId>
- <version>1.19.0</version>
+ <version>1.23.0</version>
<configuration>
<configFile>jreleaser.yml</configFile>
</configuration>
@@ -208,13 +208,13 @@
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
- <version>2.18.0</version>
+ <version>2.21.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
- <version>3.6.0</version>
+ <version>3.6.2</version>
<executions>
<execution>
<id>enforce-maven</id>
@@ -292,7 +292,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
- <version>3.11.2</version>
+ <version>3.12.0</version>
<configuration>
<sourcepath>src/main/java</sourcepath>
<additionalOptions>-Xdoclint:none</additionalOptions>
@@ -310,7 +310,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
- <version>3.3.1</version>
+ <version>3.4.0</version>
<executions>
<execution>
<id>attach-sources</id>
@@ -331,7 +331,7 @@
<plugin>
<groupId>org.graalvm.buildtools</groupId>
<artifactId>native-maven-plugin</artifactId>
- <version>0.10.6</version>
+ <version>0.11.5</version>
<extensions>true</extensions>
<executions>
<execution>
@@ -346,6 +346,16 @@
<fallback>false</fallback>
<verbose>true</verbose>
<buildArgs>
+ <!--
+ Only required for GraalVM for JDK 17.
+ The option is deprecated in later versions and could cause failures on later GraalVM versions.
+ -->
+ <arg>-H:+AllowDeprecatedBuilderClassesOnImageClasspath</arg>
+
+ <!--
+ The initialization flags below seem only necessary for GraalVM for JDK 17 and 21.
+ If CI checks for either of these GraalVM versions are dropped, this should be cleaned up.
+ -->
<!-- required to allow junit-pioneer to compile with strict image heap enabled -->
<arg>--initialize-at-build-time=org.junitpioneer.jupiter.issue.IssueExtensionExecutionListener</arg>
<!--
@@ -357,6 +367,8 @@
<arg>--initialize-at-build-time=org.junit.jupiter.api.parallel.ResourceLock</arg>
<arg>--initialize-at-build-time=org.junit.jupiter.api.parallel.ResourceLockTarget</arg>
<arg>--initialize-at-build-time=org.junit.jupiter.api.parallel.ResourceAccessMode</arg>
+ <arg>--initialize-at-build-time=org.junit.jupiter.engine.descriptor.ExclusiveResourceCollector$1</arg>
+ <arg>--initialize-at-build-time=org.junit.platform.commons.support.scanning.DefaultClasspathScanner</arg>
</buildArgs>
</configuration>
</plugin>
@@ -438,7 +450,7 @@
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
- <version>3.27.3</version>
+ <version>3.27.6</version>
<scope>test</scope>
<exclusions>
<exclusion>
@@ -460,7 +472,7 @@
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
- <version>5.18.0</version>
+ <version>5.21.0</version>
<scope>test</scope>
</dependency>
<dependency>
=====================================
src/main/ext/extension-functions.c
=====================================
@@ -1806,7 +1806,7 @@ int RegisterExtensionFunctions(sqlite3 *db){
{ "stdev", 1, 0, 0, varianceStep, stdevFinalize },
{ "variance", 1, 0, 0, varianceStep, varianceFinalize },
{ "mode", 1, 0, 0, modeStep, modeFinalize },
- { "median", 1, 0, 0, modeStep, medianFinalize },
+// { "median", 1, 0, 0, modeStep, medianFinalize },
{ "lower_quartile", 1, 0, 0, modeStep, lower_quartileFinalize },
{ "upper_quartile", 1, 0, 0, modeStep, upper_quartileFinalize },
};
=====================================
src/test/java/org/sqlite/ExtensionTest.java
=====================================
@@ -32,6 +32,15 @@ public class ExtensionTest {
}
}
+ @Test
+ public void loadExtensionEnabled() throws Exception {
+ SQLiteConnection connection =
+ (SQLiteConnection)
+ DriverManager.getConnection(
+ "jdbc:sqlite::memory:?enable_load_extension=true");
+ assertThat(connection.getDatabase().getConfig().isEnabledLoadExtension()).isTrue();
+ }
+
@Test
public void extFTS3() throws Exception {
stat.execute("create virtual table recipe using fts3(name, ingredients)");
View it on GitLab: https://salsa.debian.org/java-team/xerial-sqlite-jdbc/-/commit/d9b02153bb4659f24340522f6a0061ae96519bb6
--
View it on GitLab: https://salsa.debian.org/java-team/xerial-sqlite-jdbc/-/commit/d9b02153bb4659f24340522f6a0061ae96519bb6
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-java-commits/attachments/20260404/25b5638b/attachment.htm>
More information about the pkg-java-commits
mailing list