Simon Willison
bce1872109
order= is now order_by=, refs #197
2020-11-06 16:43:33 -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
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
2c00567aac
sqlite-utils search WIP, refs #192
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
f99a236529
Progress bar for sqlite-utils insert command, closes #173
2020-10-27 11:16:02 -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
2c541fac35
--encoding option for non-utf8 CSV/TSV, closes #182
2020-10-16 10:18:46 -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
d13c123100
sqlite-utils transform --column-order option, closes #176
2020-09-24 09:11:53 -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
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
2db6c5b2d5
table.extract() now works with rowid tables, refs #42
2020-09-22 16:11:28 -07:00
Simon Willison
71782311ce
New .rows_where(select=) argument
2020-09-22 16:10:14 -07:00
Simon Willison
c3210f2ffb
Added table.extract(rename=) option, refs #42
2020-09-22 15:57:02 -07:00
Simon Willison
c755f2852d
Docstring for sqlite-utils transform
2020-09-22 15:50:12 -07:00
Simon Willison
f8553799d3
table.extract() method, refs #42
2020-09-22 15:20:18 -07:00
Simon Willison
f29f6821f2
Applied Black
2020-09-22 00:49:27 -07:00
Simon Willison
752d261229
Implemented sqlite-utils transform command, closes #164
2020-09-22 00:47:58 -07:00
Simon Willison
f8e10df00e
Keyword only arguments for transform()
...
Also renamed columns= to types=
Closes #165
2020-09-21 23:39:10 -07:00
Simon Willison
987dd123f2
table.transform() method - closes #114
2020-09-21 21:20:01 -07:00
Simon Willison
482477585a
@db.register_function decorator, closes #162
2020-09-21 17:31:43 -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
ecb50c8f76
.enable_fts(..., replace=True) argument, closes #160
2020-09-20 15:05:46 -07:00
Simon Willison
3cc1944e53
sqlite-utils add-foreign-keys command, closes #157
2020-09-20 13:14:25 -07:00
Simon Wiles
e6d202b742
Handle case where subsequent records (after first batch) include extra columns
...
Refs #145 .
* Extract build_insert_queries_and_params
* Extract insert_chunk so it can be called recursively
Thanks, @simonwiles
2020-09-08 16:20:36 -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
9680a0291c
'Soundness check' is better
2020-09-08 15:24:39 -07:00
Simon Willison
64799df78b
.optimize() no longer cleans up _docsize
...
This isn't necessary any more since the new .rebuild_fts()
method can achieve the same thing.
Refs #155 , #153
2020-09-08 15:18:12 -07:00
Simon Willison
4c0f79398f
table.rebuild_fts() method, refs #155
2020-09-08 15:09:25 -07:00
Simon Willison
cf2cb244fa
Tracer mechanism for showing underlying SQL queries
...
* Pass a tracer= function to Database constructor
* New db.tracer() contextmanager
* Neater SQL indentation, because tracer means it could be visible now
* New db.execute() and db.executescript() methods
Closes #150
2020-09-07 14:56:59 -07:00
Simon Willison
3e87500e15
table.optimize() deletes junk docsize rows
...
Closes #153 . Closes #149 .
2020-09-07 14:16:13 -07:00
Simon Willison
de10590344
recursive_triggers=on by default, closes #152
...
Refs #149
2020-09-07 13:45:06 -07:00