mirror of
https://github.com/simonw/sqlite-utils.git
synced 2026-07-24 01:44:31 +02:00
Use assertion to enforce <=999 columns
This commit is contained in:
parent
62d2922528
commit
0c1b8b7f96
2 changed files with 7 additions and 2 deletions
|
|
@ -6,6 +6,8 @@ import itertools
|
|||
import json
|
||||
import pathlib
|
||||
|
||||
SQLITE_MAX_VARS = 999
|
||||
|
||||
try:
|
||||
import numpy as np
|
||||
except ImportError:
|
||||
|
|
@ -854,7 +856,10 @@ class Table:
|
|||
# Peek at first record to count its columns:
|
||||
first_record = next(records)
|
||||
num_columns = len(first_record.keys())
|
||||
batch_size = max(1, min(batch_size, 999 // num_columns))
|
||||
assert (
|
||||
num_columns <= SQLITE_MAX_VARS
|
||||
), "Rows can have a maximum of {} columns".format(SQLITE_MAX_VARS)
|
||||
batch_size = max(1, min(batch_size, SQLITE_MAX_VARS // num_columns))
|
||||
for chunk in chunks(itertools.chain([first_record], records), batch_size):
|
||||
chunk = list(chunk)
|
||||
if first:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue