{"id": 841377702, "node_id": "MDU6SXNzdWU4NDEzNzc3MDI=", "number": 251, "title": "\"sqlite-utils convert\" command to replace the separate \"sqlite-transform\" tool", "user": {"value": 9599, "label": "simonw"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 15, "created_at": "2021-03-25T22:36:36Z", "updated_at": "2021-08-02T22:39:46Z", "closed_at": "2021-08-02T04:47:40Z", "author_association": "OWNER", "pull_request": null, "body": "See https://github.com/simonw/sqlite-transform/issues/11 - I built a separate `sqlite-transform` tool a while ago that uses the word \"transform\" to means something entirely different from `sqlite-utils transform` - I'd like to resolve this by merging the two tools.", "repo": {"value": 140912432, "label": "sqlite-utils"}, "type": "issue", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/sqlite-utils/issues/251/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": null, "state_reason": "completed"} {"id": 956832836, "node_id": "MDU6SXNzdWU5NTY4MzI4MzY=", "number": 300, "title": "Returning underlying cause for User Defined Functions ", "user": {"value": 71236, "label": "wsargent"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2021-07-30T15:08:21Z", "updated_at": "2021-08-02T21:53:50Z", "closed_at": "2021-08-02T21:53:50Z", "author_association": "NONE", "pull_request": null, "body": "The sqlite3 client takes user defined functions and replaces the text with \"user-defined function raised exception`\" so it's not apparent what's gone wrong:\r\n\r\n```\r\nUnexpected error: user-defined function raised exception\r\n```\r\n\r\nAs mentioned in https://code.djangoproject.com/ticket/29500 and https://stackoverflow.com/questions/45824209/how-to-get-an-error-kind-from-sqlite-create-function/45834923#45834923 the workaround for this is to enable callback tracebacks:\r\n\r\n```\r\nsqlite3.enable_callback_tracebacks(True)\r\n```\r\n\r\nIt would be nice if https://sqlite-utils.datasette.io/en/stable/python-api.html#registering-custom-sql-functions either included a reference to `enable_callback_tracebacks` or if registering a user defined function set this flag automatically.", "repo": {"value": 140912432, "label": "sqlite-utils"}, "type": "issue", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/sqlite-utils/issues/300/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": null, "state_reason": "completed"} {"id": 958516743, "node_id": "MDU6SXNzdWU5NTg1MTY3NDM=", "number": 306, "title": "Configure sphinx.ext.extlinks for issues", "user": {"value": 9599, "label": "simonw"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 2, "created_at": "2021-08-02T21:19:19Z", "updated_at": "2021-08-02T21:39:34Z", "closed_at": "2021-08-02T21:29:22Z", "author_association": "OWNER", "pull_request": null, "body": "As seen in Datasette: https://github.com/simonw/datasette/issues/1227", "repo": {"value": 140912432, "label": "sqlite-utils"}, "type": "issue", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/sqlite-utils/issues/306/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": null, "state_reason": "completed"} {"id": 957383814, "node_id": "MDU6SXNzdWU5NTczODM4MTQ=", "number": 301, "title": "insert-files should get a --silent option", "user": {"value": 9599, "label": "simonw"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 0, "created_at": "2021-08-01T04:11:03Z", "updated_at": "2021-08-02T19:12:21Z", "closed_at": "2021-08-02T19:12:21Z", "author_association": "OWNER", "pull_request": null, "body": "The new `sqlite-utils convert` command I'm adding in #251 will have a `--silent` option for turning off the progress bars. The only other command that has progress bars right now is `insert-files` so it should get this option too, for consistency.", "repo": {"value": 140912432, "label": "sqlite-utils"}, "type": "issue", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/sqlite-utils/issues/301/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": null, "state_reason": "completed"} {"id": 957731178, "node_id": "MDU6SXNzdWU5NTc3MzExNzg=", "number": 304, "title": "`table.convert(..., where=)` and `sqlite-utils convert ... --where=`", "user": {"value": 9599, "label": "simonw"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 3, "created_at": "2021-08-02T04:27:23Z", "updated_at": "2021-08-02T19:00:00Z", "closed_at": "2021-08-02T18:58:10Z", "author_association": "OWNER", "pull_request": null, "body": "For applying the conversion to a subset of rows selected using the where clause.\r\n\r\nShould also take optional arguments, as seen in `db[\"dogs\"].delete_where(\"age < ?\", [3])`.\r\n\r\nFollows #302 and #251. This was originally https://github.com/simonw/sqlite-transform/issues/9", "repo": {"value": 140912432, "label": "sqlite-utils"}, "type": "issue", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/sqlite-utils/issues/304/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": null, "state_reason": "completed"} {"id": 957741820, "node_id": "MDU6SXNzdWU5NTc3NDE4MjA=", "number": 305, "title": "Python: need a way to execute a count with an extra where clause", "user": {"value": 9599, "label": "simonw"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2021-08-02T04:52:02Z", "updated_at": "2021-08-02T05:08:22Z", "closed_at": "2021-08-02T05:08:22Z", "author_association": "OWNER", "pull_request": null, "body": "I need this for #304. I'll probably add this to the `.execute_count()` method as `where=` and `where_args=`.", "repo": {"value": 140912432, "label": "sqlite-utils"}, "type": "issue", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/sqlite-utils/issues/305/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": null, "state_reason": "completed"} {"id": 957536983, "node_id": "MDExOlB1bGxSZXF1ZXN0NzAwOTQ0NjQ0", "number": 303, "title": "sqlite-utils convert command and db[table].convert(...) method", "user": {"value": 9599, "label": "simonw"}, "state": "closed", "locked": 0, "assignee": null, "milestone": null, "comments": 1, "created_at": "2021-08-01T16:52:42Z", "updated_at": "2021-08-02T04:47:42Z", "closed_at": "2021-08-02T04:47:39Z", "author_association": "OWNER", "pull_request": "simonw/sqlite-utils/pulls/303", "body": "Refs #251, #302.\r\n\r\n- [x] Get recipes working\r\n- [x] Document recipes\r\n- [x] Implement `db[table].convert(...)` method\r\n- [x] Add tests for recipes that use the new Python method\r\n- [x] Implement `db[table].convert(..., multi=True)` mechanism\r\n- [x] Documentation for `db[table].convert(...)`\r\n- [x] Refactor `sqlite-utils convert` to use the new method", "repo": {"value": 140912432, "label": "sqlite-utils"}, "type": "pull", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/sqlite-utils/issues/303/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": 0, "state_reason": null} {"id": 957529248, "node_id": "MDU6SXNzdWU5NTc1MjkyNDg=", "number": 302, "title": "Python library version of `sqlite-utils convert`", "user": {"value": 9599, "label": "simonw"}, "state": "closed", "locked": 0, "assignee": {"value": 9599, "label": "simonw"}, "milestone": null, "comments": 1, "created_at": "2021-08-01T16:11:02Z", "updated_at": "2021-08-02T04:47:40Z", "closed_at": "2021-08-02T04:47:40Z", "author_association": "OWNER", "pull_request": null, "body": "Spin off from #251. The ability to execute Python functions to convert and split columns should be part of the library too, not just the CLI.", "repo": {"value": 140912432, "label": "sqlite-utils"}, "type": "issue", "active_lock_reason": null, "performed_via_github_app": null, "reactions": "{\"url\": \"https://api.github.com/repos/simonw/sqlite-utils/issues/302/reactions\", \"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "draft": null, "state_reason": "completed"}