Sample 3 - SQLite's JDBC (Re: New candidate JEP: 454: Foreign Function & Memory API

Rony G. Flatscher Rony.Flatscher at wu.ac.at
Mon Sep 18 17:25:37 UTC 2023


As with the scripting framework JDBC allows for interacting with different DBMS in a standardized 
manner.

One very popular RDBMS is SQLite which is available for every popular operating system on this planet.

SQLite is implemented in native code however its footprint is astonishingly small. As a result the 
SQLite JDBC driver [1] has interestingly the implementations (the dynamic/shared libraries) for the 
following operating systems and architectures included:

       948224  Defl:N   527788  44% 12.09.2023 03:30 6f5348dc
    org/sqlite/native/Windows/x86_64/sqlitejdbc.dll
       773120  Defl:N   532738  31% 12.09.2023 03:30 43fb9587
    org/sqlite/native/Windows/armv7/sqlitejdbc.dll
      1050112  Defl:N   583786  44% 12.09.2023 03:30 4d643c13
    org/sqlite/native/Windows/aarch64/sqlitejdbc.dll
       886272  Defl:N   515094  42% 12.09.2023 03:30 2ccfaeb3
    org/sqlite/native/Windows/x86/sqlitejdbc.dll
      1173464  Defl:N   621618  47% 12.09.2023 03:30 20e77411
    org/sqlite/native/Linux-Android/x86_64/libsqlitejdbc.so
      1103740  Defl:N   596476  46% 12.09.2023 03:30 eddc4471
    org/sqlite/native/Linux-Android/arm/libsqlitejdbc.so
      1144872  Defl:N   604238  47% 12.09.2023 03:30 44cbf2e6
    org/sqlite/native/Linux-Android/aarch64/libsqlitejdbc.so
      1281900  Defl:N   674089  47% 12.09.2023 03:30 d7e9f035
    org/sqlite/native/Linux-Android/x86/libsqlitejdbc.so
      1208612  Defl:N   646392  47% 12.09.2023 03:30 fd62e021
    org/sqlite/native/Mac/x86_64/libsqlitejdbc.dylib
      1040624  Defl:N   567290  46% 12.09.2023 03:30 e1a72711
    org/sqlite/native/Mac/aarch64/libsqlitejdbc.dylib
      1020576  Defl:N   551388  46% 12.09.2023 03:30 ab98807f
    org/sqlite/native/Linux-Musl/x86_64/libsqlitejdbc.so
      1045768  Defl:N   554599  47% 12.09.2023 03:30 754fe10b
    org/sqlite/native/Linux-Musl/aarch64/libsqlitejdbc.so
      1013112  Defl:N   562324  45% 12.09.2023 03:30 55a61ae5
    org/sqlite/native/Linux-Musl/x86/libsqlitejdbc.so
      1009056  Defl:N   539185  47% 12.09.2023 03:30 6b6be09e
    org/sqlite/native/FreeBSD/x86_64/libsqlitejdbc.so
      1142216  Defl:N   604704  47% 12.09.2023 03:30 d72c7b1f
    org/sqlite/native/FreeBSD/aarch64/libsqlitejdbc.so
       909160  Defl:N   514805  43% 12.09.2023 03:30 b170b641
    org/sqlite/native/FreeBSD/x86/libsqlitejdbc.so
      1197344  Defl:N   604308  50% 12.09.2023 03:30 b9999303
    org/sqlite/native/Linux/ppc64/libsqlitejdbc.so
      1022304  Defl:N   545325  47% 12.09.2023 03:30 452bba5f
    org/sqlite/native/Linux/x86_64/libsqlitejdbc.so
       907048  Defl:N   507904  44% 12.09.2023 03:30 2c315f9f
    org/sqlite/native/Linux/armv7/libsqlitejdbc.so
       923416  Defl:N   509705  45% 12.09.2023 03:30 740eeb1b
    org/sqlite/native/Linux/arm/libsqlitejdbc.so
      1041920  Defl:N   556533  47% 12.09.2023 03:30 308de812
    org/sqlite/native/Linux/aarch64/libsqlitejdbc.so
       912360  Defl:N   536107  41% 12.09.2023 03:30 b12a0d35
    org/sqlite/native/Linux/x86/libsqlitejdbc.so
       911148  Defl:N   508436  44% 12.09.2023 03:30 71b12793
    org/sqlite/native/Linux/armv6/libsqlitejdbc.so

Unlike many other JDBC drivers, SQLite JDBC must interact with native code therefore.

SQLite JDBC has been taken advantage of and gets deployed in many, many JRE deployment scenarios for 
many, many years. There has been never a need to configure anything in order for Java programs and 
Java utilities to be able to exploit SQLite via JDBC.

(End) Users of all Java programs, Java utilities and Java applications that interact with SQLite 
JDBC after updating the JRE will all of a sudden be scared by that warning out of the blue and for 
no good reason. Sometimes in a future Java/JDK update SQLite may get effectively sabotaged by 
getting killed (by Java throwing an artificial error that would be technically uncalled for)!

As it stands, the authors of jars - in this case of the SQLite JDBC - cannot do anything against it!

This is inacceptible IMHO!

Please make that warning only seen by those for whom it is meant: by the "application authors"!

Whatever it takes, please do not show/display such a warning to (end) users in JRE deployment scenarios.

---rony

[1] SQLite JDBC 3.43.1.0: 
<https://oss.sonatype.org/content/repositories/snapshots/org/xerial/sqlite-jdbc/3.43.1.0-SNAPSHOT/>


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/panama-dev/attachments/20230918/fbf85b19/attachment.htm>


More information about the panama-dev mailing list