Compare commits

...

2 commits

Author SHA1 Message Date
Simon Willison
8daea7f126
Handle empty lists 2019-11-06 20:27:11 -08:00
Simon Willison
ace7a97b2b
test_insert_upsert_all_empty_list 2019-11-06 20:24:41 -08:00
2 changed files with 13 additions and 1 deletions

View file

@ -977,7 +977,10 @@ class Table(Queryable):
# we need to adjust the batch_size down if we have too many cols
records = iter(records)
# Peek at first record to count its columns:
try:
first_record = next(records)
except StopIteration:
return self # It was an empty list
num_columns = len(first_record.keys())
assert (
num_columns <= SQLITE_MAX_VARS

View file

@ -789,3 +789,12 @@ def test_drop_view(fresh_db):
assert ["foo_view"] == fresh_db.view_names()
assert None is fresh_db["foo_view"].drop()
assert [] == fresh_db.view_names()
def test_insert_upsert_all_empty_list(fresh_db):
fresh_db["t"].insert({"foo": 1})
assert 1 == fresh_db["t"].count
fresh_db["t"].insert_all([])
assert 1 == fresh_db["t"].count
fresh_db["t"].upsert_all([])
assert 1 == fresh_db["t"].count