Conformance: throwable chaining, URL ctor/getProtocol, ClassLoader/Thread shims
Surfaced running the DB libraries (migratus) on the jolt db library: - java.sql.SQLException .getNextException / .getStackTrace / .printStackTrace on jolt throwables (conditions + ex-info) return nil/empty, so a library walking the exception chain doesn't crash. - java.net.URL ctor + .getProtocol (file/http), alongside the existing url shim. - A generic java.lang.ClassLoader: getSystemClassLoader / a thread's contextClassLoader resolve a named resource against the source roots (the same model as clojure.java.io/resource) — file: URL or nil. Thread/currentThread. These are generic host capabilities, not DB-specific. The jolt-lang/db next.jdbc surface now runs migratus far enough to connect, build the migrations table, and discover migrations; migratus's remaining dependency is java.nio.file (FileSystems/Path/PathMatcher glob), a JVM filesystem API kept out of core.
This commit is contained in:
parent
5c9c5ed6e1
commit
47864403e8
4 changed files with 49 additions and 0 deletions
|
|
@ -57,6 +57,9 @@
|
|||
(jolt-get obj jolt-kw-message jolt-nil)
|
||||
(jolt-str-render-one obj))))
|
||||
((string=? name "getCause") (list (jolt-get obj jolt-kw-cause jolt-nil)))
|
||||
;; java.sql.SQLException chaining — ex-info / host throwables don't chain.
|
||||
((string=? name "getNextException") (list jolt-nil))
|
||||
((string=? name "getStackTrace") (list (jolt-vector)))
|
||||
((string=? name "toString") (list (jolt-str-render-one obj)))
|
||||
((string=? name "hashCode") (list (jolt-hash obj)))
|
||||
((string=? name "equals") (list (if (jolt= obj (car args)) #t #f)))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue