issue_comments
10,495 rows sorted by updated_at descending
This data as json, CSV (advanced)
issue >30
- Port Datasette to ASGI 42
- Authentication (and permissions) as a core concept 40
- await datasette.client.get(path) mechanism for executing internal requests 33
- Ability to sort (and paginate) by column 31
- link_or_copy_directory() error - Invalid cross-device link 28
- Export to CSV 27
- base_url configuration setting 27
- Documentation with recommendations on running Datasette in production without using Docker 27
- Ability for a canned query to write to the database 26
- table.transform() method for advanced alter table 26
- Proof of concept for Datasette on AWS Lambda with EFS 25
- Redesign register_output_renderer callback 24
- Datasette Plugins 22
- table.extract(...) method and "sqlite-utils extract" command 21
- Redesign default .json format 21
- "flash messages" mechanism 20
- Move CI to GitHub Issues 20
- load_template hook doesn't work for include/extends 20
- Handle spatialite geometry columns better 19
- ?sort=colname~numeric to sort by by column cast to real 19
- Better way of representing binary data in .csv output 19
- Introspect if table is FTS4 or FTS5 19
- Ability to ship alpha and beta releases 18
- Magic parameters for canned queries 18
- datasette.client internal requests mechanism 18
- Facets 16
- Support "allow" block on root, databases and tables, not just queries 16
- Database page loads too slowly with many large tables (due to table counts) 16
- Action menu for table columns 16
- Bug: Sort by column with NULL in next_page URL 15
- …
id | html_url | issue_url | node_id | user | created_at | updated_at ▲ | author_association | body | reactions | issue | performed_via_github_app |
---|---|---|---|---|---|---|---|---|---|---|---|
743966801 | https://github.com/simonw/sqlite-utils/issues/207#issuecomment-743966801 | https://api.github.com/repos/simonw/sqlite-utils/issues/207 | MDEyOklzc3VlQ29tbWVudDc0Mzk2NjgwMQ== | simonw 9599 | 2020-12-13T07:25:23Z | 2020-12-13T07:25:23Z | OWNER | CLI documentation: https://sqlite-utils.readthedocs.io/en/latest/cli.html#analyzing-tables Python library documentation: https://sqlite-utils.readthedocs.io/en/latest/python-api.html#analyzing-a-column |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
sqlite-utils analyze-tables command 763283616 | |
743966289 | https://github.com/simonw/sqlite-utils/pull/203#issuecomment-743966289 | https://api.github.com/repos/simonw/sqlite-utils/issues/203 | MDEyOklzc3VlQ29tbWVudDc0Mzk2NjI4OQ== | simonw 9599 | 2020-12-13T07:20:51Z | 2020-12-13T07:20:51Z | OWNER | Sorry for not reviewing this yet! I'll try to carve out time to look at it in the next few days. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
changes to allow for compound foreign keys 743384829 | |
743956666 | https://github.com/simonw/sqlite-utils/pull/208#issuecomment-743956666 | https://api.github.com/repos/simonw/sqlite-utils/issues/208 | MDEyOklzc3VlQ29tbWVudDc0Mzk1NjY2Ng== | simonw 9599 | 2020-12-13T05:44:49Z | 2020-12-13T05:44:49Z | OWNER | Example output:
```
% sqlite-utils analyze-tables github.db tags Total rows: 261 Null rows: 0 Blank rows: 0 Distinct values: 14 Most common: 88: 107914493 75: 140912432 27: 206156866 21: 207052882 17: 197431109 8: 197882382 5: 256834907 5: 205429375 4: 248903544 3: 206202864 Least common: 1: 209590345 2: 206649770 2: 303218369 3: 206202864 3: 213286752 4: 248903544 5: 205429375 5: 256834907 8: 197882382 17: 197431109 tags.name: (2/3) Total rows: 261 Null rows: 0 Blank rows: 0 Distinct values: 175 Most common: 10: 0.2 9: 0.1 7: 0.3 6: 0.4 5: 0.7 5: 0.5 5: 0.1a 4: 0.9 4: 0.8 4: 0.6 Least common: 1: 0.1.1 1: 0.11.1 1: 0.1a2 1: 0.20.1 1: 0.21.1 1: 0.21.2 1: 0.21.3 1: 0.22 1: 0.22.1 1: 0.23 tags.sha: (3/3) Total rows: 261 Null rows: 0 Blank rows: 0 Distinct values: 261 ``` |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
sqlite-utils analyze-tables command and table.analyze_column() method 763320133 | |
743913004 | https://github.com/simonw/datasette/issues/1142#issuecomment-743913004 | https://api.github.com/repos/simonw/datasette/issues/1142 | MDEyOklzc3VlQ29tbWVudDc0MzkxMzAwNA== | simonw 9599 | 2020-12-12T22:17:46Z | 2020-12-12T22:17:46Z | OWNER | You're actually choosing between two options here: the 100 rows you can see on the screen, or the x,000 rows that match the current query. Maybe a radio box would be more obvious? |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
"Stream all rows" is not at all obvious 763361458 | |
743912875 | https://github.com/simonw/datasette/issues/1142#issuecomment-743912875 | https://api.github.com/repos/simonw/datasette/issues/1142 | MDEyOklzc3VlQ29tbWVudDc0MzkxMjg3NQ== | simonw 9599 | 2020-12-12T22:16:38Z | 2020-12-12T22:16:38Z | OWNER | Yeah, maybe with the number of rows to make it completely clear. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
"Stream all rows" is not at all obvious 763361458 | |
743732440 | https://github.com/simonw/datasette/issues/1142#issuecomment-743732440 | https://api.github.com/repos/simonw/datasette/issues/1142 | MDEyOklzc3VlQ29tbWVudDc0MzczMjQ0MA== | nitinpaultifr 6622733 | 2020-12-12T09:56:40Z | 2020-12-12T09:56:40Z | NONE | 'Include all rows' seem like a fairly obvious alternative |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
"Stream all rows" is not at all obvious 763361458 | |
743708524 | https://github.com/simonw/sqlite-utils/pull/208#issuecomment-743708524 | https://api.github.com/repos/simonw/sqlite-utils/issues/208 | MDEyOklzc3VlQ29tbWVudDc0MzcwODUyNA== | simonw 9599 | 2020-12-12T05:48:20Z | 2020-12-12T05:48:32Z | OWNER |
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
sqlite-utils analyze-tables command and table.analyze_column() method 763320133 | |
743708325 | https://github.com/simonw/sqlite-utils/pull/208#issuecomment-743708325 | https://api.github.com/repos/simonw/sqlite-utils/issues/208 | MDEyOklzc3VlQ29tbWVudDc0MzcwODMyNQ== | simonw 9599 | 2020-12-12T05:46:27Z | 2020-12-12T05:46:27Z | OWNER | It would be neat if you could optionally specify a subset of columns to analyze, using |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
sqlite-utils analyze-tables command and table.analyze_column() method 763320133 | |
743708169 | https://github.com/simonw/sqlite-utils/pull/208#issuecomment-743708169 | https://api.github.com/repos/simonw/sqlite-utils/issues/208 | MDEyOklzc3VlQ29tbWVudDc0MzcwODE2OQ== | simonw 9599 | 2020-12-12T05:44:46Z | 2020-12-12T05:44:46Z | OWNER | If there are less than ten values is it worth outputting them twice, once in |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
sqlite-utils analyze-tables command and table.analyze_column() method 763320133 | |
743708080 | https://github.com/simonw/sqlite-utils/pull/208#issuecomment-743708080 | https://api.github.com/repos/simonw/sqlite-utils/issues/208 | MDEyOklzc3VlQ29tbWVudDc0MzcwODA4MA== | simonw 9599 | 2020-12-12T05:43:45Z | 2020-12-12T05:43:45Z | OWNER | CLI output looks like this at the moment, which is bad:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
sqlite-utils analyze-tables command and table.analyze_column() method 763320133 | |
743707969 | https://github.com/simonw/sqlite-utils/pull/208#issuecomment-743707969 | https://api.github.com/repos/simonw/sqlite-utils/issues/208 | MDEyOklzc3VlQ29tbWVudDc0MzcwNzk2OQ== | simonw 9599 | 2020-12-12T05:42:26Z | 2020-12-12T05:43:06Z | OWNER | Should truncate values in the least/most common JSON array to a sensible length, otherwise you end up with stuff like this:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
sqlite-utils analyze-tables command and table.analyze_column() method 763320133 | |
743701697 | https://github.com/simonw/sqlite-utils/issues/207#issuecomment-743701697 | https://api.github.com/repos/simonw/sqlite-utils/issues/207 | MDEyOklzc3VlQ29tbWVudDc0MzcwMTY5Nw== | simonw 9599 | 2020-12-12T04:39:51Z | 2020-12-12T04:39:51Z | OWNER | CLI could be:
To analyze all tables or:
To analyze specific tables. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
sqlite-utils analyze-tables command 763283616 | |
743701599 | https://github.com/simonw/sqlite-utils/issues/207#issuecomment-743701599 | https://api.github.com/repos/simonw/sqlite-utils/issues/207 | MDEyOklzc3VlQ29tbWVudDc0MzcwMTU5OQ== | simonw 9599 | 2020-12-12T04:38:52Z | 2020-12-12T04:39:07Z | OWNER | I'll add a |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
sqlite-utils analyze-tables command 763283616 | |
743701422 | https://github.com/simonw/sqlite-utils/issues/207#issuecomment-743701422 | https://api.github.com/repos/simonw/sqlite-utils/issues/207 | MDEyOklzc3VlQ29tbWVudDc0MzcwMTQyMg== | simonw 9599 | 2020-12-12T04:37:14Z | 2020-12-12T04:38:25Z | OWNER | Prototype: ```python from collections import namedtuple ColumnDetails = namedtuple("ColumnDetails", ("column", "num_null", "num_blank", "num_distinct", "most_common", "least_common")) def analyze_column(db, table, column, values=10): num_null = db.execute("select count() from [{}] where [{}] is null".format(table, column)).fetchone()[0] num_blank = db.execute("select count() from [{}] where [{}] = ''".format(table, column)).fetchone()[0] num_distinct = db.execute("select count(distinct [{}]) from [{}]".format(column, table)).fetchone()[0] most_common = None least_common = None if num_distinct != 1: most_common = [(r[0], r[1]) for r in db.execute( "select [{}], count() from [{}] group by [{}] order by count() desc limit ".format(column, table, column, values) ).fetchall()] if num_distinct <= values: # No need to run the query if it will just return the results in revers order least_common = most_common[::-1] else: least_common = [(r[0], r[1]) for r in db.execute( "select [{}], count() from [{}] group by [{}] order by count() limit {}".format(column, table, column, values) ).fetchall()] return ColumnDetails(column, num_null, num_blank, num_distinct, most_common, least_common) def analyze_table(db, table): for column in db[table].columns: details = analyze_column(db, table, column.name) print(details) ``` |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
sqlite-utils analyze-tables command 763283616 | |
743080047 | https://github.com/simonw/datasette/issues/998#issuecomment-743080047 | https://api.github.com/repos/simonw/datasette/issues/998 | MDEyOklzc3VlQ29tbWVudDc0MzA4MDA0Nw== | JBPressac 6371750 | 2020-12-11T09:25:09Z | 2020-12-11T09:25:09Z | CONTRIBUTOR | Hello Simon, I have a similar problem with horizontal scrollbar display with Datasette version 0.51 and superior for a table with more than 30 rows. With Datasette 0.50, the horizontal scrollbar is displayed, if I upgrade Datasette to 0.51 and superior, the horizontal scrollbar disappears. Datasette 0.50: horizontal scrollbar Datasette 0.51 and superior: no horizontal scrollbar Thanks, |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Wide tables should scroll horizontally within the page 717699884 | |
742737794 | https://github.com/simonw/sqlite-utils/issues/205#issuecomment-742737794 | https://api.github.com/repos/simonw/sqlite-utils/issues/205 | MDEyOklzc3VlQ29tbWVudDc0MjczNzc5NA== | simonw 9599 | 2020-12-10T19:18:22Z | 2020-12-10T19:18:22Z | OWNER | Yup, it looks like you're using a window function that was added in SQLite 3.25.0: https://www.sqlite.org/changes.html#version_3_25_0 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
sqlite3.OperationalError: near "(": syntax error 760960559 | |
742299584 | https://github.com/simonw/sqlite-utils/issues/205#issuecomment-742299584 | https://api.github.com/repos/simonw/sqlite-utils/issues/205 | MDEyOklzc3VlQ29tbWVudDc0MjI5OTU4NA== | kaihendry 765871 | 2020-12-10T07:24:22Z | 2020-12-10T07:24:22Z | NONE | Bumping to ubuntu-20.04 appears to have solved my syntax error. 🤷 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
sqlite3.OperationalError: near "(": syntax error 760960559 | |
742260116 | https://github.com/simonw/datasette/issues/1134#issuecomment-742260116 | https://api.github.com/repos/simonw/datasette/issues/1134 | MDEyOklzc3VlQ29tbWVudDc0MjI2MDExNg== | clausjuhl 2181410 | 2020-12-10T05:57:17Z | 2020-12-10T05:57:17Z | NONE | Hi Simon Thank you for the quick fix! And glad you like our use of Datasette (launches 1. january 2021). It's a site that currently (more to come) makes all minutes and their annexes from Aarhus City Council and the major committees (1997-2019) available to the public. So we're putting Datasette to good use :) |
{ "total_count": 2, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 2, "rocket": 0, "eyes": 0 } |
"_searchmode=raw" throws an index out of range error when combined with "_search_COLUMN" 760312579 | |
741992106 | https://github.com/simonw/datasette/issues/1091#issuecomment-741992106 | https://api.github.com/repos/simonw/datasette/issues/1091 | MDEyOklzc3VlQ29tbWVudDc0MTk5MjEwNg== | simonw 9599 | 2020-12-09T19:19:54Z | 2020-12-09T20:27:45Z | OWNER | Could you try removing the My hunch is that Normally you would need |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
.json and .csv exports fail to apply base_url 742011049 | |
742024588 | https://github.com/simonw/datasette/issues/1134#issuecomment-742024588 | https://api.github.com/repos/simonw/datasette/issues/1134 | MDEyOklzc3VlQ29tbWVudDc0MjAyNDU4OA== | simonw 9599 | 2020-12-09T20:19:59Z | 2020-12-09T20:20:33Z | OWNER | https://byraadsarkivet.aarhus.dk/db/cases?_searchmode=raw&_search=sundhedsfrem%2A is an absolutely beautiful example of a themed Datasette! Very excited to show this to people. |
{ "total_count": 1, "+1": 0, "-1": 0, "laugh": 0, "hooray": 1, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
"_searchmode=raw" throws an index out of range error when combined with "_search_COLUMN" 760312579 | |
742023775 | https://github.com/simonw/datasette/issues/1134#issuecomment-742023775 | https://api.github.com/repos/simonw/datasette/issues/1134 | MDEyOklzc3VlQ29tbWVudDc0MjAyMzc3NQ== | simonw 9599 | 2020-12-09T20:18:23Z | 2020-12-09T20:18:23Z | OWNER | A fix for this should be available if you upgrade to 0.52.5 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
"_searchmode=raw" throws an index out of range error when combined with "_search_COLUMN" 760312579 | |
742023541 | https://github.com/simonw/datasette/issues/1091#issuecomment-742023541 | https://api.github.com/repos/simonw/datasette/issues/1091 | MDEyOklzc3VlQ29tbWVudDc0MjAyMzU0MQ== | simonw 9599 | 2020-12-09T20:17:54Z | 2020-12-09T20:17:54Z | OWNER | OK that is really weird. I'll have another go at replicating this locally. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
.json and .csv exports fail to apply base_url 742011049 | |
742023111 | https://github.com/simonw/datasette/issues/1136#issuecomment-742023111 | https://api.github.com/repos/simonw/datasette/issues/1136 | MDEyOklzc3VlQ29tbWVudDc0MjAyMzExMQ== | simonw 9599 | 2020-12-09T20:17:02Z | 2020-12-09T20:17:02Z | OWNER | Documentation for this procedure is now here: https://docs.datasette.io/en/latest/contributing.html#releasing-bug-fixes-from-a-branch |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Establish pattern for release branches to support bug fixes 760621356 | |
742022222 | https://github.com/simonw/datasette/issues/1136#issuecomment-742022222 | https://api.github.com/repos/simonw/datasette/issues/1136 | MDEyOklzc3VlQ29tbWVudDc0MjAyMjIyMg== | simonw 9599 | 2020-12-09T20:15:24Z | 2020-12-09T20:15:51Z | OWNER | Used this procedure for the first time for 0.52.5 - deploy run here: https://github.com/simonw/datasette/actions/runs/411465648 - PyPI release here: https://pypi.org/project/datasette/0.52.5/ |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Establish pattern for release branches to support bug fixes 760621356 | |
742017622 | https://github.com/simonw/datasette/issues/1136#issuecomment-742017622 | https://api.github.com/repos/simonw/datasette/issues/1136 | MDEyOklzc3VlQ29tbWVudDc0MjAxNzYyMg== | simonw 9599 | 2020-12-09T20:06:47Z | 2020-12-09T20:06:47Z | OWNER | Then I can ship the release directly from that branch, creating the tag as part of the release process: |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Establish pattern for release branches to support bug fixes 760621356 | |
742014881 | https://github.com/simonw/datasette/issues/1136#issuecomment-742014881 | https://api.github.com/repos/simonw/datasette/issues/1136 | MDEyOklzc3VlQ29tbWVudDc0MjAxNDg4MQ== | simonw 9599 | 2020-12-09T20:01:27Z | 2020-12-09T20:01:27Z | OWNER | I'll write the release notes in the branch, then cherry-pick them over to |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Establish pattern for release branches to support bug fixes 760621356 | |
742014366 | https://github.com/simonw/datasette/issues/1136#issuecomment-742014366 | https://api.github.com/repos/simonw/datasette/issues/1136 | MDEyOklzc3VlQ29tbWVudDc0MjAxNDM2Ng== | simonw 9599 | 2020-12-09T20:00:35Z | 2020-12-09T20:00:35Z | OWNER | Actually I'll start from 0.52.4 and then cherry-pick the fixes.
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Establish pattern for release branches to support bug fixes 760621356 | |
742010306 | https://github.com/simonw/datasette/issues/1091#issuecomment-742010306 | https://api.github.com/repos/simonw/datasette/issues/1091 | MDEyOklzc3VlQ29tbWVudDc0MjAxMDMwNg== | tballison 6739646 | 2020-12-09T19:53:18Z | 2020-12-09T19:59:52Z | NONE | I can't imagine this helps (esp. given your point about potential rewrites), but you can see that /datasette/ was correctly added to the sql form, but not to the "export-links" |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
.json and .csv exports fail to apply base_url 742011049 | |
742012324 | https://github.com/simonw/datasette/issues/1134#issuecomment-742012324 | https://api.github.com/repos/simonw/datasette/issues/1134 | MDEyOklzc3VlQ29tbWVudDc0MjAxMjMyNA== | simonw 9599 | 2020-12-09T19:57:05Z | 2020-12-09T19:57:05Z | OWNER | Thanks for the bug report! |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
"_searchmode=raw" throws an index out of range error when combined with "_search_COLUMN" 760312579 | |
742009294 | https://github.com/simonw/datasette/issues/1136#issuecomment-742009294 | https://api.github.com/repos/simonw/datasette/issues/1136 | MDEyOklzc3VlQ29tbWVudDc0MjAwOTI5NA== | simonw 9599 | 2020-12-09T19:51:18Z | 2020-12-09T19:51:18Z | OWNER | Likewise, Read The Docs publishes as stable the docs from the latest tagged release, so I would expect that to work fine as well. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Establish pattern for release branches to support bug fixes 760621356 | |
742009101 | https://github.com/simonw/datasette/issues/1136#issuecomment-742009101 | https://api.github.com/repos/simonw/datasette/issues/1136 | MDEyOklzc3VlQ29tbWVudDc0MjAwOTEwMQ== | simonw 9599 | 2020-12-09T19:50:53Z | 2020-12-09T19:50:53Z | OWNER | My concern is if this will break anything about CI. I don't think it will - the code that deploys the latest |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Establish pattern for release branches to support bug fixes 760621356 | |
742008087 | https://github.com/simonw/datasette/issues/1136#issuecomment-742008087 | https://api.github.com/repos/simonw/datasette/issues/1136 | MDEyOklzc3VlQ29tbWVudDc0MjAwODA4Nw== | simonw 9599 | 2020-12-09T19:48:56Z | 2020-12-09T19:48:56Z | OWNER | I think I'm going to create a branch called |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Establish pattern for release branches to support bug fixes 760621356 | |
742001510 | https://github.com/simonw/datasette/issues/1091#issuecomment-742001510 | https://api.github.com/repos/simonw/datasette/issues/1091 | MDEyOklzc3VlQ29tbWVudDc0MjAwMTUxMA== | tballison 6739646 | 2020-12-09T19:36:42Z | 2020-12-09T19:38:04Z | NONE | I don't think this fixes it:
And I confirmed that I actually restarted the server. :rofl: |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
.json and .csv exports fail to apply base_url 742011049 | |
741804334 | https://github.com/simonw/datasette/issues/1091#issuecomment-741804334 | https://api.github.com/repos/simonw/datasette/issues/1091 | MDEyOklzc3VlQ29tbWVudDc0MTgwNDMzNA== | tballison 6739646 | 2020-12-09T14:26:05Z | 2020-12-09T14:26:05Z | NONE | Anything we can do to help debug this? Thank you, again! |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
.json and .csv exports fail to apply base_url 742011049 | |
741665253 | https://github.com/simonw/datasette/issues/766#issuecomment-741665253 | https://api.github.com/repos/simonw/datasette/issues/766 | MDEyOklzc3VlQ29tbWVudDc0MTY2NTI1Mw== | clausjuhl 2181410 | 2020-12-09T09:59:05Z | 2020-12-09T09:59:05Z | NONE | Hi Simon. Any news on using wildcard-searches with datasette? Thanks! |
{ "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Enable wildcard-searches by default 617323873 | |
740850920 | https://github.com/simonw/datasette/issues/1133#issuecomment-740850920 | https://api.github.com/repos/simonw/datasette/issues/1133 | MDEyOklzc3VlQ29tbWVudDc0MDg1MDkyMA== | simonw 9599 | 2020-12-08T18:55:59Z | 2020-12-08T18:55:59Z | OWNER | Inspiration was this script: https://gist.github.com/simonw/f6e3cd29fde5d15ea9cd746c942046ba - which pipes output through |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Option to omit header row in CSV export 759695780 | |
740850057 | https://github.com/simonw/datasette/issues/1133#issuecomment-740850057 | https://api.github.com/repos/simonw/datasette/issues/1133 | MDEyOklzc3VlQ29tbWVudDc0MDg1MDA1Nw== | simonw 9599 | 2020-12-08T18:55:29Z | 2020-12-08T18:55:29Z | OWNER | Can work on this as part of #1062. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Option to omit header row in CSV export 759695780 | |
740796067 | https://github.com/simonw/sqlite-utils/pull/204#issuecomment-740796067 | https://api.github.com/repos/simonw/sqlite-utils/issues/204 | MDEyOklzc3VlQ29tbWVudDc0MDc5NjA2Nw== | simonw 9599 | 2020-12-08T17:49:22Z | 2020-12-08T17:49:22Z | OWNER | Great catch, thank you. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
use jsonify_if_need for sql updates 752888228 | |
740385032 | https://github.com/simonw/datasette/issues/815#issuecomment-740385032 | https://api.github.com/repos/simonw/datasette/issues/815 | MDEyOklzc3VlQ29tbWVudDc0MDM4NTAzMg== | simonw 9599 | 2020-12-08T05:26:09Z | 2020-12-08T05:26:16Z | OWNER | Sure! It's a bit of a fiddle one - I've not found an approach that I like, but I also haven't thought about it since June. I'd love to see what you come up with! |
{ "total_count": 1, "+1": 0, "-1": 0, "laugh": 1, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Group permission checks by request on /-/permissions debug page 634663505 | |
740383884 | https://github.com/simonw/datasette/issues/815#issuecomment-740383884 | https://api.github.com/repos/simonw/datasette/issues/815 | MDEyOklzc3VlQ29tbWVudDc0MDM4Mzg4NA== | sturzl 11761973 | 2020-12-08T05:23:18Z | 2020-12-08T05:23:18Z | NONE | hey! I'd like to take a look at this if you're open to a PR for it |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Group permission checks by request on /-/permissions debug page 634663505 | |
740228858 | https://github.com/simonw/datasette/issues/1132#issuecomment-740228858 | https://api.github.com/repos/simonw/datasette/issues/1132 | MDEyOklzc3VlQ29tbWVudDc0MDIyODg1OA== | simonw 9599 | 2020-12-07T22:50:36Z | 2020-12-07T22:50:36Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
New filter: array does not contain 758899581 | ||
739414118 | https://github.com/simonw/datasette/issues/1131#issuecomment-739414118 | https://api.github.com/repos/simonw/datasette/issues/1131 | MDEyOklzc3VlQ29tbWVudDczOTQxNDExOA== | simonw 9599 | 2020-12-05T20:48:33Z | 2020-12-05T20:48:33Z | OWNER | Oddly enough, I tried fixing this with |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
"datasette inspect" outputs invalid JSON if an error is logged 757481949 | |
739357330 | https://github.com/simonw/datasette/issues/398#issuecomment-739357330 | https://api.github.com/repos/simonw/datasette/issues/398 | MDEyOklzc3VlQ29tbWVudDczOTM1NzMzMA== | simonw 9599 | 2020-12-05T19:36:27Z | 2020-12-05T19:36:27Z | OWNER | This was fixed in #749 by 88ac538b41a4753c3de9b509c3a0e13077f66182 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Ensure downloading a 100+MB SQLite database file works 398011658 | |
739355855 | https://github.com/simonw/datasette/pull/1128#issuecomment-739355855 | https://api.github.com/repos/simonw/datasette/issues/1128 | MDEyOklzc3VlQ29tbWVudDczOTM1NTg1NQ== | simonw 9599 | 2020-12-05T19:34:57Z | 2020-12-05T19:34:57Z | OWNER | Thanks for this! |
{ "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Fix startup error on windows 756867924 | |
739083673 | https://github.com/simonw/datasette/issues/1131#issuecomment-739083673 | https://api.github.com/repos/simonw/datasette/issues/1131 | MDEyOklzc3VlQ29tbWVudDczOTA4MzY3Mw== | simonw 9599 | 2020-12-05T00:02:10Z | 2020-12-05T00:02:10Z | OWNER | https://clig.dev/#the-basics
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
"datasette inspect" outputs invalid JSON if an error is logged 757481949 | |
739083472 | https://github.com/simonw/datasette/issues/1131#issuecomment-739083472 | https://api.github.com/repos/simonw/datasette/issues/1131 | MDEyOklzc3VlQ29tbWVudDczOTA4MzQ3Mg== | simonw 9599 | 2020-12-05T00:01:12Z | 2020-12-05T00:01:12Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
"datasette inspect" outputs invalid JSON if an error is logged 757481949 | ||
739058820 | https://github.com/dogsheep/dogsheep-photos/pull/29#issuecomment-739058820 | https://api.github.com/repos/dogsheep/dogsheep-photos/issues/29 | MDEyOklzc3VlQ29tbWVudDczOTA1ODgyMA== | simonw 9599 | 2020-12-04T22:32:35Z | 2020-12-04T22:32:35Z | MEMBER | Thanks for this! |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Fixed bug in SQL query for photo scores 638375985 | |
738907852 | https://github.com/simonw/datasette/pull/1130#issuecomment-738907852 | https://api.github.com/repos/simonw/datasette/issues/1130 | MDEyOklzc3VlQ29tbWVudDczODkwNzg1Mg== | abdusco 3243482 | 2020-12-04T17:22:29Z | 2020-12-04T17:31:25Z | CONTRIBUTOR | EDIT: I misunderstood the problem. This seems like a fix better suited for Safari. But I don't have any Apple device to test it.
It's actually not that difficult to fix. Well, this is actually a workaround to keep viewport in place. I usually put a transition (forgot to do it here) that keeps page from resizing.
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Fix footer not sticking to bottom in short pages 756876238 | |
738905376 | https://github.com/simonw/datasette/issues/188#issuecomment-738905376 | https://api.github.com/repos/simonw/datasette/issues/188 | MDEyOklzc3VlQ29tbWVudDczODkwNTM3Ng== | simonw 9599 | 2020-12-04T17:18:34Z | 2020-12-04T17:18:34Z | OWNER | This is likely to be covered by plugin hooks: #860 for the metadata and after investigating in #1042 it looks like the existing |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Ability to bundle metadata and templates inside the SQLite file 309047460 | |
738904347 | https://github.com/simonw/datasette/issues/111#issuecomment-738904347 | https://api.github.com/repos/simonw/datasette/issues/111 | MDEyOklzc3VlQ29tbWVudDczODkwNDM0Nw== | simonw 9599 | 2020-12-04T17:16:56Z | 2020-12-04T17:16:56Z | OWNER | This is STILL a good idea. |
{ "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add “updated” to metadata 274615452 | |
738897582 | https://github.com/simonw/datasette/pull/1130#issuecomment-738897582 | https://api.github.com/repos/simonw/datasette/issues/1130 | MDEyOklzc3VlQ29tbWVudDczODg5NzU4Mg== | simonw 9599 | 2020-12-04T17:03:30Z | 2020-12-04T17:03:30Z | OWNER | I deployed this to https://datasette-issue-1129.vercel.app/ (using I've seen other problems with fixed footers on Mobile Safari too: at Eventbrite this was a really nasty problem for us to figure out: https://www.eventbrite.com/engineering/mobile-safari-why/ |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Fix footer not sticking to bottom in short pages 756876238 | |
738620153 | https://github.com/simonw/datasette/pull/1130#issuecomment-738620153 | https://api.github.com/repos/simonw/datasette/issues/1130 | MDEyOklzc3VlQ29tbWVudDczODYyMDE1Mw== | codecov[bot] 22429695 | 2020-12-04T07:34:48Z | 2020-12-04T07:34:48Z | NONE | Codecov Report
```diff @@ Coverage Diff @@ main #1130 +/-=======================================
Coverage 91.42% 91.42% Continue to review full report at Codecov.
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Fix footer not sticking to bottom in short pages 756876238 | |
738613497 | https://github.com/simonw/datasette/pull/1128#issuecomment-738613497 | https://api.github.com/repos/simonw/datasette/issues/1128 | MDEyOklzc3VlQ29tbWVudDczODYxMzQ5Nw== | codecov[bot] 22429695 | 2020-12-04T07:17:12Z | 2020-12-04T07:17:12Z | NONE | Codecov Report
```diff @@ Coverage Diff @@ main #1128 +/-==========================================
- Coverage 91.42% 91.42% -0.01% | Impacted Files | Coverage Δ | |
|---|---|---|
| datasette/utils/asgi.py | Continue to review full report at Codecov.
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Fix startup error on windows 756867924 | |
738554392 | https://github.com/simonw/datasette/issues/1125#issuecomment-738554392 | https://api.github.com/repos/simonw/datasette/issues/1125 | MDEyOklzc3VlQ29tbWVudDczODU1NDM5Mg== | simonw 9599 | 2020-12-04T04:16:57Z | 2020-12-04T04:16:57Z | OWNER | https://latest.datasette.io/-/versions now shows this:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Show pysqlite3 version on /-/versions 756622648 | |
738551280 | https://github.com/simonw/datasette/issues/1125#issuecomment-738551280 | https://api.github.com/repos/simonw/datasette/issues/1125 | MDEyOklzc3VlQ29tbWVudDczODU1MTI4MA== | simonw 9599 | 2020-12-04T04:03:54Z | 2020-12-04T04:03:54Z | OWNER | I'm going to check |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Show pysqlite3 version on /-/versions 756622648 | |
738550588 | https://github.com/simonw/datasette/issues/1125#issuecomment-738550588 | https://api.github.com/repos/simonw/datasette/issues/1125 | MDEyOklzc3VlQ29tbWVudDczODU1MDU4OA== | simonw 9599 | 2020-12-04T04:01:10Z | 2020-12-04T04:01:10Z | OWNER | Urgh, figuring out the version of |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Show pysqlite3 version on /-/versions 756622648 | |
738548693 | https://github.com/simonw/datasette/issues/1125#issuecomment-738548693 | https://api.github.com/repos/simonw/datasette/issues/1125 | MDEyOklzc3VlQ29tbWVudDczODU0ODY5Mw== | simonw 9599 | 2020-12-04T03:52:51Z | 2020-12-04T03:52:51Z | OWNER | That didn't work - https://latest.datasette.io/-/versions isn't showing the package. I bet that's because I'm actually installing |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Show pysqlite3 version on /-/versions 756622648 | |
738548393 | https://github.com/simonw/datasette/issues/1126#issuecomment-738548393 | https://api.github.com/repos/simonw/datasette/issues/1126 | MDEyOklzc3VlQ29tbWVudDczODU0ODM5Mw== | simonw 9599 | 2020-12-04T03:51:38Z | 2020-12-04T03:51:38Z | OWNER | That worked. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Switch to google-github-actions/setup-gcloud for demo deploy 756761963 | |
738347171 | https://github.com/simonw/datasette/issues/1125#issuecomment-738347171 | https://api.github.com/repos/simonw/datasette/issues/1125 | MDEyOklzc3VlQ29tbWVudDczODM0NzE3MQ== | simonw 9599 | 2020-12-03T22:04:52Z | 2020-12-03T22:04:52Z | OWNER |
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Show pysqlite3 version on /-/versions 756622648 | |
738215686 | https://github.com/simonw/datasette/issues/1124#issuecomment-738215686 | https://api.github.com/repos/simonw/datasette/issues/1124 | MDEyOklzc3VlQ29tbWVudDczODIxNTY4Ng== | simonw 9599 | 2020-12-03T18:50:48Z | 2020-12-03T21:42:02Z | OWNER | I'm going to punt on writing a unit test for this (not sure how I'd simulate those symlinks) - I'll manually test it and push out a dot release instead. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Datasette on Amazon Linux on ARM returns 404 for static assets 756439516 | |
738215487 | https://github.com/simonw/datasette/issues/1124#issuecomment-738215487 | https://api.github.com/repos/simonw/datasette/issues/1124 | MDEyOklzc3VlQ29tbWVudDczODIxNTQ4Nw== | simonw 9599 | 2020-12-03T18:50:26Z | 2020-12-03T21:41:25Z | OWNER | This fix works - calling |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Datasette on Amazon Linux on ARM returns 404 for static assets 756439516 | |
738213342 | https://github.com/simonw/datasette/issues/1124#issuecomment-738213342 | https://api.github.com/repos/simonw/datasette/issues/1124 | MDEyOklzc3VlQ29tbWVudDczODIxMzM0Mg== | simonw 9599 | 2020-12-03T18:46:22Z | 2020-12-03T21:40:51Z | OWNER | I replaced that function with this code: ```python def asgi_static(root_path, chunk_size=4096, headers=None, content_type=None): async def inner_static(request, send): path = request.scope["url_route"]["kwargs"]["path"] print("path =", path) try: full_path = (Path(root_path) / path).resolve().absolute() except FileNotFoundError as e: print("FileNotFoundError:", e) await asgi_send_html(send, "404", 404) return if full_path.is_dir(): await asgi_send_html(send, "403: Directory listing is not allowed", 403) return # Ensure full_path is within root_path to avoid weird "../" tricks try: print("full_path={}, root_path={}".format(full_path, root_path)) full_path.relative_to(root_path) except ValueError as e: print(" ValueError:", e) await asgi_send_html(send, "404", 404) return try: await asgi_send_file(send, full_path, chunk_size=chunk_size) except FileNotFoundError: await asgi_send_html(send, "404", 404) return
The output shows me what the bug is:
One is |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Datasette on Amazon Linux on ARM returns 404 for static assets 756439516 | |
738313399 | https://github.com/simonw/datasette/issues/1124#issuecomment-738313399 | https://api.github.com/repos/simonw/datasette/issues/1124 | MDEyOklzc3VlQ29tbWVudDczODMxMzM5OQ== | simonw 9599 | 2020-12-03T21:10:54Z | 2020-12-03T21:10:54Z | OWNER | Confirmed that installing a fresh copy of Datasette 0.52.3 on that server works correctly as expected. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Datasette on Amazon Linux on ARM returns 404 for static assets 756439516 | |
738224865 | https://github.com/simonw/datasette/issues/1124#issuecomment-738224865 | https://api.github.com/repos/simonw/datasette/issues/1124 | MDEyOklzc3VlQ29tbWVudDczODIyNDg2NQ== | simonw 9599 | 2020-12-03T19:01:52Z | 2020-12-03T19:01:52Z | OWNER | https://github.com/simonw/datasette/runs/1494631261
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Datasette on Amazon Linux on ARM returns 404 for static assets 756439516 | |
738220067 | https://github.com/simonw/datasette/issues/1124#issuecomment-738220067 | https://api.github.com/repos/simonw/datasette/issues/1124 | MDEyOklzc3VlQ29tbWVudDczODIyMDA2Nw== | simonw 9599 | 2020-12-03T18:58:17Z | 2020-12-03T18:58:17Z | OWNER | I tested this by running:
To replace that version of Datasette (in the correct virtual environment) with this patch. It worked!
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Datasette on Amazon Linux on ARM returns 404 for static assets 756439516 | |
738211776 | https://github.com/simonw/datasette/issues/1124#issuecomment-738211776 | https://api.github.com/repos/simonw/datasette/issues/1124 | MDEyOklzc3VlQ29tbWVudDczODIxMTc3Ng== | simonw 9599 | 2020-12-03T18:43:21Z | 2020-12-03T18:43:21Z | OWNER | I'm suspicious of this code here:https://github.com/simonw/datasette/blob/e048791a9a2686f47d81a2c8aa88aa1966d82521/datasette/utils/asgi.py#L284-L307 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Datasette on Amazon Linux on ARM returns 404 for static assets 756439516 | |
738211152 | https://github.com/simonw/datasette/issues/1124#issuecomment-738211152 | https://api.github.com/repos/simonw/datasette/issues/1124 | MDEyOklzc3VlQ29tbWVudDczODIxMTE1Mg== | simonw 9599 | 2020-12-03T18:42:12Z | 2020-12-03T18:42:12Z | OWNER | Added a line to print out |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Datasette on Amazon Linux on ARM returns 404 for static assets 756439516 | |
738209642 | https://github.com/simonw/datasette/issues/1124#issuecomment-738209642 | https://api.github.com/repos/simonw/datasette/issues/1124 | MDEyOklzc3VlQ29tbWVudDczODIwOTY0Mg== | simonw 9599 | 2020-12-03T18:39:19Z | 2020-12-03T18:39:19Z | OWNER | The CSS files are in the expected location:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Datasette on Amazon Linux on ARM returns 404 for static assets 756439516 | |
737591281 | https://github.com/simonw/datasette/issues/1121#issuecomment-737591281 | https://api.github.com/repos/simonw/datasette/issues/1121 | MDEyOklzc3VlQ29tbWVudDczNzU5MTI4MQ== | simonw 9599 | 2020-12-03T01:03:18Z | 2020-12-03T01:03:18Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Table actions cog is misaligned 754178780 | ||
737589314 | https://github.com/simonw/datasette/issues/1100#issuecomment-737589314 | https://api.github.com/repos/simonw/datasette/issues/1100 | MDEyOklzc3VlQ29tbWVudDczNzU4OTMxNA== | simonw 9599 | 2020-12-03T00:57:35Z | 2020-12-03T00:57:35Z | OWNER | Fixed in the demo:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Error on OPTIONS request to database 747702144 | |
737586248 | https://github.com/simonw/datasette/issues/1123#issuecomment-737586248 | https://api.github.com/repos/simonw/datasette/issues/1123 | MDEyOklzc3VlQ29tbWVudDczNzU4NjI0OA== | simonw 9599 | 2020-12-03T00:47:37Z | 2020-12-03T00:47:37Z | OWNER | Affected tests:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Table actions hook are order dependent, should not be 755721275 | |
737581719 | https://github.com/simonw/datasette/issues/1100#issuecomment-737581719 | https://api.github.com/repos/simonw/datasette/issues/1100 | MDEyOklzc3VlQ29tbWVudDczNzU4MTcxOQ== | simonw 9599 | 2020-12-03T00:35:23Z | 2020-12-03T00:35:23Z | OWNER | Replicated this against the live demo as well:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Error on OPTIONS request to database 747702144 | |
737580813 | https://github.com/simonw/datasette/pull/1122#issuecomment-737580813 | https://api.github.com/repos/simonw/datasette/issues/1122 | MDEyOklzc3VlQ29tbWVudDczNzU4MDgxMw== | simonw 9599 | 2020-12-03T00:33:09Z | 2020-12-03T00:33:09Z | OWNER | This is a very neat fix, thank you. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Fix misaligned table actions cog 754179035 | |
737580084 | https://github.com/simonw/datasette/issues/749#issuecomment-737580084 | https://api.github.com/repos/simonw/datasette/issues/749 | MDEyOklzc3VlQ29tbWVudDczNzU4MDA4NA== | simonw 9599 | 2020-12-03T00:31:14Z | 2020-12-03T00:31:14Z | OWNER | This works! ``` /tmp % wget 'https://covid-19.datasettes.com/covid.db' --2020-12-02 16:28:02-- https://covid-19.datasettes.com/covid.db Resolving covid-19.datasettes.com (covid-19.datasettes.com)... 172.217.5.83 Connecting to covid-19.datasettes.com (covid-19.datasettes.com)|172.217.5.83|:443... connected. HTTP request sent, awaiting response... 200 OK Length: unspecified [application/octet-stream] Saving to: ‘covid.db’ covid.db [ <=> ] 306.42M 3.27MB/s in 98s 2020-12-02 16:29:40 (3.13 MB/s) - ‘covid.db’ saved [321306624] ``` |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Cloud Run fails to serve database files larger than 32MB 610829227 | |
737563699 | https://github.com/simonw/datasette/issues/749#issuecomment-737563699 | https://api.github.com/repos/simonw/datasette/issues/749 | MDEyOklzc3VlQ29tbWVudDczNzU2MzY5OQ== | simonw 9599 | 2020-12-02T23:45:42Z | 2020-12-02T23:45:42Z | OWNER | I asked about this on Twitter - https://twitter.com/steren/status/1334281184965140483
|
{ "total_count": 2, "+1": 2, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Cloud Run fails to serve database files larger than 32MB 610829227 | |
737463116 | https://github.com/simonw/datasette/issues/942#issuecomment-737463116 | https://api.github.com/repos/simonw/datasette/issues/942 | MDEyOklzc3VlQ29tbWVudDczNzQ2MzExNg== | simonw 9599 | 2020-12-02T20:02:10Z | 2020-12-02T20:03:01Z | OWNER | My idea is that if you installed my proposed plugin you wouldn't need The plugin would then provide a UI for editing that metadata - maybe by configuring some writable canned queries or maybe something more custom than that. Or you could edit the metadata by manually editing the SQLite database file (or loading data into it using a tool like yaml-to-sqlite). |
{ "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Support column descriptions in metadata.json 681334912 | |
737428262 | https://github.com/simonw/datasette/issues/942#issuecomment-737428262 | https://api.github.com/repos/simonw/datasette/issues/942 | MDEyOklzc3VlQ29tbWVudDczNzQyODI2Mg== | zaneselvans 596279 | 2020-12-02T18:55:21Z | 2020-12-02T18:55:21Z | NONE | Are you thinking that those metadata tables would be added to the SQLite DB by Datasette, when you tell it to wrap up the database, with the metadata coming from the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Support column descriptions in metadata.json 681334912 | |
737402392 | https://github.com/simonw/datasette/issues/942#issuecomment-737402392 | https://api.github.com/repos/simonw/datasette/issues/942 | MDEyOklzc3VlQ29tbWVudDczNzQwMjM5Mg== | simonw 9599 | 2020-12-02T18:08:55Z | 2020-12-02T18:08:55Z | OWNER | SQLite does let you add comments in your CREATE TABLE statements:
I've so far resisted adding a SQL syntax parser to Datasette for complexity reasons - though I'm increasingly thinking I'll need to do it at some point. I think I'll leave this to plugins. I'm definitely going to build a plugin that lets you store metadata for tables and columns in a SQLite database table, which will then support interactively editing metadata through a UI. A plugin which extracts column comments from the SQLite CREATE TABLE comments would be feasible too, if I design the plugin hooks well. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Support column descriptions in metadata.json 681334912 | |
736322290 | https://github.com/simonw/datasette/issues/1111#issuecomment-736322290 | https://api.github.com/repos/simonw/datasette/issues/1111 | MDEyOklzc3VlQ29tbWVudDczNjMyMjI5MA== | abdusco 3243482 | 2020-12-01T08:54:47Z | 2020-12-01T08:54:47Z | CONTRIBUTOR | Somewhat related: https://github.com/simonw/datasette/issues/859 I fixed the issue with forking and disabling the counts for hidden tables. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Accessing a database's `.json` is slow for very large SQLite files 751195017 | |
736318377 | https://github.com/simonw/datasette/pull/1122#issuecomment-736318377 | https://api.github.com/repos/simonw/datasette/issues/1122 | MDEyOklzc3VlQ29tbWVudDczNjMxODM3Nw== | codecov[bot] 22429695 | 2020-12-01T08:47:33Z | 2020-12-01T08:47:33Z | NONE | Codecov Report
```diff @@ Coverage Diff @@ main #1122 +/-=======================================
Coverage 91.49% 91.49% Continue to review full report at Codecov.
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Fix misaligned table actions cog 754179035 | |
736173084 | https://github.com/simonw/datasette/issues/942#issuecomment-736173084 | https://api.github.com/repos/simonw/datasette/issues/942 | MDEyOklzc3VlQ29tbWVudDczNjE3MzA4NA== | zaneselvans 596279 | 2020-12-01T02:20:58Z | 2020-12-01T02:20:58Z | NONE | Are there common patterns for storing column-based metadata inside SQLite itself? I know Postgres allows "comment" fields, which this is kind of trying to replicate. Should the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Support column descriptions in metadata.json 681334912 | |
736142201 | https://github.com/simonw/datasette/issues/1119#issuecomment-736142201 | https://api.github.com/repos/simonw/datasette/issues/1119 | MDEyOklzc3VlQ29tbWVudDczNjE0MjIwMQ== | simonw 9599 | 2020-12-01T00:41:14Z | 2020-12-01T00:41:14Z | OWNER | On my laptop: https://latest.datasette.io/-/versions is running SQLite 3.27.2 at the moment so it won't show that table until it gets to 3.31.0. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Include generated columns in fixtures.db, if SQLite version supports it 753876808 | |
736135125 | https://github.com/simonw/datasette/pull/1120#issuecomment-736135125 | https://api.github.com/repos/simonw/datasette/issues/1120 | MDEyOklzc3VlQ29tbWVudDczNjEzNTEyNQ== | codecov[bot] 22429695 | 2020-12-01T00:22:36Z | 2020-12-01T00:22:36Z | NONE | Codecov Report
```diff @@ Coverage Diff @@ main #1120 +/-=======================================
Coverage 91.48% 91.49% | Impacted Files | Coverage Δ | |
|---|---|---|
| datasette/utils/__init__.py | Continue to review full report at Codecov.
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
generated_columns table in fixtures.py 753898359 | |
736088949 | https://github.com/simonw/datasette/pull/1117#issuecomment-736088949 | https://api.github.com/repos/simonw/datasette/issues/1117 | MDEyOklzc3VlQ29tbWVudDczNjA4ODk0OQ== | nattaylor 2789593 | 2020-11-30T22:15:58Z | 2020-11-30T22:23:19Z | NONE | I just deployed this and its working great. ~In a very unscientific benchmark my response times went from around 22-25ms to 33-36ms, but I didn't even dig enough to confirm the latency is related to the change. It's on a VPS, so maybe the load changed.~ I don't see any difference in performance. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Support for generated columns 753767911 | |
736067475 | https://github.com/simonw/datasette/pull/1117#issuecomment-736067475 | https://api.github.com/repos/simonw/datasette/issues/1117 | MDEyOklzc3VlQ29tbWVudDczNjA2NzQ3NQ== | codecov[bot] 22429695 | 2020-11-30T21:28:22Z | 2020-11-30T21:28:22Z | NONE | Codecov Report
```diff @@ Coverage Diff @@ main #1117 +/-==========================================
- Coverage 91.48% 91.48% -0.01% | Impacted Files | Coverage Δ | |
|---|---|---|
| datasette/utils/__init__.py | Continue to review full report at Codecov.
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Support for generated columns 753767911 | |
736030599 | https://github.com/simonw/datasette/issues/1116#issuecomment-736030599 | https://api.github.com/repos/simonw/datasette/issues/1116 | MDEyOklzc3VlQ29tbWVudDczNjAzMDU5OQ== | simonw 9599 | 2020-11-30T20:41:41Z | 2020-11-30T20:41:41Z | OWNER | Here's the problem: https://www.sqlite.org/changes.html#version_3_26_0
CI is running 3.22.0. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
GENERATED column support 753668177 | |
736029337 | https://github.com/simonw/datasette/pull/1117#issuecomment-736029337 | https://api.github.com/repos/simonw/datasette/issues/1117 | MDEyOklzc3VlQ29tbWVudDczNjAyOTMzNw== | simonw 9599 | 2020-11-30T20:39:06Z | 2020-11-30T20:39:06Z | OWNER | Here's the problem: https://www.sqlite.org/changes.html#version_3_26_0
CI is running 3.22.0. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Support for generated columns 753767911 | |
736028726 | https://github.com/simonw/datasette/pull/1117#issuecomment-736028726 | https://api.github.com/repos/simonw/datasette/issues/1117 | MDEyOklzc3VlQ29tbWVudDczNjAyODcyNg== | simonw 9599 | 2020-11-30T20:37:50Z | 2020-11-30T20:37:50Z | OWNER | This kind of problem is why I have a |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Support for generated columns 753767911 | |
736023089 | https://github.com/simonw/datasette/pull/1117#issuecomment-736023089 | https://api.github.com/repos/simonw/datasette/issues/1117 | MDEyOklzc3VlQ29tbWVudDczNjAyMzA4OQ== | simonw 9599 | 2020-11-30T20:26:27Z | 2020-11-30T20:26:27Z | OWNER | On my laptop:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Support for generated columns 753767911 | |
736018609 | https://github.com/simonw/datasette/pull/1117#issuecomment-736018609 | https://api.github.com/repos/simonw/datasette/issues/1117 | MDEyOklzc3VlQ29tbWVudDczNjAxODYwOQ== | simonw 9599 | 2020-11-30T20:17:31Z | 2020-11-30T20:17:31Z | OWNER | I need to replicate these failures on my laptop. My hunch is that this is down to the version of SQLite available to Python. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Support for generated columns 753767911 | |
736015487 | https://github.com/simonw/datasette/issues/1116#issuecomment-736015487 | https://api.github.com/repos/simonw/datasette/issues/1116 | MDEyOklzc3VlQ29tbWVudDczNjAxNTQ4Nw== | simonw 9599 | 2020-11-30T20:11:07Z | 2020-11-30T20:11:07Z | OWNER | Working on this in a pull request: https://github.com/simonw/datasette/pull/1117 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
GENERATED column support 753668177 | |
736014372 | https://github.com/simonw/datasette/issues/1116#issuecomment-736014372 | https://api.github.com/repos/simonw/datasette/issues/1116 | MDEyOklzc3VlQ29tbWVudDczNjAxNDM3Mg== | simonw 9599 | 2020-11-30T20:08:48Z | 2020-11-30T20:08:48Z | OWNER | Ouch, the tests pass on my laptop but failed in CI: https://github.com/simonw/datasette/actions/runs/392367997 Lots of failures look like this:
I wonder why it didn't fail on my laptop? |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
GENERATED column support 753668177 | |
736010720 | https://github.com/simonw/datasette/issues/1116#issuecomment-736010720 | https://api.github.com/repos/simonw/datasette/issues/1116 | MDEyOklzc3VlQ29tbWVudDczNjAxMDcyMA== | simonw 9599 | 2020-11-30T20:01:53Z | 2020-11-30T20:01:53Z | OWNER | I'm OK exposing hidden columns, unless someone comes up with a pressing reason not to. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
GENERATED column support 753668177 | |
736005833 | https://github.com/simonw/datasette/issues/1116#issuecomment-736005833 | https://api.github.com/repos/simonw/datasette/issues/1116 | MDEyOklzc3VlQ29tbWVudDczNjAwNTgzMw== | nattaylor 2789593 | 2020-11-30T19:54:39Z | 2020-11-30T19:54:39Z | NONE | @simonw thanks for investigating so quickly. If it is undesirable to change that hidden behavior, maybe something like this is a suitable workaround:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
GENERATED column support 753668177 | |
736004383 | https://github.com/simonw/datasette/issues/1116#issuecomment-736004383 | https://api.github.com/repos/simonw/datasette/issues/1116 | MDEyOklzc3VlQ29tbWVudDczNjAwNDM4Mw== | simonw 9599 | 2020-11-30T19:51:51Z | 2020-11-30T19:51:51Z | OWNER | This change will also have an impact on how hidden virtual FTS tables are displayed, since apparently those have some hidden columns: https://latest.datasette.io/fixtures?sql=select+*+from+pragma_table_xinfo%28%27searchable_fts%27%29 | cid | name | type | notnull | dflt_value | pk | hidden | | --- | --- | --- | --- | --- | --- | --- | | 0 | text1 | | 0 | | 0 | 0 | | 1 | text2 | | 0 | | 0 | 0 | | 2 | name with . and spaces | | 0 | | 0 | 0 | | 3 | searchable_fts | | 0 | | 0 | 1 | | 4 | docid | | 0 | | 0 | 1 | | 5 | __langid | | 0 | | 0 | 1 | |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
GENERATED column support 753668177 | |
735995695 | https://github.com/simonw/datasette/issues/1116#issuecomment-735995695 | https://api.github.com/repos/simonw/datasette/issues/1116 | MDEyOklzc3VlQ29tbWVudDczNTk5NTY5NQ== | simonw 9599 | 2020-11-30T19:34:15Z | 2020-11-30T19:34:15Z | OWNER | Generated column support was added in SQLite 3.31.0, so any unit tests I write for this should use skipIf to only run on that version or later. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
GENERATED column support 753668177 | |
735993935 | https://github.com/simonw/datasette/issues/1116#issuecomment-735993935 | https://api.github.com/repos/simonw/datasette/issues/1116 | MDEyOklzc3VlQ29tbWVudDczNTk5MzkzNQ== | simonw 9599 | 2020-11-30T19:30:44Z | 2020-11-30T19:32:15Z | OWNER | It looks like But Compare https://latest.datasette.io/fixtures?sql=select++from+pragma_table_info%28%27searchable%27%29 to https://latest.datasette.io/fixtures?sql=select++from+pragma_table_xinfo%28%27searchable%27%29 - the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
GENERATED column support 753668177 | |
735992106 | https://github.com/simonw/datasette/issues/1116#issuecomment-735992106 | https://api.github.com/repos/simonw/datasette/issues/1116 | MDEyOklzc3VlQ29tbWVudDczNTk5MjEwNg== | simonw 9599 | 2020-11-30T19:27:10Z | 2020-11-30T19:27:10Z | OWNER | I'm treating this as a bug - these columns should definitely be visible in Datasette. I created my own test database using SQLite from Homebrew like this:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
GENERATED column support 753668177 | |
735960132 | https://github.com/simonw/datasette/issues/263#issuecomment-735960132 | https://api.github.com/repos/simonw/datasette/issues/263 | MDEyOklzc3VlQ29tbWVudDczNTk2MDEzMg== | simonw 9599 | 2020-11-30T18:25:17Z | 2020-11-30T18:25:17Z | OWNER | Fixing this would unblock this issue for switching |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Facets should not execute for ?shape=array|object 323671577 | |
735485677 | https://github.com/dogsheep/github-to-sqlite/issues/53#issuecomment-735485677 | https://api.github.com/repos/dogsheep/github-to-sqlite/issues/53 | MDEyOklzc3VlQ29tbWVudDczNTQ4NTY3Nw== | simonw 9599 | 2020-11-30T00:36:09Z | 2020-11-30T00:36:09Z | MEMBER | Given rate limits (see #51) this command might be better implemented by running a |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Command for fetching file contents 753000405 |
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]);
user >30