mirror of
https://github.com/simonw/sqlite-utils.git
synced 2026-10-08 02:17:08 +02:00
Merge 10a6e82f9a into a947dc6739
This commit is contained in:
commit
10e128e520
2 changed files with 24 additions and 5 deletions
|
|
@ -3293,12 +3293,12 @@ def convert(
|
||||||
db.conn.create_function("preview_transform", 1, preview)
|
db.conn.create_function("preview_transform", 1, preview)
|
||||||
sql = """
|
sql = """
|
||||||
select
|
select
|
||||||
[{column}] as value,
|
{column} as value,
|
||||||
preview_transform([{column}]) as preview
|
preview_transform({column}) as preview
|
||||||
from [{table}]{where} limit 10
|
from {table}{where} limit 10
|
||||||
""".format(
|
""".format(
|
||||||
column=columns[0],
|
column=quote_identifier(columns[0]),
|
||||||
table=table,
|
table=quote_identifier(table),
|
||||||
where=" where {}".format(where) if where is not None else "",
|
where=" where {}".format(where) if where is not None else "",
|
||||||
)
|
)
|
||||||
for row in db.conn.execute(sql, where_args).fetchall():
|
for row in db.conn.execute(sql, where_args).fetchall():
|
||||||
|
|
|
||||||
|
|
@ -179,6 +179,25 @@ def test_convert_dryrun(test_db_and_path):
|
||||||
assert result.output.strip().split("\n")[-1] == "Would affect 1 row"
|
assert result.output.strip().split("\n")[-1] == "Would affect 1 row"
|
||||||
|
|
||||||
|
|
||||||
|
def test_convert_dryrun_identifier_with_closing_bracket(tmpdir):
|
||||||
|
db_path = str(pathlib.Path(tmpdir) / "data.db")
|
||||||
|
db = sqlite_utils.Database(db_path)
|
||||||
|
db["example]table"].insert({"value]x": "alpha"})
|
||||||
|
result = CliRunner().invoke(
|
||||||
|
cli.cli,
|
||||||
|
[
|
||||||
|
"convert",
|
||||||
|
db_path,
|
||||||
|
"example]table",
|
||||||
|
"value]x",
|
||||||
|
"value.upper()",
|
||||||
|
"--dry-run",
|
||||||
|
],
|
||||||
|
)
|
||||||
|
assert result.exit_code == 0, result.output
|
||||||
|
assert result.output.strip() == "alpha\n --- becomes:\nALPHA\n\nWould affect 1 row"
|
||||||
|
|
||||||
|
|
||||||
def test_convert_multi_dryrun(test_db_and_path):
|
def test_convert_multi_dryrun(test_db_and_path):
|
||||||
db_path = test_db_and_path[1]
|
db_path = test_db_and_path[1]
|
||||||
result = CliRunner().invoke(
|
result = CliRunner().invoke(
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue