Correct SQLite connection pool size check (#1605)
The max_size method was checking `password.is_none()` to determine the pool
size, but should check `path.is_none()` instead. An in-memory database (no
path) needs a single connection to avoid data loss, while file-backed databases
can use a larger pool.
Fixes #1604