issues
1,310 rows where repo = 107914493, type = "issue" and user = 9599 sorted by updated_at descending
This data as json, CSV (advanced)
id | node_id | number | title | user | state | locked | assignee | milestone | comments | created_at | updated_at ▲ | closed_at | author_association | pull_request | body | repo | type | active_lock_reason | performed_via_github_app | reactions | draft | state_reason |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
268469569 | MDU6SXNzdWUyNjg0Njk1Njk= | 39 | Protect against malicious SQL that causes damage even though our DB is immutable | simonw 9599 | closed | 0 | Ship first public release 2857392 | 4 | 2017-10-25T16:44:27Z | 2021-08-17T23:52:07Z | 2017-11-05T02:53:47Z | OWNER | I’m currently operating under the assumption that it’s safe to allow arbitrary SQL statements because we are dealing with an immutable database. But this might not be the case - there are some pretty weird SQLite language extensions (ATTACH, PRAGMA etc) and I’m not certain they cannot be used to break things in a way that would affect future requests to the API. Solution: provide a “safe mode” option which disables the ?sql= mechanism. This still leaves the URL filter lookups, so I need to make sure that those are “safe”. In the future I may also implement a whitelist option where datasets can be configured to only allow specific filters against specific columns. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/39/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
970626625 | MDU6SXNzdWU5NzA2MjY2MjU= | 1435 | Turn off suggest facets on tables with large numbers of columns | simonw 9599 | open | 0 | 0 | 2021-08-13T18:30:48Z | 2021-08-13T18:30:48Z | OWNER | If a table has 200 columns it will take multiple seconds to try and suggest facets. I should either quit after the first 20 or not suggest facets at all. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1435/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
969548935 | MDU6SXNzdWU5Njk1NDg5MzU= | 1429 | UI for setting `?_size=max` on table page | simonw 9599 | open | 0 | 2 | 2021-08-12T20:52:09Z | 2021-08-13T04:37:41Z | OWNER | It defaults to 100 per page, but you can increase that to 1000 per page using But... that's only available to people who know how to hack URLs. Solution: add a link that sets that option to the pagination block at the bottom of the table: |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1429/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
969840302 | MDU6SXNzdWU5Njk4NDAzMDI= | 1431 | `--help-config` should be called `--help-settings` | simonw 9599 | closed | 0 | 1 | 2021-08-13T00:46:48Z | 2021-08-13T01:01:58Z | 2021-08-13T01:01:58Z | OWNER | Follow-on from #1105 rebranding exercise. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1431/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
963528457 | MDU6SXNzdWU5NjM1Mjg0NTc= | 1425 | render_cell() hook should support returning an awaitable | simonw 9599 | closed | 0 | 11 | 2021-08-08T22:32:29Z | 2021-08-09T07:14:35Z | 2021-08-09T03:00:37Z | OWNER | Many of the plugin hooks can return an awaitable - e.g. https://docs.datasette.io/en/stable/plugin_hooks.html#plugin-hook-extra-template-vars - but I recently found myself wanting to execute an additional SQL query from that hook, but it wasn't possible to do that since I couldn't use |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1425/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
963527045 | MDU6SXNzdWU5NjM1MjcwNDU= | 1424 | Document exceptions that can be raised by db.execute() and friends | simonw 9599 | open | 0 | 4 | 2021-08-08T22:23:25Z | 2021-08-08T22:27:31Z | OWNER | Not currently covered here: https://docs.datasette.io/en/stable/internals.html#await-db-execute-sql |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1424/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
961367843 | MDU6SXNzdWU5NjEzNjc4NDM= | 1422 | Ability to default to hiding the SQL for a canned query | simonw 9599 | closed | 0 | 4 | 2021-08-05T02:51:39Z | 2021-08-07T05:32:29Z | 2021-08-07T05:32:29Z | OWNER | I'm working on a project with some HUGE (400+ lines of SQL) canned queries right now. Any time you land on the canned query page you have to scroll down a long distance to get to the results! Would be useful to be able to default to https://latest.datasette.io/fixtures/magic_parameters?_hide_sql=1 without needing the parameter. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1422/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
959898166 | MDU6SXNzdWU5NTk4OTgxNjY= | 1420 | `datasette publish cloudrun --cpu X` option | simonw 9599 | closed | 0 | 5 | 2021-08-04T05:04:31Z | 2021-08-05T00:54:59Z | 2021-08-04T05:33:48Z | OWNER | For setting the number of vCPUs - current valid values are 1, 2 or 4: https://cloud.google.com/run/docs/configuring/cpu Pass that through to |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1420/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
959278472 | MDU6SXNzdWU5NTkyNzg0NzI= | 1417 | Use codespell in CI to spot spelling errors | simonw 9599 | closed | 0 | 1 | 2021-08-03T16:14:15Z | 2021-08-03T16:36:40Z | 2021-08-03T16:36:40Z | OWNER | I noticed Rich is using this: https://github.com/willmcgugan/rich/commit/9c12a4537499797c43725fff5276ef0da62423ef#diff-ce84a1b2c9eb4ab3ea22f610cad7111cb9a2f66365c3b24679901376a2a73ab2 Ran it against the Datasette docs and found a bunch of obvious fixes, surprisingly with no false positives.
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1417/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
959276629 | MDU6SXNzdWU5NTkyNzY2Mjk= | 1416 | Use rich to render tracebacks on errors, if available | simonw 9599 | closed | 0 | 0 | 2021-08-03T16:12:08Z | 2021-08-03T16:12:51Z | 2021-08-03T16:12:51Z | OWNER |
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1416/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
810394616 | MDU6SXNzdWU4MTAzOTQ2MTY= | 1227 | Configure sphinx.ext.extlinks for issues | simonw 9599 | closed | 0 | 1 | 2021-02-17T17:38:02Z | 2021-08-02T21:38:39Z | 2021-02-18T01:20:33Z | OWNER | Spotted this in the aspw documentation: https://github.com/rogerbinns/apsw/blob/3.34.0-r1/doc/conf.py#L29-L36
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1227/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
957345476 | MDU6SXNzdWU5NTczNDU0NzY= | 1411 | Canned query ?sql= is pointlessly echoed in query string starting from hidden mode | simonw 9599 | closed | 0 | 1 | 2021-08-01T00:17:13Z | 2021-08-01T03:27:30Z | 2021-08-01T00:58:17Z | OWNER | Example: https://latest.datasette.io/fixtures/neighborhood_search?text=cork&_hide_sql=1 Submitting that form again results in this: Because the HTML on https://latest.datasette.io/fixtures/neighborhood_search?text=cork&_hide_sql=1 includes this: ```html Custom SQL query returning 1 row
select neighborhood, facet_cities.name, state from facetable join facet_cities on facetable.city_id = facet_cities.id where neighborhood like '%' || :text || '%' order by neighborhood; "> ``` |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1411/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
957347860 | MDU6SXNzdWU5NTczNDc4NjA= | 1412 | Mention WAL mode in the documentation (plus backup tips) | simonw 9599 | open | 0 | 0 | 2021-08-01T00:27:11Z | 2021-08-01T00:27:11Z | OWNER | This is useful for people who are deploying Datasette with any write functionality, especially if they might be using something like EFS. I can add a section about this to the bottom of https://docs.datasette.io/en/stable/deploying.html and then link to that section from both https://docs.datasette.io/en/stable/sql_queries.html#writable-canned-queries and https://docs.datasette.io/en/stable/internals.html#await-db-execute-write-sql-params-none-block-false Also useful: mention that just copying a SQLite database file while it is being written to may not get a consistent file, so tell people to use one of the SQLite backup mechanisms instead. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1412/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
957315684 | MDU6SXNzdWU5NTczMTU2ODQ= | 1410 | Rename settings to `default_allow_facet` and `default_allow_download` and `default_allow_csv_stream` | simonw 9599 | open | 0 | Datasette 1.0 3268330 | 0 | 2021-07-31T20:27:12Z | 2021-07-31T20:27:49Z | OWNER |
Originally posted by @simonw in https://github.com/simonw/datasette/issues/1409#issuecomment-890400425 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1410/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
|||||||
957298475 | MDU6SXNzdWU5NTcyOTg0NzU= | 1407 | OSError: AF_UNIX path too long in ds_unix_domain_socket_server | simonw 9599 | closed | 0 | 2 | 2021-07-31T18:36:06Z | 2021-07-31T19:03:44Z | 2021-07-31T19:03:44Z | OWNER | Got this exception while working on #1406. ``` @pytest.fixture(scope="session") def ds_unix_domain_socket_server(tmp_path_factory): socket_folder = tmp_path_factory.mktemp("uds") uds = str(socket_folder / "datasette.sock") ds_proc = subprocess.Popen( ["datasette", "--memory", "--uds", uds], stdout=subprocess.PIPE, stderr=subprocess.STDOUT, cwd=tempfile.gettempdir(), ) # Give the server time to start time.sleep(1.5) # Check it started successfully
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1407/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
957302085 | MDU6SXNzdWU5NTczMDIwODU= | 1408 | Review places in codebase that use os.chdir(), in particularly relating to tests | simonw 9599 | open | 0 | 2 | 2021-07-31T18:57:06Z | 2021-07-31T19:00:32Z | OWNER |
Originally posted by @simonw in https://github.com/simonw/datasette/issues/1406#issuecomment-890390198 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1408/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
956303470 | MDU6SXNzdWU5NTYzMDM0NzA= | 1406 | Tests failing with FileNotFoundError in runner.isolated_filesystem | simonw 9599 | closed | 0 | 8 | 2021-07-30T00:39:00Z | 2021-07-31T18:56:35Z | 2021-07-31T18:56:35Z | OWNER | e.g. https://github.com/simonw/datasette/runs/3197141955 I've seen this error before, but I don't yet have a good workaround for it. ``` @contextlib.contextmanager def isolated_filesystem( self, temp_dir: t.Optional[t.Union[str, os.PathLike]] = None ) -> t.Iterator[str]: """A context manager that creates a temporary directory and changes the current working directory to it. This isolates tests that affect the contents of the CWD to prevent them from interfering with each other.
/opt/hostedtoolcache/Python/3.6.14/x64/lib/python3.6/site-packages/click/testing.py:466: FileNotFoundError =========================== short test summary info ============================ FAILED tests/test_publish_cloudrun.py::test_publish_cloudrun_apt_get_install FAILED tests/test_publish_cloudrun.py::test_publish_cloudrun_extra_options[---setting force_https_urls on] FAILED tests/test_publish_cloudrun.py::test_publish_cloudrun_extra_options[--setting base_url /foo---setting base_url /foo --setting force_https_urls on] FAILED tests/test_publish_cloudrun.py::test_publish_cloudrun_extra_options[--setting force_https_urls off---setting force_https_urls off] FAILED tests/test_publish_heroku.py::test_publish_heroku_requires_heroku - Fi... FAILED tests/test_publish_heroku.py::test_publish_heroku_installs_plugin - Fi... FAILED tests/test_publish_heroku.py::test_publish_heroku - FileNotFoundError:... FAILED tests/test_publish_heroku.py::test_publish_heroku_plugin_secrets - Fil... ================== 8 failed, 920 passed in 188.22s (0:03:08) =================== ``` |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1406/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
947044667 | MDU6SXNzdWU5NDcwNDQ2Njc= | 1398 | Documentation on using Datasette as a library | simonw 9599 | open | 0 | 1 | 2021-07-18T14:15:27Z | 2021-07-30T03:21:49Z | OWNER | Instantiating Maybe support |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1398/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
955316250 | MDU6SXNzdWU5NTUzMTYyNTA= | 1405 | utils.parse_metadata() should be a documented internal function | simonw 9599 | closed | 0 | 3 | 2021-07-28T23:51:39Z | 2021-07-29T23:33:30Z | 2021-07-29T23:30:24Z | OWNER | Because it's used by this plugin: https://github.com/simonw/datasette-remote-metadata |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1405/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
953352015 | MDU6SXNzdWU5NTMzNTIwMTU= | 1404 | `register_routes()` hook should take `datasette` argument | simonw 9599 | closed | 0 | 1 | 2021-07-26T23:00:33Z | 2021-07-26T23:27:07Z | 2021-07-26T23:26:00Z | OWNER | Currently that plugin hook takes no arguments at all. This means it's not possible to conditionally register routes based on Datasette plugin configuration. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1404/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
275125561 | MDU6SXNzdWUyNzUxMjU1NjE= | 123 | Datasette serve should accept paths/URLs to CSVs and other file formats | simonw 9599 | open | 0 | 9 | 2017-11-19T02:05:48Z | 2021-07-19T00:04:32Z | OWNER | This would remove the csvs-to-sqlite step which I end up using for almost everything. I'm hesitant to introduce pandas as a required dependency though since it require compiling numpy. Could build it so this option is only available if you have pandas installed. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/123/reactions", "total_count": 1, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 1, "rocket": 0, "eyes": 0 } |
||||||||
792652391 | MDU6SXNzdWU3OTI2NTIzOTE= | 1199 | Experiment with PRAGMA mmap_size=N | simonw 9599 | open | 0 | 2 | 2021-01-23T21:24:09Z | 2021-07-17T17:39:17Z | OWNER | https://sqlite.org/mmap.html - SQLite supports memory-mapped I/O but it's disabled by default. The It would be very interesting to understand the impact this could have on Datasette performance for various different shapes of data. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1199/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
811367257 | MDU6SXNzdWU4MTEzNjcyNTc= | 1231 | Race condition errors in new refresh_schemas() mechanism | simonw 9599 | closed | 0 | 11 | 2021-02-18T18:49:54Z | 2021-07-16T19:44:59Z | 2021-07-16T19:44:59Z | OWNER | I tried running a Locust load test against Datasette and hit an error message about a failure to create tables because they already existed. I think this means there are race conditions in the new |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1231/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
944870799 | MDU6SXNzdWU5NDQ4NzA3OTk= | 1394 | Big performance boost on faceting: skip the inner order by | simonw 9599 | closed | 0 | 4 | 2021-07-14T23:32:29Z | 2021-07-16T02:23:32Z | 2021-07-15T00:05:50Z | OWNER | I just noticed something that could make for a huge performance improvement in faceting. The default query used by Datasette when faceting looks like this:
Note that there's a I had assumed SQLite would optimize this away - but it turns out it doesn't! Consider this version of the query, with that pointless order by removed:
I tried this optimization on a table with 2.5m rows in it - without the optimization it took 5 seconds, with the optimization it took 450ms. So this is a very significant improvement! |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1394/reactions", "total_count": 2, "+1": 1, "-1": 0, "laugh": 0, "hooray": 1, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
456578474 | MDU6SXNzdWU0NTY1Nzg0NzQ= | 511 | Get Datasette tests passing on Windows in GitHub Actions | simonw 9599 | open | 0 | 13 | 2019-06-15T21:41:58Z | 2021-07-11T17:23:05Z | OWNER | This should almost happen as a side-effect or moving from Sanic to Uvicorn during the port to ASGI: #272 Additional steps:
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/511/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
941300946 | MDU6SXNzdWU5NDEzMDA5NDY= | 1391 | Stop using generated columns in fixtures.db | simonw 9599 | closed | 0 | 5 | 2021-07-10T18:26:11Z | 2021-07-10T19:26:58Z | 2021-07-10T19:26:00Z | OWNER | Refs #1376 - but I also keep running into this myself, where I try to run something against
I'm going to stop using generated columns in |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1391/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
940077168 | MDU6SXNzdWU5NDAwNzcxNjg= | 1389 | "searchmode": "raw" in table metadata | simonw 9599 | closed | 0 | 6 | 2021-07-08T17:32:10Z | 2021-07-10T18:33:13Z | 2021-07-10T18:33:13Z | OWNER |
Originally posted by @Krazybug in https://github.com/simonw/datasette/issues/759#issuecomment-624860451 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1389/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
940891698 | MDU6SXNzdWU5NDA4OTE2OTg= | 1390 | Mention restarting systemd in documentation | simonw 9599 | closed | 0 | 2 | 2021-07-09T16:05:15Z | 2021-07-09T16:32:57Z | 2021-07-09T16:32:33Z | OWNER | https://docs.datasette.io/en/stable/deploying.html#running-datasette-using-systemd Need to clarify that if you add a new database or change metadata you need to restart systemd. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1390/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
935930820 | MDU6SXNzdWU5MzU5MzA4MjA= | 1387 | absolute_url() behind a proxy assembles incorrect http://127.0.0.1:8001/ URLs | simonw 9599 | closed | 0 | 8 | 2021-07-02T16:58:25Z | 2021-07-02T17:58:23Z | 2021-07-02T17:33:05Z | OWNER | Reported in the wild on https://ilsweb.cincinnatilibrary.org/collection-analysis/current_collection-3d4a4b7/bib?_facet=bib_level_callnumber - the "next page" link links to https://127.0.0.1:8010/collection-analysis/current_collection-3d4a4b7/bib?_facet=bib_level_callnumber&_next=100 That installation uses Weirdly all of the other links on that page - to facet results, sort orders, row permalinks etc - work fine. It's JUST the Also broken in their JSON: https://ilsweb.cincinnatilibrary.org/collection-analysis/current_collection-3d4a4b7/bib.json?_size=1 returns
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1387/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
920884085 | MDU6SXNzdWU5MjA4ODQwODU= | 1377 | Mechanism for plugins to exclude certain paths from CSRF checks | simonw 9599 | closed | 0 | 3 | 2021-06-15T00:48:20Z | 2021-06-23T22:51:33Z | 2021-06-23T22:51:33Z | OWNER | I need this for a plugin I'm building that offers a POST API. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1377/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
925491857 | MDU6SXNzdWU5MjU0OTE4NTc= | 1383 | Improve test coverage for `inspect.py` | simonw 9599 | open | 0 | 0 | 2021-06-20T00:22:43Z | 2021-06-20T00:22:49Z | OWNER | https://codecov.io/gh/simonw/datasette/src/main/datasette/inspect.py shows only 36% coverage for that module at the moment. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1383/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
268176505 | MDU6SXNzdWUyNjgxNzY1MDU= | 34 | Support CSV export with a .csv extension | simonw 9599 | closed | 0 | 1 | 2017-10-24T20:34:43Z | 2021-06-17T18:14:48Z | 2018-05-28T20:45:34Z | OWNER | Maybe do this using streaming with multiple pagination SQL queries so we can support arbritrarily large exports. How would this work against a view which doesn’t have an obvious efficient pagination mechanism? Maybe limit views to up to 1000 exported records? Relates to #5 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/34/reactions", "total_count": 2, "+1": 2, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
323681589 | MDU6SXNzdWUzMjM2ODE1ODk= | 266 | Export to CSV | simonw 9599 | closed | 0 | 27 | 2018-05-16T15:50:24Z | 2021-06-17T18:14:24Z | 2018-06-18T06:05:25Z | OWNER | Datasette needs to be able to export data to CSV. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/266/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
333000163 | MDU6SXNzdWUzMzMwMDAxNjM= | 312 | HTML, CSV and JSON views should support ?_col=&_col= | simonw 9599 | closed | 0 | 1 | 2018-06-16T16:53:35Z | 2021-06-17T18:14:24Z | 2018-06-16T17:00:12Z | OWNER | To support whitelisting columns to display. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/312/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
335141434 | MDU6SXNzdWUzMzUxNDE0MzQ= | 326 | CSV should respect --cors and return cors headers | simonw 9599 | closed | 0 | 1 | 2018-06-24T00:44:07Z | 2021-06-17T18:14:24Z | 2018-06-24T00:59:45Z | OWNER | Otherwise tools like Vega can't load data via CSV. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/326/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
725184645 | MDU6SXNzdWU3MjUxODQ2NDU= | 1034 | Better way of representing binary data in .csv output | simonw 9599 | closed | 0 | 0.51 6026070 | 19 | 2020-10-20T04:28:58Z | 2021-06-17T18:13:21Z | 2020-10-29T22:47:46Z | OWNER | I just noticed this: https://latest.datasette.io/fixtures/binary_data.csv
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1034/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
503190241 | MDU6SXNzdWU1MDMxOTAyNDE= | 584 | Codec error in some CSV exports | simonw 9599 | closed | 0 | 2 | 2019-10-07T01:15:34Z | 2021-06-17T18:13:20Z | 2019-10-18T05:23:16Z | OWNER | Got this exploring my Swarm checkins:
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/584/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
516748849 | MDU6SXNzdWU1MTY3NDg4NDk= | 612 | CSV export is broken for tables with null foreign keys | simonw 9599 | closed | 0 | 2 | 2019-11-02T22:52:47Z | 2021-06-17T18:13:20Z | 2019-11-02T23:12:53Z | OWNER | Following on from #406 - this CSV export appears to be broken: https://14da705.datasette.io/fixtures/foreign_key_references.csv?_labels=on&_size=max
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/612/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
775666296 | MDU6SXNzdWU3NzU2NjYyOTY= | 1160 | "datasette insert" command and plugin hook | simonw 9599 | open | 0 | 23 | 2020-12-29T02:37:03Z | 2021-06-17T18:12:32Z | OWNER | Tools for loading data into Datasette currently mostly exist as separate utilities - Bringing these into Datasette could have some interesting properties:
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1160/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
776128269 | MDU6SXNzdWU3NzYxMjgyNjk= | 1162 | First working version of "datasette insert data.db file.csv" | simonw 9599 | open | 0 | 0 | 2020-12-29T23:20:11Z | 2021-06-17T18:12:32Z | OWNER | Refs #1160 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1162/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
776128565 | MDU6SXNzdWU3NzYxMjg1NjU= | 1163 | "datasette insert data.db url-to-csv" | simonw 9599 | open | 0 | 1 | 2020-12-29T23:21:21Z | 2021-06-17T18:12:32Z | OWNER | Refs #1160 - get filesystem imports working first for #1162, then add import-from-URL. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1163/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
906385991 | MDU6SXNzdWU5MDYzODU5OTE= | 1349 | CSV ?_stream=on redundantly calculates facets for every page | simonw 9599 | closed | 0 | 9 | 2021-05-29T06:11:23Z | 2021-06-17T18:12:32Z | 2021-06-01T15:52:53Z | OWNER | I'm trying to figure out why a full CSV export from https://covid-19.datasettes.com/covid/ny_times_us_counties runs unbearably slowly. It's because the streaming endpoint works by scrolling through every page, and it turns out every page calculates facets and suggested facets! |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1349/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
906993731 | MDU6SXNzdWU5MDY5OTM3MzE= | 1351 | Get `?_trace=1` working with CSV and streaming CSVs | simonw 9599 | closed | 0 | 1 | 2021-05-31T03:02:15Z | 2021-06-17T18:12:32Z | 2021-06-01T15:50:09Z | OWNER |
Originally posted by @simonw in https://github.com/simonw/datasette/issues/1349#issuecomment-851133125 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1351/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
736365306 | MDU6SXNzdWU3MzYzNjUzMDY= | 1083 | Advanced CSV export for arbitrary queries | simonw 9599 | open | 0 | 2 | 2020-11-04T19:23:05Z | 2021-06-17T18:12:31Z | OWNER | There's no link to download the CSV file - the table page has that as an advanced export option, but this is missing from the query page. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1083/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
743359646 | MDU6SXNzdWU3NDMzNTk2NDY= | 1096 | TSV should be a default export option | simonw 9599 | open | 0 | 1 | 2020-11-15T22:24:02Z | 2021-06-17T18:12:31Z | OWNER | Refs #1095 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1096/reactions", "total_count": 3, "+1": 3, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
759695780 | MDU6SXNzdWU3NTk2OTU3ODA= | 1133 | Option to omit header row in CSV export | simonw 9599 | closed | 0 | 2 | 2020-12-08T18:54:46Z | 2021-06-17T18:12:31Z | 2020-12-10T23:28:51Z | OWNER |
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1133/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
763361458 | MDU6SXNzdWU3NjMzNjE0NTg= | 1142 | "Stream all rows" is not at all obvious | simonw 9599 | open | 0 | 9 | 2020-12-12T06:24:57Z | 2021-06-17T18:12:31Z | OWNER | Got a question about how to download all rows - the current option isn't at all clear. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1142/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
732685643 | MDU6SXNzdWU3MzI2ODU2NDM= | 1063 | .csv should link to .blob downloads | simonw 9599 | closed | 0 | 0.51 6026070 | 3 | 2020-10-29T21:45:58Z | 2021-06-17T18:12:30Z | 2020-10-29T22:47:45Z | OWNER |
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1063/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
924203783 | MDU6SXNzdWU5MjQyMDM3ODM= | 1379 | Idea: ?_end=1 option for streaming CSV responses | simonw 9599 | open | 0 | 0 | 2021-06-17T18:11:21Z | 2021-06-17T18:11:30Z | OWNER | As discussed in this thread: https://twitter.com/simonw/status/1405554676993433605 - one of the disadvantages of Datasette's streaming CSV feature is that it's hard to tell if you got the whole file or if the connection ended early - or if an error occurred. Idea: offer an optional
For however many columns the CSV file usually has. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1379/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
915455228 | MDU6SXNzdWU5MTU0NTUyMjg= | 1371 | Menu plugin hooks should include the request | simonw 9599 | closed | 0 | 1 | 2021-06-08T20:23:35Z | 2021-06-10T04:46:01Z | 2021-06-10T04:46:01Z | OWNER | https://docs.datasette.io/en/stable/plugin_hooks.html#menu-links-datasette-actor
All three of these should optionally also accept the |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1371/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
915488244 | MDU6SXNzdWU5MTU0ODgyNDQ= | 1372 | Add section to "writing plugins" about security, e.g. avoiding XSS | simonw 9599 | open | 0 | 0 | 2021-06-08T20:49:33Z | 2021-06-08T20:49:46Z | OWNER | https://docs.datasette.io/en/stable/writing_plugins.html should have tips on writing secure plugins. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1372/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
913900374 | MDU6SXNzdWU5MTM5MDAzNzQ= | 1369 | Don't show foreign key IDs twice if no label | simonw 9599 | open | 0 | 1 | 2021-06-07T19:47:02Z | 2021-06-07T19:47:24Z | OWNER | datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1369/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
|||||||||
913823889 | MDU6SXNzdWU5MTM4MjM4ODk= | 1367 | Navigation menu display bug | simonw 9599 | closed | 0 | 1 | 2021-06-07T18:18:08Z | 2021-06-07T18:24:19Z | 2021-06-07T18:24:19Z | OWNER | With Datasette 0.57 the navigation menu looks like this: |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1367/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
913809802 | MDU6SXNzdWU5MTM4MDk4MDI= | 1366 | Get rid of this `restore_working_directory` hack entirely | simonw 9599 | open | 0 | 2 | 2021-06-07T18:01:21Z | 2021-06-07T18:03:03Z | OWNER |
Originally posted by @simonw in https://github.com/simonw/datasette/issues/1361#issuecomment-855308811 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1366/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
912959264 | MDU6SXNzdWU5MTI5NTkyNjQ= | 1364 | Don't truncate columns on the list of databases | simonw 9599 | closed | 0 | 0 | 2021-06-06T22:01:56Z | 2021-06-06T22:07:50Z | 2021-06-06T22:07:50Z | OWNER | https://covid-19.datasettes.com/covid currently truncates at 9 database columns: Django SQL Dashboard showed me that this is a bad idea - having the full list of columns is actually really useful documentation for crafting custom SQL queries. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1364/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
325958506 | MDU6SXNzdWUzMjU5NTg1MDY= | 283 | Support cross-database joins | simonw 9599 | closed | 0 | 26 | 2018-05-24T04:18:39Z | 2021-06-06T09:40:18Z | 2021-02-18T22:16:46Z | OWNER | SQLite has the ability to attach multiple databases to a single connection and then run joins across multiple databases. Since Datasette supports more than one database, this would make a pretty neat feature. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/283/reactions", "total_count": 2, "+1": 2, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
912485040 | MDU6SXNzdWU5MTI0ODUwNDA= | 1361 | Intermittent CI failure: restore_working_directory FileNotFoundError | simonw 9599 | closed | 0 | 4 | 2021-06-05T22:48:13Z | 2021-06-05T23:16:24Z | 2021-06-05T23:16:24Z | OWNER | e.g. in https://github.com/simonw/datasette/runs/2754772233 - this is an intermittent error: ``` _ ERROR at setup of testhook_register_routes_render_message __ [gw0] linux -- Python 3.8.10 /opt/hostedtoolcache/Python/3.8.10/x64/bin/python tmpdir = local('/tmp/pytest-of-runner/pytest-0/popen-gw0/test_hook_register_routes_rend0') request = <SubRequest 'restore_working_directory' for \<Function test_hook_register_routes_render_message>>
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1361/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
912464443 | MDU6SXNzdWU5MTI0NjQ0NDM= | 1360 | Security flaw, to be fixed in 0.56.1 and 0.57 | simonw 9599 | closed | 0 | 2 | 2021-06-05T21:53:51Z | 2021-06-05T22:23:23Z | 2021-06-05T22:22:06Z | OWNER | See security advisory here for details: https://github.com/simonw/datasette/security/advisories/GHSA-xw7c-jx9m-xh5g - the |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1360/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
912418094 | MDU6SXNzdWU5MTI0MTgwOTQ= | 1358 | Release Datasette 0.57 | simonw 9599 | closed | 0 | 3 | 2021-06-05T19:56:13Z | 2021-06-05T22:20:07Z | 2021-06-05T22:20:07Z | OWNER | Need release notes. Changes are here: https://github.com/simonw/datasette/compare/0.56...368aa5f1b16ca35f82d90ff747023b9a2bfa27c1 Partial release notes already exist for the two alphas, https://github.com/simonw/datasette/releases/tag/0.57a0 and https://github.com/simonw/datasette/releases/tag/0.57a1 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1358/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
912419349 | MDU6SXNzdWU5MTI0MTkzNDk= | 1359 | `?_trace=1` should only be available with a new `trace_debug` setting | simonw 9599 | closed | 0 | 0 | 2021-06-05T19:59:27Z | 2021-06-05T20:18:46Z | 2021-06-05T20:18:46Z | OWNER | Just like template debug mode is controlled by this off-by-default setting: https://github.com/simonw/datasette/blob/368aa5f1b16ca35f82d90ff747023b9a2bfa27c1/datasette/app.py#L160-L164 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1359/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
828811618 | MDU6SXNzdWU4Mjg4MTE2MTg= | 1257 | Table names containing single quotes break things | simonw 9599 | closed | 0 | 2 | 2021-03-11T06:29:38Z | 2021-06-02T03:28:29Z | 2021-06-02T03:28:29Z | OWNER | e.g. I found a table called It threw an error inside the
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1257/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
800669347 | MDU6SXNzdWU4MDA2NjkzNDc= | 1216 | /-/databases should reflect connection order, not alphabetical order | simonw 9599 | closed | 0 | 1 | 2021-02-03T20:20:23Z | 2021-06-02T03:10:19Z | 2021-06-02T03:10:19Z | OWNER | The order in which databases are attached to Datasette matters - it affects the homepage, and it's beginning to influence how certain plugins work (see https://github.com/simonw/datasette-tiles/issues/8). Two years ago in cccea85be6aaaeadb31f3b588ec7f732628815f5 I made Python 3.5 is no longer supported, so this is no longer necessary - and this behaviour should now be treated as a bug. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1216/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
323671577 | MDU6SXNzdWUzMjM2NzE1Nzc= | 263 | Facets should not execute for ?shape=array|object | simonw 9599 | closed | 0 | 3 | 2018-05-16T15:26:13Z | 2021-06-02T02:54:34Z | 2021-06-02T02:54:34Z | OWNER | Split off from #255 - there's no point executing the facet SQL for the |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/263/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
906977719 | MDU6SXNzdWU5MDY5Nzc3MTk= | 1350 | ?_nofacets=1 query string argument for disabling facets and suggested facets | simonw 9599 | closed | 0 | 2 | 2021-05-31T02:22:29Z | 2021-06-01T16:19:38Z | 2021-05-31T02:39:18Z | OWNER | This is needed as an internal option for #1349. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1350/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
908446997 | MDU6SXNzdWU5MDg0NDY5OTc= | 1353 | ?_nocount=1 for opting out of table counts | simonw 9599 | closed | 0 | 2 | 2021-06-01T15:53:27Z | 2021-06-01T16:18:54Z | 2021-06-01T16:17:04Z | OWNER | Running a trace against a CSV streaming export with the new This is inefficient - a new |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1353/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
908465747 | MDU6SXNzdWU5MDg0NjU3NDc= | 1354 | Update help in tests for latest Click | simonw 9599 | closed | 0 | 1 | 2021-06-01T16:14:31Z | 2021-06-01T16:17:04Z | 2021-06-01T16:17:04Z | OWNER | Now that Uvicorn 0.14 is out with an unpinned Click dependency - https://github.com/encode/uvicorn/pull/1033 - our test suite runs against Click 8.0 - which subtly changes the output of
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1354/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
904071938 | MDU6SXNzdWU5MDQwNzE5Mzg= | 1345 | ?_nocol= does not interact well with default facets | simonw 9599 | closed | 0 | 7 | 2021-05-27T18:39:55Z | 2021-05-31T02:40:44Z | 2021-05-31T02:31:21Z | OWNER | Clicking "Hide this column" on https://covid-19.datasettes.com/covid/ny_times_us_counties?_nocol=fips
The reason is that https://covid-19.datasettes.com/-/metadata sets up the following:
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1345/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
903978133 | MDU6SXNzdWU5MDM5NzgxMzM= | 1343 | Figure out how to publish alpha/beta releases to Docker Hub | simonw 9599 | closed | 0 | 4 | 2021-05-27T16:42:17Z | 2021-05-27T16:46:37Z | 2021-05-27T16:45:41Z | OWNER |
Originally posted by @simonw in https://github.com/simonw/datasette/issues/1319#issuecomment-849780481 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1343/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
898904402 | MDU6SXNzdWU4OTg5MDQ0MDI= | 1337 | "More" link for facets that shows _facet_size=max results | simonw 9599 | closed | 0 | 7 | 2021-05-23T00:08:51Z | 2021-05-27T16:14:14Z | 2021-05-27T16:01:03Z | OWNER | Original title: "More" link for facets that shows the full set of results The simplest way to do this will be to have it link to a generated SQL query. Originally posted by @simonw in https://github.com/simonw/datasette/issues/1332#issuecomment-846479062 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1337/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
903902495 | MDU6SXNzdWU5MDM5MDI0OTU= | 1342 | Improve `path_with_replaced_args()` and friends and document them | simonw 9599 | open | 0 | 3 | 2021-05-27T15:18:28Z | 2021-05-27T15:23:02Z | OWNER |
Originally posted by @simonw in https://github.com/simonw/datasette/issues/1337#issuecomment-849721280 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1342/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
903200328 | MDU6SXNzdWU5MDMyMDAzMjg= | 1341 | "Show all columns" cog menu item should show if ?_col= is used | simonw 9599 | closed | 0 | 1 | 2021-05-27T04:28:17Z | 2021-05-27T04:31:16Z | 2021-05-27T04:31:16Z | OWNER | On https://latest.datasette.io/fixtures/sortable?_col=sortable the "Show all columns" item (from #615) is not shown (it should be): |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1341/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
517451234 | MDU6SXNzdWU1MTc0NTEyMzQ= | 615 | ?_col= and ?_nocol= support for toggling columns on table view | simonw 9599 | closed | 0 | 16 | 2019-11-04T22:55:41Z | 2021-05-27T04:26:10Z | 2021-05-27T04:17:44Z | OWNER | Split off from #292 (I guess this is a re-opening of #312). |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/615/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
326800219 | MDU6SXNzdWUzMjY4MDAyMTk= | 292 | Mechanism for customizing the SQL used to select specific columns in the table view | simonw 9599 | closed | 0 | 15 | 2018-05-27T09:05:52Z | 2021-05-27T04:25:01Z | 2021-05-27T04:25:01Z | OWNER | Some columns don't make a lot of sense in their default representation - binary blobs such as SpatiaLite geometries for example, or lengthy columns that really should be truncated somehow. We may also find that there are tables where we don't want to show all of the columns - so a mechanism to select a subset of columns would be nice. I think there are two features here:
Both features should be available via both querystring arguments and in The querystring argument for custom SQL should only work if Refs #276 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/292/reactions", "total_count": 2, "+1": 2, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
901009787 | MDU6SXNzdWU5MDEwMDk3ODc= | 1340 | Research: Cell action menu (like column action but for individual cells) | simonw 9599 | open | 0 | 1 | 2021-05-25T15:49:16Z | 2021-05-26T18:59:58Z | OWNER | Had an idea today that it might be useful to select an individual cell and say things like "show me all other rows with the same value" - maybe even a set of other menu options against cells as well. Mocked up a show-on-hover ellipses demo using the CSS inspector: |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1340/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
899169307 | MDU6SXNzdWU4OTkxNjkzMDc= | 1338 | Fix jinja2 warnings | simonw 9599 | closed | 0 | 0 | 2021-05-24T01:38:23Z | 2021-05-24T01:41:55Z | 2021-05-24T01:41:55Z | OWNER | Lots of these in the test suite now, after the Jinja upgrade in #1331: ``` tests/test_plugins.py::test_hook_render_cell_link_from_json datasette/tests/plugins/my_plugin_2.py:45: DeprecationWarning: 'jinja2.escape' is deprecated and will be removed in Jinja 3.1. Import 'markupsafe.escape' instead. label=jinja2.escape(data["label"] or "") or " ", tests/test_plugins.py::test_hook_render_cell_link_from_json datasette/tests/plugins/my_plugin_2.py:41: DeprecationWarning: 'jinja2.Markup' is deprecated and will be removed in Jinja 3.1. Import 'markupsafe.Markup' instead. return jinja2.Markup( ``` |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1338/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
642296989 | MDU6SXNzdWU2NDIyOTY5ODk= | 856 | Consider pagination of canned queries | simonw 9599 | open | 0 | 3 | 2020-06-20T03:15:59Z | 2021-05-21T14:22:41Z | OWNER | The new |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/856/reactions", "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
812228314 | MDU6SXNzdWU4MTIyMjgzMTQ= | 1236 | Ability to increase size of the SQL editor window | simonw 9599 | closed | 0 | 9 | 2021-02-19T18:09:27Z | 2021-05-18T03:28:25Z | 2021-02-22T21:05:21Z | OWNER | datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1236/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||||
842862708 | MDU6SXNzdWU4NDI4NjI3MDg= | 1280 | Ability to run CI against multiple SQLite versions | simonw 9599 | open | 0 | 2 | 2021-03-28T23:54:50Z | 2021-05-10T19:07:46Z | OWNER | Issue #1276 happened because I didn't run tests against a SQLite version prior to 3.16.0 (released 2017-01-02). Glitch is a deployment target and runs SQLite 3.11.0 from 2016-02-15. If CI ran against that version of SQLite this bug could have been avoided. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1280/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
871304967 | MDU6SXNzdWU4NzEzMDQ5Njc= | 1315 | settings.json should be picked up by "datasette publish cloudrun" | simonw 9599 | open | 0 | 0 | 2021-04-29T18:16:41Z | 2021-04-29T18:16:41Z | OWNER | datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1315/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
|||||||||
866668415 | MDU6SXNzdWU4NjY2Njg0MTU= | 1308 | Columns named "link" display in bold | simonw 9599 | closed | 0 | 3 | 2021-04-24T05:58:11Z | 2021-04-24T06:07:49Z | 2021-04-24T06:07:49Z | OWNER | Reported in office hours today. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1308/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
856895291 | MDU6SXNzdWU4NTY4OTUyOTE= | 1299 | Design better empty states | simonw 9599 | open | 0 | 0 | 2021-04-13T12:06:12Z | 2021-04-13T12:06:12Z | OWNER | Inspiration here: https://emptystat.es/ |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1299/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
520667773 | MDU6SXNzdWU1MjA2Njc3NzM= | 620 | Mechanism for indicating foreign key relationships in the table and query page URLs | simonw 9599 | open | 0 | 6 | 2019-11-10T22:26:27Z | 2021-04-05T03:57:22Z | OWNER | Datasette currently only inflates foreign keys (into names hyperlinks) if it detects them as foreign key constraints in the underlying database. It would be useful if you could specify additional "foreign keys" using both |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/620/reactions", "total_count": 1, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 1 } |
||||||||
672421411 | MDU6SXNzdWU2NzI0MjE0MTE= | 916 | Support reverse pagination (previous page, has-previous-items) | simonw 9599 | open | 0 | 7 | 2020-08-04T00:32:06Z | 2021-04-03T23:43:11Z | OWNER | I need this for
|
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/916/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
849396758 | MDU6SXNzdWU4NDkzOTY3NTg= | 1287 | Upgrade to Python 3.9.4 | simonw 9599 | open | 0 | 5 | 2021-04-02T18:43:15Z | 2021-04-03T22:38:39Z | OWNER | Has some security fixes https://pythoninsider.blogspot.com/2021/04/python-393-and-389-are-now-available.html |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1287/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
849543502 | MDU6SXNzdWU4NDk1NDM1MDI= | 1289 | Speed up tests with pytest-xdist | simonw 9599 | closed | 0 | 3 | 2021-04-03T00:47:39Z | 2021-04-03T03:42:28Z | 2021-04-03T03:42:28Z | OWNER | I think I can get this working for almost every test, then use the pattern in https://github.com/pytest-dev/pytest-xdist/issues/385#issuecomment-444545641 to opt specific tests out of being run in parallel. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1289/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
817544251 | MDU6SXNzdWU4MTc1NDQyNTE= | 1245 | Sticky table column headers would be useful, especially on the query page | simonw 9599 | open | 0 | 1 | 2021-02-26T17:42:51Z | 2021-04-02T20:53:35Z | OWNER | Suggestion from office hours. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1245/reactions", "total_count": 2, "+1": 2, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
576722115 | MDU6SXNzdWU1NzY3MjIxMTU= | 696 | Single failing unit test when run inside the Docker image | simonw 9599 | closed | 0 | Datasette 1.0 3268330 | 2 | 2020-03-06T06:16:36Z | 2021-03-29T17:04:19Z | 2021-03-07T07:41:18Z | OWNER |
It was for
Originally posted by @simonw in https://github.com/simonw/datasette/issues/695#issuecomment-595614469 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/696/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
842881221 | MDU6SXNzdWU4NDI4ODEyMjE= | 1281 | Latest Datasette tags missing from Docker Hub | simonw 9599 | closed | 0 | 7 | 2021-03-29T00:58:30Z | 2021-03-29T01:41:48Z | 2021-03-29T01:41:48Z | OWNER | Spotted this while testing https://github.com/simonw/datasette/issues/1249#issuecomment-808998719_ https://hub.docker.com/r/datasetteproject/datasette/tags?page=1&ordering=last_updated isn't showing the tags for any version more recent than 0.54.1 - we are up to 0.56 now. But the |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1281/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
763207948 | MDU6SXNzdWU3NjMyMDc5NDg= | 1141 | Default styling for bullet point lists | simonw 9599 | closed | 0 | 0 | 2020-12-12T02:49:33Z | 2021-03-29T00:14:05Z | 2021-03-29T00:14:05Z | OWNER | I just noticed that https://datasette.io/content/recent_releases (which uses |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1141/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
741862364 | MDU6SXNzdWU3NDE4NjIzNjQ= | 1090 | Custom widgets for canned query forms | simonw 9599 | open | 0 | 3 | 2020-11-12T19:21:07Z | 2021-03-27T16:25:25Z | OWNER | This is an idea that was cut from the first version of writable canned queries:
Originally posted by @simonw in https://github.com/simonw/datasette/issues/698#issuecomment-608125928 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1090/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
842212586 | MDU6SXNzdWU4NDIyMTI1ODY= | 1277 | Facet by array breaks if table name contains a space | simonw 9599 | closed | 0 | 1 | 2021-03-26T18:38:19Z | 2021-03-27T03:49:38Z | 2021-03-27T03:49:34Z | OWNER | It breaks when you try to select a filtered item. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1277/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
839367451 | MDU6SXNzdWU4MzkzNjc0NTE= | 1275 | Idea: long-running query mode | simonw 9599 | open | 0 | 0 | 2021-03-24T05:23:20Z | 2021-03-24T05:23:20Z | OWNER | It would be cool if you could run Datasette in a long-running query mode, for use with trusted users - something like this:
This would disable the query limit, but would also enable a feature where if a query takes longer than e.g. 1s to return Datasette returns an HTML page to the browser with a progress indicator and polls the server until the query is complete.... but also provides the user with a "cancel" button. This relates to the |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1275/reactions", "total_count": 2, "+1": 2, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
837350092 | MDU6SXNzdWU4MzczNTAwOTI= | 1270 | Try implementing SQLite timeouts using .interrupt() instead of using .set_progress_handler() | simonw 9599 | open | 0 | 3 | 2021-03-22T06:00:17Z | 2021-03-23T16:45:39Z | OWNER |
Originally posted by @simonw in https://github.com/simonw/datasette/issues/1268#issuecomment-803764919 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1270/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
280013907 | MDU6SXNzdWUyODAwMTM5MDc= | 164 | datasette skeleton command for kick-starting database and table metadata | simonw 9599 | closed | 0 | Custom templates edition 2949431 | 3 | 2017-12-07T06:13:28Z | 2021-03-23T02:45:12Z | 2017-12-07T06:20:45Z | OWNER | Generates an example |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/164/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | |||||
279547886 | MDU6SXNzdWUyNzk1NDc4ODY= | 163 | Document the querystring argument for setting a different time limit | simonw 9599 | closed | 0 | 2 | 2017-12-05T22:05:08Z | 2021-03-23T02:44:33Z | 2017-12-06T15:06:57Z | OWNER | http://datasette.readthedocs.io/en/latest/sql_queries.html#query-limits Need to explain why this is useful too. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/163/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
769520939 | MDU6SXNzdWU3Njk1MjA5Mzk= | 1149 | Make it easier to theme Datasette with CSS | simonw 9599 | open | 0 | Datasette 1.0 3268330 | 3 | 2020-12-17T05:01:26Z | 2021-03-22T21:43:16Z | OWNER | I want to theme https://datasette.io/ so that when you visit https://datasette.io/content (the Datasette UI part of it) the navigation from the parent site is used. I tried dropping in a ```html {% extends "page_base.html" %} {% block base_extra_head %} <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> {% for url in extra_css_urls %} <link rel="stylesheet" href="{{ url.url }}"{% if url.sri %} integrity="{{ url.sri }}" crossorigin="anonymous"{% endif %}> {% endfor %} {% for url in extra_js_urls %} <script src="{{ url.url }}"{% if url.sri %} integrity="{{ url.sri }}" crossorigin="anonymous"{% endif %}></script> {% endfor %} {% block extra_head %}{% endblock %} {% endblock %} {% block extra_body_end %} {% include "_close_open_menus.html" %} {% for body_script in body_scripts %} <script>{{ body_script }}</script> {% endfor %} {% endblock %} ``` But this resulted in pages looking like this: Note that the cog menu is broken and the filter UI is unstyled. To get these working correctly I would need to copy over a whole lot of Datasette's default CSS - and that means that when Datasette changes in the future those pages could break in subtle ways. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1149/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
|||||||
837348479 | MDU6SXNzdWU4MzczNDg0Nzk= | 1269 | Don't attempt to run count(*) against virtual tables | simonw 9599 | closed | 0 | 2 | 2021-03-22T05:57:43Z | 2021-03-22T17:40:42Z | 2021-03-22T17:40:41Z | OWNER | Counting the rows in a virtual table doesn't seem very interesting to me, and it's the cause of at least one crashing bug with SpatiaLite 5.0 on Linux, see https://github.com/simonw/datasette/issues/1268 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1269/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
830567275 | MDU6SXNzdWU4MzA1NjcyNzU= | 1259 | Research using CTEs for faster facet counts | simonw 9599 | open | 0 | 5 | 2021-03-12T22:19:49Z | 2021-03-21T22:55:31Z | OWNER | https://www.sqlite.org/changes.html#version_3_35_0
If a CTE creates a table that is used multiple time in that query, SQLite will now default to creating a materialized table for the duration of that query. This could be a big performance boost when applying faceting multiple times against the same query. Consider this example query:
Outputs: col | value | c -- | -- | -- country_long | United States of America | 8688 country_long | China | 4235 country_long | United Kingdom | 2603 country_long | Brazil | 2360 country_long | France | 2155 country_long | India | 1590 country_long | Germany | 1309 country_long | Canada | 1159 country_long | Spain | 829 country_long | Russia | 545 primary_fuel | Solar | 9662 primary_fuel | Hydro | 7155 primary_fuel | Wind | 5188 primary_fuel | Gas | 3922 primary_fuel | Coal | 2390 primary_fuel | Oil | 2290 primary_fuel | Biomass | 1396 primary_fuel | Waste | 1087 primary_fuel | Nuclear | 198 primary_fuel | Geothermal | 189 |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1259/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
||||||||
836273891 | MDU6SXNzdWU4MzYyNzM4OTE= | 1266 | Documentation for Response.asgi_send(send) method | simonw 9599 | closed | 0 | 1 | 2021-03-19T18:52:49Z | 2021-03-20T21:35:00Z | 2021-03-20T21:32:28Z | OWNER | I found myself wanting to use this method for https://github.com/simonw/datasette-auth-passwords/issues/15 - but it's not documented. It should be documented. |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1266/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | ||||||
787173276 | MDU6SXNzdWU3ODcxNzMyNzY= | 1193 | Research plugin hook for alternative database backends | simonw 9599 | open | 0 | 1 | 2021-01-15T20:27:50Z | 2021-03-12T01:01:54Z | OWNER | I started exploring what Datasette would like running against PostgreSQL in #670 and @dazzag24 did some work on Parquet described in #657. I had initially thought this was WAY too much additional complexity, but I'm beginning to think that the A bigger issue is SQL generation, but I realized that most of Datasette's SQL generation code exists just in the Very unlikely for this to make it into Datasette 1.0, but maybe this would be the defining feature of Datasette 2.0? |
datasette 107914493 | issue | { "url": "https://api.github.com/repos/simonw/datasette/issues/1193/reactions", "total_count": 3, "+1": 3, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Advanced export
JSON shape: default, array, newline-delimited, object
CREATE TABLE [issues] ( [id] INTEGER PRIMARY KEY, [node_id] TEXT, [number] INTEGER, [title] TEXT, [user] INTEGER REFERENCES [users]([id]), [state] TEXT, [locked] INTEGER, [assignee] INTEGER REFERENCES [users]([id]), [milestone] INTEGER REFERENCES [milestones]([id]), [comments] INTEGER, [created_at] TEXT, [updated_at] TEXT, [closed_at] TEXT, [author_association] TEXT, [pull_request] TEXT, [body] TEXT, [repo] INTEGER REFERENCES [repos]([id]), [type] TEXT , [active_lock_reason] TEXT, [performed_via_github_app] TEXT, [reactions] TEXT, [draft] INTEGER, [state_reason] TEXT); CREATE INDEX [idx_issues_repo] ON [issues] ([repo]); CREATE INDEX [idx_issues_milestone] ON [issues] ([milestone]); CREATE INDEX [idx_issues_assignee] ON [issues] ([assignee]); CREATE INDEX [idx_issues_user] ON [issues] ([user]);