issue_comments
9 rows where issue = 519613116
This data as json, CSV (advanced)
Suggested facets: created_at (date), updated_at (date)
id ▼ | html_url | issue_url | node_id | user | created_at | updated_at | author_association | body | reactions | issue | performed_via_github_app |
---|---|---|---|---|---|---|---|---|---|---|---|
551349022 | https://github.com/simonw/datasette/issues/617#issuecomment-551349022 | https://api.github.com/repos/simonw/datasette/issues/617 | MDEyOklzc3VlQ29tbWVudDU1MTM0OTAyMg== | simonw 9599 | 2019-11-08T01:56:28Z | 2019-11-08T01:56:28Z | OWNER | Here's the current monstrosity: https://github.com/simonw/datasette/blob/f9c146b893856a48afa810ebcce1714f30d0d3a2/datasette/views/table.py#L210-L780 | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Refactor TableView.data() method 519613116 | |
551349770 | https://github.com/simonw/datasette/issues/617#issuecomment-551349770 | https://api.github.com/repos/simonw/datasette/issues/617 | MDEyOklzc3VlQ29tbWVudDU1MTM0OTc3MA== | simonw 9599 | 2019-11-08T01:59:20Z | 2019-11-11T00:53:42Z | OWNER | This is what the code does: - Check if the table name is actually a canned query - if so execute that - Check for other parameters that need to be redirected - e.g. `?_filter_column=x` or `_sort_by_desc=y` - Turn the table + querystring parameters (`?foo=bar`, `?bar__contains=baz`, `?_where=`, `_sort=` etc) into a SQL query - Figure out pagination (apply limit, and handle [keyset pagination](https://simonwillison.net/2018/Oct/4/datasette-ideas/#Keyset_pagination)) - Calculate suggested facets against the non-paginated version of the query - Calculate facet counts against the non-paginated version of the query - Execute the query - Expand any foreign key references from the results | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Refactor TableView.data() method 519613116 | |
551349885 | https://github.com/simonw/datasette/issues/617#issuecomment-551349885 | https://api.github.com/repos/simonw/datasette/issues/617 | MDEyOklzc3VlQ29tbWVudDU1MTM0OTg4NQ== | simonw 9599 | 2019-11-08T01:59:43Z | 2019-11-08T02:00:52Z | OWNER | A clean starting point would be to refactor out the "take a table and a bunch of querystring parameters and turn them into a SQL query" portion. Added bonus to this: I've long wanted to be able to apply the various trimmings of the TableView (like faceting and foreign key expansion) to other arbitrary SQL queries. Splitting out the code that builds the SELECT query will go a long way to making that a reality. | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Refactor TableView.data() method 519613116 | |
552141417 | https://github.com/simonw/datasette/issues/617#issuecomment-552141417 | https://api.github.com/repos/simonw/datasette/issues/617 | MDEyOklzc3VlQ29tbWVudDU1MjE0MTQxNw== | simonw 9599 | 2019-11-09T21:58:40Z | 2019-11-09T21:58:40Z | OWNER | The function that builds the query could go in a new `datasette.utils.sql` module. I can design it to only take simple arguments (the table name, list of columns, list of primary keys and a list of key/value tuples from the query string). This will make it really easy to test (and means it won't need to be async since it won't have to use queries to retrieve those values). | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Refactor TableView.data() method 519613116 | |
552253893 | https://github.com/simonw/datasette/issues/617#issuecomment-552253893 | https://api.github.com/repos/simonw/datasette/issues/617 | MDEyOklzc3VlQ29tbWVudDU1MjI1Mzg5Mw== | simonw 9599 | 2019-11-11T00:46:42Z | 2021-12-18T01:41:47Z | OWNER | As noted in https://github.com/simonw/datasette/issues/621#issuecomment-552253208 a common pattern in this method is blocks of code that append new items to the `where_clauses`, `params` and `extra_human_descriptions` arrays. This is a useful refactoring opportunity. Code that fits this pattern: * The code that builds based on the filters: `where_clauses, params = filters.build_where_clauses(table)` and `human_description_en = filters.human_description_en(extra=extra_human_descriptions)` * Code that handles `?_where=`: `where_clauses.extend(request.args["_where"])` - though note that this also appends to a `extra_wheres_for_ui` array which nothing else uses * The `_through=` code, see #621 for details * The code that deals with `?_search=` FTS The keyset pagination code modifies `where_clauses` and `params` too, but I don't think it's quite going to work with the same abstraction that would cover the above examples. [UPDATE December 2021 - this comment became the basis for a new `filters_from_request` plugin hook, see also #473] | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Refactor TableView.data() method 519613116 | |
552254238 | https://github.com/simonw/datasette/issues/617#issuecomment-552254238 | https://api.github.com/repos/simonw/datasette/issues/617 | MDEyOklzc3VlQ29tbWVudDU1MjI1NDIzOA== | simonw 9599 | 2019-11-11T00:49:57Z | 2019-11-11T00:51:35Z | OWNER | I experimented with a `table_filter()` plugin hook a while ago which looks very much like the abstraction I'm now talking about here: https://github.com/simonw/datasette/commit/5116c4ec8aed5091e1f75415424b80f613518dc6 - more details here: https://simonwillison.net/2018/Aug/6/russian-facebook-ads/#Weird_implementation_details_106 | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Refactor TableView.data() method 519613116 | |
552254753 | https://github.com/simonw/datasette/issues/617#issuecomment-552254753 | https://api.github.com/repos/simonw/datasette/issues/617 | MDEyOklzc3VlQ29tbWVudDU1MjI1NDc1Mw== | simonw 9599 | 2019-11-11T00:54:51Z | 2019-11-11T00:54:51Z | OWNER | That `table_filter()` plugin hook should probably be renamed though, since it could now apply to the regular custom SQL view as well as the table view. | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Refactor TableView.data() method 519613116 | |
555111571 | https://github.com/simonw/datasette/issues/617#issuecomment-555111571 | https://api.github.com/repos/simonw/datasette/issues/617 | MDEyOklzc3VlQ29tbWVudDU1NTExMTU3MQ== | simonw 9599 | 2019-11-18T17:04:56Z | 2019-11-18T17:04:56Z | OWNER | I made some comments on an annotated version of this method a few days ago: https://gist.github.com/simonw/66aca058195d77bae5f614ef73352eb5 | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Refactor TableView.data() method 519613116 | |
991755013 | https://github.com/simonw/datasette/issues/617#issuecomment-991755013 | https://api.github.com/repos/simonw/datasette/issues/617 | IC_kwDOBm6k_c47HPsF | simonw 9599 | 2021-12-11T19:17:11Z | 2021-12-11T19:17:11Z | OWNER | This work is now happening in #1518 | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Refactor TableView.data() method 519613116 |
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]);