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/pull/602#issuecomment-549246007,https://api.github.com/repos/simonw/datasette/issues/602,549246007,MDEyOklzc3VlQ29tbWVudDU0OTI0NjAwNw==,2657547,rixx,2019-11-04T07:29:33Z,2019-11-04T07:29:33Z,CONTRIBUTOR,Not sure – I'm always a bit weirded out when elements that I clicked disappear on me.,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",509535510,Offer to format readonly SQL, https://github.com/simonw/datasette/pull/602#issuecomment-549210237,https://api.github.com/repos/simonw/datasette/issues/602,549210237,MDEyOklzc3VlQ29tbWVudDU0OTIxMDIzNw==,9599,simonw,2019-11-04T02:49:18Z,2019-11-04T02:49:18Z,OWNER,Live demo can now be seen here: https://latest.datasette.io/fixtures/%F0%9D%90%9C%F0%9D%90%A2%F0%9D%90%AD%F0%9D%90%A2%F0%9D%90%9E%F0%9D%90%AC,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",509535510,Offer to format readonly SQL, https://github.com/simonw/datasette/pull/602#issuecomment-549210352,https://api.github.com/repos/simonw/datasette/issues/602,549210352,MDEyOklzc3VlQ29tbWVudDU0OTIxMDM1Mg==,9599,simonw,2019-11-04T02:50:15Z,2019-11-04T02:50:15Z,OWNER,I wonder if the `Format SQL` button should disappear in the read-only case once it has been clicked? It won't do anything if it's clicked again and there's no textarea for the user to mess up the now-formatted SQL.,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",509535510,Offer to format readonly SQL, https://github.com/simonw/datasette/issues/614#issuecomment-549222252,https://api.github.com/repos/simonw/datasette/issues/614,549222252,MDEyOklzc3VlQ29tbWVudDU0OTIyMjI1Mg==,9599,simonw,2019-11-04T04:31:58Z,2019-11-04T04:31:58Z,OWNER,"Demo: https://latest.datasette.io/fixtures/facetable?pk__notin=1,2,3","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",516950748,"Add ""not in"" filter - ?pk__notin=x,y,z", https://github.com/dogsheep/twitter-to-sqlite/issues/3#issuecomment-549226399,https://api.github.com/repos/dogsheep/twitter-to-sqlite/issues/3,549226399,MDEyOklzc3VlQ29tbWVudDU0OTIyNjM5OQ==,9599,simonw,2019-11-04T05:11:57Z,2019-11-04T05:11:57Z,MEMBER,I'm going to add a `hash` column to `search_runs` to support that. It's going to be the sha1 hash of the key-ordered JSON of the search arguments used by that run. Then `--since` can look for an identical hash and use it to identify the highest last fetched tweet to use in `since_id`.,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",488833975,Command for running a search and saving tweets for that search, https://github.com/dogsheep/twitter-to-sqlite/issues/3#issuecomment-549228535,https://api.github.com/repos/dogsheep/twitter-to-sqlite/issues/3,549228535,MDEyOklzc3VlQ29tbWVudDU0OTIyODUzNQ==,9599,simonw,2019-11-04T05:31:55Z,2019-11-04T05:31:55Z,MEMBER,Documented here: https://github.com/dogsheep/twitter-to-sqlite/blob/801c0c2daf17d8abce9dcb5d8d610410e7e25dbe/README.md#running-searches,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",488833975,Command for running a search and saving tweets for that search, https://github.com/dogsheep/github-to-sqlite/issues/10#issuecomment-549230337,https://api.github.com/repos/dogsheep/github-to-sqlite/issues/10,549230337,MDEyOklzc3VlQ29tbWVudDU0OTIzMDMzNw==,9599,simonw,2019-11-04T05:47:18Z,2019-11-04T05:47:18Z,MEMBER,This definition isn't quite right - it's not pulling the identity of the user who starred the repo (`users.login` ends up being the owner login instead).,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",516967682,Add this repos_starred view, https://github.com/dogsheep/github-to-sqlite/pull/8#issuecomment-549230583,https://api.github.com/repos/dogsheep/github-to-sqlite/issues/8,549230583,MDEyOklzc3VlQ29tbWVudDU0OTIzMDU4Mw==,9599,simonw,2019-11-04T05:49:26Z,2019-11-04T05:49:26Z,MEMBER,Adding the view from #10 would be useful here too.,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",516763727,"stargazers command, refs #4", https://github.com/dogsheep/github-to-sqlite/pull/8#issuecomment-549233778,https://api.github.com/repos/dogsheep/github-to-sqlite/issues/8,549233778,MDEyOklzc3VlQ29tbWVudDU0OTIzMzc3OA==,9599,simonw,2019-11-04T06:14:40Z,2019-11-04T06:14:40Z,MEMBER,"Spotted a tricky problem: running `github-to-sqlite starred stargazers.db` results in an incomplete `simonw` record. It creates a proper record for me thanks to this bit: https://github.com/dogsheep/github-to-sqlite/blob/ea07274667a08c67907e8bfbbccb6f0fb95ce817/github_to_sqlite/cli.py#L120-L126 But then... when it gets to the `datasette` repository which I have starred it over-writes my full user record with one that's missing most of the details, thanks to this bit: https://github.com/dogsheep/github-to-sqlite/blob/ea07274667a08c67907e8bfbbccb6f0fb95ce817/github_to_sqlite/utils.py#L117-L124 I need to find a way of NOT over-writing a good record with a thinner one. ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",516763727,"stargazers command, refs #4", https://github.com/simonw/sqlite-utils/issues/62#issuecomment-549418134,https://api.github.com/repos/simonw/sqlite-utils/issues/62,549418134,MDEyOklzc3VlQ29tbWVudDU0OTQxODEzNA==,9599,simonw,2019-11-04T15:54:18Z,2019-11-04T15:54:18Z,OWNER,"This is a good idea. The individual row version of it can work like the `.update(pk, ...)` method.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",500783373,[enhancement] Method to delete a row in python, https://github.com/simonw/sqlite-utils/issues/62#issuecomment-549425012,https://api.github.com/repos/simonw/sqlite-utils/issues/62,549425012,MDEyOklzc3VlQ29tbWVudDU0OTQyNTAxMg==,9599,simonw,2019-11-04T16:09:08Z,2019-11-04T16:09:08Z,OWNER,Documentation for `table.delete()`: https://github.com/simonw/sqlite-utils/blob/19073d6d972fad9d68dd74c28544cd29083f1c12/docs/python-api.rst#deleting-a-specific-record,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",500783373,[enhancement] Method to delete a row in python, https://github.com/simonw/sqlite-utils/issues/62#issuecomment-549425364,https://api.github.com/repos/simonw/sqlite-utils/issues/62,549425364,MDEyOklzc3VlQ29tbWVudDU0OTQyNTM2NA==,9599,simonw,2019-11-04T16:09:56Z,2019-11-04T16:09:56Z,OWNER,"Since we have `table.rows_where(where, where_args)` it makes sense to me to also support `table.delete_where(where, where_args)`.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",500783373,[enhancement] Method to delete a row in python, https://github.com/simonw/sqlite-utils/issues/62#issuecomment-549429512,https://api.github.com/repos/simonw/sqlite-utils/issues/62,549429512,MDEyOklzc3VlQ29tbWVudDU0OTQyOTUxMg==,9599,simonw,2019-11-04T16:18:48Z,2019-11-04T16:18:48Z,OWNER,Documentation for `.delete_where()`: https://github.com/simonw/sqlite-utils/blob/169ea455fc1f1d5e5b6e44cb339ba7ffa9d49c31/docs/python-api.rst#deleting-multiple-records,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",500783373,[enhancement] Method to delete a row in python, https://github.com/simonw/sqlite-utils/issues/63#issuecomment-549430429,https://api.github.com/repos/simonw/sqlite-utils/issues/63,549430429,MDEyOklzc3VlQ29tbWVudDU0OTQzMDQyOQ==,9599,simonw,2019-11-04T16:20:35Z,2019-11-04T16:20:35Z,OWNER,"I don't think we need this. We already have a `dogs.create_index([""name""], if_not_exists=True)` option.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",517241040,ensure_index() method, https://github.com/simonw/sqlite-utils/issues/61#issuecomment-549432592,https://api.github.com/repos/simonw/sqlite-utils/issues/61,549432592,MDEyOklzc3VlQ29tbWVudDU0OTQzMjU5Mg==,9599,simonw,2019-11-04T16:25:01Z,2019-11-04T16:25:01Z,OWNER,"Yeah I've thought about this a bit and I'm OK leaving it out. The core idea of `sqlite-utils` is that if you can create a list, iterator or generator of Python dictionaries you can efficiently insert those into a SQLite table. The `--csv` function is actually implemented as just a few lines of code which turn that incoming CSV into a generator of dictionaries: https://github.com/simonw/sqlite-utils/blob/169ea455fc1f1d5e5b6e44cb339ba7ffa9d49c31/sqlite_utils/cli.py#L364-L368 I could turn this into a reusable helper function but since it wouldn't have anything to do with database inserts (it would just be a helper that turns a CSV into a generator of dictionaries) it doesn't feel like it fits well in the Python library section of this package.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",491219910,importing CSV to SQLite as library, https://github.com/simonw/sqlite-utils/issues/62#issuecomment-549435364,https://api.github.com/repos/simonw/sqlite-utils/issues/62,549435364,MDEyOklzc3VlQ29tbWVudDU0OTQzNTM2NA==,9599,simonw,2019-11-04T16:30:34Z,2019-11-04T16:30:34Z,OWNER,Released as 1.12.,"{""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",500783373,[enhancement] Method to delete a row in python, https://github.com/simonw/datasette/issues/292#issuecomment-549584753,https://api.github.com/repos/simonw/datasette/issues/292,549584753,MDEyOklzc3VlQ29tbWVudDU0OTU4NDc1Mw==,9599,simonw,2019-11-04T22:54:26Z,2019-11-04T22:54:26Z,OWNER,I'm going to split off an issue just for `?_col=` and `?_nocol=`,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",326800219,Mechanism for customizing the SQL used to select specific columns in the table view, https://github.com/simonw/datasette/issues/615#issuecomment-549585571,https://api.github.com/repos/simonw/datasette/issues/615,549585571,MDEyOklzc3VlQ29tbWVudDU0OTU4NTU3MQ==,9599,simonw,2019-11-04T22:57:16Z,2019-11-04T22:57:16Z,OWNER,First step: stop using `select *` and switch to selecting columns instead. This will also make the `View and edit SQL` button more useful.,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",517451234,?_col= and ?_nocol= support for toggling columns on table view, https://github.com/simonw/datasette/issues/615#issuecomment-549591028,https://api.github.com/repos/simonw/datasette/issues/615,549591028,MDEyOklzc3VlQ29tbWVudDU0OTU5MTAyOA==,9599,simonw,2019-11-04T23:15:28Z,2019-11-04T23:15:28Z,OWNER,"Demo: visit https://52fa79c.datasette.io/fixtures/roadside_attractions and click ""View and edit SQL"" - you'll be sent to https://52fa79c.datasette.io/fixtures?sql=select+pk%2C+name%2C+address%2C+latitude%2C+longitude+from+roadside_attractions+order+by+pk+limit+101","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",517451234,?_col= and ?_nocol= support for toggling columns on table view,