issue_comments
8,358 rows where author_association = "OWNER" sorted by issue_url descending
This data as json, CSV (advanced)
user 1
- simonw 8,258
id | html_url | issue_url ▲ | node_id | user | created_at | updated_at | author_association | body | reactions | issue | performed_via_github_app |
---|---|---|---|---|---|---|---|---|---|---|---|
1843586503 | https://github.com/simonw/sqlite-utils/pull/604#issuecomment-1843586503 | https://api.github.com/repos/simonw/sqlite-utils/issues/604 | IC_kwDOCGYnMM5t4uXH | simonw 9599 | 2023-12-06T19:49:10Z | 2023-12-06T19:49:29Z | OWNER | This looks really great on first glance - design is good, implementation is solid, tests and documentation look great. Looks like a couple of ``` mypy sqlite_utils tests sqlite_utils/db.py:543: error: Incompatible types in assignment (expression has type "type[Table]", variable has type "type[View]") [assignment] tests/test_lookup.py:156: error: Name "test_lookup_new_table" already defined on line 5 [no-redef] Found 2 errors in 2 files (checked 54 source files) Error: Process completed with exit code 1. ``` |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add more STRICT table support 2001006157 | |
1846560096 | https://github.com/simonw/sqlite-utils/pull/604#issuecomment-1846560096 | https://api.github.com/repos/simonw/sqlite-utils/issues/604 | IC_kwDOCGYnMM5uEEVg | simonw 9599 | 2023-12-08T05:16:44Z | 2023-12-08T05:17:20Z | OWNER | Also tested this manually like so:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add more STRICT table support 2001006157 | |
1846555822 | https://github.com/simonw/sqlite-utils/issues/603#issuecomment-1846555822 | https://api.github.com/repos/simonw/sqlite-utils/issues/603 | IC_kwDOCGYnMM5uEDSu | simonw 9599 | 2023-12-08T05:09:55Z | 2023-12-08T05:10:31Z | OWNER | I'm unable to replicate this issue. This is with a fresh install of <Table foo (bar)> >>> import sys >>> sys.version '3.12.0 (v3.12.0:0fb18b02c8, Oct 2 2023, 09:45:56) [Clang 13.0.0 (clang-1300.0.29.30)]' ``` |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Pyhton 3.12 Bug report 1988525411 | |
1793263638 | https://github.com/simonw/sqlite-utils/pull/600#issuecomment-1793263638 | https://api.github.com/repos/simonw/sqlite-utils/issues/600 | IC_kwDOCGYnMM5q4wgW | simonw 9599 | 2023-11-04T00:19:58Z | 2023-11-04T00:19:58Z | OWNER | Thanks for this! |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add spatialite arm64 linux path 1977004379 | |
1793265952 | https://github.com/simonw/sqlite-utils/pull/600#issuecomment-1793265952 | https://api.github.com/repos/simonw/sqlite-utils/issues/600 | IC_kwDOCGYnMM5q4xEg | simonw 9599 | 2023-11-04T00:25:34Z | 2023-11-04T00:25:34Z | OWNER | The tests failed because they found a spelling mistake in a completely unrelated area of the code - not sure why that had not been caught before. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add spatialite arm64 linux path 1977004379 | |
1793268126 | https://github.com/simonw/sqlite-utils/pull/600#issuecomment-1793268126 | https://api.github.com/repos/simonw/sqlite-utils/issues/600 | IC_kwDOCGYnMM5q4xme | simonw 9599 | 2023-11-04T00:31:34Z | 2023-11-04T00:31:34Z | OWNER | Testing this manually on macOS using Docker Desk top like this:
Then:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add spatialite arm64 linux path 1977004379 | |
1793269219 | https://github.com/simonw/sqlite-utils/pull/600#issuecomment-1793269219 | https://api.github.com/repos/simonw/sqlite-utils/issues/600 | IC_kwDOCGYnMM5q4x3j | simonw 9599 | 2023-11-04T00:34:33Z | 2023-11-04T00:34:33Z | OWNER | The GIS tests now pass in that container too:
tests/test_gis.py ............ [100%] ========================= 12 passed in 0.48s ========================= ``` |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add spatialite arm64 linux path 1977004379 | |
457978729 | https://github.com/simonw/sqlite-utils/issues/6#issuecomment-457978729 | https://api.github.com/repos/simonw/sqlite-utils/issues/6 | MDEyOklzc3VlQ29tbWVudDQ1Nzk3ODcyOQ== | simonw 9599 | 2019-01-28T02:12:19Z | 2019-01-28T02:12:19Z | OWNER | Will need to solve #7 for this to become truly efficient. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
"sqlite-utils insert" should support newline-delimited JSON 403624090 | |
1793268750 | https://github.com/simonw/sqlite-utils/issues/599#issuecomment-1793268750 | https://api.github.com/repos/simonw/sqlite-utils/issues/599 | IC_kwDOCGYnMM5q4xwO | simonw 9599 | 2023-11-04T00:33:25Z | 2023-11-04T00:33:25Z | OWNER | See details of how I tested this here: - https://github.com/simonw/sqlite-utils/pull/600#issuecomment-1793268126 Short version: having applied this fix, the following command (on simulated |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Cannot find spatialite on arm64 linux 1976986318 | |
1793272429 | https://github.com/simonw/sqlite-utils/pull/598#issuecomment-1793272429 | https://api.github.com/repos/simonw/sqlite-utils/issues/598 | IC_kwDOCGYnMM5q4ypt | simonw 9599 | 2023-11-04T00:40:34Z | 2023-11-04T00:40:34Z | OWNER | Thanks! |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Fixed issue #433 - CLI eats cursor 1926729132 | |
1793274485 | https://github.com/simonw/sqlite-utils/pull/598#issuecomment-1793274485 | https://api.github.com/repos/simonw/sqlite-utils/issues/598 | IC_kwDOCGYnMM5q4zJ1 | simonw 9599 | 2023-11-04T00:46:55Z | 2023-11-04T00:46:55Z | OWNER | Manually tested. Before: After: |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Fixed issue #433 - CLI eats cursor 1926729132 | |
1793274869 | https://github.com/simonw/sqlite-utils/pull/596#issuecomment-1793274869 | https://api.github.com/repos/simonw/sqlite-utils/issues/596 | IC_kwDOCGYnMM5q4zP1 | simonw 9599 | 2023-11-04T00:47:55Z | 2023-11-04T00:47:55Z | OWNER | Thanks! |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Fixes mapping for time fields related to mysql, closes #522 1919296686 | |
1714919806 | https://github.com/simonw/sqlite-utils/issues/594#issuecomment-1714919806 | https://api.github.com/repos/simonw/sqlite-utils/issues/594 | IC_kwDOCGYnMM5mN5l- | simonw 9599 | 2023-09-12T03:49:41Z | 2023-09-12T03:49:41Z | OWNER | Digging in a bit more: ```pycon
Right now I ignore those columns entirely: https://github.com/simonw/sqlite-utils/blob/622c3a5a7dd53a09c029e2af40c2643fe7579340/sqlite_utils/db.py#L1523-L1540 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Represent compound foreign keys in table.foreign_keys output 1891614971 | |
1714920708 | https://github.com/simonw/sqlite-utils/issues/594#issuecomment-1714920708 | https://api.github.com/repos/simonw/sqlite-utils/issues/594 | IC_kwDOCGYnMM5mN50E | simonw 9599 | 2023-09-12T03:51:13Z | 2023-09-12T03:51:13Z | OWNER | Changing this without breaking backwards compatibility (and forcing a 4.0 release) will be tricky, because I could swap it out for a |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Represent compound foreign keys in table.foreign_keys output 1891614971 | |
1710930934 | https://github.com/simonw/sqlite-utils/issues/592#issuecomment-1710930934 | https://api.github.com/repos/simonw/sqlite-utils/issues/592 | IC_kwDOCGYnMM5l-rv2 | simonw 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:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
`table.transform()` should preserve `rowid` values 1886771493 | |
1710931605 | https://github.com/simonw/sqlite-utils/issues/592#issuecomment-1710931605 | https://api.github.com/repos/simonw/sqlite-utils/issues/592 | IC_kwDOCGYnMM5l-r6V | simonw 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 } |
`table.transform()` should preserve `rowid` values 1886771493 | |
1710933716 | https://github.com/simonw/sqlite-utils/issues/592#issuecomment-1710933716 | https://api.github.com/repos/simonw/sqlite-utils/issues/592 | IC_kwDOCGYnMM5l-sbU | simonw 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 The reason the But I tried this test and it passed, too:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
`table.transform()` should preserve `rowid` values 1886771493 | |
1710934448 | https://github.com/simonw/sqlite-utils/issues/592#issuecomment-1710934448 | https://api.github.com/repos/simonw/sqlite-utils/issues/592 | IC_kwDOCGYnMM5l-smw | simonw 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 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
`table.transform()` should preserve `rowid` values 1886771493 | |
1710935270 | https://github.com/simonw/sqlite-utils/issues/592#issuecomment-1710935270 | https://api.github.com/repos/simonw/sqlite-utils/issues/592 | IC_kwDOCGYnMM5l-szm | simonw 9599 | 2023-09-08T00:55:30Z | 2023-09-08T00:55:30Z | OWNER | Yes! That recreated the bug: ```
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
`table.transform()` should preserve `rowid` values 1886771493 | |
1712895580 | https://github.com/simonw/sqlite-utils/issues/592#issuecomment-1712895580 | https://api.github.com/repos/simonw/sqlite-utils/issues/592 | IC_kwDOCGYnMM5mGLZc | simonw 9599 | 2023-09-10T17:46:41Z | 2023-09-10T17:46:41Z | OWNER | In working on this I learned that https://www.sqlite.org/lang_vacuum.html#how_vacuum_works
So this fix wasn't as valuable as I thought. I need to move away from ever assuming that a |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
`table.transform()` should preserve `rowid` values 1886771493 | |
1708695907 | https://github.com/simonw/sqlite-utils/pull/591#issuecomment-1708695907 | https://api.github.com/repos/simonw/sqlite-utils/issues/591 | IC_kwDOCGYnMM5l2KFj | simonw 9599 | 2023-09-06T16:15:59Z | 2023-09-06T16:19:14Z | OWNER | The test failure was while installing
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Test against Python 3.12 preview 1884335789 | |
1793278279 | https://github.com/simonw/sqlite-utils/pull/591#issuecomment-1793278279 | https://api.github.com/repos/simonw/sqlite-utils/issues/591 | IC_kwDOCGYnMM5q40FH | simonw 9599 | 2023-11-04T00:58:03Z | 2023-11-04T00:58:03Z | OWNER | I'm going to abandon this PR and ship the 3.12 testing change directly to |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Test against Python 3.12 preview 1884335789 | |
1704387161 | https://github.com/simonw/sqlite-utils/issues/590#issuecomment-1704387161 | https://api.github.com/repos/simonw/sqlite-utils/issues/590 | IC_kwDOCGYnMM5lluJZ | simonw 9599 | 2023-09-03T19:50:36Z | 2023-09-03T19:50:36Z | OWNER | Maybe just populate |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Ability to tell if a Database is an in-memory one 1879214365 | |
1704383901 | https://github.com/simonw/sqlite-utils/issues/589#issuecomment-1704383901 | https://api.github.com/repos/simonw/sqlite-utils/issues/589 | IC_kwDOCGYnMM5lltWd | simonw 9599 | 2023-09-03T19:34:05Z | 2023-09-03T19:34:05Z | OWNER | For that particular case I realized I'd quite like to have a mechanism for applying functions for a block of code and then de-registering them at the end - a context manager. I played with this idea a bit:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Mechanism for de-registering registered SQL functions 1879209560 | |
1704384111 | https://github.com/simonw/sqlite-utils/issues/589#issuecomment-1704384111 | https://api.github.com/repos/simonw/sqlite-utils/issues/589 | IC_kwDOCGYnMM5lltZv | simonw 9599 | 2023-09-03T19:35:03Z | 2023-09-03T19:35:03Z | OWNER | Normally in Python/ You can't do that with |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Mechanism for de-registering registered SQL functions 1879209560 | |
1704384393 | https://github.com/simonw/sqlite-utils/issues/589#issuecomment-1704384393 | https://api.github.com/repos/simonw/sqlite-utils/issues/589 | IC_kwDOCGYnMM5llteJ | simonw 9599 | 2023-09-03T19:36:34Z | 2023-09-03T19:36:34Z | OWNER | Here's a prototype: https://github.com/simonw/sqlite-utils/commit/62f673835c4a66f87cf6f949eaff43c8b014619b Still needs tests and documentation (and some more thought to make sure it's doing the right thing). |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Mechanism for de-registering registered SQL functions 1879209560 | |
1694823972 | https://github.com/simonw/sqlite-utils/issues/588#issuecomment-1694823972 | https://api.github.com/repos/simonw/sqlite-utils/issues/588 | IC_kwDOCGYnMM5lBPYk | simonw 9599 | 2023-08-28T00:41:54Z | 2023-08-28T00:41:54Z | OWNER | Tips on typing |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
`table.get(column=value)` option for retrieving things not by their primary key 1868713944 | |
1685096129 | https://github.com/simonw/sqlite-utils/issues/587#issuecomment-1685096129 | https://api.github.com/repos/simonw/sqlite-utils/issues/587 | IC_kwDOCGYnMM5kcIbB | simonw 9599 | 2023-08-19T20:03:00Z | 2023-08-19T20:03:00Z | OWNER | Simplest possible recreation of the bug:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
New .add_foreign_key() can break if PRAGMA legacy_alter_table=ON and there's an invalid foreign key reference 1857851384 | |
1685096284 | https://github.com/simonw/sqlite-utils/issues/587#issuecomment-1685096284 | https://api.github.com/repos/simonw/sqlite-utils/issues/587 | IC_kwDOCGYnMM5kcIdc | simonw 9599 | 2023-08-19T20:03:59Z | 2023-08-19T20:03:59Z | OWNER | Although this is revealing a problem in the underlying code (that schema is invalid), it also represents a regression: |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
New .add_foreign_key() can break if PRAGMA legacy_alter_table=ON and there's an invalid foreign key reference 1857851384 | |
1685096381 | https://github.com/simonw/sqlite-utils/issues/587#issuecomment-1685096381 | https://api.github.com/repos/simonw/sqlite-utils/issues/587 | IC_kwDOCGYnMM5kcIe9 | simonw 9599 | 2023-08-19T20:04:32Z | 2023-08-19T20:04:32Z | OWNER | I'm inclined to say this isn't a bug in |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
New .add_foreign_key() can break if PRAGMA legacy_alter_table=ON and there's an invalid foreign key reference 1857851384 | |
1683396150 | https://github.com/simonw/sqlite-utils/issues/586#issuecomment-1683396150 | https://api.github.com/repos/simonw/sqlite-utils/issues/586 | IC_kwDOCGYnMM5kVpY2 | simonw 9599 | 2023-08-18T06:02:18Z | 2023-08-18T06:06:31Z | OWNER | More notes in here: - https://github.com/simonw/datasette-edit-schema/issues/35#issuecomment-1683392873 Not all Python/SQLite installations exhibit this problem by default! It turns out this is controlled by the If that PRAGMA is turned on (default in newer SQLites) then Here's a one-liner to test if it is on or not:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
.transform() fails to drop column if table is part of a view 1856075668 | |
1683398866 | https://github.com/simonw/sqlite-utils/issues/586#issuecomment-1683398866 | https://api.github.com/repos/simonw/sqlite-utils/issues/586 | IC_kwDOCGYnMM5kVqDS | simonw 9599 | 2023-08-18T06:05:50Z | 2023-08-18T06:06:42Z | OWNER | Options:
- Provide a I'm on the fence as to which of these I like the most. I'm tempted to go with the one which just drops VIEWS and recreates them all the time, because it feels simpler. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
.transform() fails to drop column if table is part of a view 1856075668 | |
1683404978 | https://github.com/simonw/sqlite-utils/issues/586#issuecomment-1683404978 | https://api.github.com/repos/simonw/sqlite-utils/issues/586 | IC_kwDOCGYnMM5kVriy | simonw 9599 | 2023-08-18T06:13:46Z | 2023-08-18T06:13:46Z | OWNER | I shipped the view recreating fix in |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
.transform() fails to drop column if table is part of a view 1856075668 | |
1683195669 | https://github.com/simonw/sqlite-utils/issues/585#issuecomment-1683195669 | https://api.github.com/repos/simonw/sqlite-utils/issues/585 | IC_kwDOCGYnMM5kU4cV | simonw 9599 | 2023-08-18T01:24:57Z | 2023-08-18T01:24:57Z | OWNER | Currently:
Transform a table beyond the capabilities of ALTER TABLE Example:
Options: --type <TEXT CHOICE>... Change column type to INTEGER, TEXT, FLOAT or BLOB --drop TEXT Drop this column --rename <TEXT TEXT>... Rename this column to X -o, --column-order TEXT Reorder columns --not-null TEXT Set this column to NOT NULL --not-null-false TEXT Remove NOT NULL from this column --pk TEXT Make this column the primary key --pk-none Remove primary key (convert to rowid table) --default <TEXT TEXT>... Set default value for this column --default-none TEXT Remove default from this column --drop-foreign-key TEXT Drop foreign key constraint for this column --sql Output SQL without executing it --load-extension TEXT Path to SQLite extension, with optional :entrypoint -h, --help Show this message and exit. ``` |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
CLI equivalents to `transform(add_foreign_keys=)` 1855894222 | |
1683197882 | https://github.com/simonw/sqlite-utils/issues/585#issuecomment-1683197882 | https://api.github.com/repos/simonw/sqlite-utils/issues/585 | IC_kwDOCGYnMM5kU4-6 | simonw 9599 | 2023-08-18T01:25:53Z | 2023-08-18T01:25:53Z | OWNER | Probably most relevant here is this snippet from:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
CLI equivalents to `transform(add_foreign_keys=)` 1855894222 | |
1683198740 | https://github.com/simonw/sqlite-utils/issues/585#issuecomment-1683198740 | https://api.github.com/repos/simonw/sqlite-utils/issues/585 | IC_kwDOCGYnMM5kU5MU | simonw 9599 | 2023-08-18T01:26:47Z | 2023-08-18T01:26:47Z | OWNER | The only CLI feature that supports providing just the column name appears to be this:
Add a new foreign key constraint to an existing table Example:
WARNING: Could corrupt your database! Back up your database file first.
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
CLI equivalents to `transform(add_foreign_keys=)` 1855894222 | |
1683200128 | https://github.com/simonw/sqlite-utils/issues/585#issuecomment-1683200128 | https://api.github.com/repos/simonw/sqlite-utils/issues/585 | IC_kwDOCGYnMM5kU5iA | simonw 9599 | 2023-08-18T01:29:00Z | 2023-08-18T01:29:00Z | OWNER | I'm not going to implement the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
CLI equivalents to `transform(add_foreign_keys=)` 1855894222 | |
1683201239 | https://github.com/simonw/sqlite-utils/issues/585#issuecomment-1683201239 | https://api.github.com/repos/simonw/sqlite-utils/issues/585 | IC_kwDOCGYnMM5kU5zX | simonw 9599 | 2023-08-18T01:30:46Z | 2023-08-18T01:30:46Z | OWNER | Help can now look like this:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
CLI equivalents to `transform(add_foreign_keys=)` 1855894222 | |
1683212074 | https://github.com/simonw/sqlite-utils/issues/585#issuecomment-1683212074 | https://api.github.com/repos/simonw/sqlite-utils/issues/585 | IC_kwDOCGYnMM5kU8cq | simonw 9599 | 2023-08-18T01:43:54Z | 2023-08-18T01:43:54Z | OWNER | Some manual testing:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
CLI equivalents to `transform(add_foreign_keys=)` 1855894222 | |
1683217284 | https://github.com/simonw/sqlite-utils/issues/585#issuecomment-1683217284 | https://api.github.com/repos/simonw/sqlite-utils/issues/585 | IC_kwDOCGYnMM5kU9uE | simonw 9599 | 2023-08-18T01:50:21Z | 2023-08-18T01:50:21Z | OWNER | And a test of the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
CLI equivalents to `transform(add_foreign_keys=)` 1855894222 | |
1683112298 | https://github.com/simonw/sqlite-utils/pull/584#issuecomment-1683112298 | https://api.github.com/repos/simonw/sqlite-utils/issues/584 | IC_kwDOCGYnMM5kUkFq | simonw 9599 | 2023-08-17T23:33:14Z | 2023-08-17T23:33:14Z | OWNER | Just one failing test left: ``` # Soundness check foreign_keys point to existing tables for fk in foreign_keys: if fk.other_table == name and columns.get(fk.other_column): continue if not any( c for c in self[fk.other_table].columns if c.name == fk.other_column ):
sqlite_utils/db.py:882: AlterError ==== short test summary info ==== FAILED tests/test_create.py::test_add_column_foreign_key - sqlite_utils.db.AlterError: No such column: breeds.rowid ==== 1 failed, 378 deselected in 0.49s ==== ``` |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
.transform() instead of modifying sqlite_master for add_foreign_keys 1855838223 | |
1683112857 | https://github.com/simonw/sqlite-utils/pull/584#issuecomment-1683112857 | https://api.github.com/repos/simonw/sqlite-utils/issues/584 | IC_kwDOCGYnMM5kUkOZ | simonw 9599 | 2023-08-17T23:33:58Z | 2023-08-17T23:33:58Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
.transform() instead of modifying sqlite_master for add_foreign_keys 1855838223 | ||
1683114719 | https://github.com/simonw/sqlite-utils/pull/584#issuecomment-1683114719 | https://api.github.com/repos/simonw/sqlite-utils/issues/584 | IC_kwDOCGYnMM5kUkrf | simonw 9599 | 2023-08-17T23:36:02Z | 2023-08-17T23:36:02Z | OWNER | Just these three lines recreate the problem: ```python from sqlite_utils import Database fresh_db = Database(memory=True) fresh_db.create_table("dogs", {"name": str})
fresh_db.create_table("breeds", {"name": str})
fresh_db["dogs"].add_column("breed_id", fk="breeds")
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
.transform() instead of modifying sqlite_master for add_foreign_keys 1855838223 | |
1683118376 | https://github.com/simonw/sqlite-utils/pull/584#issuecomment-1683118376 | https://api.github.com/repos/simonw/sqlite-utils/issues/584 | IC_kwDOCGYnMM5kUlko | simonw 9599 | 2023-08-17T23:41:10Z | 2023-08-17T23:41:10Z | OWNER | The problem here is that the table created by this line:
On the Here's what the debugger reveals about this code:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
.transform() instead of modifying sqlite_master for add_foreign_keys 1855838223 | |
1683122767 | https://github.com/simonw/sqlite-utils/pull/584#issuecomment-1683122767 | https://api.github.com/repos/simonw/sqlite-utils/issues/584 | IC_kwDOCGYnMM5kUmpP | simonw 9599 | 2023-08-17T23:46:09Z | 2023-08-17T23:46:09Z | OWNER | Oops,
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
.transform() instead of modifying sqlite_master for add_foreign_keys 1855838223 | |
1683137259 | https://github.com/simonw/sqlite-utils/pull/584#issuecomment-1683137259 | https://api.github.com/repos/simonw/sqlite-utils/issues/584 | IC_kwDOCGYnMM5kUqLr | simonw 9599 | 2023-08-18T00:06:59Z | 2023-08-18T00:06:59Z | OWNER | The docs still describe the old trick, I need to update that: https://sqlite-utils.datasette.io/en/3.34/python-api.html#adding-foreign-key-constraints |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
.transform() instead of modifying sqlite_master for add_foreign_keys 1855838223 | |
1683138953 | https://github.com/simonw/sqlite-utils/pull/584#issuecomment-1683138953 | https://api.github.com/repos/simonw/sqlite-utils/issues/584 | IC_kwDOCGYnMM5kUqmJ | simonw 9599 | 2023-08-18T00:09:20Z | 2023-08-18T00:09:20Z | OWNER | Weird, I'm getting a |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
.transform() instead of modifying sqlite_master for add_foreign_keys 1855838223 | |
1683139304 | https://github.com/simonw/sqlite-utils/pull/584#issuecomment-1683139304 | https://api.github.com/repos/simonw/sqlite-utils/issues/584 | IC_kwDOCGYnMM5kUqro | simonw 9599 | 2023-08-18T00:09:56Z | 2023-08-18T00:09:56Z | OWNER | Upgrading |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
.transform() instead of modifying sqlite_master for add_foreign_keys 1855838223 | |
1683143723 | https://github.com/simonw/sqlite-utils/pull/584#issuecomment-1683143723 | https://api.github.com/repos/simonw/sqlite-utils/issues/584 | IC_kwDOCGYnMM5kUrwr | simonw 9599 | 2023-08-18T00:14:52Z | 2023-08-18T00:14:52Z | OWNER | Another docs update: this bit in here https://sqlite-utils.datasette.io/en/3.34/python-api.html#adding-multiple-foreign-key-constraints-at-once talks about how
That doesn't apply any more - the new mechanism using |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
.transform() instead of modifying sqlite_master for add_foreign_keys 1855838223 | |
1683145110 | https://github.com/simonw/sqlite-utils/pull/584#issuecomment-1683145110 | https://api.github.com/repos/simonw/sqlite-utils/issues/584 | IC_kwDOCGYnMM5kUsGW | simonw 9599 | 2023-08-18T00:16:28Z | 2023-08-18T00:16:48Z | OWNER | One last piece of documentation: need to document the new option to I should write tests for them too. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
.transform() instead of modifying sqlite_master for add_foreign_keys 1855838223 | |
1683145819 | https://github.com/simonw/sqlite-utils/pull/584#issuecomment-1683145819 | https://api.github.com/repos/simonw/sqlite-utils/issues/584 | IC_kwDOCGYnMM5kUsRb | simonw 9599 | 2023-08-18T00:17:26Z | 2023-08-18T00:17:26Z | OWNER | Updated documentation: https://sqlite-utils--584.org.readthedocs.build/en/584/python-api.html#adding-foreign-key-constraints |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
.transform() instead of modifying sqlite_master for add_foreign_keys 1855838223 | |
1683164661 | https://github.com/simonw/sqlite-utils/pull/584#issuecomment-1683164661 | https://api.github.com/repos/simonw/sqlite-utils/issues/584 | IC_kwDOCGYnMM5kUw31 | simonw 9599 | 2023-08-18T00:45:53Z | 2023-08-18T00:45:53Z | OWNER | More updated documentation: - https://sqlite-utils--584.org.readthedocs.build/en/584/reference.html#sqlite_utils.db.Table.transform - https://sqlite-utils--584.org.readthedocs.build/en/584/python-api.html#python-api-transform-add-foreign-key-constraints |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
.transform() instead of modifying sqlite_master for add_foreign_keys 1855838223 | |
1683110636 | https://github.com/simonw/sqlite-utils/issues/583#issuecomment-1683110636 | https://api.github.com/repos/simonw/sqlite-utils/issues/583 | IC_kwDOCGYnMM5kUjrs | simonw 9599 | 2023-08-17T23:31:27Z | 2023-08-17T23:31:27Z | OWNER | Spotted this while working on: - #577 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Get rid of test.utils.collapse_whitespace 1855836914 | |
1652496702 | https://github.com/simonw/sqlite-utils/issues/581#issuecomment-1652496702 | https://api.github.com/repos/simonw/sqlite-utils/issues/581 | IC_kwDOCGYnMM5ifxk- | simonw 9599 | 2023-07-26T21:07:45Z | 2023-07-26T21:07:45Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
`sqlite-utils convert --pdb` option 1823160748 | ||
710399593 | https://github.com/simonw/sqlite-utils/issues/58#issuecomment-710399593 | https://api.github.com/repos/simonw/sqlite-utils/issues/58 | MDEyOklzc3VlQ29tbWVudDcxMDM5OTU5Mw== | simonw 9599 | 2020-10-16T18:39:31Z | 2020-10-16T18:39:31Z | OWNER | I don't think this is valuable enough to justify adding to the library - especially since you can execute FTS search against views by joining to an FTS table built against an underlying table. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Support enabling FTS on views 488293926 | |
1648323482 | https://github.com/simonw/sqlite-utils/issues/578#issuecomment-1648323482 | https://api.github.com/repos/simonw/sqlite-utils/issues/578 | IC_kwDOCGYnMM5iP2ua | simonw 9599 | 2023-07-24T17:31:56Z | 2023-07-24T17:31:56Z | OWNER | The main blocker here is coming up with a design. The challenge is cleanly integrating it with the existing format options: I'd like to avoid breaking backwards compatibility. The most obvious solution is to add a Or... If I ever do release |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Plugin hook for adding new output formats 1818838294 | |
1648324312 | https://github.com/simonw/sqlite-utils/issues/578#issuecomment-1648324312 | https://api.github.com/repos/simonw/sqlite-utils/issues/578 | IC_kwDOCGYnMM5iP27Y | simonw 9599 | 2023-07-24T17:32:21Z | 2023-07-24T17:32:21Z | OWNER | I'm currently leaning very slightly towards |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Plugin hook for adding new output formats 1818838294 | |
1648325682 | https://github.com/simonw/sqlite-utils/issues/578#issuecomment-1648325682 | https://api.github.com/repos/simonw/sqlite-utils/issues/578 | IC_kwDOCGYnMM5iP3Qy | simonw 9599 | 2023-07-24T17:33:10Z | 2023-07-24T17:33:10Z | OWNER | A related feature would be support for plugins to add new ways of ingesting data - currently |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Plugin hook for adding new output formats 1818838294 | |
1683066934 | https://github.com/simonw/sqlite-utils/issues/577#issuecomment-1683066934 | https://api.github.com/repos/simonw/sqlite-utils/issues/577 | IC_kwDOCGYnMM5kUZA2 | simonw 9599 | 2023-08-17T22:37:18Z | 2023-08-17T22:37:18Z | OWNER | I'm certain this could work. It turns out the Improving this code to support adding foreign keys as well would be pretty simple. And then the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Get `add_foreign_keys()` to work without modifying `sqlite_master` 1817289521 | |
1683068505 | https://github.com/simonw/sqlite-utils/issues/577#issuecomment-1683068505 | https://api.github.com/repos/simonw/sqlite-utils/issues/577 | IC_kwDOCGYnMM5kUZZZ | simonw 9599 | 2023-08-17T22:39:17Z | 2023-08-17T22:39:38Z | OWNER | This would help address these issues, among potentially many others: - https://github.com/simonw/llm/issues/60 - https://github.com/simonw/llm/issues/116 - https://github.com/simonw/llm/issues/123 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Get `add_foreign_keys()` to work without modifying `sqlite_master` 1817289521 | |
1683071519 | https://github.com/simonw/sqlite-utils/issues/577#issuecomment-1683071519 | https://api.github.com/repos/simonw/sqlite-utils/issues/577 | IC_kwDOCGYnMM5kUaIf | simonw 9599 | 2023-08-17T22:42:28Z | 2023-08-17T22:42:28Z | OWNER | Looking at the whole of the At that point we have Here's the rest of that function, which will be replaced by a called to |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Get `add_foreign_keys()` to work without modifying `sqlite_master` 1817289521 | |
1683074009 | https://github.com/simonw/sqlite-utils/issues/577#issuecomment-1683074009 | https://api.github.com/repos/simonw/sqlite-utils/issues/577 | IC_kwDOCGYnMM5kUavZ | simonw 9599 | 2023-08-17T22:45:29Z | 2023-08-17T22:47:08Z | OWNER | Actually I think |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Get `add_foreign_keys()` to work without modifying `sqlite_master` 1817289521 | |
1683074546 | https://github.com/simonw/sqlite-utils/issues/577#issuecomment-1683074546 | https://api.github.com/repos/simonw/sqlite-utils/issues/577 | IC_kwDOCGYnMM5kUa3y | simonw 9599 | 2023-08-17T22:46:18Z | 2023-08-17T22:46:18Z | OWNER | Maybe this:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Get `add_foreign_keys()` to work without modifying `sqlite_master` 1817289521 | |
1683074857 | https://github.com/simonw/sqlite-utils/issues/577#issuecomment-1683074857 | https://api.github.com/repos/simonw/sqlite-utils/issues/577 | IC_kwDOCGYnMM5kUa8p | simonw 9599 | 2023-08-17T22:46:40Z | 2023-08-17T22:46:40Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Get `add_foreign_keys()` to work without modifying `sqlite_master` 1817289521 | ||
1683076325 | https://github.com/simonw/sqlite-utils/issues/577#issuecomment-1683076325 | https://api.github.com/repos/simonw/sqlite-utils/issues/577 | IC_kwDOCGYnMM5kUbTl | simonw 9599 | 2023-08-17T22:48:36Z | 2023-08-17T22:48:36Z | OWNER | I'm inclined to just go with the It would be nice to drop some code complexity, plus I don't yet have a way of running automated tests against Python + SQLite versions that exhibit the problem. |
{ "total_count": 1, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 1, "rocket": 0, "eyes": 0 } |
Get `add_foreign_keys()` to work without modifying `sqlite_master` 1817289521 | |
1683098094 | https://github.com/simonw/sqlite-utils/issues/577#issuecomment-1683098094 | https://api.github.com/repos/simonw/sqlite-utils/issues/577 | IC_kwDOCGYnMM5kUgnu | simonw 9599 | 2023-08-17T23:15:36Z | 2023-08-17T23:15:36Z | OWNER | An interesting side-effect of this change is that it does result in a slightly different schema - e.g. this test: https://github.com/simonw/sqlite-utils/blob/1dc6b5aa644a92d3654f7068110ed7930989ce71/tests/test_extract.py#L118-L133 Needs updating like so:
I don't think this should count as a breaking change release though, but it's still worth noting. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Get `add_foreign_keys()` to work without modifying `sqlite_master` 1817289521 | |
1684235760 | https://github.com/simonw/sqlite-utils/issues/577#issuecomment-1684235760 | https://api.github.com/repos/simonw/sqlite-utils/issues/577 | IC_kwDOCGYnMM5kY2Xw | simonw 9599 | 2023-08-18T17:43:11Z | 2023-08-18T17:43:11Z | OWNER | Here's a new plugin that brings back the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Get `add_foreign_keys()` to work without modifying `sqlite_master` 1817289521 | |
1646752814 | https://github.com/simonw/sqlite-utils/issues/576#issuecomment-1646752814 | https://api.github.com/repos/simonw/sqlite-utils/issues/576 | IC_kwDOCGYnMM5iJ3Qu | simonw 9599 | 2023-07-23T05:43:13Z | 2023-07-23T05:43:13Z | OWNER | Using
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Backfill the release notes prior to 0.4 1816997390 | |
1646753678 | https://github.com/simonw/sqlite-utils/issues/576#issuecomment-1646753678 | https://api.github.com/repos/simonw/sqlite-utils/issues/576 | IC_kwDOCGYnMM5iJ3eO | simonw 9599 | 2023-07-23T05:49:51Z | 2023-07-23T05:49:51Z | OWNER | Done - bottom of https://sqlite-utils.datasette.io/en/latest/changelog.html#id116 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Backfill the release notes prior to 0.4 1816997390 | |
1646687461 | https://github.com/simonw/sqlite-utils/issues/575#issuecomment-1646687461 | https://api.github.com/repos/simonw/sqlite-utils/issues/575 | IC_kwDOCGYnMM5iJnTl | simonw 9599 | 2023-07-22T23:01:44Z | 2023-07-22T23:01:44Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Python API ability to opt-out of connection plugins 1816919568 | ||
1646688288 | https://github.com/simonw/sqlite-utils/issues/575#issuecomment-1646688288 | https://api.github.com/repos/simonw/sqlite-utils/issues/575 | IC_kwDOCGYnMM5iJngg | simonw 9599 | 2023-07-22T23:08:22Z | 2023-07-22T23:08:22Z | OWNER | Documented here: https://sqlite-utils.datasette.io/en/latest/plugins.html |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Python API ability to opt-out of connection plugins 1816919568 | |
1646686477 | https://github.com/simonw/sqlite-utils/issues/574#issuecomment-1646686477 | https://api.github.com/repos/simonw/sqlite-utils/issues/574 | IC_kwDOCGYnMM5iJnEN | simonw 9599 | 2023-07-22T22:52:56Z | 2023-07-22T22:52:56Z | OWNER | Alex built this in: - #573 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
`prepare_connection()` plugin hook 1816918185 | |
1646688339 | https://github.com/simonw/sqlite-utils/issues/574#issuecomment-1646688339 | https://api.github.com/repos/simonw/sqlite-utils/issues/574 | IC_kwDOCGYnMM5iJnhT | simonw 9599 | 2023-07-22T23:08:49Z | 2023-07-22T23:08:49Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
`prepare_connection()` plugin hook 1816918185 | ||
1646688748 | https://github.com/simonw/sqlite-utils/issues/574#issuecomment-1646688748 | https://api.github.com/repos/simonw/sqlite-utils/issues/574 | IC_kwDOCGYnMM5iJnns | simonw 9599 | 2023-07-22T23:12:03Z | 2023-07-22T23:13:14Z | OWNER | Just tried this out by adding the example from the docs to my
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
`prepare_connection()` plugin hook 1816918185 | |
1646686332 | https://github.com/simonw/sqlite-utils/pull/573#issuecomment-1646686332 | https://api.github.com/repos/simonw/sqlite-utils/issues/573 | IC_kwDOCGYnMM5iJnB8 | simonw 9599 | 2023-07-22T22:52:01Z | 2023-07-22T22:52:01Z | OWNER | I was literally seconds away from shipping version 3.34 but I this looks good so I'm going to try and get it in there. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
feat: Implement a prepare_connection plugin hook 1816917522 | |
1646686675 | https://github.com/simonw/sqlite-utils/pull/573#issuecomment-1646686675 | https://api.github.com/repos/simonw/sqlite-utils/issues/573 | IC_kwDOCGYnMM5iJnHT | simonw 9599 | 2023-07-22T22:54:38Z | 2023-07-22T22:54:38Z | OWNER | Glitch in the rendered documentation from https://sqlite-utils--573.org.readthedocs.build/en/573/plugins.html#prepare-connection-conn |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
feat: Implement a prepare_connection plugin hook 1816917522 | |
1646687103 | https://github.com/simonw/sqlite-utils/pull/573#issuecomment-1646687103 | https://api.github.com/repos/simonw/sqlite-utils/issues/573 | IC_kwDOCGYnMM5iJnN_ | simonw 9599 | 2023-07-22T22:58:35Z | 2023-07-22T22:58:35Z | OWNER | https://sqlite-utils--573.org.readthedocs.build/en/573/plugins.html#prepare-connection-conn |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
feat: Implement a prepare_connection plugin hook 1816917522 | |
1646660777 | https://github.com/simonw/sqlite-utils/issues/572#issuecomment-1646660777 | https://api.github.com/repos/simonw/sqlite-utils/issues/572 | IC_kwDOCGYnMM5iJgyp | simonw 9599 | 2023-07-22T19:59:13Z | 2023-07-22T19:59:13Z | OWNER | I don't know where that is coming from! I can't see |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Don't test Python 3.7 against textual 1816877910 | |
1646681192 | https://github.com/simonw/sqlite-utils/issues/572#issuecomment-1646681192 | https://api.github.com/repos/simonw/sqlite-utils/issues/572 | IC_kwDOCGYnMM5iJlxo | simonw 9599 | 2023-07-22T22:12:08Z | 2023-07-22T22:12:08Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Don't test Python 3.7 against textual 1816877910 | ||
1646682686 | https://github.com/simonw/sqlite-utils/issues/571#issuecomment-1646682686 | https://api.github.com/repos/simonw/sqlite-utils/issues/571 | IC_kwDOCGYnMM5iJmI- | simonw 9599 | 2023-07-22T22:23:47Z | 2023-07-22T22:23:47Z | OWNER | Demo: ```pycon <Table foo (name)> >>> print(db["foo"].schema) CREATE TABLE [foo] ( [name] TEXT ) >>> db["foo"].transform(not_null={"name"}) <Table foo (name)> >>> print(db["foo"].schema) CREATE TABLE "foo" ( [name] TEXT NOT NULL ) >>> db["foo"].transform(types={"name": int}, keep_table="kept") <Table foo (name)> >>> print(db.schema) CREATE TABLE "kept" ( [name] TEXT NOT NULL ); CREATE TABLE "foo" ( [name] INTEGER NOT NULL ); ``` |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
`.transform(keep_table=...)` option 1816876211 | |
527091278 | https://github.com/simonw/sqlite-utils/pull/57#issuecomment-527091278 | https://api.github.com/repos/simonw/sqlite-utils/issues/57 | MDEyOklzc3VlQ29tbWVudDUyNzA5MTI3OA== | simonw 9599 | 2019-09-02T10:13:32Z | 2019-09-02T10:13:32Z | OWNER | This is brilliant! One tiny suggestion: I like |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add triggers while enabling FTS 487987958 | |
527258212 | https://github.com/simonw/sqlite-utils/pull/57#issuecomment-527258212 | https://api.github.com/repos/simonw/sqlite-utils/issues/57 | MDEyOklzc3VlQ29tbWVudDUyNzI1ODIxMg== | simonw 9599 | 2019-09-02T23:40:56Z | 2019-09-02T23:40:56Z | OWNER | This is fantastic, thanks so much. I spotted a Datasette bug triggered by this: Datasette has its own version of the It's a bug in Datasette, not sqlite-utils - so I'll open an issue there. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add triggers while enabling FTS 487987958 | |
527266798 | https://github.com/simonw/sqlite-utils/pull/57#issuecomment-527266798 | https://api.github.com/repos/simonw/sqlite-utils/issues/57 | MDEyOklzc3VlQ29tbWVudDUyNzI2Njc5OA== | simonw 9599 | 2019-09-03T01:03:59Z | 2019-09-03T01:03:59Z | OWNER | Released in 1.11 - thanks again! https://sqlite-utils.readthedocs.io/en/latest/changelog.html#v1-11 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Add triggers while enabling FTS 487987958 | |
1646643676 | https://github.com/simonw/sqlite-utils/issues/569#issuecomment-1646643676 | https://api.github.com/repos/simonw/sqlite-utils/issues/569 | IC_kwDOCGYnMM5iJcnc | simonw 9599 | 2023-07-22T18:18:24Z | 2023-07-22T18:18:24Z | OWNER | Here's where I added that to LLM: https://github.com/simonw/llm/commit/a396950f7934e82a9968703bb3ce9ab7ab62f7f8 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
register_command plugin hook 1816852402 | |
1646645990 | https://github.com/simonw/sqlite-utils/issues/569#issuecomment-1646645990 | https://api.github.com/repos/simonw/sqlite-utils/issues/569 | IC_kwDOCGYnMM5iJdLm | simonw 9599 | 2023-07-22T18:29:40Z | 2023-07-22T18:30:16Z | OWNER | Example plugin: https://gist.github.com/simonw/ccfbbf9b384a38ac7535b01849f57daf
[project.entry-points.sqlite_utils]
hello_world = "sqlite_utils_hello_world"
@sqlite_utils.hookimpl def register_commands(cli): @cli.command() def hello_world(): "Say hello world" click.echo("Hello world!") ``` |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
register_command plugin hook 1816852402 | |
1646654275 | https://github.com/simonw/sqlite-utils/issues/569#issuecomment-1646654275 | https://api.github.com/repos/simonw/sqlite-utils/issues/569 | IC_kwDOCGYnMM5iJfND | simonw 9599 | 2023-07-22T19:19:35Z | 2023-07-22T19:19:35Z | OWNER | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
register_command plugin hook 1816852402 | ||
1646642666 | https://github.com/simonw/sqlite-utils/issues/568#issuecomment-1646642666 | https://api.github.com/repos/simonw/sqlite-utils/issues/568 | IC_kwDOCGYnMM5iJcXq | simonw 9599 | 2023-07-22T18:13:19Z | 2023-07-22T18:13:19Z | OWNER | https://sqlite-utils.datasette.io/en/stable/cli-reference.html#create-table
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
table.create(..., replace=True) 1816851056 | |
1646642959 | https://github.com/simonw/sqlite-utils/issues/568#issuecomment-1646642959 | https://api.github.com/repos/simonw/sqlite-utils/issues/568 | IC_kwDOCGYnMM5iJccP | simonw 9599 | 2023-07-22T18:14:49Z | 2023-07-22T18:14:49Z | OWNER | Here's where those are implemented for the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
table.create(..., replace=True) 1816851056 | |
1646652105 | https://github.com/simonw/sqlite-utils/issues/568#issuecomment-1646652105 | https://api.github.com/repos/simonw/sqlite-utils/issues/568 | IC_kwDOCGYnMM5iJerJ | simonw 9599 | 2023-07-22T19:05:13Z | 2023-07-22T19:05:13Z | OWNER | I think this is |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
table.create(..., replace=True) 1816851056 | |
1646653382 | https://github.com/simonw/sqlite-utils/issues/568#issuecomment-1646653382 | https://api.github.com/repos/simonw/sqlite-utils/issues/568 | IC_kwDOCGYnMM5iJe_G | simonw 9599 | 2023-07-22T19:13:20Z | 2023-07-22T19:13:20Z | OWNER | Demo: ```pycon <Table foo (id)> >>> db["foo"].create({"id": int}) Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/Users/simon/Dropbox/Development/sqlite-utils/sqlite_utils/db.py", line 1647, in create self.db.create_table( File "/Users/simon/Dropbox/Development/sqlite-utils/sqlite_utils/db.py", line 1030, in create_table self.execute(sql) File "/Users/simon/Dropbox/Development/sqlite-utils/sqlite_utils/db.py", line 510, in execute return self.conn.execute(sql) ^^^^^^^^^^^^^^^^^^^^^^ sqlean.dbapi2.OperationalError: table [foo] already exists >>> db["foo"].create({"id": int}, ignore=True) <Table foo (id)> >>> db["foo"].create({"id": int, "name": str}, replace=True) <Table foo (id, name)> >>> db["foo"].create({"id": int, "name": str, "age": int}, transform=True) <Table foo (id, name, age)> ``` |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
table.create(..., replace=True) 1816851056 | |
1646653610 | https://github.com/simonw/sqlite-utils/issues/568#issuecomment-1646653610 | https://api.github.com/repos/simonw/sqlite-utils/issues/568 | IC_kwDOCGYnMM5iJfCq | simonw 9599 | 2023-07-22T19:14:56Z | 2023-07-22T19:14:56Z | OWNER | Manual testing of CLI command as well:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
table.create(..., replace=True) 1816851056 | |
1646654818 | https://github.com/simonw/sqlite-utils/issues/568#issuecomment-1646654818 | https://api.github.com/repos/simonw/sqlite-utils/issues/568 | IC_kwDOCGYnMM5iJfVi | simonw 9599 | 2023-07-22T19:22:40Z | 2023-07-22T19:22:40Z | OWNER | I think this broke a test:
```
$ pytest tests/test_tracer.py tests/test_tracer.py F. [100%] ===================================================== FAILURES ===================================================== _________ test_tracer __________
tests/test_tracer.py:12: AssertionError ============================================= short test summary info ============================================== FAILED tests/test_tracer.py::test_tracer - assert equals failed =========================================== 1 failed, 1 passed in 0.05s ============================================ ``` |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
table.create(..., replace=True) 1816851056 | |
1646655272 | https://github.com/simonw/sqlite-utils/issues/568#issuecomment-1646655272 | https://api.github.com/repos/simonw/sqlite-utils/issues/568 | IC_kwDOCGYnMM5iJfco | simonw 9599 | 2023-07-22T19:25:35Z | 2023-07-22T19:25:35Z | OWNER | Here's why that test broke: https://github.com/simonw/sqlite-utils/blob/58b577279fcd5ef6ce88f88b28668dffebfe7f44/sqlite_utils/db.py#L960-L964 I added an extra |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
table.create(..., replace=True) 1816851056 | |
1638926655 | https://github.com/simonw/sqlite-utils/issues/567#issuecomment-1638926655 | https://api.github.com/repos/simonw/sqlite-utils/issues/567 | IC_kwDOCGYnMM5hsAk_ | simonw 9599 | 2023-07-17T21:42:37Z | 2023-07-17T21:42:37Z | OWNER | I really like this. I'm also interested in:
- Plugins that make new custom SQL functions available - similar to this Datasette hook: https://docs.datasette.io/en/stable/plugin_hooks.html#prepare-connection-conn-database-datasette
- Plugins that register functions that can be used as recipes for The upload-data-to-Datasette problem is planned to be solved by a future version of https://github.com/simonw/dclient |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Plugin system 1801394744 | |
1646643379 | https://github.com/simonw/sqlite-utils/issues/567#issuecomment-1646643379 | https://api.github.com/repos/simonw/sqlite-utils/issues/567 | IC_kwDOCGYnMM5iJciz | simonw 9599 | 2023-07-22T18:16:54Z | 2023-07-22T18:16:54Z | OWNER |
Yeah, it could do! That's not a terrible idea to be honest, those things have really been proliferating. Alternatively, they could each register themselves as plugins in addition - so if you install e.g. The benefit there is for people who install ```bash brew install sqlite-utils sqlite-utils install pocket-to-sqlite sqlite-utils pocket-to-sqlite ... ``` |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Plugin system 1801394744 | |
1646643450 | https://github.com/simonw/sqlite-utils/issues/567#issuecomment-1646643450 | https://api.github.com/repos/simonw/sqlite-utils/issues/567 | IC_kwDOCGYnMM5iJcj6 | simonw 9599 | 2023-07-22T18:17:18Z | 2023-07-22T18:17:18Z | OWNER | I'm going to start by adding the |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Plugin system 1801394744 | |
1646654383 | https://github.com/simonw/sqlite-utils/issues/567#issuecomment-1646654383 | https://api.github.com/repos/simonw/sqlite-utils/issues/567 | IC_kwDOCGYnMM5iJfOv | simonw 9599 | 2023-07-22T19:20:16Z | 2023-07-22T19:20:16Z | OWNER | Here's documentation for the new plugins mechanism, including a very short tutorial on writing a new plugin (inspired by https://llm.datasette.io/en/stable/plugins/tutorial-model-plugin.html): |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Plugin system 1801394744 | |
1646686424 | https://github.com/simonw/sqlite-utils/issues/567#issuecomment-1646686424 | https://api.github.com/repos/simonw/sqlite-utils/issues/567 | IC_kwDOCGYnMM5iJnDY | simonw 9599 | 2023-07-22T22:52:34Z | 2023-07-22T22:52:34Z | OWNER | Splitting off an issue for |
{ "total_count": 1, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 1, "rocket": 0, "eyes": 0 } |
Plugin system 1801394744 | |
1646687219 | https://github.com/simonw/sqlite-utils/issues/567#issuecomment-1646687219 | https://api.github.com/repos/simonw/sqlite-utils/issues/567 | IC_kwDOCGYnMM5iJnPz | simonw 9599 | 2023-07-22T22:59:36Z | 2023-07-22T22:59:36Z | OWNER | Now that we have two plugin hooks I'm closing this issue (we can open other issues for further hooks). |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Plugin system 1801394744 | |
1627597872 | https://github.com/simonw/sqlite-utils/issues/566#issuecomment-1627597872 | https://api.github.com/repos/simonw/sqlite-utils/issues/566 | IC_kwDOCGYnMM5hAyww | simonw 9599 | 2023-07-09T04:09:56Z | 2023-07-09T04:09:56Z | OWNER | Thanks, looks like a bug. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
`--no-headers` doesn't work on most formats 1795219865 |
Advanced export
JSON shape: default, array, newline-delimited, object
CREATE TABLE [issue_comments] ( [html_url] TEXT, [issue_url] TEXT, [id] INTEGER PRIMARY KEY, [node_id] TEXT, [user] INTEGER REFERENCES [users]([id]), [created_at] TEXT, [updated_at] TEXT, [author_association] TEXT, [body] TEXT, [reactions] TEXT, [issue] INTEGER REFERENCES [issues]([id]) , [performed_via_github_app] TEXT); CREATE INDEX [idx_issue_comments_issue] ON [issue_comments] ([issue]); CREATE INDEX [idx_issue_comments_user] ON [issue_comments] ([user]);
issue >30