Explicitly order by pk (or by rowid)

Refs #5
pull/81/head
Simon Willison 2017-11-09 08:11:14 -08:00
rodzic bc9871c935
commit 292f140a4f
1 zmienionych plików z 10 dodań i 4 usunięć

Wyświetl plik

@ -256,16 +256,22 @@ class TableView(BaseView):
table = urllib.parse.unquote_plus(table)
pks = await self.pks_for_table(name, table)
use_rowid = not pks
select = '*'
if use_rowid:
select = 'rowid, *'
order_by = 'rowid'
else:
select = '*'
order_by = ', '.join(pks)
if request.args:
where_clause, params = build_where_clause(request.args)
sql = 'select {} from "{}" where {} limit 50'.format(
select, table, where_clause
sql = 'select {} from "{}" where {} order by {} limit 50'.format(
select, table, where_clause, order_by
)
else:
sql = 'select {} from "{}" limit 50'.format(select, table)
sql = 'select {} from "{}" order by {} limit 50'.format(
select, table, order_by
)
params = []
rows = await self.execute(name, sql, params)