issue_comments
3 rows where issue_url = "https://api.github.com/repos/simonw/datasette/issues/427" and "updated_at" is on date 2019-04-13
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 |
---|---|---|---|---|---|---|---|---|---|---|---|
482864457 | https://github.com/simonw/datasette/issues/427#issuecomment-482864457 | https://api.github.com/repos/simonw/datasette/issues/427 | MDEyOklzc3VlQ29tbWVudDQ4Mjg2NDQ1Nw== | simonw 9599 | 2019-04-13T18:51:44Z | 2019-04-13T18:57:51Z | OWNER | A facet needs to: - given a sql query and a list of configs, return a list of buckets - Know how to generate URLs for selecting and deselecting a filter (along with underlying filter application sql logic) - Tell if a specific filter is currently selected or not - Set a time limit and report if it times out - Generate human readable labels - In some cases: expand foreign keys - which means they need access to foreign key information - just the name of the table and the name of the column is enough to call `expand_foreign_keys()` (I [moved that](https://github.com/simonw/datasette/commit/274ef43bb7b129ddc2e68805b4f4ff3776fb9503) to the Datasette class to make it easier to access) - Make suggestions for facets. Let's give it access to the whole table here so it could either run against each column in return and rely with a list of suggestions or it could spot eg a latitude and a longitude column | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | New design for facet abstraction, including querystring and metadata.json 431800286 | |
482864837 | https://github.com/simonw/datasette/issues/427#issuecomment-482864837 | https://api.github.com/repos/simonw/datasette/issues/427 | MDEyOklzc3VlQ29tbWVudDQ4Mjg2NDgzNw== | simonw 9599 | 2019-04-13T18:53:43Z | 2019-04-13T18:53:43Z | OWNER | `TableView.data` is currently the longest, hairiest method in the codebase. It's 775 - 177 = 598 lines of code! Extracting faceting logic should help reduce that quite a bit. https://github.com/simonw/datasette/blob/274ef43bb7b129ddc2e68805b4f4ff3776fb9503/datasette/views/table.py#L177-L775 | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | New design for facet abstraction, including querystring and metadata.json 431800286 | |
482865424 | https://github.com/simonw/datasette/issues/427#issuecomment-482865424 | https://api.github.com/repos/simonw/datasette/issues/427 | MDEyOklzc3VlQ29tbWVudDQ4Mjg2NTQyNA== | simonw 9599 | 2019-04-13T18:56:25Z | 2019-04-13T19:42:08Z | OWNER | I think there's a `Facet` base class. `class ColumnFacet(Facet):` is the default behaviour we have today `class ArrayFacet(Facet):` facet by JSON array `class ManyToManyFacet(Facet):` facet by M2M table `class DateFacet(Facet):` facet by date `class DateTimeFacet(Facet):` facet by datetime `class EmojiFacet(Facet):` super-fun demo plugin I have planned Could even have a facet against a numerical column which loads the entire set of column values into numpy or pandas and calculates complex statistics facets in memory . There’s actually a lot of potential for Datasette plugins that load several MBs of data and analyze using other Python libraries. | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | New design for facet abstraction, including querystring and metadata.json 431800286 |
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]);