Commit graph

  • 64336b7b6a docs: document PRAGMA temp_store for VACUUM on large databases Sai Asish Y 2026-05-21 01:58:04 -07:00
  • a6dfd7a7af
    create-table --sql option for CREATE TABLE AS SELECT Chris (ChrisJr404) 2026-08-18 19:02:35 -04:00
  • 81e2ad8a44
    tables and views commands accept optional table/view names Chris (ChrisJr404) 2026-08-18 06:22:20 -04:00
  • e74ac00a2c docs: keep literal --convert and --functions in install docs jennifferweslowski-design 2026-08-14 12:08:47 +00:00
  • 56dd09702f Run no-default-groups smoke test from Justfile Simon Willison 2026-08-13 17:01:47 -07:00
  • 28dc6278cc Release 4.2.1 4.2.1 Simon Willison 2026-08-13 16:52:30 -07:00
  • f6d73112c8
    Fix for sqlite-utils 4.2 crashing bug (#843) Simon Willison 2026-08-13 16:52:03 -07:00
  • bcf8b564ee Only run uv smoke test on Ubuntu sqlite-utils-test-no-dev Simon Willison 2026-08-13 16:46:31 -07:00
  • 829aa1438c Remove from typing_extensions import Self, refs #842 Simon Willison 2026-08-13 16:38:58 -07:00
  • d7b39f7393 install uv first Simon Willison 2026-08-13 16:39:38 -07:00
  • 8541829c2d Revert "Remove from typing_extensions import Self, refs #842" Simon Willison 2026-08-13 16:39:19 -07:00
  • cf6a12568b Remove from typing_extensions import Self, refs #842 Simon Willison 2026-08-13 16:38:58 -07:00
  • c9d8a12a7e Test that should fail Simon Willison 2026-08-13 16:37:06 -07:00
  • 1d98613f28 Release 4.2 4.2 Simon Willison 2026-08-13 13:09:42 -07:00
  • e4935e0644
    transform: coerce empty strings to NULL when converting TEXT columns to numeric types (#805) ikatyal2110 2026-08-13 14:56:51 -05:00
  • 30b4a8cb0c Document empty-string numeric transforms Simon Willison 2026-08-13 10:58:20 -07:00
  • 368964e003 Merge remote-tracking branch 'origin/main' into fix/transform-empty-string-to-null Simon Willison 2026-08-13 11:23:51 -07:00
  • 4fd34b85ad
    Fix count_where() raising OperationalError on nonexistent tables Claude 2026-08-13 16:40:55 +00:00
  • 75ba588462 Preserve composite UNIQUE constraints in transforms Simon Willison 2026-08-12 18:46:18 -07:00
  • 2b52b5ed6f Preserve AUTOINCREMENT through transforms Simon Willison 2026-08-12 18:39:00 -07:00
  • fcfccea813 Support ANY column types for strict tables Simon Willison 2026-08-12 16:43:33 -07:00
  • 57192ef4e3 table.transform(rename=...) now preserves indexes, closes #822 Simon Willison 2026-08-12 14:42:24 -07:00
  • e4784ec120 Changelog updates Simon Willison 2026-08-12 14:38:20 -07:00
  • 88b48fa167 Fixed introspection of default values TRUE / FALSE / NULL Simon Willison 2026-08-12 14:19:30 -07:00
  • e6be6267a4
    Use quote_identifier() in indexes/xindexes PRAGMA statements (#825) nyxst4ck 2026-08-12 18:15:17 -03:00
  • c5063f67b1 Use quoted SQL identifiers in convert --dry-run, closes #829 Simon Willison 2026-08-12 14:14:27 -07:00
  • fc2dcfca36 Merge remote-tracking branch 'origin/main' into fix/convert-dryrun-quote-identifier fix/convert-dryrun-quote-identifier Simon Willison 2026-08-12 14:07:24 -07:00
  • 25c632fbbc
    Handle empty input in rows_from_file Rami Abdelrazzaq 2026-08-12 16:05:09 -05:00
  • ebb04a97de Fixes for Pyright, closes #833 Simon Willison 2026-08-12 13:41:33 -07:00
  • 38fe466700 Use db.table() and db.view() in tests, closes #838 Simon Willison 2026-08-12 13:40:55 -07:00
  • 66aee7979c Fixes for Pyright, closes #833 codex/fix-issue-833-type-annotations Simon Willison 2026-08-12 13:41:33 -07:00
  • 99fd585daf Use db.table() and db.view() in tests, closes #838 Simon Willison 2026-08-12 13:40:55 -07:00
  • b143fc4913 Handle empty input in rows_from_file Rami Abdelrazzaq 2026-08-12 13:06:25 -05:00
  • 43d5d3331f
    Emit LIMIT -1 when offset is used without limit (#821) ethanhawkes-gif 2026-08-12 01:52:43 -04:00
  • 565cd4fa62 Remove duplicate comments Simon Willison 2026-08-11 22:52:10 -07:00
  • 2d3c6b9a1e
    Escape tokenize argument in enable_fts (#828) Bunlong Heng 2026-08-12 01:48:06 -04:00
  • b37b8cf8c8 Preserve column before/after comments through .transform() Simon Willison 2026-08-11 22:37:13 -07:00
  • b432e686ca Use sqlite_master not sqlite_schema for older SQLite compatibility Simon Willison 2026-08-11 22:02:28 -07:00
  • 2303b80aef .transform() preserves check constraints, refs #762 Simon Willison 2026-08-11 21:59:57 -07:00
  • 3db0c57a3b table.checks, table.column_checks, table.table_checks, closes #834 Simon Willison 2026-08-11 21:58:00 -07:00
  • 2d4d6c26e6
    Merge 5d812b920f into f726ea4a65 ikatyal2110 2026-08-11 22:39:36 -07:00
  • 36e36dcd3f Preserve column before/after comments through .transform() transform-check-constraints Simon Willison 2026-08-11 22:37:13 -07:00
  • 9db7578cde Use sqlite_master not sqlite_schema for older SQLite compatibility Simon Willison 2026-08-11 22:02:28 -07:00
  • 1ac90b4dad .transform() preserves check constraints, refs #762 Simon Willison 2026-08-11 21:59:57 -07:00
  • 4cc0418816 table.checks, table.column_checks, table.table_checks, closes #834 Simon Willison 2026-08-11 21:58:00 -07:00
  • f726ea4a65
    transform() now works for tables referenced by views (#832) Simon Willison 2026-08-11 20:48:11 -07:00
  • b8ed80bf5d Skip legacy_alter_table restore test on SQLite < 3.25 Simon Willison 2026-08-06 22:21:21 -07:00
  • 4b66d515a3 Restore previous legacy_alter_table value after transform Simon Willison 2026-08-06 22:15:57 -07:00
  • 8f264e8d2a transform() now works for tables referenced by views Simon Willison 2026-08-06 22:08:37 -07:00
  • b8f0cb5a6c Fix convert --dry-run using bracket quoting instead of quote_identifier() ikatyal2110 2026-08-06 21:03:31 +05:30
  • 83f9a1e317 Escape tokenize argument in enable_fts to prevent SQL injection Bunlong Heng 2026-08-06 09:19:17 -04:00
  • fe5260e47e Make tables in attached/temp schemas first-class (issue #432) Parker Gurney 2026-08-05 14:38:20 -07:00
  • 816028b169 Add Database(json_default=, json_object_hook=) for custom JSON encoding/decoding Parker Gurney 2026-08-05 14:35:25 -07:00
  • 064625da59 Add opt-in Database(deserialize_json=True) to parse JSON strings back into dict/list on read Parker Gurney 2026-08-05 14:23:56 -07:00
  • d4d075c924 Add --extract option to insert/upsert commands Parker Gurney 2026-08-05 14:22:45 -07:00
  • f34dfb25da Auto-decode columns declared as JSON in output modes (issue #579) Parker Gurney 2026-08-05 14:18:25 -07:00
  • c989cdf5a2 Fix dishonest progress accounting for multi-byte encoded CSV input (#439) Parker Gurney 2026-08-05 14:18:18 -07:00
  • 050f11f31f Add --transpose/-x option to rows, query, memory and search for wide records Parker Gurney 2026-08-05 14:16:09 -07:00
  • f6d83ec8be insert-files: add --convert/--import to transform rows during import Parker Gurney 2026-08-05 14:15:20 -07:00
  • daf2ebbbaf insert-files: add --sqlar flag and content_sqlar column for sqlar-compatible compressed payloads Parker Gurney 2026-08-05 14:11:30 -07:00
  • 6a2e941863 Add --key option to insert/upsert/bulk for importing JSON lists nested under a top-level key Parker Gurney 2026-08-05 14:10:18 -07:00
  • 74c7038b8b Add rows_to_csv() Python API helper for writing rows as CSV (issue #580) Parker Gurney 2026-08-05 14:08:10 -07:00
  • 71664b8fcf insert-files: support fixed value columns via -c colname:text:value Parker Gurney 2026-08-05 14:06:58 -07:00
  • d5dabe6627 Use quote_identifier() in indexes/xindexes PRAGMA statements nyxst4ck 2026-08-05 00:26:04 -03:00
  • 95826535c7
    Fix transform() raising TransformError when renaming an indexed column Claude 2026-08-02 14:38:05 +00:00
  • a8b3a80aec Emit LIMIT -1 when offset is used without limit, closes #816 ethanhawkes-gif 2026-08-01 16:03:44 -04:00
  • 7c182f5afa
    Fix transform() corrupting ANY columns on STRICT tables to REAL ikatyal21 2026-07-31 15:58:59 +00:00
  • 3d10633a50 fix: allow rows_where(offset=...) without limit ltsyk 2026-07-30 15:16:28 +08:00
  • 5d812b920f
    Fix KeyError when passing an unrecognized string type to create_table or add_column ikatyal2110 2026-07-27 14:42:17 +00:00
  • 72b7d469a4
    Fix rows_where() crash when offset is given without limit ikatyal21 2026-07-26 14:37:29 +00:00
  • 6a456830ca
    Fix _decode_default_value to unescape doubled single quotes in string defaults (#811) ikatyal2110 2026-07-25 23:52:04 -05:00
  • a7b734946f Changelog entry for 3.39.1 Simon Willison 2026-07-25 21:50:59 -07:00
  • e7f567d764 Test for doubled single quotes in string defaults Simon Willison 2026-07-25 21:45:18 -07:00
  • 1f89580a42 Disable mypy and cog in 3.x branch too 3.39.1 3.x Simon Willison 2026-07-25 17:30:34 -07:00
  • 6dd6c1b2ea No flake8 or black in 3.x branch Simon Willison 2026-07-25 17:28:32 -07:00
  • e1d55de8f8 Release 3.39.1 Simon Willison 2026-07-25 17:26:59 -07:00
  • bf133b4825 delete_where() now commits inside a transaction, refs #815 Simon Willison 2026-07-25 17:22:17 -07:00
  • c621499ed1 codespell should check sqlite_utils as well Simon Willison 2026-07-25 14:53:46 -07:00
  • 69a1c0d960
    Fixes for Ruff>=0.16.0 (#814) Simon Willison 2026-07-25 14:53:12 -07:00
  • 486f332d1f New Protocol for migrations to make ty happy Simon Willison 2026-07-25 14:50:45 -07:00
  • c12d788304 Ran cog Simon Willison 2026-07-25 14:46:34 -07:00
  • a377d69238 Fix flake E501 long lines Simon Willison 2026-07-25 14:42:54 -07:00
  • 48ef55152c Fix remaining Ruff errors with GPT-5.6 Sol high Simon Willison 2026-07-25 14:39:35 -07:00
  • 6ee502d127 Ignore .claude Simon Willison 2026-07-25 14:34:27 -07:00
  • c0bcc04431 Automated upgrades by Ruff Simon Willison 2026-07-25 14:20:31 -07:00
  • acc4fd5ac0 Move plugin directory into documentation !stable-docs ColumbusLabs 2026-07-24 16:41:13 -04:00
  • eaf39c4929
    Fix progress bar stalling at ~50% for multi-byte encodings like utf-16-le Claude 2026-07-24 14:29:42 +00:00
  • d7c6df6b46
    Fix _decode_default_value to unescape doubled single quotes in string defaults Claude 2026-07-23 14:38:23 +00:00
  • c6a84225a2
    Fix progress bar reporting character count instead of byte count for multibyte encodings Claude 2026-07-22 14:21:31 +00:00
  • 1ddc3f0400
    fix rows_from_file() crash on empty or whitespace-only input Claude 2026-07-21 14:31:28 +00:00
  • bec3c3c81d
    Merge cffe30fd2f into a947dc6739 ikatyal2110 2026-07-20 09:58:43 -05:00
  • cffe30fd2f
    Fix ValueTracker skipping type evaluation for empty strings Claude 2026-07-20 14:57:53 +00:00
  • 58f5aeb37f
    transform: coerce empty strings to NULL when converting TEXT columns to numeric types Claude 2026-07-18 14:50:50 +00:00
  • 4f4d823f1c fix: allow recipes.jsonsplit to pass through NULL values santhreal 2026-07-17 22:37:44 -07:00
  • e1d0fba30f
    Strip NUL bytes from CSV input to prevent crash ikatyal2110 2026-07-17 14:35:13 +00:00
  • 09f7b4d8b4
    Merge 4a4e38d0a2 into a947dc6739 ikatyal2110 2026-07-16 09:27:19 -05:00
  • 4a4e38d0a2
    Catch runtime exceptions from --code, not just SyntaxError ikatyal2110 2026-07-16 14:26:18 +00:00
  • 2153ee342f
    Merge 9db0308e72 into a947dc6739 fazalpsinfo-cmyk 2026-07-16 19:18:33 +05:30
  • 9db0308e72 Fix en-dash rendering in install/uninstall docs by disabling smartquotes Muhamed Fazal PS 2026-07-16 19:15:54 +05:30
  • 244817718c
    Merge 2370fb01e7 into a947dc6739 fazalpsinfo-cmyk 2026-07-16 19:10:59 +05:30