html_url,issue_url,id,node_id,user,user_label,created_at,updated_at,author_association,body,reactions,issue,issue_label,performed_via_github_app https://github.com/simonw/datasette/issues/569#issuecomment-522238222,https://api.github.com/repos/simonw/datasette/issues/569,522238222,MDEyOklzc3VlQ29tbWVudDUyMjIzODIyMg==,9599,simonw,2019-08-17T13:44:24Z,2019-08-17T13:45:10Z,OWNER,"Potential API design: ```python with pool.connection(""fixtures"") as conn: conn.set_time_limit(1000) conn.allow_all() conn.execute(...) ``` Within this block the current thread has exclusive action to the connection - which has essentially been ""checked out"" from the pool. When the block ends that connection is made available to be checked out by other threads. This could accept multiple database names for the case where I want to join across databases: ```python with pool.connection(""fixtures"", ""dogs"") as conn: conn.execute(...) ```","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",481885279,More advanced connection pooling, https://github.com/simonw/sqlite-utils/pull/55#issuecomment-522238063,https://api.github.com/repos/simonw/sqlite-utils/issues/55,522238063,MDEyOklzc3VlQ29tbWVudDUyMjIzODA2Mw==,9599,simonw,2019-08-17T13:42:40Z,2019-08-17T13:42:40Z,OWNER,"I still need to implement the part of this where certain actions against views (like updating/inserting) are not allowed. I think the better way to do that is to introduce a new class - `View` - rather than reusing the existing `Table` class - since there's a lot of stuff on Table (like primary key / foreign key introspection) which simply doesn't make sense for views. This will get a bit more complicated - maybe I need both Table and View to extend a common subclass here?","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",481887482,Ability to introspect and run queries against views, https://github.com/simonw/datasette/issues/569#issuecomment-522236218,https://api.github.com/repos/simonw/datasette/issues/569,522236218,MDEyOklzc3VlQ29tbWVudDUyMjIzNjIxOA==,9599,simonw,2019-08-17T13:24:50Z,2019-08-17T13:24:50Z,OWNER,"I think what I want it a mechanism where a thread can say ""give me a connection for database X"" and it either gets back connection to X instantly OR a new connection to X is created and returned OR it blocks (because a certain number of connections to that database exist already) until another thread returns their connection OR it times out and returns an error. ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",481885279,More advanced connection pooling, https://github.com/simonw/sqlite-utils/issues/54#issuecomment-522236053,https://api.github.com/repos/simonw/sqlite-utils/issues/54,522236053,MDEyOklzc3VlQ29tbWVudDUyMjIzNjA1Mw==,9599,simonw,2019-08-17T13:22:26Z,2019-08-17T13:22:26Z,OWNER,"Good catch: `create_view()` is an earlier utility method from before I started adding methods like `db[""table""].rows` and `.rows_where()`.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",480961330,"Ability to list views, and to access db[""view_name""].rows / rows_where / etc",