{"html_url": "https://github.com/simonw/datasette/issues/123#issuecomment-698110186", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/123", "id": 698110186, "node_id": "MDEyOklzc3VlQ29tbWVudDY5ODExMDE4Ng==", "user": {"value": 45416, "label": "obra"}, "created_at": "2020-09-24T04:49:51Z", "updated_at": "2020-09-24T04:49:51Z", "author_association": "NONE", "body": "As a half-measure, I'd get value out of being able to upload a CSV and have datasette run csv-to-sqlite on it.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 275125561, "label": "Datasette serve should accept paths/URLs to CSVs and other file formats"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/123#issuecomment-698168648", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/123", "id": 698168648, "node_id": "MDEyOklzc3VlQ29tbWVudDY5ODE2ODY0OA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-09-24T07:28:38Z", "updated_at": "2020-09-24T07:28:38Z", "author_association": "OWNER", "body": "@obra there's a plugin for that! https://github.com/simonw/datasette-upload-csvs", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 275125561, "label": "Datasette serve should accept paths/URLs to CSVs and other file formats"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/123#issuecomment-698174957", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/123", "id": 698174957, "node_id": "MDEyOklzc3VlQ29tbWVudDY5ODE3NDk1Nw==", "user": {"value": 45416, "label": "obra"}, "created_at": "2020-09-24T07:42:05Z", "updated_at": "2020-09-24T07:42:05Z", "author_association": "NONE", "body": "\nOh. Awesome. \n\nOn Thu, Sep 24, 2020 at 12:28:53AM -0700, Simon Willison wrote:\n> @obra there's a plugin for that! https://github.com/simonw/\n> datasette-upload-csvs\n> \n> \u00e2\u0080\u0094\n> You are receiving this because you were mentioned.\n> Reply to this email directly, view it on GitHub, or unsubscribe.*\n> \n\n-- \n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 275125561, "label": "Datasette serve should accept paths/URLs to CSVs and other file formats"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/970#issuecomment-698434236", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/970", "id": 698434236, "node_id": "MDEyOklzc3VlQ29tbWVudDY5ODQzNDIzNg==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-09-24T15:56:18Z", "updated_at": "2020-09-24T15:56:50Z", "author_association": "OWNER", "body": "Idea: if a database only has a single table, this could open straight to `/db/table`. If it has multiple tables but a single database it could open straight to `/db`.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 705108492, "label": "request an \"-o\" option on \"datasette server\" to open the default browser at the running url"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/974#issuecomment-698110492", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/974", "id": 698110492, "node_id": "MDEyOklzc3VlQ29tbWVudDY5ODExMDQ5Mg==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-09-24T04:50:56Z", "updated_at": "2020-09-24T04:51:05Z", "author_association": "OWNER", "body": "Come to think of it I've noticed that in the logs when it's running on my laptop, definitely worth fixing.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 707849175, "label": "static assets and favicon aren't cached by the browser"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/976#issuecomment-698488971", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/976", "id": 698488971, "node_id": "MDEyOklzc3VlQ29tbWVudDY5ODQ4ODk3MQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-09-24T17:42:09Z", "updated_at": "2020-09-24T17:42:35Z", "author_association": "OWNER", "body": "This is complex enough new logic that it will need test coverage - specifically covering tables or databases with strange names.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 708289783, "label": "Idea: -o could open to a more convenient location"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/issues/119#issuecomment-698575545", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/119", "id": 698575545, "node_id": "MDEyOklzc3VlQ29tbWVudDY5ODU3NTU0NQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-09-24T20:36:59Z", "updated_at": "2020-09-24T20:36:59Z", "author_association": "OWNER", "body": "This was implemented in #161.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 652700770, "label": "Ability to remove a foreign key"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/issues/138#issuecomment-698626768", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/138", "id": 698626768, "node_id": "MDEyOklzc3VlQ29tbWVudDY5ODYyNjc2OA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-09-24T22:46:56Z", "updated_at": "2020-09-24T22:46:56Z", "author_association": "OWNER", "body": "Yeah this works fine, added a new confirmatory test.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 684118950, "label": "extracts= doesn't configure foreign keys"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/issues/172#issuecomment-698178101", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/172", "id": 698178101, "node_id": "MDEyOklzc3VlQ29tbWVudDY5ODE3ODEwMQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-09-24T07:48:57Z", "updated_at": "2020-09-24T07:49:20Z", "author_association": "OWNER", "body": "> I wonder if I could make this faster by separating it out into a few steps:\r\n> \r\n> * Create the new lookup table with all of the distinct rows\r\n> \r\n> * Add the blank foreign key column\r\n> \r\n> * run a `UPDATE table SET blah_id = (select id from lookup where thang = table.thang)`\r\n> \r\n> * Drop the value columns\r\nMy prototype of this knocked the time down from 10 minutes to 4 seconds, so I think the change is worth it!\r\n```\r\n% date\r\nsqlite-utils extract salaries.db salaries \\\r\n 'Department Code' 'Department' \\\r\n --table 'departments' \\\r\n --fk-column 'department_id' \\\r\n --rename 'Department Code' code \\\r\n --rename 'Department' name\r\ndate\r\nsqlite-utils extract salaries.db salaries \\\r\n 'Union Code' 'Union' \\\r\n --table 'unions' \\\r\n --fk-column 'union_id' \\\r\n --rename 'Union Code' code \\\r\n --rename 'Union' name\r\ndate\r\nsqlite-utils extract salaries.db salaries \\\r\n 'Job Family Code' 'Job Family' \\\r\n --table 'job_families' \\\r\n --fk-column 'job_family_id' \\\r\n --rename 'Job Family Code' code \\\r\n --rename 'Job Family' name\r\ndate\r\nsqlite-utils extract salaries.db salaries \\\r\n 'Job Code' 'Job' \\\r\n --table 'jobs' \\\r\n --fk-column 'job_id' \\\r\n --rename 'Job Code' code \\\r\n --rename 'Job' name\r\ndate\r\nThu Sep 24 00:48:16 PDT 2020\r\n\r\nThu Sep 24 00:48:20 PDT 2020\r\n\r\nThu Sep 24 00:48:24 PDT 2020\r\n\r\nThu Sep 24 00:48:28 PDT 2020\r\n\r\nThu Sep 24 00:48:32 PDT 2020\r\n```", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 707427200, "label": "Improve performance of extract operations"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/issues/173#issuecomment-698577508", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/173", "id": 698577508, "node_id": "MDEyOklzc3VlQ29tbWVudDY5ODU3NzUwOA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-09-24T20:41:18Z", "updated_at": "2020-09-24T20:41:18Z", "author_association": "OWNER", "body": "I know how to build this for CSV and TSV - I can read them via a file wrapper that counts how many bytes it has seen.\r\n\r\nNot sure how to do it for JSON though. Maybe I could provide it just for newline-delimited JSON? Again I can measure progress based on how many bytes have been read.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 707478649, "label": "Progress bar for sqlite-utils insert"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/issues/173#issuecomment-698578959", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/173", "id": 698578959, "node_id": "MDEyOklzc3VlQ29tbWVudDY5ODU3ODk1OQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-09-24T20:44:35Z", "updated_at": "2020-09-24T20:50:19Z", "author_association": "OWNER", "body": "I'm using a `click.File()` at the moment: https://github.com/simonw/sqlite-utils/blob/5a63b9e88c5887432eb1d7df39f304ea55038437/sqlite_utils/cli.py#L496\r\n\r\nI'll need to change that to be something that I can easily measure progress through. Also I should change its name - `json_file` is a bad name when it sometimes handles `csv` or `tsv` instead.\r\n\r\nIt looks like the argument provided by `click.File` doesn't provide a way to read the size of the file, so I need to switch that out for a file path instead. https://click.palletsprojects.com/en/7.x/api/#click.Path", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 707478649, "label": "Progress bar for sqlite-utils insert"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/issues/173#issuecomment-698579389", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/173", "id": 698579389, "node_id": "MDEyOklzc3VlQ29tbWVudDY5ODU3OTM4OQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-09-24T20:45:29Z", "updated_at": "2020-09-24T20:45:29Z", "author_association": "OWNER", "body": "Relevant code: https://github.com/simonw/sqlite-utils/blob/5a63b9e88c5887432eb1d7df39f304ea55038437/sqlite_utils/cli.py#L550-L560\r\n\r\nChanging that to track progress through NL-JSON, CSV and TSV shouldn't be too hard.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 707478649, "label": "Progress bar for sqlite-utils insert"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/issues/175#issuecomment-698412692", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/175", "id": 698412692, "node_id": "MDEyOklzc3VlQ29tbWVudDY5ODQxMjY5Mg==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-09-24T15:19:28Z", "updated_at": "2020-09-24T15:19:28Z", "author_association": "OWNER", "body": "Need to land #174 first.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 708261775, "label": "Add docs for .transform(column_order=)"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/issues/175#issuecomment-698434811", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/175", "id": 698434811, "node_id": "MDEyOklzc3VlQ29tbWVudDY5ODQzNDgxMQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-09-24T15:57:17Z", "updated_at": "2020-09-24T15:57:17Z", "author_association": "OWNER", "body": "Landed that.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 708261775, "label": "Add docs for .transform(column_order=)"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/issues/175#issuecomment-698572264", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/175", "id": 698572264, "node_id": "MDEyOklzc3VlQ29tbWVudDY5ODU3MjI2NA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-09-24T20:29:48Z", "updated_at": "2020-09-24T20:29:48Z", "author_association": "OWNER", "body": "Documentation: https://sqlite-utils.readthedocs.io/en/stable/python-api.html#transforming-a-table", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 708261775, "label": "Add docs for .transform(column_order=)"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/issues/176#issuecomment-698438043", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/176", "id": 698438043, "node_id": "MDEyOklzc3VlQ29tbWVudDY5ODQzODA0Mw==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-09-24T16:02:55Z", "updated_at": "2020-09-24T16:02:55Z", "author_association": "OWNER", "body": "I think I'll call this option `--column-order` with a shortcut of `-o`.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 708293114, "label": "sqlite-utils transform column order option"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/issues/176#issuecomment-698572493", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/176", "id": 698572493, "node_id": "MDEyOklzc3VlQ29tbWVudDY5ODU3MjQ5Mw==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-09-24T20:30:18Z", "updated_at": "2020-09-24T20:30:18Z", "author_association": "OWNER", "body": "Documentation: https://sqlite-utils.readthedocs.io/en/stable/cli.html#transforming-tables", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 708293114, "label": "sqlite-utils transform column order option"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/issues/177#issuecomment-698444567", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/177", "id": 698444567, "node_id": "MDEyOklzc3VlQ29tbWVudDY5ODQ0NDU2Nw==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-09-24T16:14:47Z", "updated_at": "2020-09-24T16:14:47Z", "author_association": "OWNER", "body": "This is a backwards incompatible change, so technically I should bump the major version to 3. I'm not going to do that, because the feature is brand new and the chance that anyone has written code or shell scripts that use it is vanishingly small.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 708301810, "label": "Simplify .transform(drop_foreign_keys=) and sqlite-transform --drop-foreign-key"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/pull/174#issuecomment-698180113", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/174", "id": 698180113, "node_id": "MDEyOklzc3VlQ29tbWVudDY5ODE4MDExMw==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-09-24T07:53:03Z", "updated_at": "2020-09-24T07:53:03Z", "author_association": "OWNER", "body": "This could do with a little bit more testing - I'm worried there may be column or table name edge cases that are not covered yet. I also need to remove the progress bar code since that no longer makes sense for this implementation.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 707944044, "label": "Much, much faster extract() implementation"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/pull/174#issuecomment-698180705", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/174", "id": 698180705, "node_id": "MDEyOklzc3VlQ29tbWVudDY5ODE4MDcwNQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-09-24T07:54:10Z", "updated_at": "2020-09-24T07:54:10Z", "author_association": "OWNER", "body": "After running through the steps in https://simonwillison.net/2020/Sep/23/sqlite-utils-extract/ I get a table that looks like this:\r\n\r\n\"salaries__salaries__683_558_rows\"\r\n\r\nThe foreign key columns are all at the end of the table. It would be nicer if they were arranged in the same order as the columns they replaced.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 707944044, "label": "Much, much faster extract() implementation"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/pull/174#issuecomment-698181478", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/174", "id": 698181478, "node_id": "MDEyOklzc3VlQ29tbWVudDY5ODE4MTQ3OA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-09-24T07:55:45Z", "updated_at": "2020-09-24T07:55:45Z", "author_association": "OWNER", "body": "`import functools` is no longer needed.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 707944044, "label": "Much, much faster extract() implementation"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/pull/174#issuecomment-698182037", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/174", "id": 698182037, "node_id": "MDEyOklzc3VlQ29tbWVudDY5ODE4MjAzNw==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-09-24T07:56:50Z", "updated_at": "2020-09-24T07:56:50Z", "author_association": "OWNER", "body": "I could also be a bit smarter about transaction handling. I think it may be possible to run this entire operation in a single transaction now.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 707944044, "label": "Much, much faster extract() implementation"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/pull/174#issuecomment-698182656", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/174", "id": 698182656, "node_id": "MDEyOklzc3VlQ29tbWVudDY5ODE4MjY1Ng==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-09-24T07:58:08Z", "updated_at": "2020-09-24T07:58:08Z", "author_association": "OWNER", "body": "The way the lookup table works here differs from the previous implementation. In the previous implementation the usage of `.lookup()` meant that an existing table would be modified to fit the new purpose. That no longer happens in this version. Need to make a design decision about how this should work.\r\n\r\nIt should definitely be possible to use an existing lookup table - imagine a database where several tables have a \"Departments\" column and we want to extract all of those values out to a single shared \"Departments\" table.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 707944044, "label": "Much, much faster extract() implementation"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/pull/174#issuecomment-698184166", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/174", "id": 698184166, "node_id": "MDEyOklzc3VlQ29tbWVudDY5ODE4NDE2Ng==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-09-24T08:01:07Z", "updated_at": "2020-09-24T08:01:07Z", "author_association": "OWNER", "body": "I may revert the now unnecessary undocumented tweaks to the `.update()` method made in 66d506587eba9f0715267d6560b97c1fa44cc781 as well.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 707944044, "label": "Much, much faster extract() implementation"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/pull/174#issuecomment-698400790", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/174", "id": 698400790, "node_id": "MDEyOklzc3VlQ29tbWVudDY5ODQwMDc5MA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-09-24T14:59:50Z", "updated_at": "2020-09-24T14:59:50Z", "author_association": "OWNER", "body": "For reusing the lookup table: I'm going to raise an error if a lookup table exists but without the correct columns. The caller can then add those columns and try again.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 707944044, "label": "Much, much faster extract() implementation"}, "performed_via_github_app": null}