mirror of
https://github.com/simonw/datasette.git
synced 2025-12-10 16:51:24 +01:00
New way of deriving named parameters using explain, refs #1421
This commit is contained in:
parent
ad90a72afa
commit
fc4846850f
4 changed files with 31 additions and 2 deletions
|
|
@ -626,3 +626,18 @@ def test_parse_metadata(content, expected):
|
|||
utils.parse_metadata(content)
|
||||
else:
|
||||
assert utils.parse_metadata(content) == expected
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
@pytest.mark.parametrize("sql,expected", (
|
||||
("select 1", []),
|
||||
("select 1 + :one", ["one"]),
|
||||
("select 1 + :one + :two", ["one", "two"]),
|
||||
("select 'bob' || '0:00' || :cat", ["cat"]),
|
||||
("select this is invalid", []),
|
||||
))
|
||||
async def test_derive_named_parameters(sql, expected):
|
||||
ds = Datasette([], memory=True)
|
||||
db = ds.get_database("_memory")
|
||||
params = await utils.derive_named_parameters(db, sql)
|
||||
assert params == expected
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue