{"html_url": "https://github.com/simonw/datasette/pull/1931#issuecomment-1339768422", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1931", "id": 1339768422, "node_id": "IC_kwDOBm6k_c5P2z5m", "user": {"value": 9599, "label": "simonw"}, "created_at": "2022-12-06T18:04:59Z", "updated_at": "2022-12-06T18:04:59Z", "author_association": "OWNER", "body": "I realized this API should require both the `insert-row` AND the `update-row` permissions, since calls to it could do either one.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1473814539, "label": "/db/table/-/upsert"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/pull/1931#issuecomment-1339784569", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1931", "id": 1339784569, "node_id": "IC_kwDOBm6k_c5P2315", "user": {"value": 9599, "label": "simonw"}, "created_at": "2022-12-06T18:16:15Z", "updated_at": "2022-12-06T18:17:56Z", "author_association": "OWNER", "body": "Just noticed the insert API returns `{}` when it should return `{\"ok\": true}` - will fix that here too.\r\n\r\nUPDATE: no it did that already, it was just the documentation that was wrong.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1473814539, "label": "/db/table/-/upsert"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/issues/516#issuecomment-1339834918", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/516", "id": 1339834918, "node_id": "IC_kwDOCGYnMM5P3EIm", "user": {"value": 9599, "label": "simonw"}, "created_at": "2022-12-06T19:00:18Z", "updated_at": "2022-12-06T19:00:35Z", "author_association": "OWNER", "body": "Right now the command produces no output at all.\r\n\r\nMaybe a `--verbose` mode that writes these numbers to standard error (or even standard output since it's an option)?\r\n\r\nIs there a better name than `--verbose` for this? `--summary` perhaps?", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1479914599, "label": "Feature request: output number of ignored/replaced rows for insert command"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/issues/516#issuecomment-1339837520", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/516", "id": 1339837520, "node_id": "IC_kwDOCGYnMM5P3ExQ", "user": {"value": 122043, "label": "briandorsey"}, "created_at": "2022-12-06T19:02:30Z", "updated_at": "2022-12-06T19:02:30Z", "author_association": "NONE", "body": "`--verbose` or `--verbosity=ABC` were the flags I looked for. Expected to see them at a global level near `--version`. But only sharing because that's where I looked first, I don't have a strong opinion on the exact wording/location. ", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1479914599, "label": "Feature request: output number of ignored/replaced rows for insert command"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/issues/516#issuecomment-1339839767", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/516", "id": 1339839767, "node_id": "IC_kwDOCGYnMM5P3FUX", "user": {"value": 122043, "label": "briandorsey"}, "created_at": "2022-12-06T19:04:17Z", "updated_at": "2022-12-06T19:04:17Z", "author_association": "NONE", "body": "Current behavior is different when importing via stdin vs. a file. Imports from a file give a progress bar. For this new request, I'd love to see total imported and total ignored/replaced in both cases. ", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1479914599, "label": "Feature request: output number of ignored/replaced rows for insert command"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/issues/516#issuecomment-1339844639", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/516", "id": 1339844639, "node_id": "IC_kwDOCGYnMM5P3Ggf", "user": {"value": 122043, "label": "briandorsey"}, "created_at": "2022-12-06T19:08:13Z", "updated_at": "2022-12-06T19:08:13Z", "author_association": "NONE", "body": "Reference: tqdm (https://tqdm.github.io/) shows a progress bar when total is known, and falls back to counting units of work done for streams. File input vs. stdin seems like a similar situation. ", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1479914599, "label": "Feature request: output number of ignored/replaced rows for insert command"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/1929#issuecomment-1339867570", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1929", "id": 1339867570, "node_id": "IC_kwDOBm6k_c5P3MGy", "user": {"value": 9599, "label": "simonw"}, "created_at": "2022-12-06T19:22:47Z", "updated_at": "2022-12-06T19:22:47Z", "author_association": "OWNER", "body": "Yeah I should deploy the docs for the alpha versions (the intention is that the docs exactly match the release you are using), thanks for spotting that.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1473659191, "label": "Incorrect link from the API explorer to the JSON API documentation"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/1929#issuecomment-1339871933", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1929", "id": 1339871933, "node_id": "IC_kwDOBm6k_c5P3NK9", "user": {"value": 9599, "label": "simonw"}, "created_at": "2022-12-06T19:23:48Z", "updated_at": "2022-12-06T19:24:17Z", "author_association": "OWNER", "body": "I can do that on this page: https://readthedocs.org/projects/datasette/versions/?version_filter=1.0\r\n\r\n\"image\"\r\n\r\nI'm making them both active and hidden:\r\n\r\n\"CleanShot\r\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1473659191, "label": "Incorrect link from the API explorer to the JSON API documentation"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/pull/1931#issuecomment-1339906241", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1931", "id": 1339906241, "node_id": "IC_kwDOBm6k_c5P3VjB", "user": {"value": 22429695, "label": "codecov[bot]"}, "created_at": "2022-12-06T19:33:32Z", "updated_at": "2022-12-08T01:04:56Z", "author_association": "NONE", "body": "# [Codecov](https://codecov.io/gh/simonw/datasette/pull/1931?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) Report\nBase: **90.42**% // Head: **91.77**% // Increases project coverage by **`+1.34%`** :tada:\n> Coverage data is based on head [(`645be0f`)](https://codecov.io/gh/simonw/datasette/pull/1931?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) compared to base [(`cab5b60`)](https://codecov.io/gh/simonw/datasette/commit/cab5b60e09e94aca820dbec5308446a88c99ea3d?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison).\n> Patch coverage: 95.55% of modified lines in pull request are covered.\n\n> :exclamation: Current head 645be0f differs from pull request most recent head 7cd6fd9. Consider uploading reports for the commit 7cd6fd9 to get more accurate results\n\n
Additional details and impacted files\n\n\n```diff\n@@ Coverage Diff @@\n## main #1931 +/- ##\n==========================================\n+ Coverage 90.42% 91.77% +1.34% \n==========================================\n Files 36 36 \n Lines 5057 5019 -38 \n==========================================\n+ Hits 4573 4606 +33 \n+ Misses 484 413 -71 \n```\n\n\n| [Impacted Files](https://codecov.io/gh/simonw/datasette/pull/1931?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) | Coverage \u0394 | |\n|---|---|---|\n| [datasette/views/special.py](https://codecov.io/gh/simonw/datasette/pull/1931/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison#diff-ZGF0YXNldHRlL3ZpZXdzL3NwZWNpYWwucHk=) | `79.41% <0.00%> (\u00f8)` | |\n| [datasette/views/table.py](https://codecov.io/gh/simonw/datasette/pull/1931/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison#diff-ZGF0YXNldHRlL3ZpZXdzL3RhYmxlLnB5) | `92.44% <97.43%> (+0.20%)` | :arrow_up: |\n| [datasette/app.py](https://codecov.io/gh/simonw/datasette/pull/1931/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison#diff-ZGF0YXNldHRlL2FwcC5weQ==) | `94.42% <100.00%> (+<0.01%)` | :arrow_up: |\n| [datasette/default\\_permissions.py](https://codecov.io/gh/simonw/datasette/pull/1931/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison#diff-ZGF0YXNldHRlL2RlZmF1bHRfcGVybWlzc2lvbnMucHk=) | `94.81% <100.00%> (+0.07%)` | :arrow_up: |\n| [datasette/views/database.py](https://codecov.io/gh/simonw/datasette/pull/1931/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison#diff-ZGF0YXNldHRlL3ZpZXdzL2RhdGFiYXNlLnB5) | `95.83% <0.00%> (+17.01%)` | :arrow_up: |\n\nHelp us with your feedback. Take ten seconds to tell us [how you rate us](https://about.codecov.io/nps?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). Have a feature suggestion? [Share it here.](https://app.codecov.io/gh/feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison)\n\n
\n\n[:umbrella: View full report at Codecov](https://codecov.io/gh/simonw/datasette/pull/1931?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). \n:loudspeaker: Do you have feedback about the report comment? [Let us know in this issue](https://about.codecov.io/codecov-pr-comment-feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison).\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1473814539, "label": "/db/table/-/upsert"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/1929#issuecomment-1339906969", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1929", "id": 1339906969, "node_id": "IC_kwDOBm6k_c5P3VuZ", "user": {"value": 3556, "label": "davidbgk"}, "created_at": "2022-12-06T19:34:20Z", "updated_at": "2022-12-06T19:34:20Z", "author_association": "CONTRIBUTOR", "body": "I confirm that it works \ud83d\udc4d ", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1473659191, "label": "Incorrect link from the API explorer to the JSON API documentation"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/1929#issuecomment-1339909159", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1929", "id": 1339909159, "node_id": "IC_kwDOBm6k_c5P3WQn", "user": {"value": 9599, "label": "simonw"}, "created_at": "2022-12-06T19:36:23Z", "updated_at": "2022-12-06T19:36:23Z", "author_association": "OWNER", "body": "https://docs.datasette.io/en/1.0a1/json_api.html \ud83d\udc4d ", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1473659191, "label": "Incorrect link from the API explorer to the JSON API documentation"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/1927#issuecomment-1339910494", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1927", "id": 1339910494, "node_id": "IC_kwDOBm6k_c5P3Wle", "user": {"value": 9599, "label": "simonw"}, "created_at": "2022-12-06T19:37:39Z", "updated_at": "2022-12-06T19:37:39Z", "author_association": "OWNER", "body": "I'll finish this after I land:\r\n- #1931 ", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1473411197, "label": "ignore:true/replace:true options for /db/-/create API"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/pull/1931#issuecomment-1339911152", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1931", "id": 1339911152, "node_id": "IC_kwDOBm6k_c5P3Wvw", "user": {"value": 9599, "label": "simonw"}, "created_at": "2022-12-06T19:38:12Z", "updated_at": "2022-12-06T19:38:12Z", "author_association": "OWNER", "body": "Documentation: https://datasette--1931.org.readthedocs.build/en/1931/json_api.html#upserting-rows", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1473814539, "label": "/db/table/-/upsert"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/pull/1931#issuecomment-1339916064", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1931", "id": 1339916064, "node_id": "IC_kwDOBm6k_c5P3X8g", "user": {"value": 3556, "label": "davidbgk"}, "created_at": "2022-12-06T19:42:45Z", "updated_at": "2022-12-06T19:42:45Z", "author_association": "CONTRIBUTOR", "body": "The `\"return\": true` option is really nice!", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1473814539, "label": "/db/table/-/upsert"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/1855#issuecomment-1339952692", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1855", "id": 1339952692, "node_id": "IC_kwDOBm6k_c5P3g40", "user": {"value": 9599, "label": "simonw"}, "created_at": "2022-12-06T20:15:50Z", "updated_at": "2022-12-06T20:16:00Z", "author_association": "OWNER", "body": "That commit there https://github.com/simonw/datasette/commit/6da17d5529773dfe41b53ed4ce5a6ecb46ed2457 (which will be squash-merged in a PR later on) made it so that `_r` was correctly copied across from the token to the created actor, and fixed a bug in the code that checks permissions against it for resources.\r\n\r\nI needed that mechanism to write a test that exercised different API permissions.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1423336089, "label": "`datasette create-token` ability to create tokens with a reduced set of permissions"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/pull/1931#issuecomment-1339968514", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1931", "id": 1339968514, "node_id": "IC_kwDOBm6k_c5P3kwC", "user": {"value": 9599, "label": "simonw"}, "created_at": "2022-12-06T20:28:47Z", "updated_at": "2022-12-06T20:28:47Z", "author_association": "OWNER", "body": "Should the `\"return\": true` mode reflect the order in which the rows were provided when the API was called?\r\n\r\nI think it should. Since this is small enough to happily fit in Python memory (thanks to the `max_insert_rows` setting) I can load the fresh data from the database and then sort it in Python space before returning it.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1473814539, "label": "/db/table/-/upsert"}, "performed_via_github_app": null}