home / github

Menu
  • GraphQL API

issue_comments

Table actions
  • GraphQL API for issue_comments

13 rows where issue = 520740741

✎ View and edit SQL

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

CSV options:

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]);
Powered by Datasette · Queries took 41.762ms · About: simonw/datasette-graphql