From db23da7ae1682fecc92d12bb871b928b51d7807a Mon Sep 17 00:00:00 2001 From: Simon Willison Date: Mon, 16 Apr 2018 18:39:16 -0700 Subject: [PATCH] Add primary keys back to order by clause for sorting, refs #216 --- datasette/app.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/datasette/app.py b/datasette/app.py index cc16ae97..e09e4fa5 100644 --- a/datasette/app.py +++ b/datasette/app.py @@ -619,9 +619,11 @@ class TableView(RowTableShared): if use_rowid: select = 'rowid, *' order_by = 'rowid' + order_by_pks = 'rowid' else: select = '*' - order_by = ', '.join(pks) + order_by_pks = ', '.join([escape_sqlite(pk) for pk in pks]) + order_by = order_by_pks if is_view: order_by = '' @@ -792,6 +794,9 @@ class TableView(RowTableShared): ) ) params['p{}'.format(len(params))] = sort_value + order_by = '{}, {}'.format( + order_by, order_by_pks + ) else: where_clauses.extend(next_by_pk_clauses)