home / github

Menu
  • Search all tables
  • GraphQL API

issue_comments

Table actions
  • GraphQL API for issue_comments

1 row where issue = 1076057610 and user = 9599 sorted by updated_at descending

✖
✖
✖

✎ View and edit SQL

This data as json, CSV (advanced)

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

user 1

  • simonw · 1 ✖

issue 1

  • validating the sql · 1 ✖

author_association 1

  • OWNER 1
id html_url issue_url node_id user created_at updated_at ▲ author_association body reactions issue performed_via_github_app
997124280 https://github.com/simonw/datasette/issues/1546#issuecomment-997124280 https://api.github.com/repos/simonw/datasette/issues/1546 IC_kwDOBm6k_c47bui4 simonw 9599 2021-12-18T02:05:16Z 2021-12-18T02:05:16Z OWNER

Sure - there are actually several levels to this.

The code that creates connections to the database is this: https://github.com/simonw/datasette/blob/83bacfa9452babe7bd66e3579e23af988d00f6ac/datasette/database.py#L72-L95

For files on disk, it does this: ```python

For read-only connections

conn = sqlite3.connect( "file:my.db?mode=ro", uri=True, check_same_thread=False)

For connections that should be treated as immutable:

conn = sqlite3.connect( "file:my.db?immutable=1", uri=True, check_same_thread=False) For in-memory databases it runs this after the connection has been created:python conn.execute("PRAGMA query_only=1") `` SQLitePRAGMAqueries are treated as dangerous: someone could runPRAGMA query_only=0` to turn that previous option off for example.

So this function runs against any incoming SQL to verify that it looks like a SELECT ... and doesn't have anything like that in it.

https://github.com/simonw/datasette/blob/83bacfa9452babe7bd66e3579e23af988d00f6ac/datasette/utils/init.py#L195-L204

You can see the tests for that here: https://github.com/simonw/datasette/blob/b1fed48a95516ae84c0f020582303ab50ab817e2/tests/test_utils.py#L136-L170

{
    "total_count": 1,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 1,
    "rocket": 0,
    "eyes": 0
}
validating the sql 1076057610  

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