issue_comments
9 rows where author_association = "OWNER", issue = 421551434 and user = 9599 sorted by updated_at descending
This data as json, CSV (advanced)
Suggested facets: reactions, created_at (date), updated_at (date)
issue 1
- Default to opening files in mutable mode, special option for immutable files · 9 ✖
id | html_url | issue_url | node_id | user | created_at | updated_at ▲ | author_association | body | reactions | issue | performed_via_github_app |
---|---|---|---|---|---|---|---|---|---|---|---|
493110184 | https://github.com/simonw/datasette/issues/419#issuecomment-493110184 | https://api.github.com/repos/simonw/datasette/issues/419 | MDEyOklzc3VlQ29tbWVudDQ5MzExMDE4NA== | simonw 9599 | 2019-05-16T15:14:31Z | 2019-05-16T15:14:31Z | OWNER | This is done bar the documentation, which is tracked in #421 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Default to opening files in mutable mode, special option for immutable files 421551434 | |
473726527 | https://github.com/simonw/datasette/issues/419#issuecomment-473726527 | https://api.github.com/repos/simonw/datasette/issues/419 | MDEyOklzc3VlQ29tbWVudDQ3MzcyNjUyNw== | simonw 9599 | 2019-03-17T23:28:41Z | 2019-05-16T14:54:50Z | OWNER | I've added the
This feature is incomplete though. Some extra changes I need to make:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Default to opening files in mutable mode, special option for immutable files 421551434 | |
473708724 | https://github.com/simonw/datasette/issues/419#issuecomment-473708724 | https://api.github.com/repos/simonw/datasette/issues/419 | MDEyOklzc3VlQ29tbWVudDQ3MzcwODcyNA== | simonw 9599 | 2019-03-17T19:55:21Z | 2019-05-16T03:35:59Z | OWNER | Thinking about this further: I think I may have made a mistake establishing "immutable" as the default mode for databases opened by Datasette. What would it look like if files were NOT opened in immutable mode by default? Maybe the command to start Datasette looks like this:
So regular file arguments are treated as mutable (and opened in The
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Default to opening files in mutable mode, special option for immutable files 421551434 | |
492903398 | https://github.com/simonw/datasette/issues/419#issuecomment-492903398 | https://api.github.com/repos/simonw/datasette/issues/419 | MDEyOklzc3VlQ29tbWVudDQ5MjkwMzM5OA== | simonw 9599 | 2019-05-16T03:33:01Z | 2019-05-16T03:33:01Z | OWNER | @russss sorry I only just spotted your comment here. I think I have an alternative suggestion for what you need to do here. It sounds to me like you need to calculate a specific piece of information against a specific database. Instead of doing this in inspect, how about having a separate tool which runs this once against the database file and writes the result into a database file there? I've been thinking about this pattern a bit as part of the sqlite-utils work I've been doing. It's already something that's needed for SQLite FTS support - it's no good just creating a FTS index, you have to populate it as well. In sqlite-utils world you do that like this: https://sqlite-utils.readthedocs.io/en/latest/cli.html#configuring-full-text-search
But then later if you've inserted new records you have to call this:
So one option here could be for Another option: Datasette now has an option to open a database file in "immutable" mode, using |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Default to opening files in mutable mode, special option for immutable files 421551434 | |
488528111 | https://github.com/simonw/datasette/issues/419#issuecomment-488528111 | https://api.github.com/repos/simonw/datasette/issues/419 | MDEyOklzc3VlQ29tbWVudDQ4ODUyODExMQ== | simonw 9599 | 2019-05-02T01:14:58Z | 2019-05-02T01:14:58Z | OWNER | I just closed #420 - all of the places in the codebase that were using |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Default to opening files in mutable mode, special option for immutable files 421551434 | |
473713363 | https://github.com/simonw/datasette/issues/419#issuecomment-473713363 | https://api.github.com/repos/simonw/datasette/issues/419 | MDEyOklzc3VlQ29tbWVudDQ3MzcxMzM2Mw== | simonw 9599 | 2019-03-17T20:49:39Z | 2019-03-17T20:52:46Z | OWNER | And a really important difference: the whole model of caching inspect data no longer works for mutable files, because another process might make a change to the database schema (adding a new table for example). https://fivethirtyeight.datasettes.com/-/inspect So everywhere that uses I'll track this as a separate ticket. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Default to opening files in mutable mode, special option for immutable files 421551434 | |
473712820 | https://github.com/simonw/datasette/issues/419#issuecomment-473712820 | https://api.github.com/repos/simonw/datasette/issues/419 | MDEyOklzc3VlQ29tbWVudDQ3MzcxMjgyMA== | simonw 9599 | 2019-03-17T20:43:23Z | 2019-03-17T20:43:51Z | OWNER | So the differences here are:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Default to opening files in mutable mode, special option for immutable files 421551434 | |
473709883 | https://github.com/simonw/datasette/issues/419#issuecomment-473709883 | https://api.github.com/repos/simonw/datasette/issues/419 | MDEyOklzc3VlQ29tbWVudDQ3MzcwOTg4Mw== | simonw 9599 | 2019-03-17T20:09:47Z | 2019-03-17T20:37:45Z | OWNER | Could I persist the last calculated count for a table and somehow detect if that table has been changed in any way by another process, hence invalidating the cached count (and potentially scheduling a new count)? https://www.sqlite.org/c3ref/update_hook.html says that Also this hook is not exposed in the Python So on further research, I think the answer is no: I should assume that it won't be possible to cache counts and magically invalidate the cache when the underlying file is changed by another process. Instead I need to assume that counts will be an expensive operation. As such, I can introduce a time limit on counts and use that anywhere a count is displayed. If the time limit is exceeded by the That said... running It would be really neat if I could generate a lower bound count in a limited amount of time. If I counted up to 4m rows before the timeout I could show "more than 4m rows". No idea if that would be possible though. Relevant: https://stackoverflow.com/questions/8988915/sqlite-count-slow-on-big-tables - reports of very slow counts on 6GB database file. Consensus seems to be "yeah, that's just how SQLite is built" - though there was a suggestion that you can use Also relevant: http://sqlite.1065341.n5.nabble.com/sqlite3-performance-on-select-count-very-slow-for-16-GB-file-td80176.html |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Default to opening files in mutable mode, special option for immutable files 421551434 | |
473708941 | https://github.com/simonw/datasette/issues/419#issuecomment-473708941 | https://api.github.com/repos/simonw/datasette/issues/419 | MDEyOklzc3VlQ29tbWVudDQ3MzcwODk0MQ== | simonw 9599 | 2019-03-17T19:58:11Z | 2019-03-17T19:58:11Z | OWNER | Some problems to solve:
|
{ "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Default to opening files in mutable mode, special option for immutable files 421551434 |
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]);
user 1