Commit graph

104 commits

Author SHA1 Message Date
Simon Willison
28dc5aac34 sqlite-utils indexes command, refs #263 2021-06-02 21:26:49 -07:00
Simon Willison
51d01da30d
Ability to add descending order indexes (#262)
* DescIndex(column) for descending index columns, refs #260
* Ability to add desc indexes using CLI, closes #260
2021-05-28 22:01:38 -07:00
Damien Ready
3e62ab62a8
Correct some typos (#245) 2021-05-18 19:58:04 -07:00
Simon Willison
bba6e241be --ignore for sqlite-utils drop-table and drop-view, closes #237 2021-02-25 09:11:37 -08:00
Simon Willison
806c21044a Release 3.6
Refs #113, #236
2021-02-18 21:18:02 -08:00
Simon Willison
2ba5588881 sqlite-utils --attach option, closes #236 2021-02-18 21:08:39 -08:00
Simon Willison
50d2096f5e --no-headers option for sqlite-utils insert --csv, closes #228 2021-02-14 14:25:03 -08:00
Simon Willison
cf811e35e1 Formatting fix 2021-02-14 11:25:58 -08:00
Simon Willison
99ff0a288c sqlite-utils insert --sniff option, closes #230 2021-02-14 11:23:12 -08:00
Simon Willison
1b666f9315 --delimiter and --quotechar, closes #223 2021-02-05 17:34:47 -08:00
Simon Willison
0d2a47eab9 .reset_counts() method and reset-counts command, closes #219 2021-01-03 12:59:31 -08:00
Simon Willison
94b5023066 table.count now uses cached counts if db.use_counts_table
Closes #215
2021-01-03 12:19:34 -08:00
Simon Willison
ce042ff1f0 'sqlite-utils enable-counts' command, closes #214 2021-01-02 20:26:39 -08:00
Simon Willison
ce918195a4 Use $ instead of % in CLI documentation
Refs #218
2021-01-02 19:52:15 -08:00
Simon Willison
5b246d17a0 'sqlite-utils triggers' command, closes #218 2021-01-02 19:03:15 -08:00
Simon Willison
6a34426b12 Docs now live at sqlite-utils.datasette.io 2020-12-29 13:34:55 -08:00
Simon Willison
5e06026e76
Typo fix 2020-12-13 16:19:51 -08:00
Simon Willison
69a121e088
sqlite-utils analyze-tables command and table.analyze_column() method
Closes #207
2020-12-12 23:20:11 -08:00
Simon Willison
79109939c3 search --limit now defaults to everything, refs #192 2020-11-08 09:00:43 -08:00
Simon Willison
6863dc2677 sqlite-utils rows -c, closes #200 2020-11-06 16:28:41 -08:00
Simon Willison
309ae84336 '-f' must now always be specified as '--fmt', refs #194 2020-11-06 16:19:04 -08:00
Simon Willison
afee15f04b --tsv output option, closes #193 2020-11-06 16:09:42 -08:00
Simon Willison
771bd81b62 search_sql() returns most relevant first, not least
Refs #192
2020-11-06 15:50:02 -08:00
Simon Willison
de39e8db1e Refactored to table.search_sql() method, added --limit 2020-11-06 10:30:41 -08:00
Simon Willison
2c00567aac sqlite-utils search WIP, refs #192 2020-11-06 10:30:41 -08:00
Simon Willison
f99a236529
Progress bar for sqlite-utils insert command, closes #173 2020-10-27 11:16:02 -07:00
Simon Willison
21ff60e3b1 --load-extension= for many more commands, closes #137
Also added --load-extension=spatialite shortcut, closes #136
2020-10-16 12:14:22 -07:00
Simon Willison
2c541fac35 --encoding option for non-utf8 CSV/TSV, closes #182 2020-10-16 10:18:46 -07:00
Simon Willison
cda559f835 Include --column-order in combined example, refs #176 2020-09-24 13:33:19 -07:00
Simon Willison
5a63b9e88c Simplify drop-foreign-key, and drop_foreign_keys, closes #177 2020-09-24 09:19:07 -07:00
Simon Willison
d13c123100 sqlite-utils transform --column-order option, closes #176 2020-09-24 09:11:53 -07:00
Simon Willison
5c4d58d152 Progress bar for "sqlite-utils extract", closes #169 2020-09-22 17:02:29 -07:00
Simon Willison
55cf928f73 sqlite-utils extract, closes #42 2020-09-22 16:37:39 -07:00
Simon Willison
752d261229 Implemented sqlite-utils transform command, closes #164 2020-09-22 00:47:58 -07:00
Simon Willison
e23eedb4ce ignore=True argument for add_foreign_key, closes #112
Also --ignore for add-foreign-key command

Plus table.add_foreign_key(...) now returns self, allowing more chaining
2020-09-20 15:17:25 -07:00
Simon Willison
3cc1944e53 sqlite-utils add-foreign-keys command, closes #157 2020-09-20 13:14:25 -07:00
Simon Willison
176f4e0ef4 sqlite-utils rebuild-fts command, closes #155 2020-09-08 16:16:03 -07:00
Simon Willison
76548596a6 optimize command now accepts optional tables, refs #155 2020-09-08 15:34:55 -07:00
Simon Willison
7e9aad7e1c --load-extension option for sqlite-utils query, closes #134 2020-08-21 13:54:11 -07:00
Simon Willison
2d2d724e32 Tools for enabling and disabling WAL, closes #132 2020-08-10 11:59:21 -07:00
Simon Willison
57e4eb8e55 sqlite-utils populate-fts --tokenize= option, closes #130 2020-08-01 13:51:05 -07:00
Simon Willison
8fe1e6d1be insert-files can now read from stdin, closes #127 2020-07-29 20:08:12 -07:00
Simon Willison
3214af4a20
Fixed bug in one of the insert-files examples 2020-07-27 18:53:57 -07:00
Simon Willison
ebc802f7ff sqlite-utils insert-files command, closes #122 2020-07-27 00:08:57 -07:00
Simon Willison
1a61a6d3d6 Ability to insert base64 binary data as JSON, closes #126 2020-07-26 20:59:34 -07:00
Simon Willison
814d4a7f90 -p for passing named params to query, closes #124 2020-07-26 20:53:51 -07:00
Simon Willison
20e543e9a4 Output binary columns as base64 in JSON, closes #125 2020-07-26 17:48:36 -07:00
Simon Willison
bc8409941f --raw option, refs #123 2020-07-26 09:43:45 -07:00
Thomas Sibley
ae4593316c Add insert --truncate option
Deletes all rows in the table (if it exists) before inserting new rows.
SQLite doesn't implement a TRUNCATE TABLE statement but does optimize an
unqualified DELETE FROM.

This can be handy if you want to refresh the entire contents of a table
but a) don't have a PK (so can't use --replace), b) don't want the table
to disappear (even briefly) for other connections, and c) have to handle
records that used to exist being deleted.

Ideally the replacement of rows would appear instantaneous to other
connections by putting the DELETE + INSERT in a transaction, but this is
very difficult without breaking other code as the current transaction
handling is inconsistent and non-systematic.  There exists the
possibility for the DELETE to succeed but the INSERT to fail, leaving an
empty table.  This is not much worse, however, than the current
possibility of one chunked INSERT succeeding and being committed while
the next chunked INSERT fails, leaving a partially complete operation.
2020-07-08 10:26:20 -07:00
Simon Willison
4d9a320436 Release 2.10
Refs #115
2020-06-12 10:43:45 -07:00