# HG changeset patch # User wenzelm # Date 1495395780 -7200 # Node ID 1b004f5974af4df47923959ef43189f36df7eade # Parent 29c9e3742069f4cdd96b3b43d15bf916ca03c390 refer to already extracted library files, to avoid tmp files produced by SQLiteJDBCLoader, which tend to remain after JVM crash; diff -r 29c9e3742069 -r 1b004f5974af Admin/components/components.sha1 --- a/Admin/components/components.sha1 Sun May 21 20:12:25 2017 +0200 +++ b/Admin/components/components.sha1 Sun May 21 21:43:00 2017 +0200 @@ -169,6 +169,7 @@ b447017e81600cc5e30dd61b5d4962f6da01aa80 scala-2.8.1.final.tar.gz 5659440f6b86db29f0c9c0de7249b7e24a647126 scala-2.9.2.tar.gz 43b5afbcad575ab6817d2289756ca22fd2ef43a9 spass-3.8ds.tar.gz +b016a785f1f78855c00d351ff598355c3b87450f sqlite-jdbc-3.18.0-1.tar.gz b85b5bc071a59ef2a8326ceb1617d5a9a5be41cf sqlite-jdbc-3.18.0.tar.gz 8d20968603f45a2c640081df1ace6a8b0527452a sqlite-jdbc-3.8.11.2.tar.gz 2369f06e8d095f9ba26df938b1a96000e535afff ssh-java-20161009.tar.gz diff -r 29c9e3742069 -r 1b004f5974af Admin/components/main --- a/Admin/components/main Sun May 21 20:12:25 2017 +0200 +++ b/Admin/components/main Sun May 21 21:43:00 2017 +0200 @@ -15,6 +15,6 @@ scala-2.12.2 ssh-java-20161009 spass-3.8ds -sqlite-jdbc-3.18.0 +sqlite-jdbc-3.18.0-1 xz-java-1.6 z3-4.4.0pre diff -r 29c9e3742069 -r 1b004f5974af src/Pure/General/sql.scala --- a/src/Pure/General/sql.scala Sun May 21 20:12:25 2017 +0200 +++ b/src/Pure/General/sql.scala Sun May 21 21:43:00 2017 +0200 @@ -384,7 +384,19 @@ // see https://www.sqlite.org/lang_datefunc.html val date_format: Date.Format = Date.Format("uuuu-MM-dd HH:mm:ss.SSS x") - lazy val init_jdbc: Unit = Class.forName("org.sqlite.JDBC") + lazy val init_jdbc: Unit = + { + val lib_path = Path.explode("$ISABELLE_SQLITE_HOME/" + Platform.jvm_platform) + val lib_name = + File.find_files(lib_path.file) match { + case List(file) => file.getName + case _ => error("Exactly file expected in directory " + lib_path.expand) + } + System.setProperty("org.sqlite.lib.path", File.platform_path(lib_path)) + System.setProperty("org.sqlite.lib.name", lib_name) + + Class.forName("org.sqlite.JDBC") + } def open_database(path: Path): Database = {