issue_comments
8 rows where issue = 334190959
This data as json, CSV (advanced)
Suggested facets: user, author_association, 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 |
---|---|---|---|---|---|---|---|---|---|---|---|
398973176 | https://github.com/simonw/datasette/issues/321#issuecomment-398973176 | https://api.github.com/repos/simonw/datasette/issues/321 | MDEyOklzc3VlQ29tbWVudDM5ODk3MzE3Ng== | simonw 9599 | 2018-06-21T04:34:11Z | 2018-06-21T16:53:57Z | OWNER | This is a little bit fiddly, but it's possible to do it using SQLite string concatenation. Here's an example: ``` select * from facetable where neighborhood like "%" || :text || "%"; ``` Try it here: https://latest.datasette.io/fixtures-35b6eb6?sql=select+*+from+facetable+where+neighborhood+like+%22%25%22+%7C%7C+%3Atext+%7C%7C+%22%25%22%3B&text=town ![2018-06-20 at 9 33 pm](https://user-images.githubusercontent.com/9599/41698185-a52143f2-74d1-11e8-8d16-32bfc4542104.png) | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Wildcard support in query parameters 334190959 | |
398976488 | https://github.com/simonw/datasette/issues/321#issuecomment-398976488 | https://api.github.com/repos/simonw/datasette/issues/321 | MDEyOklzc3VlQ29tbWVudDM5ODk3NjQ4OA== | simonw 9599 | 2018-06-21T04:59:33Z | 2018-06-21T06:11:02Z | OWNER | I've added this to the unit tests and the documentation. Docs: http://datasette.readthedocs.io/en/latest/sql_queries.html#canned-queries Canned query demo: https://latest.datasette.io/fixtures/neighborhood_search?text=town New unit test: https://github.com/simonw/datasette/blob/3683a6b626b2e79f4dc9600d45853ca4ae8de11a/tests/test_api.py#L333-L344 https://github.com/simonw/datasette/blob/3683a6b626b2e79f4dc9600d45853ca4ae8de11a/tests/fixtures.py#L145-L153 | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Wildcard support in query parameters 334190959 | |
399098080 | https://github.com/simonw/datasette/issues/321#issuecomment-399098080 | https://api.github.com/repos/simonw/datasette/issues/321 | MDEyOklzc3VlQ29tbWVudDM5OTA5ODA4MA== | bsilverm 12617395 | 2018-06-21T13:10:48Z | 2018-06-21T13:10:48Z | NONE | Perfect, thank you!! | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Wildcard support in query parameters 334190959 | |
399106871 | https://github.com/simonw/datasette/issues/321#issuecomment-399106871 | https://api.github.com/repos/simonw/datasette/issues/321 | MDEyOklzc3VlQ29tbWVudDM5OTEwNjg3MQ== | bsilverm 12617395 | 2018-06-21T13:39:37Z | 2018-06-21T13:39:37Z | NONE | One thing I've noticed with this approach is that the query is executed with no parameters which I do not believe was the case previously. In the case the table contains a lot of data, this adds some time executing the query before the user can enter their input and run it with the parameters they want. | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Wildcard support in query parameters 334190959 | |
399126228 | https://github.com/simonw/datasette/issues/321#issuecomment-399126228 | https://api.github.com/repos/simonw/datasette/issues/321 | MDEyOklzc3VlQ29tbWVudDM5OTEyNjIyOA== | simonw 9599 | 2018-06-21T14:36:40Z | 2018-06-21T14:36:53Z | OWNER | This seems to fix that: ``` select neighborhood, facet_cities.name, state from facetable join facet_cities on facetable.city_id = facet_cities.id where :text != '' and neighborhood like '%' || :text || '%' order by neighborhood; ``` Compare this (with empty string): https://latest.datasette.io/fixtures-cafd088?sql=select+neighborhood%2C+facet_cities.name%2C+state%0D%0Afrom+facetable%0D%0A++++join+facet_cities+on+facetable.city_id+%3D+facet_cities.id%0D%0Awhere+%3Atext+%21%3D+%22%22+and+neighborhood+like+%27%25%27+%7C%7C+%3Atext+%7C%7C+%27%25%27%0D%0Aorder+by+neighborhood%3B To this: https://latest.datasette.io/fixtures-cafd088?sql=select+neighborhood%2C+facet_cities.name%2C+state%0D%0Afrom+facetable%0D%0A++++join+facet_cities+on+facetable.city_id+%3D+facet_cities.id%0D%0Awhere+%3Atext+%21%3D+%22%22+and+neighborhood+like+%27%25%27+%7C%7C+%3Atext+%7C%7C+%27%25%27%0D%0Aorder+by+neighborhood%3B&text=town | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Wildcard support in query parameters 334190959 | |
399129220 | https://github.com/simonw/datasette/issues/321#issuecomment-399129220 | https://api.github.com/repos/simonw/datasette/issues/321 | MDEyOklzc3VlQ29tbWVudDM5OTEyOTIyMA== | bsilverm 12617395 | 2018-06-21T14:45:02Z | 2018-06-21T14:45:02Z | NONE | Those queries look identical. How can this be prevented if the queries are in a metadata.json file? | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Wildcard support in query parameters 334190959 | |
399171239 | https://github.com/simonw/datasette/issues/321#issuecomment-399171239 | https://api.github.com/repos/simonw/datasette/issues/321 | MDEyOklzc3VlQ29tbWVudDM5OTE3MTIzOQ== | simonw 9599 | 2018-06-21T16:51:08Z | 2018-06-21T16:51:29Z | OWNER | I may have misunderstood your problem here. I understood that the problem is that when using the `"%" || :text || "%"` construct the first hit to that page (with an empty string for `:text`) results in a `where neighborhood like "%%"` query which is slow because it matches every row in the database. My fix was to add this to the where clause: where :text != '' and ... Which means that when you first load the page the where fails to match any rows and you get no results (and hopefully instant loading times assuming SQLite is smart enough to optimize this away). That's why you don't see any rows returned on this page: https://latest.datasette.io/fixtures-cafd088?sql=select+neighborhood%2C+facet_cities.name%2C+state%0D%0Afrom+facetable%0D%0A++++join+facet_cities+on+facetable.city_id+%3D+facet_cities.id%0D%0Awhere+%3Atext+%21%3D+%22%22+and+neighborhood+like+%27%25%27+%7C%7C+%3Atext+%7C%7C+%27%25%27%0D%0Aorder+by+neighborhood%3B | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Wildcard support in query parameters 334190959 | |
399173916 | https://github.com/simonw/datasette/issues/321#issuecomment-399173916 | https://api.github.com/repos/simonw/datasette/issues/321 | MDEyOklzc3VlQ29tbWVudDM5OTE3MzkxNg== | bsilverm 12617395 | 2018-06-21T17:00:10Z | 2018-06-21T17:00:10Z | NONE | Oh I see.. My issue is that the query executes with an empty string prior to the user submitting the parameters. I'll try adding your workaround to some of my queries. Thanks again, | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | Wildcard support in query parameters 334190959 |
Advanced export
JSON shape: default, array, newline-delimited, object
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]);