{"html_url": "https://github.com/dogsheep/hacker-news-to-sqlite/pull/6#issuecomment-1489110168", "issue_url": "https://api.github.com/repos/dogsheep/hacker-news-to-sqlite/issues/6", "id": 1489110168, "node_id": "IC_kwDODtX3eM5YwgSY", "user": {"value": 1231935, "label": "xavdid"}, "created_at": "2023-03-29T18:36:16Z", "updated_at": "2023-03-29T18:36:16Z", "author_association": "NONE", "body": "@simonw can you take a look when you have a chance?", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1641117021, "label": "Add permalink virtual field to items table"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/1989#issuecomment-1491357104", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1989", "id": 1491357104, "node_id": "IC_kwDOBm6k_c5Y5E2w", "user": {"value": 1231935, "label": "xavdid"}, "created_at": "2023-03-31T06:17:23Z", "updated_at": "2023-03-31T06:18:05Z", "author_association": "NONE", "body": "I'm running into a similar use case as pax above- I made a `nice` view that just has the data I'm interested in (which doesn't include the `id`, since it's not important in this case). But, by excluding `id` from the view, I can't do fts queries against it because the view has no `id` field to tie to `rowid`:\r\n\r\n```\r\nERROR: conn=, \r\nsql = 'select time, text, permalink, num_children from nice where id in \r\n(select rowid from items_fts where items_fts match :search) limit 101', \r\nparams = {'search': 'whatever'}: no such column: id\r\n```\r\n\r\nIt works fine when I include `id` in my view, but now my `nice` view is cluttered up. Would be great to hide it permanently in the `config.json`.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1531991339, "label": "Suggestion: Hiding columns"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/issues/496#issuecomment-1532481862", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/496", "id": 1532481862, "node_id": "IC_kwDOCGYnMM5bV9FG", "user": {"value": 1231935, "label": "xavdid"}, "created_at": "2023-05-03T05:53:26Z", "updated_at": "2023-05-03T05:53:26Z", "author_association": "NONE", "body": "Would love to put our heads together for improvements here. \r\n\r\nI _think_ anything that is `argname=DEFAULT` needs to be typed as `argname: str | Default = DEFAULT` (replacing `str` with the appropriate type(s)). We may be able to get clever and tie the types to that key in the `_defaults` dict (definitely possible in Typescript, but I'm less familiar with advanced python types). \r\n\r\nRight now, all args are typed as `Default`, which means all callers get type errors. \r\n\r\nAs for table/view, given that they don't have the same methods, it would be nice to be able to get one or the other specifically.\r\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1393202060, "label": "devrel/python api: Pylance type hinting"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/issues/538#issuecomment-1538975545", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/538", "id": 1538975545, "node_id": "IC_kwDOCGYnMM5buuc5", "user": {"value": 1231935, "label": "xavdid"}, "created_at": "2023-05-08T20:06:35Z", "updated_at": "2023-05-08T20:06:35Z", "author_association": "NONE", "body": "perfect, thank you!", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1695428235, "label": "`table.upsert_all` fails to write rows when `not_null` is present"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/issues/554#issuecomment-1557607516", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/554", "id": 1557607516, "node_id": "IC_kwDOCGYnMM5c1zRc", "user": {"value": 1231935, "label": "xavdid"}, "created_at": "2023-05-22T17:18:33Z", "updated_at": "2023-05-22T17:18:33Z", "author_association": "NONE", "body": "Oh and for context - this goes away if I use `.upsert` instead of `insert(..., ignore=True)`, but I don't want to update the value if it's written, just do an insert if it's new. The code is basically:\r\n\r\n```py\r\ndef save_items(table, items):\r\n db[\"users\"].insert(build_user(items[0]), pk=\"id\",ignore=True)\r\n db[table].insert_all(items)\r\n\r\nif comments := fetch_comments():\r\n save_items('comments', comments)\r\n\r\nif posts := fetch_posts():\r\n save_items('posts', posts)\r\n```\r\n\r\nSo either `comments` or `post` could create the relevant user if those items exist. In cases where they _both_ exist, I get this error. I need the `pk` because either call could create the table.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1720096994, "label": "`IndexError` when doing `.insert(..., pk='id')` after `insert_all`"}, "performed_via_github_app": null}