Skip to content

Convert with --multi and --dry-run flag does not work #415

@dotcs

Description

@dotcs

It's not possible to combine --multi and --dry-run flag in the convert command.

Let's first create a simple database from JSON string

$ echo '[{"foo": "abc"}]' | sqlite-utils insert demo.db demo -
$ sqlite-utils query demo.db "SELECT * FROM demo"             
[{"foo": "abc"}]

and then try to convert the "foo" column with a static value "bar" (see docs Converting a column into multiple columns)

$ sqlite-utils convert demo.db demo foo '{"foo": "bar"}' --multi --dry-run
Traceback (most recent call last):
  File "/home/dotcs/anaconda3/envs/tools/bin/sqlite-utils", line 8, in <module>
    sys.exit(cli())
  File "/home/dotcs/anaconda3/envs/tools/lib/python3.9/site-packages/click/core.py", line 1128, in __call__
    return self.main(*args, **kwargs)
  File "/home/dotcs/anaconda3/envs/tools/lib/python3.9/site-packages/click/core.py", line 1053, in main
    rv = self.invoke(ctx)
  File "/home/dotcs/anaconda3/envs/tools/lib/python3.9/site-packages/click/core.py", line 1659, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/dotcs/anaconda3/envs/tools/lib/python3.9/site-packages/click/core.py", line 1395, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/dotcs/anaconda3/envs/tools/lib/python3.9/site-packages/click/core.py", line 754, in invoke
    return __callback(*args, **kwargs)
  File "/home/dotcs/anaconda3/envs/tools/lib/python3.9/site-packages/sqlite_utils/cli.py", line 2686, in convert
    for row in db.conn.execute(sql, where_args).fetchall():
sqlite3.OperationalError: user-defined function raised exception

But without the --dry-run flag it does work as expected:

$ sqlite-utils convert demo.db demo foo '{"foo": "bar"}' --multi
$ sqlite-utils query demo.db "SELECT * FROM demo"               
[{"foo": "bar"}]
$ sqlite-utils --version
sqlite-utils, version 3.25.1

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions