issue_comments
13 rows where issue = 520740741
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 |
---|---|---|---|---|---|---|---|---|---|---|---|
996093884 | https://github.com/simonw/datasette/issues/625#issuecomment-996093884 | https://api.github.com/repos/simonw/datasette/issues/625 | IC_kwDOBm6k_c47Xy-8 | simonw 9599 | 2021-12-16T19:00:28Z | 2021-12-16T19:00:28Z | OWNER | Implementing #1552 has made a fix for this bug even more important. | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | If you apply ?_facet_array=tags then &_facet=tags does nothing 520740741 | |
996100774 | https://github.com/simonw/datasette/issues/625#issuecomment-996100774 | https://api.github.com/repos/simonw/datasette/issues/625 | IC_kwDOBm6k_c47X0qm | simonw 9599 | 2021-12-16T19:10:01Z | 2021-12-16T19:10:48Z | OWNER | I think the problem here may be in the design of the JSON returned by facets. It looks like this: ``` "facet_results": { "tags": { "name": "tags", "type": "array", "results": [...], "hideable": false, "toggle_url": "/fixtures/facetable.json?_facet=tags&_trace=1&_nosuggest=1", "truncated": false }, "created": { "name": "created", "type": "date", "results": [...] ``` The problem then is that the `tags` key is over-ridden by the second facet with a different type against the same column name! https://latest-with-plugins.datasette.io/fixtures/facetable?_trace=1&_facet=created&_facet_date=created&_facet_array=tags&_facet=tags confirms that the SQL queries for those facets are being executed - but the final JSON doesn't show them on https://latest-with-plugins.datasette.io/fixtures/facetable.json?_trace=1&_facet=created&_facet_date=created&_facet_array=tags&_facet=tags They're not available in the template context either: https://latest-with-plugins.datasette.io/fixtures/facetable?_facet=created&_facet_date=created&_facet_array=tags&_facet=tags&_context=1 | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | If you apply ?_facet_array=tags then &_facet=tags does nothing 520740741 | |
996118401 | https://github.com/simonw/datasette/issues/625#issuecomment-996118401 | https://api.github.com/repos/simonw/datasette/issues/625 | IC_kwDOBm6k_c47X4-B | simonw 9599 | 2021-12-16T19:34:28Z | 2021-12-16T19:34:55Z | OWNER | The big question here is do I break any existing clients of the `"facet_results"` JSON API? It's still pre-1.0 so I could break them, but I've also built my own code against this in the past so it's likely other people have too. If I don't break them, I will instead need to come up with a naming convention for those keys - something like `"tags__array"` for example. As well as a way to ensure that a column called `tags__array` doesn't end up conflicting with the `tags__array` key! | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | If you apply ?_facet_array=tags then &_facet=tags does nothing 520740741 | |
996119954 | https://github.com/simonw/datasette/issues/625#issuecomment-996119954 | https://api.github.com/repos/simonw/datasette/issues/625 | IC_kwDOBm6k_c47X5WS | simonw 9599 | 2021-12-16T19:36:01Z | 2021-12-16T19:36:11Z | OWNER | Datasette's own HTML rendering code doesn't actually use the keys in `facet_results` - it instead loops through `sorted_facet_results` which is defined like this: https://github.com/simonw/datasette/blob/992496f2611a72bd51e94bfd0b17c1d84e732487/datasette/views/table.py#L937-L941 And used like this: https://github.com/simonw/datasette/blob/992496f2611a72bd51e94bfd0b17c1d84e732487/datasette/templates/table.html#L154-L156 | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | If you apply ?_facet_array=tags then &_facet=tags does nothing 520740741 | |
996121736 | https://github.com/simonw/datasette/issues/625#issuecomment-996121736 | https://api.github.com/repos/simonw/datasette/issues/625 | IC_kwDOBm6k_c47X5yI | simonw 9599 | 2021-12-16T19:37:08Z | 2021-12-16T19:37:08Z | OWNER | Really `facet_results` here should be an array of objects, not an object that maps poorly designed string keys to those objects. | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | If you apply ?_facet_array=tags then &_facet=tags does nothing 520740741 | |
996130862 | https://github.com/simonw/datasette/issues/625#issuecomment-996130862 | https://api.github.com/repos/simonw/datasette/issues/625 | IC_kwDOBm6k_c47X8Au | simonw 9599 | 2021-12-16T19:44:48Z | 2021-12-16T19:44:48Z | OWNER | Decision: as an initial fix I'm going to de-duplicate those keys by using `tags__array` etc - with a `_2` on the end if that key is already used. I'll open a separate issue to redesign this better for Datasette 1.0. | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | If you apply ?_facet_array=tags then &_facet=tags does nothing 520740741 | |
996146762 | https://github.com/simonw/datasette/issues/625#issuecomment-996146762 | https://api.github.com/repos/simonw/datasette/issues/625 | IC_kwDOBm6k_c47X_5K | simonw 9599 | 2021-12-16T19:51:44Z | 2021-12-16T19:51:44Z | OWNER | Here's where `facet_results` is built up: https://github.com/simonw/datasette/blob/992496f2611a72bd51e94bfd0b17c1d84e732487/datasette/views/table.py#L752-L758 So the decision to key things based on column name is actually embedded deep in the existing facet classes here: https://github.com/simonw/datasette/blob/992496f2611a72bd51e94bfd0b17c1d84e732487/datasette/facets.py#L224-L226 https://github.com/simonw/datasette/blob/992496f2611a72bd51e94bfd0b17c1d84e732487/datasette/facets.py#L395-L397 https://github.com/simonw/datasette/blob/992496f2611a72bd51e94bfd0b17c1d84e732487/datasette/facets.py#L510-L512 | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | If you apply ?_facet_array=tags then &_facet=tags does nothing 520740741 | |
996149720 | https://github.com/simonw/datasette/issues/625#issuecomment-996149720 | https://api.github.com/repos/simonw/datasette/issues/625 | IC_kwDOBm6k_c47YAnY | simonw 9599 | 2021-12-16T19:56:14Z | 2021-12-16T19:56:14Z | OWNER | This bad design is even covered in the plugin hooks documentation: https://docs.datasette.io/en/0.59.4/plugin_hooks.html#register-facet-classes It does at least have the following warning: > **Warning** > > The design of this plugin hook is unstable and may change. See [issue 830](https://github.com/simonw/datasette/issues/830). | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | If you apply ?_facet_array=tags then &_facet=tags does nothing 520740741 | |
996150904 | https://github.com/simonw/datasette/issues/625#issuecomment-996150904 | https://api.github.com/repos/simonw/datasette/issues/625 | IC_kwDOBm6k_c47YA54 | simonw 9599 | 2021-12-16T19:57:52Z | 2021-12-16T19:57:52Z | OWNER | Good news - GitHub's new code search doesn't show ANYONE using that plugin hook - not surprising since it has that documentation warning plus it's just not a very clearly usable hook: https://cs.github.com/?scopeName=All+repos&scope=&q=register_facet_classes%20-repo%3Asimonw%2Fdatasette | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | If you apply ?_facet_array=tags then &_facet=tags does nothing 520740741 | |
996152213 | https://github.com/simonw/datasette/issues/625#issuecomment-996152213 | https://api.github.com/repos/simonw/datasette/issues/625 | IC_kwDOBm6k_c47YBOV | simonw 9599 | 2021-12-16T19:59:46Z | 2021-12-16T20:00:05Z | OWNER | Since no-one is using that plugin hook I'm going to alter its contract slightly. I'll still keep the existing JSON format working though (until 1.0), since it's much more likely that people are using that JSON somewhere. | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | If you apply ?_facet_array=tags then &_facet=tags does nothing 520740741 | |
996161380 | https://github.com/simonw/datasette/issues/625#issuecomment-996161380 | https://api.github.com/repos/simonw/datasette/issues/625 | IC_kwDOBm6k_c47YDdk | simonw 9599 | 2021-12-16T20:13:05Z | 2021-12-16T20:13:05Z | OWNER | I updated the example code in the facet plugin hook documentation: https://github.com/simonw/datasette/blob/95d0dd7a1cf6be6b7da41e1404184217eb93f64a/docs/plugin_hooks.rst#register_facet_classes | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | If you apply ?_facet_array=tags then &_facet=tags does nothing 520740741 | |
996165659 | https://github.com/simonw/datasette/issues/625#issuecomment-996165659 | https://api.github.com/repos/simonw/datasette/issues/625 | IC_kwDOBm6k_c47YEgb | simonw 9599 | 2021-12-16T20:19:53Z | 2021-12-16T20:19:53Z | OWNER | Demo of the fix: https://latest.datasette.io/fixtures/facetable?_facet=created&_facet_date=created&_facet=tags&_facet_array=tags#facet-tags | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | If you apply ?_facet_array=tags then &_facet=tags does nothing 520740741 | |
996170510 | https://github.com/simonw/datasette/issues/625#issuecomment-996170510 | https://api.github.com/repos/simonw/datasette/issues/625 | IC_kwDOBm6k_c47YFsO | simonw 9599 | 2021-12-16T20:27:41Z | 2021-12-16T20:27:41Z | OWNER | And here's the new JSON: https://latest.datasette.io/fixtures/facetable.json?_facet=created&_facet_date=created&_facet=tags&_facet_array=tags&_nosuggest=1 ``` { "database": "fixtures", "table": "facetable", "is_view": false, "human_description_en": "", ... "facet_results": { "created": { "name": "created", "type": "column", ... }, "tags": { "name": "tags", "type": "column", ... }, "created_2": { "name": "created", "type": "date", ... }, "tags_2": { "name": "tags", "type": "array", ... } } } ``` | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | If you apply ?_facet_array=tags then &_facet=tags does nothing 520740741 |
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]);