github
html_url | issue_url | id | node_id | user | created_at | updated_at | author_association | body | reactions | issue | performed_via_github_app |
---|---|---|---|---|---|---|---|---|---|---|---|
https://github.com/simonw/datasette/issues/2180#issuecomment-1711057080 | https://api.github.com/repos/simonw/datasette/issues/2180 | 1711057080 | IC_kwDOBm6k_c5l_Ki4 | 9599 | 2023-09-08T04:28:03Z | 2023-09-08T04:28:03Z | OWNER | Landed: - https://docs.datasette.io/en/latest/plugin_hooks.html#actors-from-ids-datasette-actor-ids - https://docs.datasette.io/en/latest/internals.html#await-actors-from-ids-actor-ids | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
1886791100 | |
https://github.com/simonw/datasette/pull/2181#issuecomment-1711054840 | https://api.github.com/repos/simonw/datasette/issues/2181 | 1711054840 | IC_kwDOBm6k_c5l_J_4 | 9599 | 2023-09-08T04:23:47Z | 2023-09-08T04:23:47Z | OWNER | I've implemented this hook once now in: - https://github.com/datasette/datasette-remote-actors And built and tested a debug tool for it in: - https://github.com/datasette/datasette-debug-actors-from-ids I'm now confident in the design of this plugin hook, I'm going to land it. | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
1886812002 | |
https://github.com/simonw/datasette/issues/2180#issuecomment-1711054624 | https://api.github.com/repos/simonw/datasette/issues/2180 | 1711054624 | IC_kwDOBm6k_c5l_J8g | 9599 | 2023-09-08T04:23:23Z | 2023-09-08T04:23:23Z | OWNER | I've implemented this hook once now in: - https://github.com/datasette/datasette-remote-actors And built and tested a debug tool for it in: - https://github.com/datasette/datasette-debug-actors-from-ids I'm now confident in the design of this plugin hook, I'm going to land it. | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
1886791100 | |
https://github.com/simonw/datasette/pull/2181#issuecomment-1710972324 | https://api.github.com/repos/simonw/datasette/issues/2181 | 1710972324 | IC_kwDOBm6k_c5l-12k | 22429695 | 2023-09-08T01:58:44Z | 2023-09-08T03:43:43Z | NONE | ## [Codecov](https://app.codecov.io/gh/simonw/datasette/pull/2181?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) Report Patch coverage: **`100.00%`** and no project coverage change. > Comparison is base [(`c263704`)](https://app.codecov.io/gh/simonw/datasette/commit/c26370485a4fd4bf130da051be9163d92c57f24f?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) 92.68% compared to head [(`e1c5a9d`)](https://app.codecov.io/gh/simonw/datasette/pull/2181?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) 92.69%. <details><summary>Additional details and impacted files</summary> ```diff @@ Coverage Diff @@ ## main #2181 +/- ## ======================================= Coverage 92.68% 92.69% ======================================= Files 40 40 Lines 6017 6025 +8 ======================================= + Hits 5577 5585 +8 Misses 440 440 ``` | [Files Changed](https://app.codecov.io/gh/simonw/datasette/pull/2181?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) | Coverage Δ | | |---|---|---| | [datasette/app.py](https://app.codecov.io/gh/simonw/datasette/pull/2181?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison#diff-ZGF0YXNldHRlL2FwcC5weQ==) | `94.43% <100.00%> (+0.03%)` | :arrow_up: | | [datasette/hookspecs.py](https://app.codecov.io/gh/simonw/datasette/pull/2181?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison#diff-ZGF0YXNldHRlL2hvb2tzcGVjcy5weQ==) | `100.00% <100.00%> (ø)` | | </details> [:umbrella: View full report in Codecov by Sentry](https://app.… | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
1886812002 | |
https://github.com/simonw/datasette/issues/2180#issuecomment-1711028355 | https://api.github.com/repos/simonw/datasette/issues/2180 | 1711028355 | IC_kwDOBm6k_c5l_DiD | 9599 | 2023-09-08T03:36:02Z | 2023-09-08T03:36:02Z | OWNER | I shipped the first version of - https://github.com/datasette/datasette-remote-actors/issues/1 When I land this plugin in a Datasette release I need to update that repo to depend on the new alpha. | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
1886791100 | |
https://github.com/simonw/datasette/pull/2181#issuecomment-1710969448 | https://api.github.com/repos/simonw/datasette/issues/2181 | 1710969448 | IC_kwDOBm6k_c5l-1Jo | 9599 | 2023-09-08T01:53:27Z | 2023-09-08T01:53:27Z | OWNER | Documentation preview: - https://datasette--2181.org.readthedocs.build/en/2181/internals.html#await-actors-from-ids-actor-ids - https://datasette--2181.org.readthedocs.build/en/2181/plugin_hooks.html#plugin-hook-actors-from-ids | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
1886812002 | |
https://github.com/simonw/datasette/issues/2180#issuecomment-1710969339 | https://api.github.com/repos/simonw/datasette/issues/2180 | 1710969339 | IC_kwDOBm6k_c5l-1H7 | 9599 | 2023-09-08T01:53:16Z | 2023-09-08T01:53:16Z | OWNER | Documentation preview: - https://datasette--2181.org.readthedocs.build/en/2181/internals.html#await-actors-from-ids-actor-ids - https://datasette--2181.org.readthedocs.build/en/2181/plugin_hooks.html#plugin-hook-actors-from-ids | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
1886791100 | |
https://github.com/dogsheep/google-takeout-to-sqlite/pull/8#issuecomment-1710950671 | https://api.github.com/repos/dogsheep/google-takeout-to-sqlite/issues/8 | 1710950671 | IC_kwDODFE5qs5l-wkP | 150855 | 2023-09-08T01:22:49Z | 2023-09-08T01:22:49Z | NONE | Makes sense, thanks for explaining! | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
954546309 | |
https://github.com/simonw/datasette/issues/2180#issuecomment-1710947637 | https://api.github.com/repos/simonw/datasette/issues/2180 | 1710947637 | IC_kwDOBm6k_c5l-v01 | 9599 | 2023-09-08T01:17:28Z | 2023-09-08T01:17:28Z | OWNER | I think this is both a plugin hook and a `await datasette.actors_from_ids(actor_ids)` internal API function that calls it. | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
1886791100 | |
https://github.com/simonw/sqlite-utils/issues/592#issuecomment-1710935270 | https://api.github.com/repos/simonw/sqlite-utils/issues/592 | 1710935270 | IC_kwDOCGYnMM5l-szm | 9599 | 2023-09-08T00:55:30Z | 2023-09-08T00:55:30Z | OWNER | Yes! That recreated the bug: ``` > assert previous_rows == next_rows E AssertionError: assert equals failed E [ [ E (1, '1', 'Paris'), (1, '1', 'Paris'), E (3, '3', 'New York'), (2, '3', 'New York'), E (4, '4', 'London'), (3, '4', 'London'), E ] ... E ``` | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
1886771493 | |
https://github.com/simonw/sqlite-utils/issues/592#issuecomment-1710934448 | https://api.github.com/repos/simonw/sqlite-utils/issues/592 | 1710934448 | IC_kwDOCGYnMM5l-smw | 9599 | 2023-09-08T00:54:03Z | 2023-09-08T00:54:03Z | OWNER | Oh! Maybe the row ID preservation here is a coincidence because the tables are created from scratch and count 1, 2, 3. If I delete a row from the table and then insert some more - breaking the `rowid` sequence - it might show the bug. | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
1886771493 | |
https://github.com/simonw/sqlite-utils/issues/592#issuecomment-1710933716 | https://api.github.com/repos/simonw/sqlite-utils/issues/592 | 1710933716 | IC_kwDOCGYnMM5l-sbU | 9599 | 2023-09-08T00:52:42Z | 2023-09-08T00:52:42Z | OWNER | I just noticed that the table where I encountered this bug wasn't actually a `rowid` table after all - it had an `id` column that was a text primary key. The reason the `rowid` was important is that's how the FTS mechanism in Datasette relates FTS entries to their rows. But I tried this test and it passed, too: ```python def test_transform_preserves_rowids(fresh_db): fresh_db["places"].insert_all( [ {"id": "1", "name": "Paris", "country": "France"}, {"id": "2", "name": "London", "country": "UK"}, {"id": "3", "name": "New York", "country": "USA"}, ], pk="id", ) previous_rows = list( tuple(row) for row in fresh_db.execute("select rowid, id, name from places") ) # Transform it fresh_db["places"].transform(column_order=("country", "name")) # Should be the same next_rows = list( tuple(row) for row in fresh_db.execute("select rowid, id, name from places") ) assert previous_rows == next_rows ``` | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
1886771493 | |
https://github.com/simonw/sqlite-utils/issues/592#issuecomment-1710931605 | https://api.github.com/repos/simonw/sqlite-utils/issues/592 | 1710931605 | IC_kwDOCGYnMM5l-r6V | 9599 | 2023-09-08T00:49:02Z | 2023-09-08T00:49:02Z | OWNER | I tried bumping that up to 10,000 rows instead of just 3 but the test still passed. | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
1886771493 | |
https://github.com/simonw/sqlite-utils/issues/592#issuecomment-1710930934 | https://api.github.com/repos/simonw/sqlite-utils/issues/592 | 1710930934 | IC_kwDOCGYnMM5l-rv2 | 9599 | 2023-09-08T00:47:57Z | 2023-09-08T00:47:57Z | OWNER | That's odd, I wrote a test for this just now and it passes already: ```python def test_transform_preserves_rowids(fresh_db): # Create a rowid table fresh_db["places"].insert_all( ( {"name": "Paris", "country": "France"}, {"name": "London", "country": "UK"}, {"name": "New York", "country": "USA"}, ), ) assert fresh_db["places"].use_rowid previous_rows = list( tuple(row) for row in fresh_db.execute("select rowid, name from places") ) # Transform it fresh_db["places"].transform(column_order=("country", "name")) # Should be the same next_rows = list( tuple(row) for row in fresh_db.execute("select rowid, name from places") ) assert previous_rows == next_rows ``` So maybe I'm wrong about the cause of that bug? | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
1886771493 |