Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.Sign up
Refactor places connection management #718
This is a follow up from #666 (as sad as I am to lose the extremely metal PR number), since for whatever reason I can't push to markh's branch.
It still provides no way of clearing out the APIS HashMap, although it fixes most of the other issues I had that are still relevant. I'll file a follow up for the APIS HashMap before landing, we expect this to be a global singleton most of the time anyway.
In the mean time, this needs some form of sign-off from @grigoryk, specifically for the shape of the Kotlin API, since it's a huge breaking change to the places API.
It also needs a CHANGELOG entry, which I'll do once it has R+ to avoid churn on it.
referenced this pull request
Mar 4, 2019
I'm not sure we should land this right away. In particular, it would block an update of application services in the android-components repo, and we'd somewhat like to get @fzzzy up to speed with how to make changes across the two repos (there are a number of fairly simple bugs requiring these sorts of changes, however they could not be addressed if we land this).
grigoryk left a comment
This generally looks good to me. I've only glanced through the rust bits. Left some inline comments regarding safe usage guidelines. Also, it's not clear to me (yet) what is the distinction between sync and write connection types. Different rusqlite flags are used, but the difference is still quite opaque. How does one obtain a sync connection specifically? Kotlin API doesn't expose that type, nor a method to get a connection of that type, but the Rust side branches on it.