mirror of
https://github.com/simonw/datasette.git
synced 2026-06-15 05:26:59 +02:00
parent
bdfd9d5482
commit
44e17fa3db
2 changed files with 37 additions and 4 deletions
|
|
@ -528,12 +528,14 @@ class QueryView(View):
|
|||
message = "Error running on_success_message_sql: {}".format(ex)
|
||||
message_type = datasette.ERROR
|
||||
if not message:
|
||||
message = (
|
||||
stored_query.on_success_message
|
||||
or "Query executed, {} row{} affected".format(
|
||||
if stored_query.on_success_message:
|
||||
message = stored_query.on_success_message
|
||||
elif cursor.rowcount == -1:
|
||||
message = "Query executed"
|
||||
else:
|
||||
message = "Query executed, {} row{} affected".format(
|
||||
cursor.rowcount, "" if cursor.rowcount == 1 else "s"
|
||||
)
|
||||
)
|
||||
|
||||
redirect_url = stored_query.on_success_redirect
|
||||
ok = True
|
||||
|
|
|
|||
|
|
@ -3031,3 +3031,34 @@ async def test_stored_write_query_with_returning():
|
|||
assert (await db.execute("select id, name from dogs")).dicts() == [
|
||||
{"id": 1, "name": "Cleo"}
|
||||
]
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_stored_write_query_with_truncated_returning_message():
|
||||
ds = Datasette(memory=True, default_deny=True)
|
||||
ds.root_enabled = True
|
||||
db = ds.add_memory_database("query_write_truncated_returning", name="data")
|
||||
await db.execute_write("create table dogs (id integer primary key, name text)")
|
||||
await db.execute_write_many(
|
||||
"insert into dogs (name) values (?)",
|
||||
[("Cleo",) for _ in range(20)],
|
||||
)
|
||||
await ds.invoke_startup()
|
||||
await ds.add_query(
|
||||
"data",
|
||||
"update_dogs",
|
||||
"update dogs set name = name returning id",
|
||||
is_write=True,
|
||||
source="user",
|
||||
owner_id="root",
|
||||
)
|
||||
|
||||
response = await ds.client.post(
|
||||
"/data/update_dogs?_json=1",
|
||||
actor={"id": "root"},
|
||||
data={},
|
||||
)
|
||||
|
||||
assert response.status_code == 200
|
||||
assert response.json()["ok"] is True
|
||||
assert response.json()["message"] == "Query executed"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue