id,node_id,number,state,locked,title,user,user_label,body,created_at,updated_at,closed_at,merged_at,merge_commit_sha,assignee,assignee_label,milestone,milestone_label,draft,head,base,author_association,repo,repo_label,url,merged_by,merged_by_label,auto_merge 399166433,MDExOlB1bGxSZXF1ZXN0Mzk5MTY2NDMz,719,closed,0,asgi: check raw_path is not None,193185,cldellow,"The ASGI spec (https://asgi.readthedocs.io/en/latest/specs/www.html#http) seems to imply that `None` is a valid value, so we need to check the value itself, not just whether the key is present. In particular, the [mangum](https://github.com/erm/mangum) adapter passes `None` for this key's value. This change permits mangum to be used to front datasette in Amazon API Gateway + AWS Lambda deployments.",2020-04-05T16:53:58Z,2020-05-04T17:14:26Z,2020-05-04T17:14:26Z,2020-05-04T17:14:26Z,dbd2d70b3819a7041bb36a527033d77c85683c05,,,,,0,161f61d73800a605354b4ac44a3c989e19bbc77a,e0e7a0facfc935a835cd73c720bc46661462f0b1,CONTRIBUTOR,107914493,datasette,https://github.com/simonw/datasette/pull/719,,, 1136499802,PR_kwDOCGYnMM5DvZxa,515,closed,0,"upsert new rows with constraints, fixes #514",193185,cldellow,"This fixes #514 by making the initial insert for upserts include all columns, so that new rows can be added to tables with non-pkey columns that have constraints. (aside: I'm not a python programmer. `pip`? `pipenv`? `venv`? These are mystical incantations to me. The process to set up this repo for local development and testing was _so easy_. Thank you for the excellent contributing documentation!) ---- :books: Documentation preview :books:: https://sqlite-utils--515.org.readthedocs.build/en/515/ ",2022-11-26T16:15:21Z,2023-05-08T21:27:11Z,2023-05-08T21:27:10Z,,c3713ef6944cbeacf36e462712cecac2176db692,,,,,0,32f8173a8fe830c224e39a0a514cd12e78de7028,965ca0d5f5bffe06cc02cd7741344d1ddddf9d56,NONE,140912432,sqlite-utils,https://github.com/simonw/sqlite-utils/pull/515,,, 1216059840,PR_kwDOBm6k_c5Ie5nA,2004,open,0,"use single quotes for string literals, fixes #2001",193185,cldellow,"This modernizes some uses of double quotes for string literals to use only single quotes, fixes simonw/datasette#2001 While developing it, I manually enabled the stricter mode by using the code snippet at https://gist.github.com/cldellow/85bba507c314b127f85563869cd94820 I think that code snippet isn't generally safe/portable, so I haven't tried to automate it in the tests. ---- :books: Documentation preview :books:: https://datasette--2004.org.readthedocs.build/en/2004/ ",2023-01-25T05:08:45Z,2023-02-01T06:37:18Z,,,b1d355dad63a0f97761c2e67f24673a781cfef9a,,,,,0,dca7634c274e71fae0d95ea4ff1dfd987b9af63c,e4ebef082de90db4e1b8527abc0d582b7ae0bc9d,CONTRIBUTOR,107914493,datasette,https://github.com/simonw/datasette/pull/2004,,, 1220379312,PR_kwDOBm6k_c5IvYKw,2008,open,0,array facet: don't materialize unnecessary columns,193185,cldellow,"The presence of `inner.*` causes SQLite to materialize a row with all the columns. Those columns will be discarded later. Instead, we can select only the column we'll use. This lets SQLite's optimizer realize that the other columns in the CTE definition aren't needed. On a test table with 278K rows, 98K of which had an array, this speeds up the facet calculation from 4 sec to 1 sec. ---- :books: Documentation preview :books:: https://datasette--2008.org.readthedocs.build/en/2008/ ",2023-01-28T19:33:40Z,2023-01-29T18:17:40Z,,,0eda5a57ead9bda8be4c9e5cd2fdb9f22e69222e,,,,,0,f529a3001d35a114d2e622dcc7913c4c25a95ed8,0b4a28691468b5c758df74fa1d72a823813c96bf,CONTRIBUTOR,107914493,datasette,https://github.com/simonw/datasette/pull/2008,,,