issue_comments
10,495 rows sorted by updated_at descending
This data as json, CSV (advanced)
issue >30
- JavaScript plugin hooks mechanism similar to pluggy 47
- Redesign default .json format 46
- Updated Dockerfile with SpatiaLite version 5.0 45
- Port Datasette to ASGI 42
- Authentication (and permissions) as a core concept 40
- await datasette.client.get(path) mechanism for executing internal requests 33
- Maintain an in-memory SQLite table of connected databases and their tables 32
- 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
- Support cross-database joins 25
- Proof of concept for Datasette on AWS Lambda with EFS 25
- Redesign register_output_renderer callback 24
- "datasette insert" command and plugin hook 23
- Datasette Plugins 22
- .json and .csv exports fail to apply base_url 22
- table.extract(...) method and "sqlite-utils extract" command 21
- Handle spatialite geometry columns better 20
- "flash messages" mechanism 20
- Move CI to GitHub Issues 20
- load_template hook doesn't work for include/extends 20
- ?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
- Mechanism for storing metadata in _metadata tables 19
- WIP: Add Gmail takeout mbox import 19
- …
id | html_url | issue_url | node_id | user | created_at | updated_at ▲ | author_association | body | reactions | issue | performed_via_github_app |
---|---|---|---|---|---|---|---|---|---|---|---|
846659272 | https://github.com/simonw/datasette/issues/615#issuecomment-846659272 | https://api.github.com/repos/simonw/datasette/issues/615 | MDEyOklzc3VlQ29tbWVudDg0NjY1OTI3Mg== | simonw 9599 | 2021-05-24T00:44:47Z | 2021-05-24T00:44:47Z | OWNER | I can't think of any good reasons to support passing the same column twice |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
?_col= and ?_nocol= support for toggling columns on table view 517451234 | |
846627322 | https://github.com/simonw/datasette/issues/615#issuecomment-846627322 | https://api.github.com/repos/simonw/datasette/issues/615 | MDEyOklzc3VlQ29tbWVudDg0NjYyNzMyMg== | simonw 9599 | 2021-05-23T21:31:22Z | 2021-05-23T21:31:22Z | OWNER | Would it be useful to allow this mechanism to alias columns, for example supporting one of the following:
This could be handy for renaming columns to match a specific expected JSON output. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
?_col= and ?_nocol= support for toggling columns on table view 517451234 | |
846627163 | https://github.com/simonw/datasette/issues/615#issuecomment-846627163 | https://api.github.com/repos/simonw/datasette/issues/615 | MDEyOklzc3VlQ29tbWVudDg0NjYyNzE2Mw== | simonw 9599 | 2021-05-23T21:30:01Z | 2021-05-23T21:30:01Z | OWNER | Interesting side-effect of this implementation is that you can both control column order and request the same column multiple times:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
?_col= and ?_nocol= support for toggling columns on table view 517451234 | |
846626871 | https://github.com/simonw/datasette/issues/615#issuecomment-846626871 | https://api.github.com/repos/simonw/datasette/issues/615 | MDEyOklzc3VlQ29tbWVudDg0NjYyNjg3MQ== | simonw 9599 | 2021-05-23T21:27:36Z | 2021-05-23T21:27:36Z | OWNER | A better interface for this would be a full list of columns each with a checkbox for making it visible on invisible - this could then be used to apply a bulk change (rather than refreshing the interface after every removed column) and it could also be easily designed to work on narrow mobile screens where the cog icon is not visible. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
?_col= and ?_nocol= support for toggling columns on table view 517451234 | |
846626567 | https://github.com/simonw/datasette/issues/615#issuecomment-846626567 | https://api.github.com/repos/simonw/datasette/issues/615 | MDEyOklzc3VlQ29tbWVudDg0NjYyNjU2Nw== | simonw 9599 | 2021-05-23T21:25:19Z | 2021-05-23T21:25:19Z | OWNER | Here's a bug: removing the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
?_col= and ?_nocol= support for toggling columns on table view 517451234 | |
846599732 | https://github.com/simonw/datasette/issues/615#issuecomment-846599732 | https://api.github.com/repos/simonw/datasette/issues/615 | MDEyOklzc3VlQ29tbWVudDg0NjU5OTczMg== | simonw 9599 | 2021-05-23T17:46:45Z | 2021-05-23T17:46:45Z | OWNER | I've changed my mind about forbidding |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
?_col= and ?_nocol= support for toggling columns on table view 517451234 | |
846595473 | https://github.com/simonw/datasette/issues/615#issuecomment-846595473 | https://api.github.com/repos/simonw/datasette/issues/615 | MDEyOklzc3VlQ29tbWVudDg0NjU5NTQ3Mw== | simonw 9599 | 2021-05-23T17:13:09Z | 2021-05-23T17:13:09Z | OWNER | Natalie suggests a quick way to implement "undo" would be to add a "Show all columns" item to that menu which only appears when at least one column is hidden. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
?_col= and ?_nocol= support for toggling columns on table view 517451234 | |
846595091 | https://github.com/simonw/datasette/issues/615#issuecomment-846595091 | https://api.github.com/repos/simonw/datasette/issues/615 | MDEyOklzc3VlQ29tbWVudDg0NjU5NTA5MQ== | simonw 9599 | 2021-05-23T17:09:59Z | 2021-05-23T17:09:59Z | OWNER | Here's that prototype of a "Hide this column" cog menu button: Need a way to undo that once you've hidden a column - maybe a list of currently hidden columns that lets you un-hide them. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
?_col= and ?_nocol= support for toggling columns on table view 517451234 | |
846592392 | https://github.com/simonw/datasette/issues/615#issuecomment-846592392 | https://api.github.com/repos/simonw/datasette/issues/615 | MDEyOklzc3VlQ29tbWVudDg0NjU5MjM5Mg== | simonw 9599 | 2021-05-23T16:49:30Z | 2021-05-23T16:49:44Z | OWNER | I started looking at this again, inspired by #1326. I have a new diff that works against the latest ```diff diff --git a/datasette/views/table.py b/datasette/views/table.py index 4879228..f4b2ee2 100644 --- a/datasette/views/table.py +++ b/datasette/views/table.py @@ -64,6 +64,36 @@ class Row: class RowTableShared(DataView): + async def columns_to_select(self, db, table, request): + table_columns = await db.table_columns(table) + if "_col" in request.args and "_nocol" in request.args: + raise DatasetteError("Cannot use _col and _nocol at the same time") + if "_col" in request.args: + new_columns = [] + for column in request.args.getlist("_col"): + if column not in table_columns: + raise DatasetteError("_col={} is an invalid column".format(column)) + new_columns.append(column) + return new_columns + elif "_nocol" in request.args: + # Return all columns EXCEPT these + bad_columns = [ + column + for column in request.args.getlist("_nocol") + if column not in table_columns + ] + if bad_columns: + raise DatasetteError( + "_nocol={} - invalid columns".format(", ".join(bad_columns)) + ) + return [ + column + for column in table_columns + if column not in request.args.getlist("_nocol") + ] + else: + return table_columns + async def sortable_columns_for_table(self, database, table, use_rowid): db = self.ds.databases[database] table_metadata = self.ds.table_metadata(database, table) @@ -321,18 +351,16 @@ class TableView(RowTableShared): )
@@ -715,6 +743,8 @@ class TableView(RowTableShared): column = fk["column"] if column not in columns_to_expand: continue + if column not in columns: + continue expanded_columns.append(column) # Gather the values column_index = columns.index(column) ``` |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
?_col= and ?_nocol= support for toggling columns on table view 517451234 | |
846493370 | https://github.com/simonw/datasette/issues/1326#issuecomment-846493370 | https://api.github.com/repos/simonw/datasette/issues/1326 | MDEyOklzc3VlQ29tbWVudDg0NjQ5MzM3MA== | simonw 9599 | 2021-05-23T02:55:00Z | 2021-05-23T02:55:00Z | OWNER | Currently you can do this with a custom SQL query, but as you've noticed this means you don't get automatic pagination: https://latest.datasette.io/fixtures.json?sql=select+pk%2C+created%2C+state+from+facetable+order+by+pk+limit+10&_shape=array I have an open issue to allow selecting specific columns on the table page: #615 A workaround you can use today is to define a SQL view that selects just the tables you want. View pages behave exactly like tables in that they provide pagination by default. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
How to limit fields returned from the JSON API? 891969037 | |
846483426 | https://github.com/simonw/datasette/issues/1331#issuecomment-846483426 | https://api.github.com/repos/simonw/datasette/issues/1331 | MDEyOklzc3VlQ29tbWVudDg0NjQ4MzQyNg== | simonw 9599 | 2021-05-23T00:57:30Z | 2021-05-23T00:57:30Z | OWNER | Here's an alpha release with updated dependencies: https://pypi.org/project/datasette/0.57a0/ |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add support for Jinja2 version 3.0 893537744 | |
846482057 | https://github.com/simonw/datasette/issues/1331#issuecomment-846482057 | https://api.github.com/repos/simonw/datasette/issues/1331 | MDEyOklzc3VlQ29tbWVudDg0NjQ4MjA1Nw== | simonw 9599 | 2021-05-23T00:39:55Z | 2021-05-23T00:39:55Z | OWNER |
Bumped that dependency in b64d87204612a84663616e075f542499a5d82a03 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add support for Jinja2 version 3.0 893537744 | |
846481937 | https://github.com/simonw/datasette/issues/1331#issuecomment-846481937 | https://api.github.com/repos/simonw/datasette/issues/1331 | MDEyOklzc3VlQ29tbWVudDg0NjQ4MTkzNw== | simonw 9599 | 2021-05-23T00:38:28Z | 2021-05-23T00:38:28Z | OWNER | I'm going to push an alpha release with the new dependencies shortly. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add support for Jinja2 version 3.0 893537744 | |
846481896 | https://github.com/simonw/datasette/issues/1337#issuecomment-846481896 | https://api.github.com/repos/simonw/datasette/issues/1337 | MDEyOklzc3VlQ29tbWVudDg0NjQ4MTg5Ng== | simonw 9599 | 2021-05-23T00:37:52Z | 2021-05-23T00:37:52Z | OWNER | The tricky thing about this is that ideally I'd like this to link to a paginated set of results - but arbitrary SQL queries do not yet support pagination, see #856. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
"More" link for facets that shows _facet_size=max results 898904402 | |
846481801 | https://github.com/simonw/datasette/issues/1332#issuecomment-846481801 | https://api.github.com/repos/simonw/datasette/issues/1332 | MDEyOklzc3VlQ29tbWVudDg0NjQ4MTgwMQ== | simonw 9599 | 2021-05-23T00:36:20Z | 2021-05-23T00:36:20Z | OWNER | Documentation:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
?_facet_size=X to increase number of facets results on the page 893890496 | |
846479730 | https://github.com/simonw/datasette/issues/1332#issuecomment-846479730 | https://api.github.com/repos/simonw/datasette/issues/1332 | MDEyOklzc3VlQ29tbWVudDg0NjQ3OTczMA== | simonw 9599 | 2021-05-23T00:11:31Z | 2021-05-23T00:11:31Z | OWNER | Here's the code in question: https://github.com/simonw/datasette/blob/5e9672c9bb33e41686472db4aa427168f9e67dbe/datasette/facets.py#L187-L210 It has access to the current request object as |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
?_facet_size=X to increase number of facets results on the page 893890496 | |
846479212 | https://github.com/simonw/datasette/issues/1332#issuecomment-846479212 | https://api.github.com/repos/simonw/datasette/issues/1332 | MDEyOklzc3VlQ29tbWVudDg0NjQ3OTIxMg== | simonw 9599 | 2021-05-23T00:07:46Z | 2021-05-23T00:07:46Z | OWNER |
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
?_facet_size=X to increase number of facets results on the page 893890496 | |
846479062 | https://github.com/simonw/datasette/issues/1332#issuecomment-846479062 | https://api.github.com/repos/simonw/datasette/issues/1332 | MDEyOklzc3VlQ29tbWVudDg0NjQ3OTA2Mg== | simonw 9599 | 2021-05-23T00:06:34Z | 2021-05-23T00:06:34Z | OWNER | A URL parameter to modify that facet size is a really good idea. I thought I had an issue open for "..." linking to more results but I can't find it now. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
?_facet_size=X to increase number of facets results on the page 893890496 | |
846413174 | https://github.com/dogsheep/github-to-sqlite/pull/59#issuecomment-846413174 | https://api.github.com/repos/dogsheep/github-to-sqlite/issues/59 | MDEyOklzc3VlQ29tbWVudDg0NjQxMzE3NA== | frosencrantz 631242 | 2021-05-22T14:06:19Z | 2021-05-22T14:06:19Z | CONTRIBUTOR | Thanks Simon! |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Remove unneeded exists=True for -a/--auth flag. 771872303 | |
846138580 | https://github.com/simonw/datasette/pull/1325#issuecomment-846138580 | https://api.github.com/repos/simonw/datasette/issues/1325 | MDEyOklzc3VlQ29tbWVudDg0NjEzODU4MA== | stonebig 4312421 | 2021-05-21T18:00:10Z | 2021-05-21T18:00:10Z | NONE | would be nice to have |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Update itsdangerous requirement from ~=1.1 to >=1.1,<3.0 890073989 | |
846137332 | https://github.com/simonw/datasette/issues/1331#issuecomment-846137332 | https://api.github.com/repos/simonw/datasette/issues/1331 | MDEyOklzc3VlQ29tbWVudDg0NjEzNzMzMg== | stonebig 4312421 | 2021-05-21T17:57:53Z | 2021-05-21T17:57:53Z | NONE | I'm stuck also because datasette wants itsdangerous~=1.1 instead of allowing itsdangerous-2.0.0 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add support for Jinja2 version 3.0 893537744 | |
845985439 | https://github.com/simonw/datasette/issues/856#issuecomment-845985439 | https://api.github.com/repos/simonw/datasette/issues/856 | MDEyOklzc3VlQ29tbWVudDg0NTk4NTQzOQ== | bram2000 5268174 | 2021-05-21T14:22:41Z | 2021-05-21T14:22:41Z | NONE | Thanks Simon this is working very well. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Consider pagination of canned queries 642296989 | |
844970776 | https://github.com/simonw/datasette/issues/1331#issuecomment-844970776 | https://api.github.com/repos/simonw/datasette/issues/1331 | MDEyOklzc3VlQ29tbWVudDg0NDk3MDc3Ng== | MarkusH 475613 | 2021-05-20T10:40:25Z | 2021-05-20T10:40:25Z | NONE | Any chance you could push a new datasette release with the updated dependencies in the setup.py, @simonw? |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add support for Jinja2 version 3.0 893537744 | |
844250232 | https://github.com/dogsheep/github-to-sqlite/pull/59#issuecomment-844250232 | https://api.github.com/repos/dogsheep/github-to-sqlite/issues/59 | MDEyOklzc3VlQ29tbWVudDg0NDI1MDIzMg== | simonw 9599 | 2021-05-19T16:08:10Z | 2021-05-19T16:08:10Z | MEMBER | Thanks for catching this. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Remove unneeded exists=True for -a/--auth flag. 771872303 | |
844249385 | https://github.com/dogsheep/github-to-sqlite/pull/61#issuecomment-844249385 | https://api.github.com/repos/dogsheep/github-to-sqlite/issues/61 | MDEyOklzc3VlQ29tbWVudDg0NDI0OTM4NQ== | simonw 9599 | 2021-05-19T16:07:06Z | 2021-05-19T16:07:06Z | MEMBER | Thanks! |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
fixing typo in get cli help text 797108702 | |
844007155 | https://github.com/simonw/datasette/pull/1335#issuecomment-844007155 | https://api.github.com/repos/simonw/datasette/issues/1335 | MDEyOklzc3VlQ29tbWVudDg0NDAwNzE1NQ== | codecov[bot] 22429695 | 2021-05-19T11:21:45Z | 2021-05-19T11:21:45Z | NONE | Codecov Report
```diff @@ Coverage Diff @@ main #1335 +/-=======================================
Coverage 91.53% 91.53% 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 small typo 895315478 | |
843718859 | https://github.com/simonw/sqlite-utils/issues/253#issuecomment-843718859 | https://api.github.com/repos/simonw/sqlite-utils/issues/253 | MDEyOklzc3VlQ29tbWVudDg0MzcxODg1OQ== | simonw 9599 | 2021-05-19T03:31:47Z | 2021-05-19T03:31:47Z | OWNER | { "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
fixtures.db example error in sql-utils blog post 847423559 | ||
843716042 | https://github.com/simonw/sqlite-utils/issues/253#issuecomment-843716042 | https://api.github.com/repos/simonw/sqlite-utils/issues/253 | MDEyOklzc3VlQ29tbWVudDg0MzcxNjA0Mg== | simonw 9599 | 2021-05-19T03:29:04Z | 2021-05-19T03:29:04Z | OWNER | Thanks for pointing this out - the problem here is that these days the I'm going to update the blog post to instead use a copy of |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
fixtures.db example error in sql-utils blog post 847423559 | |
843715502 | https://github.com/simonw/sqlite-utils/issues/259#issuecomment-843715502 | https://api.github.com/repos/simonw/sqlite-utils/issues/259 | MDEyOklzc3VlQ29tbWVudDg0MzcxNTUwMg== | simonw 9599 | 2021-05-19T03:27:33Z | 2021-05-19T03:27:33Z | OWNER | ``` % sqlite-utils insert test-big.db text big.json Error: table text has no column named colun Try using --alter to add additional columns ``` |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Suggest the --alter option if a new column cannot be added 894948100 | |
843715308 | https://github.com/simonw/sqlite-utils/issues/256#issuecomment-843715308 | https://api.github.com/repos/simonw/sqlite-utils/issues/256 | MDEyOklzc3VlQ29tbWVudDg0MzcxNTMwOA== | simonw 9599 | 2021-05-19T03:26:54Z | 2021-05-19T03:26:54Z | OWNER | I decided to treat this as a usability bug: there's a workaround, which is adding |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
inserting with --nl errors with: sqlite3.OperationalError: table <table> has no column named <column> 861622839 | |
843708246 | https://github.com/simonw/sqlite-utils/issues/256#issuecomment-843708246 | https://api.github.com/repos/simonw/sqlite-utils/issues/256 | MDEyOklzc3VlQ29tbWVudDg0MzcwODI0Ng== | simonw 9599 | 2021-05-19T03:06:02Z | 2021-05-19T03:06:02Z | OWNER | Did you try running this with the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
inserting with --nl errors with: sqlite3.OperationalError: table <table> has no column named <column> 861622839 | |
843705806 | https://github.com/simonw/sqlite-utils/pull/244#issuecomment-843705806 | https://api.github.com/repos/simonw/sqlite-utils/issues/244 | MDEyOklzc3VlQ29tbWVudDg0MzcwNTgwNg== | simonw 9599 | 2021-05-19T02:58:18Z | 2021-05-19T02:58:18Z | OWNER | Thanks! |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Typo in upsert example 820468864 | |
843705721 | https://github.com/simonw/sqlite-utils/pull/245#issuecomment-843705721 | https://api.github.com/repos/simonw/sqlite-utils/issues/245 | MDEyOklzc3VlQ29tbWVudDg0MzcwNTcyMQ== | simonw 9599 | 2021-05-19T02:58:01Z | 2021-05-19T02:58:01Z | OWNER | Thanks very much. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Correct some typos 830803173 | |
843705533 | https://github.com/simonw/sqlite-utils/pull/254#issuecomment-843705533 | https://api.github.com/repos/simonw/sqlite-utils/issues/254 | MDEyOklzc3VlQ29tbWVudDg0MzcwNTUzMw== | simonw 9599 | 2021-05-19T02:57:22Z | 2021-05-19T02:57:22Z | OWNER | Thanks! |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Fix incorrect create-table cli description 857280617 | |
843702392 | https://github.com/simonw/sqlite-utils/pull/258#issuecomment-843702392 | https://api.github.com/repos/simonw/sqlite-utils/issues/258 | MDEyOklzc3VlQ29tbWVudDg0MzcwMjM5Mg== | simonw 9599 | 2021-05-19T02:47:37Z | 2021-05-19T02:47:37Z | OWNER | I'm going to merge this and add a test - thanks! |
{ "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Fixing insert from JSON containing strings with non-ascii characters … 868191959 | |
843291675 | https://github.com/simonw/datasette/issues/856#issuecomment-843291675 | https://api.github.com/repos/simonw/datasette/issues/856 | MDEyOklzc3VlQ29tbWVudDg0MzI5MTY3NQ== | simonw 9599 | 2021-05-18T15:56:45Z | 2021-05-18T15:56:45Z | OWNER | Tables and views get "stream all rows" at the moment, so one workaround is to define a SQL view for your query - this only works for queries that don't take any parameters though (although you may be able to define a view and then pass it extra fields using the Datasette table interface, like on https://latest.datasette.io/fixtures/paginated_view?content_extra__contains=9) I've explored this problem in a bit more detail in https://githu.com/simonw/django-sql-dashboard and I think I have a pattern that could work. For your canned query, you could implement the pattern yourself by setting up two canned queries that look something like this:
You then need to write code which knows how to generate these queries - start with the first query with no Basically this is an implementation of keyset pagination with a smart client. When Datasette grows the ability to do this itself it will work by executing this mechanism inside the Python code, which is how the "stream all rows" option for tables works at the moment. |
{ "total_count": 1, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 1, "rocket": 0, "eyes": 0 } |
Consider pagination of canned queries 642296989 | |
843065142 | https://github.com/simonw/datasette/issues/856#issuecomment-843065142 | https://api.github.com/repos/simonw/datasette/issues/856 | MDEyOklzc3VlQ29tbWVudDg0MzA2NTE0Mg== | bram2000 5268174 | 2021-05-18T10:49:11Z | 2021-05-18T10:49:29Z | NONE | Hi Simon, I'm using a canned query to do some geospatial stuff, but it maxes out at 1000 rows returned. I can't see any Thanks, Jon |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Consider pagination of canned queries 642296989 | |
842798043 | https://github.com/simonw/datasette/issues/1236#issuecomment-842798043 | https://api.github.com/repos/simonw/datasette/issues/1236 | MDEyOklzc3VlQ29tbWVudDg0Mjc5ODA0Mw== | mroswell 192568 | 2021-05-18T03:28:25Z | 2021-05-18T03:28:25Z | CONTRIBUTOR | That corner handle looks like a hamburger menu to me. Note that the default resize handle is not limited to two-way resize: http://jsfiddle.net/LLrh7Lte/ |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Ability to increase size of the SQL editor window 812228314 | |
839763331 | https://github.com/simonw/datasette/pull/1323#issuecomment-839763331 | https://api.github.com/repos/simonw/datasette/issues/1323 | MDEyOklzc3VlQ29tbWVudDgzOTc2MzMzMQ== | codecov[bot] 22429695 | 2021-05-12T13:14:50Z | 2021-05-17T17:25:17Z | NONE | Codecov Report
```diff @@ Coverage Diff @@ main #1323 +/-==========================================
+ Coverage 91.51% 91.53% +0.02% | 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 } |
Update click requirement from ~=7.1.1 to >=7.1.1,<8.1.0 890073888 | |
842499728 | https://github.com/simonw/datasette/issues/1331#issuecomment-842499728 | https://api.github.com/repos/simonw/datasette/issues/1331 | MDEyOklzc3VlQ29tbWVudDg0MjQ5OTcyOA== | MarkusH 475613 | 2021-05-17T17:24:30Z | 2021-05-17T17:24:30Z | NONE |
The changelog reads like bug fixes and removal of deprecated parts to me |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add support for Jinja2 version 3.0 893537744 | |
842497125 | https://github.com/simonw/datasette/issues/1331#issuecomment-842497125 | https://api.github.com/repos/simonw/datasette/issues/1331 | MDEyOklzc3VlQ29tbWVudDg0MjQ5NzEyNQ== | simonw 9599 | 2021-05-17T17:20:15Z | 2021-05-17T17:20:15Z | OWNER | I wonder if there are any new 3.0 features we should be taking advantage of here that would justify pinning to 3.0 minimum? |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add support for Jinja2 version 3.0 893537744 | |
842495820 | https://github.com/simonw/datasette/issues/1331#issuecomment-842495820 | https://api.github.com/repos/simonw/datasette/issues/1331 | MDEyOklzc3VlQ29tbWVudDg0MjQ5NTgyMA== | MarkusH 475613 | 2021-05-17T17:18:05Z | 2021-05-17T17:18:05Z | NONE | Wow, you are fast! I didn't notice dependabot had opened a PR already. I was about to. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add support for Jinja2 version 3.0 893537744 | |
842495346 | https://github.com/simonw/datasette/issues/1331#issuecomment-842495346 | https://api.github.com/repos/simonw/datasette/issues/1331 | MDEyOklzc3VlQ29tbWVudDg0MjQ5NTM0Ng== | simonw 9599 | 2021-05-17T17:17:19Z | 2021-05-17T17:17:19Z | OWNER | The tests are passing on #1324 so this may not require any code changes at all! |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add support for Jinja2 version 3.0 893537744 | |
842494844 | https://github.com/simonw/datasette/pull/1324#issuecomment-842494844 | https://api.github.com/repos/simonw/datasette/issues/1324 | MDEyOklzc3VlQ29tbWVudDg0MjQ5NDg0NA== | simonw 9599 | 2021-05-17T17:16:36Z | 2021-05-17T17:16:36Z | OWNER | Refs #1331. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Update jinja2 requirement from <2.12.0,>=2.10.3 to >=2.10.3,<3.1.0 890073940 | |
842494332 | https://github.com/simonw/datasette/issues/1331#issuecomment-842494332 | https://api.github.com/repos/simonw/datasette/issues/1331 | MDEyOklzc3VlQ29tbWVudDg0MjQ5NDMzMg== | simonw 9599 | 2021-05-17T17:15:45Z | 2021-05-17T17:16:04Z | OWNER | Datasette uses async templates which evidently have been improved in Jinja 2 3.0. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add support for Jinja2 version 3.0 893537744 | |
842312696 | https://github.com/simonw/datasette/pull/1330#issuecomment-842312696 | https://api.github.com/repos/simonw/datasette/issues/1330 | MDEyOklzc3VlQ29tbWVudDg0MjMxMjY5Ng== | codecov[bot] 22429695 | 2021-05-17T13:11:54Z | 2021-05-17T13:11:54Z | NONE | Codecov Report
```diff @@ Coverage Diff @@ main #1330 +/-==========================================
+ Coverage 91.51% 91.53% +0.02% | 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 } |
Update aiofiles requirement from <0.7,>=0.4 to >=0.4,<0.8 893314402 | |
839763280 | https://github.com/simonw/datasette/pull/1324#issuecomment-839763280 | https://api.github.com/repos/simonw/datasette/issues/1324 | MDEyOklzc3VlQ29tbWVudDgzOTc2MzI4MA== | codecov[bot] 22429695 | 2021-05-12T13:14:44Z | 2021-05-12T13:14:44Z | NONE | Codecov Report
```diff @@ Coverage Diff @@ main #1324 +/-==========================================
+ Coverage 91.51% 91.53% +0.02% | 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 } |
Update jinja2 requirement from <2.12.0,>=2.10.3 to >=2.10.3,<3.1.0 890073940 | |
839763094 | https://github.com/simonw/datasette/pull/1325#issuecomment-839763094 | https://api.github.com/repos/simonw/datasette/issues/1325 | MDEyOklzc3VlQ29tbWVudDgzOTc2MzA5NA== | codecov[bot] 22429695 | 2021-05-12T13:14:29Z | 2021-05-12T13:14:29Z | NONE | Codecov Report
```diff @@ Coverage Diff @@ main #1325 +/-==========================================
+ Coverage 91.51% 91.53% +0.02% | 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 } |
Update itsdangerous requirement from ~=1.1 to >=1.1,<3.0 890073989 | |
838458014 | https://github.com/simonw/datasette/pull/1321#issuecomment-838458014 | https://api.github.com/repos/simonw/datasette/issues/1321 | MDEyOklzc3VlQ29tbWVudDgzODQ1ODAxNA== | codecov[bot] 22429695 | 2021-05-11T13:18:12Z | 2021-05-11T13:18:12Z | NONE | Codecov Report
```diff @@ Coverage Diff @@ main #1321 +/-==========================================
+ Coverage 91.51% 91.53% +0.02% | 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 } |
Bump black from 21.4b2 to 21.5b1 887241681 | |
838449572 | https://github.com/simonw/datasette/pull/1318#issuecomment-838449572 | https://api.github.com/repos/simonw/datasette/issues/1318 | MDEyOklzc3VlQ29tbWVudDgzODQ0OTU3Mg== | dependabot[bot] 49699333 | 2021-05-11T13:12:30Z | 2021-05-11T13:12:30Z | CONTRIBUTOR | Superseded by #1321. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Bump black from 21.4b2 to 21.5b0 876431852 | |
837166862 | https://github.com/simonw/datasette/issues/1280#issuecomment-837166862 | https://api.github.com/repos/simonw/datasette/issues/1280 | MDEyOklzc3VlQ29tbWVudDgzNzE2Njg2Mg== | blairdrummond 10801138 | 2021-05-10T19:07:46Z | 2021-05-10T19:07:46Z | CONTRIBUTOR | Do you have a list of sqlite versions you want to test against? One cool thing I saw recently (that we started using) was using The inspiration for this came from the jupyter docker-stacks So off the top of my head, could look at building the container with different sqlite versions as a build-arg, then run tests against the containers. Just brainstorming though |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Ability to run CI against multiple SQLite versions 842862708 | |
835491318 | https://github.com/simonw/datasette/pull/1296#issuecomment-835491318 | https://api.github.com/repos/simonw/datasette/issues/1296 | MDEyOklzc3VlQ29tbWVudDgzNTQ5MTMxOA== | blairdrummond 10801138 | 2021-05-08T19:59:01Z | 2021-05-08T19:59:01Z | CONTRIBUTOR | I have also found that ubuntu has fewer vulnerabilities than the buster based images.
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Dockerfile: use Ubuntu 20.10 as base 855446829 | |
834636796 | https://github.com/simonw/datasette/issues/1168#issuecomment-834636796 | https://api.github.com/repos/simonw/datasette/issues/1168 | MDEyOklzc3VlQ29tbWVudDgzNDYzNjc5Ng== | simonw 9599 | 2021-05-07T17:22:52Z | 2021-05-07T17:22:52Z | OWNER | Related: Here's an implementation of a |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Mechanism for storing metadata in _metadata tables 777333388 | |
833132571 | https://github.com/simonw/datasette/issues/1300#issuecomment-833132571 | https://api.github.com/repos/simonw/datasette/issues/1300 | MDEyOklzc3VlQ29tbWVudDgzMzEzMjU3MQ== | abdusco 3243482 | 2021-05-06T00:16:50Z | 2021-05-06T00:18:05Z | CONTRIBUTOR | I ended up using some JS as a workaround. First, add a JS file in
```js window.addEventListener('DOMContentLoaded', () => { function renderBlobImages() { document.querySelectorAll('a[href*=".blob"]').forEach(el => { const img = document.createElement('img'); img.className = 'blob-image'; img.loading = 'lazy'; img.src = el.href.replace('.blob', '.jpg'); el.parentElement.replaceChild(img, el); }); }
}); ``` while this does the job, I'd prefer handling this in Python where it belongs. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Make row available to `render_cell` plugin hook 860625833 | |
832676649 | https://github.com/simonw/datasette/pull/1318#issuecomment-832676649 | https://api.github.com/repos/simonw/datasette/issues/1318 | MDEyOklzc3VlQ29tbWVudDgzMjY3NjY0OQ== | codecov[bot] 22429695 | 2021-05-05T13:13:45Z | 2021-05-05T13:13:45Z | NONE | Codecov Report
```diff @@ Coverage Diff @@ main #1318 +/-==========================================
+ Coverage 91.51% 91.53% +0.02% | 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 } |
Bump black from 21.4b2 to 21.5b0 876431852 | |
831004775 | https://github.com/dogsheep/genome-to-sqlite/issues/1#issuecomment-831004775 | https://api.github.com/repos/dogsheep/genome-to-sqlite/issues/1 | MDEyOklzc3VlQ29tbWVudDgzMTAwNDc3NQ== | cobiadigital 25372415 | 2021-05-03T03:46:23Z | 2021-05-03T03:46:23Z | NONE | RS1800955 is related to novelty seeking and ADHD https://www.snpedia.com/index.php/Rs1800955
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Figure out some interesting example SQL queries 496415321 | |
829885904 | https://github.com/simonw/datasette/issues/1310#issuecomment-829885904 | https://api.github.com/repos/simonw/datasette/issues/1310 | MDEyOklzc3VlQ29tbWVudDgyOTg4NTkwNA== | ColinMaudry 3747136 | 2021-04-30T06:58:46Z | 2021-04-30T07:26:11Z | NONE | I made it work with openpyxl. I'm not sure all the code under ```python from datasette import hookimpl from datasette.utils.asgi import Response from openpyxl import Workbook from openpyxl.writer.excel import save_virtual_workbook from openpyxl.cell import WriteOnlyCell from openpyxl.styles import Alignment, Font, PatternFill from tempfile import NamedTemporaryFile def render_spreadsheet(rows): wb = Workbook(write_only=True) ws = wb.create_sheet() ws = wb.active ws.title = "decp"
@hookimpl def register_output_renderer(): return {"extension": "xlsx", "render": render_spreadsheet, "can_render": lambda: False} ``` The key part was to find the right function to wrap the spreadsheet object I'll update this issue when the plugin is packaged and ready for broader use. |
{ "total_count": 1, "+1": 0, "-1": 0, "laugh": 0, "hooray": 1, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
I'm creating a plugin to export a spreadsheet file (.ods or .xlsx) 870125126 | |
829352402 | https://github.com/simonw/datasette/pull/1313#issuecomment-829352402 | https://api.github.com/repos/simonw/datasette/issues/1313 | MDEyOklzc3VlQ29tbWVudDgyOTM1MjQwMg== | dependabot-preview[bot] 27856297 | 2021-04-29T15:47:23Z | 2021-04-29T15:47:23Z | CONTRIBUTOR | This pull request will no longer be automatically closed when a new version is found as this pull request was created by Dependabot Preview and this repo is using a |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Bump black from 20.8b1 to 21.4b2 871046111 | |
829349118 | https://github.com/simonw/datasette/pull/1314#issuecomment-829349118 | https://api.github.com/repos/simonw/datasette/issues/1314 | MDEyOklzc3VlQ29tbWVudDgyOTM0OTExOA== | codecov[bot] 22429695 | 2021-04-29T15:43:32Z | 2021-04-29T15:43:32Z | NONE | Codecov Report
```diff @@ Coverage Diff @@ main #1314 +/-=======================================
Coverage 91.51% 91.51% 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 } |
Upgrade to GitHub-native Dependabot 871157602 | |
829265979 | https://github.com/simonw/datasette/pull/1313#issuecomment-829265979 | https://api.github.com/repos/simonw/datasette/issues/1313 | MDEyOklzc3VlQ29tbWVudDgyOTI2NTk3OQ== | codecov[bot] 22429695 | 2021-04-29T14:04:13Z | 2021-04-29T14:04:13Z | NONE | Codecov Report
```diff @@ Coverage Diff @@ main #1313 +/-=======================================
Coverage 91.51% 91.51% 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 } |
Bump black from 20.8b1 to 21.4b2 871046111 | |
829260725 | https://github.com/simonw/datasette/pull/1311#issuecomment-829260725 | https://api.github.com/repos/simonw/datasette/issues/1311 | MDEyOklzc3VlQ29tbWVudDgyOTI2MDcyNQ== | dependabot-preview[bot] 27856297 | 2021-04-29T13:58:08Z | 2021-04-29T13:58:08Z | CONTRIBUTOR | Superseded by #1313. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Bump black from 20.8b1 to 21.4b1 870227815 | |
828683322 | https://github.com/simonw/datasette/pull/1311#issuecomment-828683322 | https://api.github.com/repos/simonw/datasette/issues/1311 | MDEyOklzc3VlQ29tbWVudDgyODY4MzMyMg== | codecov[bot] 22429695 | 2021-04-28T18:30:49Z | 2021-04-28T18:30:49Z | NONE | Codecov Report
```diff @@ Coverage Diff @@ main #1311 +/-==========================================
+ Coverage 91.51% 91.58% +0.07% | Impacted Files | Coverage Δ | |
|---|---|---|
| datasette/database.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 } |
Bump black from 20.8b1 to 21.4b1 870227815 | |
828679943 | https://github.com/simonw/datasette/pull/1309#issuecomment-828679943 | https://api.github.com/repos/simonw/datasette/issues/1309 | MDEyOklzc3VlQ29tbWVudDgyODY3OTk0Mw== | dependabot-preview[bot] 27856297 | 2021-04-28T18:26:03Z | 2021-04-28T18:26:03Z | CONTRIBUTOR | Superseded by #1311. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Bump black from 20.8b1 to 21.4b0 869237023 | |
828670621 | https://github.com/simonw/datasette/issues/1310#issuecomment-828670621 | https://api.github.com/repos/simonw/datasette/issues/1310 | MDEyOklzc3VlQ29tbWVudDgyODY3MDYyMQ== | ColinMaudry 3747136 | 2021-04-28T18:12:08Z | 2021-04-28T18:12:08Z | NONE | Apparently, beside a string, Reponse could also work with bytes. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
I'm creating a plugin to export a spreadsheet file (.ods or .xlsx) 870125126 | |
827911909 | https://github.com/simonw/datasette/pull/1309#issuecomment-827911909 | https://api.github.com/repos/simonw/datasette/issues/1309 | MDEyOklzc3VlQ29tbWVudDgyNzkxMTkwOQ== | codecov[bot] 22429695 | 2021-04-27T20:35:15Z | 2021-04-27T20:35:15Z | NONE | Codecov Report
```diff @@ Coverage Diff @@ main #1309 +/-=======================================
Coverage 91.51% 91.51% 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 } |
Bump black from 20.8b1 to 21.4b0 869237023 | |
826784306 | https://github.com/simonw/datasette/issues/173#issuecomment-826784306 | https://api.github.com/repos/simonw/datasette/issues/173 | MDEyOklzc3VlQ29tbWVudDgyNjc4NDMwNg== | ColinMaudry 3747136 | 2021-04-26T12:10:01Z | 2021-04-26T12:10:01Z | NONE | I found a neat tutorial to set up gettext with jinja2: http://siongui.github.io/2016/01/17/i18n-python-web-application-by-gettext-jinja2/ |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
I18n and L10n support 281110295 | |
826041458 | https://github.com/simonw/datasette/issues/1308#issuecomment-826041458 | https://api.github.com/repos/simonw/datasette/issues/1308 | MDEyOklzc3VlQ29tbWVudDgyNjA0MTQ1OA== | simonw 9599 | 2021-04-24T06:07:01Z | 2021-04-24T06:07:01Z | OWNER | I can use ``` |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Columns named "link" display in bold 866668415 | |
826040909 | https://github.com/simonw/datasette/issues/1308#issuecomment-826040909 | https://api.github.com/repos/simonw/datasette/issues/1308 | MDEyOklzc3VlQ29tbWVudDgyNjA0MDkwOQ== | simonw 9599 | 2021-04-24T06:01:21Z | 2021-04-24T06:01:21Z | OWNER | Demo:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Columns named "link" display in bold 866668415 | |
826040676 | https://github.com/simonw/datasette/issues/1308#issuecomment-826040676 | https://api.github.com/repos/simonw/datasette/issues/1308 | MDEyOklzc3VlQ29tbWVudDgyNjA0MDY3Ng== | simonw 9599 | 2021-04-24T05:58:35Z | 2021-04-24T05:58:35Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Columns named "link" display in bold 866668415 | ||
824866566 | https://github.com/simonw/datasette/pull/1306#issuecomment-824866566 | https://api.github.com/repos/simonw/datasette/issues/1306 | MDEyOklzc3VlQ29tbWVudDgyNDg2NjU2Ng== | codecov[bot] 22429695 | 2021-04-22T13:59:04Z | 2021-04-22T13:59:04Z | NONE | Codecov Report
```diff @@ Coverage Diff @@ main #1306 +/-=======================================
Coverage 91.51% 91.51% | Impacted Files | Coverage Δ | |
|---|---|---|
| datasette/views/index.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 } |
Avoid error sorting by relationships if related tables are not allowed 864979486 | |
823961091 | https://github.com/simonw/datasette/issues/173#issuecomment-823961091 | https://api.github.com/repos/simonw/datasette/issues/173 | MDEyOklzc3VlQ29tbWVudDgyMzk2MTA5MQ== | ColinMaudry 3747136 | 2021-04-21T10:37:05Z | 2021-04-21T10:37:36Z | NONE | I have the feeling that the text visible to users is 95% present in template files (datasette/templates). The python code mainly contains error messages. In the current situation, the best way to provide a localized frontend is to translate the templates and configure datasette to use them. I think I'm going to do it for French. If we want localization to be better integrated, for the python code, I think gettext is the way to go. The .po can be translated in user-friendly tools such as Transifex and Crowdin. For the templates, I'm not sure how we could do it cleanly and easy to maintain. Maybe the tools above could parse HTML and detect the strings to be translated. In any case, localization implementing l10n is just the first step: a continuous process must be setup to maintain the translations and produce new ones while datasette keeps getting new features. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
I18n and L10n support 281110295 | |
823102978 | https://github.com/simonw/datasette/issues/1298#issuecomment-823102978 | https://api.github.com/repos/simonw/datasette/issues/1298 | MDEyOklzc3VlQ29tbWVudDgyMzEwMjk3OA== | dracos 154364 | 2021-04-20T08:51:23Z | 2021-04-20T08:51:23Z | NONE |
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
improve table horizontal scroll experience 855476501 | |
823093669 | https://github.com/simonw/datasette/issues/1298#issuecomment-823093669 | https://api.github.com/repos/simonw/datasette/issues/1298 | MDEyOklzc3VlQ29tbWVudDgyMzA5MzY2OQ== | mroswell 192568 | 2021-04-20T08:38:10Z | 2021-04-20T08:40:22Z | CONTRIBUTOR | @dracos I appreciate your ideas!
But meanwhile, I'm going to go ahead and see if I can apply that shadow. (Never would've thought of that.) Hmmm... I'm not an SCSS person. This looks helpful! https://jsonformatter.org/scss-to-css |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
improve table horizontal scroll experience 855476501 | |
823064725 | https://github.com/simonw/datasette/issues/1298#issuecomment-823064725 | https://api.github.com/repos/simonw/datasette/issues/1298 | MDEyOklzc3VlQ29tbWVudDgyMzA2NDcyNQ== | dracos 154364 | 2021-04-20T07:57:14Z | 2021-04-20T07:57:14Z | NONE | My suggestions, originally made on twitter, but might be better here now:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
improve table horizontal scroll experience 855476501 | |
822486113 | https://github.com/simonw/datasette/pull/1303#issuecomment-822486113 | https://api.github.com/repos/simonw/datasette/issues/1303 | MDEyOklzc3VlQ29tbWVudDgyMjQ4NjExMw== | codecov[bot] 22429695 | 2021-04-19T13:55:24Z | 2021-04-19T13:55:24Z | NONE | Codecov Report
```diff @@ Coverage Diff @@ main #1303 +/-=======================================
Coverage 91.51% 91.51% 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 } |
Update pytest-asyncio requirement from <0.15,>=0.10 to >=0.10,<0.16 861331159 | |
821971059 | https://github.com/simonw/datasette/issues/1300#issuecomment-821971059 | https://api.github.com/repos/simonw/datasette/issues/1300 | MDEyOklzc3VlQ29tbWVudDgyMTk3MTA1OQ== | abdusco 3243482 | 2021-04-18T10:42:19Z | 2021-04-18T10:42:19Z | CONTRIBUTOR | If there's a simpler way to generate a URL for a specific row, I'm all ears |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Make row available to `render_cell` plugin hook 860625833 | |
821970965 | https://github.com/simonw/datasette/issues/1300#issuecomment-821970965 | https://api.github.com/repos/simonw/datasette/issues/1300 | MDEyOklzc3VlQ29tbWVudDgyMTk3MDk2NQ== | abdusco 3243482 | 2021-04-18T10:41:15Z | 2021-04-18T10:41:15Z | CONTRIBUTOR | If I change the hookspec and add a row parameter, it works
But to generate a URL, I need the primary keys, but I can't call |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Make row available to `render_cell` plugin hook 860625833 | |
819775388 | https://github.com/simonw/datasette/issues/1196#issuecomment-819775388 | https://api.github.com/repos/simonw/datasette/issues/1196 | MDEyOklzc3VlQ29tbWVudDgxOTc3NTM4OA== | robroc 1219001 | 2021-04-14T19:28:38Z | 2021-04-14T19:28:38Z | NONE | @QAInsights I'm having a similar problem when publishing to Cloud Run on Windows. It's not able to access certain packages in my conda environment where Datasette is installed. Can you explain how you got it to work in WSL? Were you able to access the .db file in the Windows file system? Thank you. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Access Denied Error in Windows 791237799 | |
819467759 | https://github.com/simonw/datasette/pull/1296#issuecomment-819467759 | https://api.github.com/repos/simonw/datasette/issues/1296 | MDEyOklzc3VlQ29tbWVudDgxOTQ2Nzc1OQ== | camallen 295329 | 2021-04-14T12:07:37Z | 2021-04-14T12:11:36Z | CONTRIBUTOR |
this PR helps me as removing the /var/lib/apt and /var/lib/dpkg directories breaks my ability to add packages when using Shorterm workaround for me was to use this in my Dockerfile ``` FROM datasetteproject/datasette:0.56 RUN mkdir -p /var/lib/apt RUN mkdir -p /var/lib/dpkg RUN mkdir -p /var/lib/dpkg/updates RUN mkdir -p /var/lib/dpkg/info RUN touch /var/lib/dpkg/status RUN apt-get update # and install your packages etc ``` |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Dockerfile: use Ubuntu 20.10 as base 855446829 | |
817414881 | https://github.com/simonw/datasette/issues/830#issuecomment-817414881 | https://api.github.com/repos/simonw/datasette/issues/830 | MDEyOklzc3VlQ29tbWVudDgxNzQxNDg4MQ== | mroswell 192568 | 2021-04-12T01:06:34Z | 2021-04-12T01:07:27Z | CONTRIBUTOR | Related: #1285, including arguments for natural breaks, equal interval, etc. modeled after choropleth map legends. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Redesign register_facet_classes plugin hook 636511683 | |
817301355 | https://github.com/simonw/datasette/issues/1295#issuecomment-817301355 | https://api.github.com/repos/simonw/datasette/issues/1295 | MDEyOklzc3VlQ29tbWVudDgxNzMwMTM1NQ== | simonw 9599 | 2021-04-11T12:40:25Z | 2021-04-11T12:41:06Z | OWNER | I could have a page about error codes in the docs, then have Can enforce these with a documentation unit test. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Errors should have links to further information 855296937 | |
815978405 | https://github.com/simonw/datasette/issues/1286#issuecomment-815978405 | https://api.github.com/repos/simonw/datasette/issues/1286 | MDEyOklzc3VlQ29tbWVudDgxNTk3ODQwNQ== | mroswell 192568 | 2021-04-08T16:47:29Z | 2021-04-10T03:59:00Z | CONTRIBUTOR | This worked for me: I'm sure there is a prettier (and more flexible) way, but for now, this is ever-so-much more pleasant to look at. ------ AFTER: ------ BEFORE: (Note: I didn't figure out how to have one item have no semicolon, while multi-items close with a semicolon, but this is good enough for now. I also didn't figure out how to set up a new jinja filter. I don't want to add to /datasette/utils/init.py as I assume that would get overwritten when upgrading datasette. Having a starter guide on creating jinja filters in datasette would be helpful. (The jinja documentation isn't datasette-specific enough for me to quite nail it.) |
{ "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Better default display of arrays of items 849220154 | |
813480043 | https://github.com/simonw/datasette/issues/1293#issuecomment-813480043 | https://api.github.com/repos/simonw/datasette/issues/1293 | MDEyOklzc3VlQ29tbWVudDgxMzQ4MDA0Mw== | simonw 9599 | 2021-04-05T16:16:17Z | 2021-04-05T16:16:17Z | OWNER | https://latest.datasette.io/fixtures?sql=explain+select+*+from+paginated_view will be an interesting test query - because
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Show column metadata plus links for foreign keys on arbitrary query results 849978964 | |
813445512 | https://github.com/simonw/datasette/issues/1293#issuecomment-813445512 | https://api.github.com/repos/simonw/datasette/issues/1293 | MDEyOklzc3VlQ29tbWVudDgxMzQ0NTUxMg== | simonw 9599 | 2021-04-05T15:11:40Z | 2021-04-05T15:11:40Z | OWNER | Here's some older example code that works with opcodes from Python, in this case to output indexes used by a query: https://github.com/plasticityai/supersqlite/blob/master/supersqlite/idxchk.py |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Show column metadata plus links for foreign keys on arbitrary query results 849978964 | |
813438771 | https://github.com/simonw/datasette/issues/1293#issuecomment-813438771 | https://api.github.com/repos/simonw/datasette/issues/1293 | MDEyOklzc3VlQ29tbWVudDgxMzQzODc3MQ== | simonw 9599 | 2021-04-05T14:58:48Z | 2021-04-05T14:58:48Z | OWNER | I may need to do something special for rowid columns - there is a |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Show column metadata plus links for foreign keys on arbitrary query results 849978964 | |
813249000 | https://github.com/dogsheep/dogsheep-photos/issues/35#issuecomment-813249000 | https://api.github.com/repos/dogsheep/dogsheep-photos/issues/35 | MDEyOklzc3VlQ29tbWVudDgxMzI0OTAwMA== | ligurio 1151557 | 2021-04-05T07:37:57Z | 2021-04-05T07:37:57Z | NONE | There are trained ML models used in Photoprism: - https://dl.photoprism.org/tensorflow/nasnet.zip - https://dl.photoprism.org/tensorflow/nsfw.zip |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Support to annotate photos on other than macOS OSes 842695374 | |
813167335 | https://github.com/simonw/datasette/issues/620#issuecomment-813167335 | https://api.github.com/repos/simonw/datasette/issues/620 | MDEyOklzc3VlQ29tbWVudDgxMzE2NzMzNQ== | simonw 9599 | 2021-04-05T03:57:22Z | 2021-04-05T03:57:22Z | OWNER | This may be obsoleted by #1293 - it looks like I may be able to auto-detect these foreign keys for arbitrary queries after all. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Mechanism for indicating foreign key relationships in the table and query page URLs 520667773 | |
813164282 | https://github.com/simonw/datasette/issues/1293#issuecomment-813164282 | https://api.github.com/repos/simonw/datasette/issues/1293 | MDEyOklzc3VlQ29tbWVudDgxMzE2NDI4Mg== | simonw 9599 | 2021-04-05T03:42:26Z | 2021-04-05T03:42:36Z | OWNER | Extracting variables with this trick appears to work OK, but you have to pass the correct variables to the ```pycon
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Show column metadata plus links for foreign keys on arbitrary query results 849978964 | |
813162622 | https://github.com/simonw/datasette/issues/1293#issuecomment-813162622 | https://api.github.com/repos/simonw/datasette/issues/1293 | MDEyOklzc3VlQ29tbWVudDgxMzE2MjYyMg== | simonw 9599 | 2021-04-05T03:34:24Z | 2021-04-05T03:40:35Z | OWNER | This almost works, but throws errors with some queries (anything with a |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Show column metadata plus links for foreign keys on arbitrary query results 849978964 | |
813134637 | https://github.com/simonw/datasette/issues/1293#issuecomment-813134637 | https://api.github.com/repos/simonw/datasette/issues/1293 | MDEyOklzc3VlQ29tbWVudDgxMzEzNDYzNw== | simonw 9599 | 2021-04-05T01:21:59Z | 2021-04-05T01:21:59Z | OWNER | http://www.sqlite.org/draft/lang_explain.html says:
I'm going to keep exploring this though. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Show column metadata plus links for foreign keys on arbitrary query results 849978964 | |
813134227 | https://github.com/simonw/datasette/issues/1293#issuecomment-813134227 | https://api.github.com/repos/simonw/datasette/issues/1293 | MDEyOklzc3VlQ29tbWVudDgxMzEzNDIyNw== | simonw 9599 | 2021-04-05T01:19:31Z | 2021-04-05T01:19:31Z | OWNER | | addr | opcode | p1 | p2 | p3 | p4 | p5 | comment | |--------|---------------|------|------|------|-----------------------|------|-----------| | 0 | Init | 0 | 47 | 0 | | 00 | | | 1 | OpenRead | 0 | 51 | 0 | 15 | 00 | | | 2 | Integer | 15 | 2 | 0 | | 00 | | | 3 | Once | 0 | 15 | 0 | | 00 | | | 4 | OpenEphemeral | 2 | 1 | 0 | k(1,) | 00 | | | 5 | VOpen | 1 | 0 | 0 | vtab:3E692C362158 | 00 | | | 6 | String8 | 0 | 5 | 0 | CPAD_2020a_SuperUnits | 00 | | | 7 | SCopy | 7 | 6 | 0 | | 00 | | | 8 | Integer | 2 | 3 | 0 | | 00 | | | 9 | Integer | 2 | 4 | 0 | | 00 | | | 10 | VFilter | 1 | 15 | 3 | | 00 | | | 11 | Rowid | 1 | 8 | 0 | | 00 | | | 12 | MakeRecord | 8 | 1 | 9 | C | 00 | | | 13 | IdxInsert | 2 | 9 | 8 | 1 | 00 | | | 14 | VNext | 1 | 11 | 0 | | 00 | | | 15 | Return | 2 | 0 | 0 | | 00 | | | 16 | Rewind | 2 | 46 | 0 | | 00 | | | 17 | Column | 2 | 0 | 1 | | 00 | | | 18 | IsNull | 1 | 45 | 0 | | 00 | | | 19 | SeekRowid | 0 | 45 | 1 | | 00 | | | 20 | Column | 0 | 2 | 11 | | 00 | | | 21 | Function0 | 1 | 10 | 9 | like(2) | 02 | | | 22 | IfNot | 9 | 45 | 1 | | 00 | | | 23 | Column | 0 | 14 | 13 | | 00 | | | 24 | Function0 | 1 | 12 | 9 | intersects(2) | 02 | | | 25 | Ne | 14 | 45 | 9 | | 51 | | | 26 | Column | 0 | 14 | 9 | | 00 | | | 27 | Function0 | 0 | 9 | 15 | asgeojson(1) | 01 | | | 28 | Rowid | 0 | 16 | 0 | | 00 | | | 29 | Column | 0 | 1 | 17 | | 00 | | | 30 | Column | 0 | 2 | 18 | | 00 | | | 31 | Column | 0 | 3 | 19 | | 00 | | | 32 | Column | 0 | 4 | 20 | | 00 | | | 33 | Column | 0 | 5 | 21 | | 00 | | | 34 | Column | 0 | 6 | 22 | | 00 | | | 35 | Column | 0 | 7 | 23 | | 00 | | | 36 | Column | 0 | 8 | 24 | | 00 | | | 37 | Column | 0 | 9 | 25 | | 00 | | | 38 | Column | 0 | 10 | 26 | | 00 | | | 39 | Column | 0 | 11 | 27 | | 00 | | | 40 | RealAffinity | 27 | 0 | 0 | | 00 | | | 41 | Column | 0 | 12 | 28 | | 00 | | | 42 | Column | 0 | 13 | 29 | | 00 | | | 43 | Column | 0 | 14 | 30 | | 00 | | | 44 | ResultRow | 15 | 16 | 0 | | 00 | | | 45 | Next | 2 | 17 | 0 | | 00 | | | 46 | Halt | 0 | 0 | 0 | | 00 | | | 47 | Transaction | 0 | 0 | 265 | 0 | 01 | | | 48 | Variable | 1 | 31 | 0 | :freedraw | 00 | | | 49 | Function0 | 1 | 31 | 7 | geomfromgeojson(1) | 01 | | | 50 | String8 | 0 | 10 | 0 | %mini% | 00 | | | 51 | Variable | 1 | 32 | 0 | :freedraw | 00 | | | 52 | Function0 | 1 | 32 | 12 | geomfromgeojson(1) | 01 | | | 53 | Integer | 1 | 14 | 0 | | 00 | | | 54 | Goto | 0 | 1 | 0 | | 00 | | Essential documentation for understanding that output: https://www.sqlite.org/opcode.html |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Show column metadata plus links for foreign keys on arbitrary query results 849978964 | |
813134072 | https://github.com/simonw/datasette/issues/1293#issuecomment-813134072 | https://api.github.com/repos/simonw/datasette/issues/1293 | MDEyOklzc3VlQ29tbWVudDgxMzEzNDA3Mg== | simonw 9599 | 2021-04-05T01:18:37Z | 2021-04-05T01:18:37Z | OWNER | Had a fantastic suggestion on the SQLite forum: it might be possible to get what I want by interpreting the opcodes output by Copying the reply I posted to this thread: That's really useful, thanks! It looks like it might be possible for me to reconstruct where each column came from using the It looks like the opcodes I need to inspect are
The The I think this might work! |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Show column metadata plus links for foreign keys on arbitrary query results 849978964 | |
813116177 | https://github.com/simonw/datasette/issues/1293#issuecomment-813116177 | https://api.github.com/repos/simonw/datasette/issues/1293 | MDEyOklzc3VlQ29tbWVudDgxMzExNjE3Nw== | simonw 9599 | 2021-04-04T23:31:00Z | 2021-04-04T23:31:00Z | OWNER | Sadly it doesn't do what I need. This query should only return one column, but instead I get back every column that was consulted by the query: |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Show column metadata plus links for foreign keys on arbitrary query results 849978964 | |
813115607 | https://github.com/simonw/datasette/issues/1293#issuecomment-813115607 | https://api.github.com/repos/simonw/datasette/issues/1293 | MDEyOklzc3VlQ29tbWVudDgxMzExNTYwNw== | simonw 9599 | 2021-04-04T23:25:15Z | 2021-04-04T23:25:15Z | OWNER | Oh wow, I just spotted https://github.com/macbre/sql-metadata
It's for MySQL, PostgreSQL and Hive right now but maybe getting it working with SQLite wouldn't be too hard? |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Show column metadata plus links for foreign keys on arbitrary query results 849978964 | |
813115414 | https://github.com/simonw/datasette/issues/1293#issuecomment-813115414 | https://api.github.com/repos/simonw/datasette/issues/1293 | MDEyOklzc3VlQ29tbWVudDgxMzExNTQxNA== | simonw 9599 | 2021-04-04T23:23:34Z | 2021-04-04T23:23:34Z | OWNER | The other approach I considered for this was to have my own SQL query parser running in Python, which could pick apart a complex query and figure out which column was sourced from which table. I dropped this idea because it felt that the moment A Python parser approach might be good enough to handle a subset of queries - those that don't use |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Show column metadata plus links for foreign keys on arbitrary query results 849978964 | |
813114933 | https://github.com/simonw/datasette/issues/1293#issuecomment-813114933 | https://api.github.com/repos/simonw/datasette/issues/1293 | MDEyOklzc3VlQ29tbWVudDgxMzExNDkzMw== | simonw 9599 | 2021-04-04T23:19:22Z | 2021-04-04T23:19:22Z | OWNER | I asked about this on the SQLite forum: https://sqlite.org/forum/forumpost/0180277fb7 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Show column metadata plus links for foreign keys on arbitrary query results 849978964 | |
813113653 | https://github.com/simonw/datasette/issues/1293#issuecomment-813113653 | https://api.github.com/repos/simonw/datasette/issues/1293 | MDEyOklzc3VlQ29tbWVudDgxMzExMzY1Mw== | simonw 9599 | 2021-04-04T23:10:49Z | 2021-04-04T23:10:49Z | OWNER | One option I've not fully explored yet: could I write my own custom SQLite C extension which exposes this functionality as a callable function? Then I could load that extension and run a SQL query something like this:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Show column metadata plus links for foreign keys on arbitrary query results 849978964 | |
813113403 | https://github.com/simonw/datasette/issues/1293#issuecomment-813113403 | https://api.github.com/repos/simonw/datasette/issues/1293 | MDEyOklzc3VlQ29tbWVudDgxMzExMzQwMw== | simonw 9599 | 2021-04-04T23:08:48Z | 2021-04-04T23:08:48Z | OWNER | Worth noting that adding |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Show column metadata plus links for foreign keys on arbitrary query results 849978964 | |
813113218 | https://github.com/simonw/datasette/issues/1293#issuecomment-813113218 | https://api.github.com/repos/simonw/datasette/issues/1293 | MDEyOklzc3VlQ29tbWVudDgxMzExMzIxOA== | simonw 9599 | 2021-04-04T23:07:25Z | 2021-04-04T23:07:25Z | OWNER | Here are all of the available constants:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Show column metadata plus links for foreign keys on arbitrary query results 849978964 | |
813113175 | https://github.com/simonw/datasette/issues/1293#issuecomment-813113175 | https://api.github.com/repos/simonw/datasette/issues/1293 | MDEyOklzc3VlQ29tbWVudDgxMzExMzE3NQ== | simonw 9599 | 2021-04-04T23:07:01Z | 2021-04-04T23:07:01Z | OWNER | A more promising route I found involved the ```pycon
Then I found a snag:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Show column metadata plus links for foreign keys on arbitrary query results 849978964 |
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