Skip to content

Commit c91f1e6

Browse files
committed
iterdump() workaround for compatibility with pysqlite3
1 parent e02c8f3 commit c91f1e6

File tree

3 files changed

+7
-4
lines changed

3 files changed

+7
-4
lines changed

sqlite_utils/cli.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
from .utils import (
2020
file_progress,
2121
find_spatialite,
22+
iterdump,
2223
sqlite3,
2324
decode_base64_values,
2425
progressbar,
@@ -326,7 +327,7 @@ def dump(path, load_extension):
326327
"""Output a SQL dump of the schema and full contents of the database"""
327328
db = sqlite_utils.Database(path)
328329
_load_extensions(db, load_extension)
329-
for line in db.conn.iterdump():
330+
for line in iterdump(db.conn):
330331
click.echo(line)
331332

332333

@@ -1320,7 +1321,7 @@ def memory(
13201321
return
13211322

13221323
if dump:
1323-
for line in db.conn.iterdump():
1324+
for line in iterdump(db.conn):
13241325
click.echo(line)
13251326
return
13261327

@@ -1330,7 +1331,7 @@ def memory(
13301331

13311332
if save:
13321333
db2 = sqlite_utils.Database(save)
1333-
for line in db.conn.iterdump():
1334+
for line in iterdump(db.conn):
13341335
db2.execute(line)
13351336
return
13361337

sqlite_utils/utils.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import io
66
import json
77
import os
8+
from sqlite3.dump import _iterdump as iterdump
89
from typing import cast, BinaryIO, Iterable, Optional, Tuple, Type
910

1011
import click

tests/test_analyze_tables.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
from sqlite_utils.db import Database, ColumnDetails
22
from sqlite_utils import cli
3+
from sqlite_utils.utils import iterdump
34
from click.testing import CliRunner
45
import pytest
56
import sqlite3
@@ -79,7 +80,7 @@ def test_analyze_column(db_to_analyze, column, expected):
7980
def db_to_analyze_path(db_to_analyze, tmpdir):
8081
path = str(tmpdir / "test.db")
8182
db = sqlite3.connect(path)
82-
db.executescript("\n".join(db_to_analyze.conn.iterdump()))
83+
db.executescript("\n".join(iterdump(db_to_analyze.conn)))
8384
return path
8485

8586

0 commit comments

Comments
 (0)