suspending
The coroutine-aware API of this instance, backed by a single connection pool created lazily on first access with poolConfig.
Inside a scope, every database operation uses the scope's connection — the blocking API is called unchanged and joins the borrowed connection transparently:
stormify.suspending.withConnection { /* reads, auto-commit */}
stormify.suspending.transaction { /* writes, BEGIN/COMMIT */}Pooling is suspend-only, by design. Pooled connections are pinned to dedicated worker threads, which a blocking caller cannot honor — there is no blocking-API pool and there will be no PooledDataSource. If you want pooling, write suspend code.
Lifecycle: shut the pool down with stormify.suspending.close() at application shutdown (Stormify itself is not and cannot be AutoCloseable — pool closing is a suspending operation). On Native every pooled connection owns a thread, so skipping this leaks threads, not just connections. closeSuspending offers the same shutdown without creating the pool when it was never used.