Commit graph

183 commits

Author SHA1 Message Date
Simon Willison
90e211e3e2 Now complies with flake8, refs #291 2021-06-22 18:22:08 -07:00
Simon Willison
7b3fdf0fcd mypy annotations for rows_from_file(), run mypy in CI
Refs #289, #279
2021-06-22 11:04:32 -07:00
Simon Willison
9faeef230b New db.query() method, refs #290 2021-06-21 21:03:59 -07:00
Simon Willison
0e797033f9 .transform() on rowid (non-pk) tables bug fix, closes #284 2021-06-19 08:28:26 -07:00
Simon Willison
5b257949d9 table.use_rowid introspection property, closes #285 2021-06-19 08:12:29 -07:00
Simon Willison
b9629099ab Fix bug with upsert_all() and single column tables, closes #271 2021-06-12 19:57:21 -07:00
Simon Willison
0d2e4f49f3 db.schema and 'sqlite-utils schema' command, closes #268 2021-06-11 13:51:49 -07:00
Simon Willison
9c67cb9252 table.xindexes property plus improved introspection documentation, closes #261 2021-06-02 20:51:27 -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
Dylan Wu
6f4f9a3eff
Fixing insert from JSON containing strings with non-ascii characters are escaped aps unicode for lists, tuples, dicts (#258) 2021-05-18 19:47:44 -07:00
Simon Willison
c236894caa table.drop(ignore=True) option, refs #237 2021-02-25 09:05:08 -08:00
Simon Willison
a76e3b33ac Fixed bug with add_foreign_key against columns with spaces, closes #238 2021-02-25 08:53:53 -08:00
Simon Willison
38e688fb8b table.pks_and_rows_where() method, closes #240 2021-02-25 08:28:17 -08:00
Simon Willison
999f099cbe db.attach(alias, filepath) method, closes #113
Will also be useful for #236
2021-02-18 20:56:32 -08:00
Simon Willison
ef13bb046f Useful error message for enable_fts() on views, closes #220 2021-02-14 14:34:22 -08:00
Simon Willison
8f042ae1fd Fix for bug with extra columns in later chunks, closes #234
Thanks @nieuwenhoven for the fix, proposed in #225
2021-02-14 13:03:31 -08:00
Simon Willison
320f3ac33a offset= and limit= parameters, closes #231 2021-02-14 12:02:41 -08:00
Simon Willison
d4e00f8d01 table.m2m(..., alter=True) option, closes #222 2021-01-17 20:26:02 -08:00
Simon Willison
b6840646ba .add_missing_columns() is now case insensitive, closes #221 2021-01-12 15:17:27 -08:00
Simon Willison
0d2a47eab9 .reset_counts() method and reset-counts command, closes #219 2021-01-03 12:59:31 -08:00
Simon Willison
b4f09146d3 table.has_counts_triggers property, refs #219 2021-01-03 12:41:24 -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
de08096989 database.triggers_dict, closes #216 2021-01-02 20:19:55 -08:00
Simon Willison
3d041d34d5 Renamed db.escape() to db.quote() and documented it
Closes #217
2021-01-02 20:15:04 -08:00
Simon Willison
9a5c92b63e db.enable_counts() method, closes #213 2021-01-02 14:03:52 -08:00
Simon Willison
1cad7fad3e table.enable_counts() method, closes #212 2021-01-02 13:40:10 -08:00
Simon Willison
b067f1ff57 table.triggers_dict property, closes #211 2021-01-01 18:10:04 -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
Andreas Madsack
c5f4f0f70c
Use jsonify_if_need for sql updates (#204)
* add failing tests for update with json values
* use jsonify_if_needed in for sql updates

Thanks, @mfa
2020-12-08 09:49:42 -08:00
Simon Willison
ce2b07c358 Updated docs for .search_sql() method
Also improved indentation of generated SQL queries. Refs #197
2020-11-08 09:04:37 -08:00
Simon Willison
c5a798c15f .search_sql() fully respects columns=, closes #201
Refs #192 and #197
2020-11-08 08:53:53 -08:00
Simon Willison
bce1872109 order= is now order_by=, refs #197 2020-11-06 16:43:33 -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
63e2bdf18d Added test for sqlite-utils search, refs #192 2020-11-06 15:40:42 -08:00
Simon Willison
d411fba1f4 .search() works for FTS4, yields dicts
Closes #198, refs #197
2020-11-06 10:30:41 -08:00
Simon Willison
27b67f1cae @db.register_function(..., replace=True), closes #199 2020-11-06 10:30:41 -08:00
Simon Willison
7c22a64fb6 .search() now works differently for FTS4 v.s. FTS5 2020-11-06 10:30:41 -08:00
Simon Willison
de39e8db1e Refactored to table.search_sql() method, added --limit 2020-11-06 10:30:41 -08:00
Simon Willison
59d8689ed0 table.virtual_table_using property, closes #196 2020-11-04 19:53:45 -08:00
Simon Willison
0789bad8f7 @db.register_function(deterministic=True), closes #191 2020-10-28 14:30:58 -07:00
Simon Willison
c7e5dd6451 Applied latest Black 2020-10-27 09:26:01 -07:00
Adam Wolf
f045d8559a
Allow iterables other than lists in m2m records (#189)
* Allow iterables other than Lists in m2m records
* Add test for iterable m2m records

Thanks, @adamwolf!
2020-10-27 09:24:21 -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
7c0ef116ed pk=['id'] now equivalent to pk='id', closes #181 2020-10-14 14:59:38 -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
022cdd97a9
Much, much faster extract() implementation
Takes my test down from ten minutes to four seconds!

* Removed unnecessary update() optimization
* Added column_order= to .transform() and .transform_sql()
* Tests for reusing lookup table in extract()

Closes #172
2020-09-24 08:43:55 -07:00
Simon Willison
5eb14d1c1f Added several missing 'return self' to support chaining 2020-09-24 07:51:36 -07:00
Simon Willison
66d506587e Some optimizations for extract()
Refs #172 - seems to give me about 20% speedup.
2020-09-23 13:12:19 -07:00
Simon Willison
5534c320e4 Applied Black 2020-09-22 17:32:40 -07:00
Simon Willison
b8e0048485 Fixed PRAGMA foreign_keys handling for .transform, closes #167 2020-09-22 17:12:56 -07:00