Use select colnames, not select * for table view - refs #615

pull/590/head^2
Simon Willison 2019-11-04 15:03:48 -08:00
rodzic 9db22cdf18
commit 52fa79c607
2 zmienionych plików z 8 dodań i 3 usunięć

Wyświetl plik

@ -235,13 +235,17 @@ class TableView(RowTableShared):
raise NotFound("Table not found: {}".format(table))
pks = await db.primary_keys(table)
table_columns = await db.table_columns(table)
select_columns = ", ".join(escape_sqlite(t) for t in table_columns)
use_rowid = not pks and not is_view
if use_rowid:
select = "rowid, *"
select = "rowid, {}".format(select_columns)
order_by = "rowid"
order_by_pks = "rowid"
else:
select = "*"
select = select_columns
order_by_pks = ", ".join([escape_sqlite(pk) for pk in pks])
order_by = order_by_pks

Wyświetl plik

@ -610,7 +610,8 @@ def test_table_json(app_client):
assert response.status == 200
data = response.json
assert (
data["query"]["sql"] == "select * from simple_primary_key order by id limit 51"
data["query"]["sql"]
== "select id, content from simple_primary_key order by id limit 51"
)
assert data["query"]["params"] == {}
assert data["rows"] == [