home / github

Menu
  • Search all tables
  • GraphQL API

issue_comments

Table actions
  • GraphQL API for issue_comments

10 rows where issue = 729057388 sorted by updated_at descending

✖
✖

✎ View and edit SQL

This data as json, CSV (advanced)

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

user 2

  • simonw 9
  • thadk 1

author_association 2

  • OWNER 9
  • NONE 1

issue 1

  • Switch to .blob render extension for BLOB downloads · 10 ✖
id html_url issue_url node_id user created_at updated_at ▲ author_association body reactions issue performed_via_github_app
719021514 https://github.com/simonw/datasette/issues/1050#issuecomment-719021514 https://api.github.com/repos/simonw/datasette/issues/1050 MDEyOklzc3VlQ29tbWVudDcxOTAyMTUxNA== simonw 9599 2020-10-29T21:05:08Z 2020-10-29T21:05:08Z OWNER

Idea: what if Datasette had a custom SQLite function that could be used to generate URLs to the row-level BLOB download for a value? Then custom SQL query authors could use that function to link to the relevant content.

This could be expanded to exposing other datasette.urls functionality as well.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Switch to .blob render extension for BLOB downloads 729057388  
719001701 https://github.com/simonw/datasette/issues/1050#issuecomment-719001701 https://api.github.com/repos/simonw/datasette/issues/1050 MDEyOklzc3VlQ29tbWVudDcxOTAwMTcwMQ== simonw 9599 2020-10-29T20:26:44Z 2020-10-29T20:26:44Z OWNER

I'll do the rest of the work on this in the pull request #1061.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Switch to .blob render extension for BLOB downloads 729057388  
718989895 https://github.com/simonw/datasette/issues/1050#issuecomment-718989895 https://api.github.com/repos/simonw/datasette/issues/1050 MDEyOklzc3VlQ29tbWVudDcxODk4OTg5NQ== simonw 9599 2020-10-29T20:04:15Z 2020-10-29T20:04:15Z OWNER

I'll use hashlib.sha256 for these hashes.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Switch to .blob render extension for BLOB downloads 729057388  
718987852 https://github.com/simonw/datasette/issues/1050#issuecomment-718987852 https://api.github.com/repos/simonw/datasette/issues/1050 MDEyOklzc3VlQ29tbWVudDcxODk4Nzg1Mg== simonw 9599 2020-10-29T20:00:32Z 2020-10-29T20:00:32Z OWNER

The reason I like the ?_blob_hash= solution is that it feels really misleading to provide a link to "download this binary" which could conceivably download some other data.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Switch to .blob render extension for BLOB downloads 729057388  
718980944 https://github.com/simonw/datasette/issues/1050#issuecomment-718980944 https://api.github.com/repos/simonw/datasette/issues/1050 MDEyOklzc3VlQ29tbWVudDcxODk4MDk0NA== simonw 9599 2020-10-29T19:46:19Z 2020-10-29T19:46:19Z OWNER

Had an idea in https://github.com/simonw/datasette/issues/1051#issuecomment-718980659

OK, alternative idea. The .blob output renderer from #1050 gets to see multiple rows at once.

For an arbitrary SQL query, how about if I link to this?

/db.blob?sql=...&_blob_column=data&_blob_hash=bc4c24181ed3ce666

Then the output renderer loops through all of the data results that are available to it and, if one of them hashes to that value, serves up that data?

If no matches are found it can show an error message telling you that the link has expired (presumably because the underlying database has changed since the link was generated).

I think this might be the best solution to the problem.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Switch to .blob render extension for BLOB downloads 729057388  
718346019 https://github.com/simonw/datasette/issues/1050#issuecomment-718346019 https://api.github.com/repos/simonw/datasette/issues/1050 MDEyOklzc3VlQ29tbWVudDcxODM0NjAxOQ== simonw 9599 2020-10-29T04:05:07Z 2020-10-29T04:05:07Z OWNER

Yes, confirmed - this is a bug where if the BLOB column contains a null you get a nasty exception if you try to download it.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Switch to .blob render extension for BLOB downloads 729057388  
718342036 https://github.com/simonw/datasette/issues/1050#issuecomment-718342036 https://api.github.com/repos/simonw/datasette/issues/1050 MDEyOklzc3VlQ29tbWVudDcxODM0MjAzNg== simonw 9599 2020-10-29T03:49:57Z 2020-10-29T03:49:57Z OWNER

@thadk from that error it looks like the problem may have been that you had a BLOB column containing a null value? If so that's definitely a bug, I'll fix that.

{
    "total_count": 1,
    "+1": 1,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Switch to .blob render extension for BLOB downloads 729057388  
718317997 https://github.com/simonw/datasette/issues/1050#issuecomment-718317997 https://api.github.com/repos/simonw/datasette/issues/1050 MDEyOklzc3VlQ29tbWVudDcxODMxNzk5Nw== thadk 283343 2020-10-29T02:24:50Z 2020-10-29T02:29:24Z NONE

Unsolicited feedback for an unreleased feature of the current unreleased GitHub version (I casually wanted to access a blob row) – the existing #1036 route doesn't support special characters in database or table names (e.g. @() ). Maybe this is motivation for your new idea here.

Also I got this error/crash with my blob and wasn't able to get the file: https://gist.github.com/thadk/28ac32af0e88747ce9056c90b0b19d34

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Switch to .blob render extension for BLOB downloads 729057388  
716174203 https://github.com/simonw/datasette/issues/1050#issuecomment-716174203 https://api.github.com/repos/simonw/datasette/issues/1050 MDEyOklzc3VlQ29tbWVudDcxNjE3NDIwMw== simonw 9599 2020-10-25T16:27:39Z 2020-10-25T16:53:27Z OWNER

Idea: .blob output rendererer, where you tell it which column you want using ?_blob_column=x.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Switch to .blob render extension for BLOB downloads 729057388  
716175236 https://github.com/simonw/datasette/issues/1050#issuecomment-716175236 https://api.github.com/repos/simonw/datasette/issues/1050 MDEyOklzc3VlQ29tbWVudDcxNjE3NTIzNg== simonw 9599 2020-10-25T16:35:20Z 2020-10-25T16:35:20Z OWNER

This is clearly a better solution than the one I implemented in #1040 - I don't have to add a new route, I don't have to implement permission checks, it reuses mechanism.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Switch to .blob render extension for BLOB downloads 729057388  

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 31.415ms · About: github-to-sqlite
  • Sort ascending
  • Sort descending
  • Facet by this
  • Hide this column
  • Show all columns
  • Show not-blank rows