home / github

Menu
  • Search all tables
  • GraphQL API

issue_comments

Table actions
  • GraphQL API for issue_comments

3 rows where author_association = "OWNER" and "created_at" is on date 2019-11-03 sorted by updated_at descending

✎ View and edit SQL

This data as json, CSV (advanced)

Suggested facets: created_at (date), updated_at (date)

issue 3

  • Mechanism for customizing the SQL used to select specific columns in the table view 1
  • Utility mechanism for plugins to render templates 1
  • Basic join support for table view 1

user 1

  • simonw 3

author_association 1

  • OWNER · 3 ✖
id html_url issue_url node_id user created_at updated_at ▲ author_association body reactions issue performed_via_github_app
549169101 https://github.com/simonw/datasette/issues/292#issuecomment-549169101 https://api.github.com/repos/simonw/datasette/issues/292 MDEyOklzc3VlQ29tbWVudDU0OTE2OTEwMQ== simonw 9599 2019-11-03T19:17:08Z 2019-11-03T19:17:16Z OWNER

A good basic starting point for this would be to ignore the ability to add custom SQL fragments and instead focus on being able to show and hide specific columns. This will play particularly well with #613.

Proposed syntax for that:

/db/table?_col=id&_col=name - just show the id and name columns /db/table?_nocol=extras&_nocol=age - show all columns except for extras and age

I don't think it makes sense to allow both ?_col= and ?_nocol= arguments in the same request, so if you provide both I think we throw a 400 error.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Mechanism for customizing the SQL used to select specific columns in the table view 326800219  
549168834 https://github.com/simonw/datasette/issues/613#issuecomment-549168834 https://api.github.com/repos/simonw/datasette/issues/613 MDEyOklzc3VlQ29tbWVudDU0OTE2ODgzNA== simonw 9599 2019-11-03T19:14:01Z 2019-11-03T19:14:01Z OWNER

Consider https://latest.datasette.io/fixtures/facetable

With ?_join=city_id the underlying query would become this:

select facetable.pk as 'facetable.pk', facetable.created as 'facetable.created', facetable.planet_int as 'facetable.planet_int', facetable.on_earth as 'facetable.on_earth', facetable.state as 'facetable.state', facetable.city_id as 'facetable.city_id', facetable.neighborhood as 'facetable.neighborhood', facetable.tags as 'facetable.tags', facetable.complex_array as 'facetable.complex_array', facet_cities.id as 'facet_cities.id', facet_cities.name as 'facet_cities.name' from facetable join facet_cities on facetable.city_id = facet_cities.id https://latest.datasette.io/fixtures?sql=select%0D%0A++facetable.pk+as+%27facetable.pk%27%2C%0D%0A++facetable.created+as+%27facetable.created%27%2C%0D%0A++facetable.planet_int+as+%27facetable.planet_int%27%2C%0D%0A++facetable.on_earth+as+%27facetable.on_earth%27%2C%0D%0A++facetable.state+as+%27facetable.state%27%2C%0D%0A++facetable.city_id+as+%27facetable.city_id%27%2C%0D%0A++facetable.neighborhood+as+%27facetable.neighborhood%27%2C%0D%0A++facetable.tags+as+%27facetable.tags%27%2C%0D%0A++facetable.complex_array+as+%27facetable.complex_array%27%2C%0D%0A++facet_cities.id+as+%27facet_cities.id%27%2C%0D%0A++facet_cities.name+as+%27facet_cities.name%27%0D%0Afrom%0D%0A++facetable%0D%0A++join+facet_cities+on+facetable.city_id+%3D+facet_cities.id

I'm using select foo.bar as 'foo.bar' here to ensure that every column has an unambiguous name, to avoid any weirdness from joining against a table where both tables have a 'name' column.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Basic join support for table view 516874735  
549160499 https://github.com/simonw/datasette/issues/577#issuecomment-549160499 https://api.github.com/repos/simonw/datasette/issues/577 MDEyOklzc3VlQ29tbWVudDU0OTE2MDQ5OQ== simonw 9599 2019-11-03T17:36:59Z 2019-11-03T17:36:59Z OWNER

I think a .render_template() method on the Datasette class would be acceptable, since the purpose of that class will mainly be to provide a documented API for plugins to use: #576

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Utility mechanism for plugins to render templates 497171390  

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 480.044ms · About: github-to-sqlite