home / github

Menu
  • Search all tables
  • GraphQL API

issue_comments

Table actions
  • GraphQL API for issue_comments

9 rows where "created_at" is on date 2021-07-08 sorted by updated_at descending

✎ View and edit SQL

This data as json, CSV (advanced)

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

user 3

  • simonw 6
  • rayvoelker 2
  • aslakr 1

issue 3

  • "searchmode": "raw" in table metadata 5
  • Mechanism for ranking results from SQLite full-text search 3
  • Serve using UNIX domain socket 1

author_association 3

  • OWNER 6
  • NONE 2
  • CONTRIBUTOR 1
id html_url issue_url node_id user created_at updated_at ▲ author_association body reactions issue performed_via_github_app
876721585 https://github.com/simonw/datasette/issues/268#issuecomment-876721585 https://api.github.com/repos/simonw/datasette/issues/268 MDEyOklzc3VlQ29tbWVudDg3NjcyMTU4NQ== rayvoelker 9308268 2021-07-08T20:22:17Z 2021-07-08T20:22:17Z NONE

I do like the idea of there being a option for turning that on by default so that you could use those terms in the default "Search" bar presented when you browse to a table where FTS has been enabled. Maybe even a small inline pop up with a short bit explaining the FTS feature and the keywords (e.g. case matters). What are the side-effects of turning that on in the query string, or even by default as you suggested? I see that you stated in the docs... "to ensure they do not cause any confusion for users who are not aware of them", but I'm not sure what those could be.

Isn't it the case that those keywords are only picked up by sqlite in where you're using the MATCH clause?

Seems like a really powerful feature (even though there are a lot of hurdles around setting it up in the sqlite db ... sqlite-utils makes that so simple by the way!)

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Mechanism for ranking results from SQLite full-text search 323718842  
876620095 https://github.com/simonw/datasette/issues/1389#issuecomment-876620095 https://api.github.com/repos/simonw/datasette/issues/1389 MDEyOklzc3VlQ29tbWVudDg3NjYyMDA5NQ== simonw 9599 2021-07-08T17:35:09Z 2021-07-08T17:35:09Z OWNER

Also came up here: https://github.com/simonw/datasette/issues/268#issuecomment-876616414

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
"searchmode": "raw" in table metadata 940077168  
876619531 https://github.com/simonw/datasette/issues/1389#issuecomment-876619531 https://api.github.com/repos/simonw/datasette/issues/1389 MDEyOklzc3VlQ29tbWVudDg3NjYxOTUzMQ== simonw 9599 2021-07-08T17:34:16Z 2021-07-08T17:34:16Z OWNER

If I implement this I'll also set it up so ?_searchmode=default can be used to over-ride that and go back to the default behaviour.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
"searchmode": "raw" in table metadata 940077168  
876619271 https://github.com/simonw/datasette/issues/1389#issuecomment-876619271 https://api.github.com/repos/simonw/datasette/issues/1389 MDEyOklzc3VlQ29tbWVudDg3NjYxOTI3MQ== simonw 9599 2021-07-08T17:33:49Z 2021-07-08T17:33:49Z OWNER

Relevant code: https://github.com/simonw/datasette/blob/d23a2671386187f61872b9f6b58e0f80ac61f8fe/datasette/views/table.py#L491-L498

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
"searchmode": "raw" in table metadata 940077168  
876618847 https://github.com/simonw/datasette/issues/1389#issuecomment-876618847 https://api.github.com/repos/simonw/datasette/issues/1389 MDEyOklzc3VlQ29tbWVudDg3NjYxODg0Nw== simonw 9599 2021-07-08T17:33:08Z 2021-07-08T17:33:08Z OWNER

Relevant documentation: https://docs.datasette.io/en/0.57.1/full_text_search.html#advanced-sqlite-search-queries

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
"searchmode": "raw" in table metadata 940077168  
876618582 https://github.com/simonw/datasette/issues/1389#issuecomment-876618582 https://api.github.com/repos/simonw/datasette/issues/1389 MDEyOklzc3VlQ29tbWVudDg3NjYxODU4Mg== simonw 9599 2021-07-08T17:32:40Z 2021-07-08T17:32:40Z OWNER

This makes sense to me since other useful querystring arguments like this can be set as defaults in the metadata.json configuration.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
"searchmode": "raw" in table metadata 940077168  
876616414 https://github.com/simonw/datasette/issues/268#issuecomment-876616414 https://api.github.com/repos/simonw/datasette/issues/268 MDEyOklzc3VlQ29tbWVudDg3NjYxNjQxNA== simonw 9599 2021-07-08T17:29:04Z 2021-07-08T17:29:04Z OWNER

I had setup a full text search on my instance of Datasette for title data for our public library, and was noticing that some of the features of the SQLite FTS weren't working as expected ... and maybe the issue is in the escape_fts() function

That's a deliberate feature (albeit controversial, see #759) - part of the main problem here is that it's easy to construct a SQLite full-text search string which results in a database error. This is a bad user-experience!

You can opt-in to raw SQL queries by appending ?_searchmode=raw to the page, see https://docs.datasette.io/en/stable/full_text_search.html#advanced-sqlite-search-queries

But maybe there should be an option for turning that on by default without needing the query string?

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Mechanism for ranking results from SQLite full-text search 323718842  
876428348 https://github.com/simonw/datasette/issues/268#issuecomment-876428348 https://api.github.com/repos/simonw/datasette/issues/268 MDEyOklzc3VlQ29tbWVudDg3NjQyODM0OA== rayvoelker 9308268 2021-07-08T13:13:12Z 2021-07-08T13:13:12Z NONE

I had setup a full text search on my instance of Datasette for title data for our public library, and was noticing that some of the features of the SQLite FTS weren't working as expected ... and maybe the issue is in the escape_fts() function

vs removing the function...

Also, on the issue of sorting by rank by default .. perhaps something like this could work for the baked-in default SQL query for Datasette?

link to the above search in my instance of Datasette

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Mechanism for ranking results from SQLite full-text search 323718842  
876213177 https://github.com/simonw/datasette/issues/1388#issuecomment-876213177 https://api.github.com/repos/simonw/datasette/issues/1388 MDEyOklzc3VlQ29tbWVudDg3NjIxMzE3Nw== aslakr 80737 2021-07-08T07:47:17Z 2021-07-08T07:47:17Z CONTRIBUTOR

This sounds like a valuable feature for people running Datasette behind a proxy.

Yes, in some cases it is easer to use e.g. Apache's ProxyPass Directive with Unix Domain Socket like unix:/home/www.socket|http://localhost/whatever/.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Serve using UNIX domain socket 939051549  

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