issue_comments
36 rows where reactions = "{"total_count": 1, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 1, "rocket": 0, "eyes": 0}" and user = 9599 sorted by updated_at descending
This data as json, CSV (advanced)
user 1
- simonw · 21 ✖
id | html_url | issue_url | node_id | user | created_at | updated_at ▲ | author_association | body | reactions | issue | performed_via_github_app |
---|---|---|---|---|---|---|---|---|---|---|---|
997124280 | https://github.com/simonw/datasette/issues/1546#issuecomment-997124280 | https://api.github.com/repos/simonw/datasette/issues/1546 | IC_kwDOBm6k_c47bui4 | simonw 9599 | 2021-12-18T02:05:16Z | 2021-12-18T02:05:16Z | OWNER | Sure - there are actually several levels to this. The code that creates connections to the database is this: https://github.com/simonw/datasette/blob/83bacfa9452babe7bd66e3579e23af988d00f6ac/datasette/database.py#L72-L95 For files on disk, it does this: ```python For read-only connectionsconn = sqlite3.connect( "file:my.db?mode=ro", uri=True, check_same_thread=False) For connections that should be treated as immutable:conn = sqlite3.connect( "file:my.db?immutable=1", uri=True, check_same_thread=False)
So this function runs against any incoming SQL to verify that it looks like a https://github.com/simonw/datasette/blob/83bacfa9452babe7bd66e3579e23af988d00f6ac/datasette/utils/init.py#L195-L204 You can see the tests for that here: https://github.com/simonw/datasette/blob/b1fed48a95516ae84c0f020582303ab50ab817e2/tests/test_utils.py#L136-L170 |
{ "total_count": 1, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 1, "rocket": 0, "eyes": 0 } |
validating the sql 1076057610 | |
996103956 | https://github.com/simonw/datasette/issues/1553#issuecomment-996103956 | https://api.github.com/repos/simonw/datasette/issues/1553 | IC_kwDOBm6k_c47X1cU | simonw 9599 | 2021-12-16T19:14:38Z | 2021-12-16T19:14:38Z | OWNER | This is a really interesting idea - kind of similar to how many APIs include custom HTTP headers informing of rate-limits. |
{ "total_count": 1, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 1, "rocket": 0, "eyes": 0 } |
if csv export is truncated in non streaming mode set informative response header 1079111498 | |
943632697 | https://github.com/simonw/datasette/pull/1467#issuecomment-943632697 | https://api.github.com/repos/simonw/datasette/issues/1467 | IC_kwDOBm6k_c44PrE5 | simonw 9599 | 2021-10-14T18:54:18Z | 2021-10-14T18:54:18Z | OWNER | The test there failed because it turns out there's a whole bunch of places that set the |
{ "total_count": 1, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 1, "rocket": 0, "eyes": 0 } |
Add Authorization header when CORS flag is set 991575770 | |
886969541 | https://github.com/simonw/datasette/issues/1402#issuecomment-886969541 | https://api.github.com/repos/simonw/datasette/issues/1402 | IC_kwDOBm6k_c403hTF | simonw 9599 | 2021-07-26T19:31:40Z | 2021-07-26T19:31:40Z | OWNER | Datasette could do a pretty good job of this by default, using I could also provide a mechanism to customize these - in particular to add images of some sort. It feels like something that should tie in to the metadata mechanism. |
{ "total_count": 1, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 1, "rocket": 0, "eyes": 0 } |
feature request: social meta tags 951185411 | |
873156408 | https://github.com/simonw/datasette/issues/1387#issuecomment-873156408 | https://api.github.com/repos/simonw/datasette/issues/1387 | MDEyOklzc3VlQ29tbWVudDg3MzE1NjQwOA== | simonw 9599 | 2021-07-02T17:37:30Z | 2021-07-02T17:37:30Z | OWNER | Updated documentation is here: https://docs.datasette.io/en/latest/deploying.html#apache-proxy-configuration |
{ "total_count": 1, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 1, "rocket": 0, "eyes": 0 } |
absolute_url() behind a proxy assembles incorrect http://127.0.0.1:8001/ URLs 935930820 | |
864092515 | https://github.com/simonw/sqlite-utils/pull/277#issuecomment-864092515 | https://api.github.com/repos/simonw/sqlite-utils/issues/277 | MDEyOklzc3VlQ29tbWVudDg2NDA5MjUxNQ== | simonw 9599 | 2021-06-18T14:47:57Z | 2021-06-18T14:47:57Z | OWNER | This is a neat improvement. |
{ "total_count": 1, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 1, "rocket": 0, "eyes": 0 } |
add -h support closes #276 923612361 | |
855369819 | https://github.com/simonw/datasette/issues/283#issuecomment-855369819 | https://api.github.com/repos/simonw/datasette/issues/283 | MDEyOklzc3VlQ29tbWVudDg1NTM2OTgxOQ== | simonw 9599 | 2021-06-06T09:40:18Z | 2021-06-06T09:40:18Z | OWNER |
That issue is fixed in #1276. |
{ "total_count": 1, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 1, "rocket": 0, "eyes": 0 } |
Support cross-database joins 325958506 | |
843291675 | https://github.com/simonw/datasette/issues/856#issuecomment-843291675 | https://api.github.com/repos/simonw/datasette/issues/856 | MDEyOklzc3VlQ29tbWVudDg0MzI5MTY3NQ== | simonw 9599 | 2021-05-18T15:56:45Z | 2021-05-18T15:56:45Z | OWNER | Tables and views get "stream all rows" at the moment, so one workaround is to define a SQL view for your query - this only works for queries that don't take any parameters though (although you may be able to define a view and then pass it extra fields using the Datasette table interface, like on https://latest.datasette.io/fixtures/paginated_view?content_extra__contains=9) I've explored this problem in a bit more detail in https://githu.com/simonw/django-sql-dashboard and I think I have a pattern that could work. For your canned query, you could implement the pattern yourself by setting up two canned queries that look something like this:
You then need to write code which knows how to generate these queries - start with the first query with no Basically this is an implementation of keyset pagination with a smart client. When Datasette grows the ability to do this itself it will work by executing this mechanism inside the Python code, which is how the "stream all rows" option for tables works at the moment. |
{ "total_count": 1, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 1, "rocket": 0, "eyes": 0 } |
Consider pagination of canned queries 642296989 | |
797158641 | https://github.com/simonw/datasette/issues/670#issuecomment-797158641 | https://api.github.com/repos/simonw/datasette/issues/670 | MDEyOklzc3VlQ29tbWVudDc5NzE1ODY0MQ== | simonw 9599 | 2021-03-12T00:59:49Z | 2021-03-12T00:59:49Z | OWNER |
It looks like the answer to this is yes - I'll need users to setup read-only credentials. Here's a TIL about that: https://til.simonwillison.net/postgresql/read-only-postgresql-user |
{ "total_count": 1, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 1, "rocket": 0, "eyes": 0 } |
Prototoype for Datasette on PostgreSQL 564833696 | |
792233255 | https://github.com/simonw/datasette/pull/1223#issuecomment-792233255 | https://api.github.com/repos/simonw/datasette/issues/1223 | MDEyOklzc3VlQ29tbWVudDc5MjIzMzI1NQ== | simonw 9599 | 2021-03-07T07:41:01Z | 2021-03-07T07:41:01Z | OWNER | This is fantastic, thanks so much for tracking this down. |
{ "total_count": 1, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 1, "rocket": 0, "eyes": 0 } |
Add compile option to Dockerfile to fix failing test (fixes #696) 806918878 | |
786812716 | https://github.com/simonw/datasette/issues/1240#issuecomment-786812716 | https://api.github.com/repos/simonw/datasette/issues/1240 | MDEyOklzc3VlQ29tbWVudDc4NjgxMjcxNg== | simonw 9599 | 2021-02-26T18:18:18Z | 2021-02-26T18:18:18Z | OWNER | Agreed, this would be extremely useful. I'd love to be able to facet against custom queries. It's a fair bit of work to implement but it's not impossible. Closing this as a duplicate of #972. |
{ "total_count": 1, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 1, "rocket": 0, "eyes": 0 } |
Allow facetting on custom queries 814591962 | |
749749948 | https://github.com/simonw/datasette/issues/509#issuecomment-749749948 | https://api.github.com/repos/simonw/datasette/issues/509 | MDEyOklzc3VlQ29tbWVudDc0OTc0OTk0OA== | simonw 9599 | 2020-12-22T20:03:10Z | 2020-12-22T20:03:10Z | OWNER | If you open multiple files with the same filename, e.g. like this:
You'll now get this: |
{ "total_count": 1, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 1, "rocket": 0, "eyes": 0 } |
Support opening multiple databases with the same stem 456568880 | |
744757558 | https://github.com/simonw/datasette/issues/1143#issuecomment-744757558 | https://api.github.com/repos/simonw/datasette/issues/1143 | MDEyOklzc3VlQ29tbWVudDc0NDc1NzU1OA== | simonw 9599 | 2020-12-14T22:42:10Z | 2020-12-14T22:42:10Z | OWNER | This may involve a breaking change to the CLI settings interface, so I'm adding this to the 1.0 milestone. |
{ "total_count": 1, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 1, "rocket": 0, "eyes": 0 } |
More flexible CORS support in core, to encourage good security practices 764059235 | |
709633080 | https://github.com/simonw/datasette/issues/865#issuecomment-709633080 | https://api.github.com/repos/simonw/datasette/issues/865 | MDEyOklzc3VlQ29tbWVudDcwOTYzMzA4MA== | simonw 9599 | 2020-10-15T22:58:51Z | 2020-10-15T22:58:51Z | OWNER | It looks like there are places where Datasette might return a redirect that doesn't take |
{ "total_count": 1, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 1, "rocket": 0, "eyes": 0 } |
base_url doesn't seem to work when adding criteria and clicking "apply" 644582921 | |
671072223 | https://github.com/simonw/datasette/issues/919#issuecomment-671072223 | https://api.github.com/repos/simonw/datasette/issues/919 | MDEyOklzc3VlQ29tbWVudDY3MTA3MjIyMw== | simonw 9599 | 2020-08-09T16:26:17Z | 2020-08-09T16:26:17Z | OWNER | Should be released in a couple of minutes: https://travis-ci.org/github/simonw/datasette/builds/716328883 |
{ "total_count": 1, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 1, "rocket": 0, "eyes": 0 } |
Travis should not build the master branch, only the main branch 675727366 | |
645030262 | https://github.com/simonw/datasette/issues/850#issuecomment-645030262 | https://api.github.com/repos/simonw/datasette/issues/850 | MDEyOklzc3VlQ29tbWVudDY0NTAzMDI2Mg== | simonw 9599 | 2020-06-16T21:51:01Z | 2020-06-16T21:51:39Z | OWNER | File locking is interesting here. https://docs.aws.amazon.com/lambda/latest/dg/services-efs.html
SQLite can apparently work on NFS v4.1. I think I'd rather set things up so there's only ever one writer - so a Datasette instance could scale reads by running lots more lambda functions but only one function ever writes to a file at a time. Not sure if that's feasible with Lambda though - maybe by adding some additional shared state mechanism like Redis? |
{ "total_count": 1, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 1, "rocket": 0, "eyes": 0 } |
Proof of concept for Datasette on AWS Lambda with EFS 639993467 | |
640116494 | https://github.com/simonw/datasette/issues/791#issuecomment-640116494 | https://api.github.com/repos/simonw/datasette/issues/791 | MDEyOklzc3VlQ29tbWVudDY0MDExNjQ5NA== | simonw 9599 | 2020-06-06T20:50:41Z | 2020-06-06T20:50:41Z | OWNER | I have a better idea: a feed reader! You can insert URLs to feeds, then have a command which fetches the latest entries from them into a separate table. Then implement favorites as a canned query, let you search your favorites, etc. |
{ "total_count": 1, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 1, "rocket": 0, "eyes": 0 } |
Tutorial: building a something-interesting with writable canned queries 628572716 | |
634254943 | https://github.com/simonw/datasette/issues/744#issuecomment-634254943 | https://api.github.com/repos/simonw/datasette/issues/744 | MDEyOklzc3VlQ29tbWVudDYzNDI1NDk0Mw== | simonw 9599 | 2020-05-26T20:15:11Z | 2020-05-26T20:15:11Z | OWNER | Oh no! It looks like |
{ "total_count": 1, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 1, "rocket": 0, "eyes": 0 } |
link_or_copy_directory() error - Invalid cross-device link 608058890 | |
609455243 | https://github.com/simonw/datasette/issues/716#issuecomment-609455243 | https://api.github.com/repos/simonw/datasette/issues/716 | MDEyOklzc3VlQ29tbWVudDYwOTQ1NTI0Mw== | simonw 9599 | 2020-04-05T17:47:33Z | 2020-04-05T17:47:33Z | OWNER | You start
:040000 040000 def9e31252e056845609de36c66d4320dd0c47f8 da19b7f8c26d50a4c05e5a7f05220b968429725c M datasette bisect run success ``` So 70b915fb4bc214f9d064179f87671f8a378aa127 introduced the bug! |
{ "total_count": 1, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 1, "rocket": 0, "eyes": 0 } |
extra_template_vars() sending wrong view_name for index 594168758 | |
552276247 | https://github.com/simonw/datasette/issues/594#issuecomment-552276247 | https://api.github.com/repos/simonw/datasette/issues/594 | MDEyOklzc3VlQ29tbWVudDU1MjI3NjI0Nw== | simonw 9599 | 2019-11-11T03:13:00Z | 2019-11-11T03:13:00Z | OWNER | 622 |
{ "total_count": 1, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 1, "rocket": 0, "eyes": 0 } |
upgrade to uvicorn-0.9 to be Python-3.8 friendly 506297048 | |
501541902 | https://github.com/simonw/sqlite-utils/issues/26#issuecomment-501541902 | https://api.github.com/repos/simonw/sqlite-utils/issues/26 | MDEyOklzc3VlQ29tbWVudDUwMTU0MTkwMg== | simonw 9599 | 2019-06-13T04:15:22Z | 2019-06-13T16:55:42Z | OWNER | So maybe something like this:
|
{ "total_count": 1, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 1, "rocket": 0, "eyes": 0 } |
Mechanism for turning nested JSON into foreign keys / many-to-many 455486286 |
Advanced export
JSON shape: default, array, newline-delimited, object
CREATE TABLE [issue_comments] ( [html_url] TEXT, [issue_url] TEXT, [id] INTEGER PRIMARY KEY, [node_id] TEXT, [user] INTEGER REFERENCES [users]([id]), [created_at] TEXT, [updated_at] TEXT, [author_association] TEXT, [body] TEXT, [reactions] TEXT, [issue] INTEGER REFERENCES [issues]([id]) , [performed_via_github_app] TEXT); CREATE INDEX [idx_issue_comments_issue] ON [issue_comments] ([issue]); CREATE INDEX [idx_issue_comments_user] ON [issue_comments] ([user]);
issue 21