{"html_url": "https://github.com/simonw/datasette/issues/418#issuecomment-491551702", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/418", "id": 491551702, "node_id": "MDEyOklzc3VlQ29tbWVudDQ5MTU1MTcwMg==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2019-05-11T23:32:21Z", "updated_at": "2019-05-11T23:32:21Z", "author_association": "OWNER", "body": "I'm going to re-open this, because some of this needs revisiting now that we aren't running `.inspect()` and hence are not calculating hashes for anything other than immutable databases (and databases are treated as mutable by default).", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 421548881, "label": "Hashed URLs should be optional"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/418#issuecomment-491551647", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/418", "id": 491551647, "node_id": "MDEyOklzc3VlQ29tbWVudDQ5MTU1MTY0Nw==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2019-05-11T23:31:23Z", "updated_at": "2019-05-11T23:31:23Z", "author_association": "OWNER", "body": "Actually right now https://latest.datasette.io/fixtures/facetable?_hash=1 redirects to https://latest.datasette.io/fixtures-000/facetable - because we are no longer calculating hashes on startup for non-immutable databases. So that's weird.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 421548881, "label": "Hashed URLs should be optional"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/466#issuecomment-491549929", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/466", "id": 491549929, "node_id": "MDEyOklzc3VlQ29tbWVudDQ5MTU0OTkyOQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2019-05-11T22:55:23Z", "updated_at": "2019-05-11T22:55:23Z", "author_association": "OWNER", "body": "To build a unit test for this I'm going to have to ship a small spatialite.db binary database as part of the git repo.\r\n\r\nThis is because I need the tests to run even when the spatialite module is not available - but you cannot create a spatialite database without having access to that module.\r\n\r\nI'll include a build script in the repo for constructing that database.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 443040665, "label": "Move \"no such module: VirtualSpatialIndex\" code elsewhere"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/466#issuecomment-491548189", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/466", "id": 491548189, "node_id": "MDEyOklzc3VlQ29tbWVudDQ5MTU0ODE4OQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2019-05-11T22:21:40Z", "updated_at": "2019-05-11T22:21:47Z", "author_association": "OWNER", "body": "This is a little bit tricky. This SQL looks like it may detect Spatialite tables:\r\n```sql\r\nselect * from sqlite_master where type = \"table\"\r\nand sql like \"%CREATE VIRTUAL TABLE%\"\r\nand sql like \"%USING VirtualSpatialIndex%\"\r\n```\r\nBut where to put it? I think this should go in a new \"checks\" mechanism, where we run checks against every connected database on Datasette startup.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 443040665, "label": "Move \"no such module: VirtualSpatialIndex\" code elsewhere"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/462#issuecomment-491545952", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/462", "id": 491545952, "node_id": "MDEyOklzc3VlQ29tbWVudDQ5MTU0NTk1Mg==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2019-05-11T21:41:49Z", "updated_at": "2019-05-11T21:41:49Z", "author_association": "OWNER", "body": "I now need to update `datasette serve ... --inspect-data=X` to understand and correctly handle the new format.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 443023308, "label": "Replace most of `.inspect()` (and `datasette inspect`) with table counting"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/295#issuecomment-491545892", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/295", "id": 491545892, "node_id": "MDEyOklzc3VlQ29tbWVudDQ5MTU0NTg5Mg==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2019-05-11T21:40:32Z", "updated_at": "2019-05-11T21:40:32Z", "author_association": "OWNER", "body": "I'm not going to do this, as a result of #462 and #419 ", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 327383759, "label": "Extract unit tests for inspect out to test_inspect.py"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/465#issuecomment-491545872", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/465", "id": 491545872, "node_id": "MDEyOklzc3VlQ29tbWVudDQ5MTU0NTg3Mg==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2019-05-11T21:40:07Z", "updated_at": "2019-05-11T21:40:07Z", "author_association": "OWNER", "body": "I split this out from #462", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 443038584, "label": "Decide what to do about /-/inspect"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/462#issuecomment-491543817", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/462", "id": 491543817, "node_id": "MDEyOklzc3VlQ29tbWVudDQ5MTU0MzgxNw==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2019-05-11T21:06:13Z", "updated_at": "2019-05-11T21:06:13Z", "author_association": "OWNER", "body": "I'm going to change it to output to stdout unless you pass it the `--inspect-file` argument.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 443023308, "label": "Replace most of `.inspect()` (and `datasette inspect`) with table counting"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/462#issuecomment-491543785", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/462", "id": 491543785, "node_id": "MDEyOklzc3VlQ29tbWVudDQ5MTU0Mzc4NQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2019-05-11T21:05:54Z", "updated_at": "2019-05-11T21:05:54Z", "author_association": "OWNER", "body": "So I think `datasette inspect fixtures.db other.db` should output something like this:\r\n\r\n```json\r\n{\r\n \"fixtures\": {\r\n \"hash\": \"894870db97229e9e18b40921dc32b581da813465d672445e96e040ab2adbd229\",\r\n \"file\": \"fixtures.db\",\r\n \"size\": 225280,\r\n \"tables\": {\r\n \"facetable\": {\r\n \"count\": 34,\r\n }\r\n }\r\n}\r\n```\r\n\r\nIt currently writes it out to a file called `inspect-data.json`. Should I keep that as the default behaviour or switch it to outputting to stdout instead?\r\n\r\nHere's the current `datasette inspect --help`:\r\n\r\n```$ datasette inspect --help\r\nUsage: datasette inspect [OPTIONS] [FILES]...\r\n\r\nOptions:\r\n --inspect-file TEXT\r\n --load-extension PATH Path to a SQLite extension to load\r\n --help Show this message and exit.```", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 443023308, "label": "Replace most of `.inspect()` (and `datasette inspect`) with table counting"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/462#issuecomment-491543635", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/462", "id": 491543635, "node_id": "MDEyOklzc3VlQ29tbWVudDQ5MTU0MzYzNQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2019-05-11T21:03:10Z", "updated_at": "2019-05-11T21:03:23Z", "author_association": "OWNER", "body": "`test_inspect.py` currently just contains two tests that exercise a small portion of what `.inspect()` does - I'm going to repurpose that module and have it only test the `datasette inspect` CLI command instead.\r\n\r\nHere's the current contents of that file: https://github.com/simonw/datasette/blob/ce09e5d2d392634eced44c3c8d603d7c628e2822/tests/test_inspect.py", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 443023308, "label": "Replace most of `.inspect()` (and `datasette inspect`) with table counting"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/435#issuecomment-491541721", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/435", "id": 491541721, "node_id": "MDEyOklzc3VlQ29tbWVudDQ5MTU0MTcyMQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2019-05-11T20:32:21Z", "updated_at": "2019-05-11T20:32:21Z", "author_association": "OWNER", "body": "Demo of the finished feature: https://latest.datasette.io/fixtures/facetable?_trace=1\r\n\r\n\"image\"\r\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 435531034, "label": "Tracing support for seeing what SQL queries were executed"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/459#issuecomment-491533931", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/459", "id": 491533931, "node_id": "MDEyOklzc3VlQ29tbWVudDQ5MTUzMzkzMQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2019-05-11T18:29:37Z", "updated_at": "2019-05-11T19:26:11Z", "author_association": "OWNER", "body": "This needs doing before the next release because it is interfering with my Travis code that actually runs the release: https://travis-ci.org/simonw/datasette/jobs/530597261", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 443020048, "label": "Fix the \"datasette now publish ... --alias=x\" option"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/460#issuecomment-491536725", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/460", "id": 491536725, "node_id": "MDEyOklzc3VlQ29tbWVudDQ5MTUzNjcyNQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2019-05-11T19:11:44Z", "updated_at": "2019-05-11T19:11:44Z", "author_association": "OWNER", "body": "I split pagination out to #461 - and I don't consider that necessary to ship the next release.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 443020810, "label": "Design changes to homepage to support mutable files"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/435#issuecomment-491534162", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/435", "id": 491534162, "node_id": "MDEyOklzc3VlQ29tbWVudDQ5MTUzNDE2Mg==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2019-05-11T18:33:02Z", "updated_at": "2019-05-11T18:36:33Z", "author_association": "OWNER", "body": "I don't like the shape of the JSON:\r\n\r\n```\r\n \"_traces\": {\r\n \"num_traces\": 20,\r\n \"traces\": {\r\n \"duration\": 0.015190839767456055,\r\n \"queries\": [\r\n [\r\n \"sql\",\r\n [\r\n \"fixtures\",\r\n \"select 1 from sqlite_master where type='table' and name=?\",\r\n [\r\n \"facetable.json\"\r\n ]\r\n ],\r\n 1557599406.7231224,\r\n 1557599406.723611,\r\n 0.4887580871582031\r\n ],\r\n [\r\n```\r\n\r\nI want this instead:\r\n\r\n```\r\n \"_traces\": {\r\n \"num_traces\": 20,\r\n \"sum_duration_ms\": 0.015190839767456055,\r\n \"traces\": [\r\n {\r\n \"type\": \"sql\",\r\n \"database\": \"fixtures\",\r\n \"sql\": \"select 1 from sqlite_master where type='table' and name=?\",\r\n \"args\": [\"facetable.json\"],\r\n \"start\": 1557599406.7231224,\r\n \"end\": 1557599406.723611,\r\n \"duration_ms\": 0.4887580871582031\r\n }", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 435531034, "label": "Tracing support for seeing what SQL queries were executed"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/316#issuecomment-491533700", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/316", "id": 491533700, "node_id": "MDEyOklzc3VlQ29tbWVudDQ5MTUzMzcwMA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2019-05-11T18:26:25Z", "updated_at": "2019-05-11T18:26:25Z", "author_association": "OWNER", "body": "This will be fixed by #419 ", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 333238932, "label": "datasette inspect takes a very long time on large dbs"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/pull/450#issuecomment-491532671", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/450", "id": 491532671, "node_id": "MDEyOklzc3VlQ29tbWVudDQ5MTUzMjY3MQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2019-05-11T18:10:09Z", "updated_at": "2019-05-11T18:10:09Z", "author_association": "OWNER", "body": "I fixed this in https://github.com/simonw/datasette/commit/de005b9b7d3db72375e6b8b048d1616a98e6347a instead (hadn't seen this PR)", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 440304714, "label": "Coalesce hidden table count to 0"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/373#issuecomment-491532557", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/373", "id": 491532557, "node_id": "MDEyOklzc3VlQ29tbWVudDQ5MTUzMjU1Nw==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2019-05-11T18:08:47Z", "updated_at": "2019-05-11T18:08:47Z", "author_association": "OWNER", "body": "I'll do this as part of #460 ", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 377266351, "label": "Views should be shown on root/index page along with tables"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/461#issuecomment-491532380", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/461", "id": 491532380, "node_id": "MDEyOklzc3VlQ29tbWVudDQ5MTUzMjM4MA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2019-05-11T18:06:01Z", "updated_at": "2019-05-11T18:06:01Z", "author_association": "OWNER", "body": "I plan to add a search filter box too, but only if there are more than X (probably 10) connected databases.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 443021509, "label": "Paginate + search for databases/tables on the homepage"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/459#issuecomment-491531399", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/459", "id": 491531399, "node_id": "MDEyOklzc3VlQ29tbWVudDQ5MTUzMTM5OQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2019-05-11T17:51:11Z", "updated_at": "2019-05-11T17:51:11Z", "author_association": "OWNER", "body": "This is the publish code that needs updating:\r\n\r\nhttps://github.com/simonw/datasette/blob/e7b31ae8c1a28cab9db8e165b3f21407c2e581e6/datasette/publish/now.py#L79-L96", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 443020048, "label": "Fix the \"datasette now publish ... --alias=x\" option"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/459#issuecomment-491531364", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/459", "id": 491531364, "node_id": "MDEyOklzc3VlQ29tbWVudDQ5MTUzMTM2NA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2019-05-11T17:50:37Z", "updated_at": "2019-05-11T17:50:37Z", "author_association": "OWNER", "body": "I also need to fix my various `.travis.yml` configs to adapt to this new change.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 443020048, "label": "Fix the \"datasette now publish ... --alias=x\" option"}, "performed_via_github_app": null}