From 5df5ca87a244ec9809c481da827c7138edc38805 Mon Sep 17 00:00:00 2001 From: Tsuneo Yoshioka Date: Tue, 25 Feb 2025 11:58:48 +0900 Subject: [PATCH] add NULLS LAST option for Query order (#7341) --- redash/utils/query_order.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/redash/utils/query_order.py b/redash/utils/query_order.py index 72c1bb6edd..3857a8cff9 100644 --- a/redash/utils/query_order.py +++ b/redash/utils/query_order.py @@ -33,7 +33,7 @@ from sqlalchemy.orm.properties import ColumnProperty from sqlalchemy.orm.query import _ColumnEntity from sqlalchemy.orm.util import AliasedInsp -from sqlalchemy.sql.expression import asc, desc +from sqlalchemy.sql.expression import asc, desc, nullslast def get_query_descriptor(query, entity, attr): @@ -225,7 +225,7 @@ def __init__(self, silent=True, separator="-"): def assign_order_by(self, entity, attr, func): expr = get_query_descriptor(self.query, entity, attr) if expr is not None: - return self.query.order_by(func(expr)) + return self.query.order_by(nullslast(func(expr))) if not self.silent: raise QuerySorterException("Could not sort query with expression '%s'" % attr) return self.query