Nice idea! I'd like to use these ideas on execution tracing that I'm working on.
OTOH, there are a few issues with this branch, so rather than trying to integrate
it on trunk, I'll just move it forward.
Specific issues I've noticed:
[1]
The port parameter handling in URI.__str__ is untested, and will break the
method if passed, because it's an integer.
[2]
There's no escaping handling in URI.__str__.
[3]
If only the password is passed in, the uri produced is broken because '@' isn't
added between the password and the hostname.
[4]
If the host part isn't provided, the uri is broken because '@' isn't added after the
username and/or password.
[5]
I think we should expose store.database instead of store.database.uri as store.uri
directly.
[6]
Rather than having all database backends setting self.uri = uri, we should have a
common constructor in Database.__init__ which does it.
Nice idea! I'd like to use these ideas on execution tracing that I'm working on.
OTOH, there are a few issues with this branch, so rather than trying to integrate
it on trunk, I'll just move it forward.
Specific issues I've noticed:
[1]
The port parameter handling in URI.__str__ is untested, and will break the
method if passed, because it's an integer.
[2]
There's no escaping handling in URI.__str__.
[3]
If only the password is passed in, the uri produced is broken because '@' isn't
added between the password and the hostname.
[4]
If the host part isn't provided, the uri is broken because '@' isn't added after the
username and/or password.
[5]
I think we should expose store.database instead of store.database.uri as store.uri
directly.
[6]
Rather than having all database backends setting self.uri = uri, we should have a
common constructor in Database.__init__ which does it.