From 2959f43f0d0b243c6b578db87470fc1be62fc010 Mon Sep 17 00:00:00 2001 From: Denis Arh Date: Wed, 27 Jul 2022 20:15:45 +0200 Subject: [PATCH] Ensure error is properly handled on searchSql() --- store/adapters/rdbms/dal/model.go | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/store/adapters/rdbms/dal/model.go b/store/adapters/rdbms/dal/model.go index d76e00328..542f5375d 100644 --- a/store/adapters/rdbms/dal/model.go +++ b/store/adapters/rdbms/dal/model.go @@ -149,9 +149,18 @@ func (d *model) Search(f filter.Filter) (i *iterator, err error) { orderBy = append(orderBy, &filter.SortExpr{Column: attrIdent, Descending: orderBy.LastDescending()}) } + var ( + q *goqu.SelectDataset + ) + + q = d.searchSql(f) + if err = q.Error(); err != nil { + return + } + return &iterator{ ms: d, - query: d.searchSql(f), + query: q, sorting: orderBy, cursor: f.Cursor(), limit: f.Limit(), @@ -169,6 +178,10 @@ func (d *model) Lookup(ctx context.Context, pkv dal.ValueGetter, r dal.ValueSett // and ability to use sql.RawBytes var rows *sql.Rows rows, err = d.conn.QueryContext(ctx, query, args...) + if err != nil { + return + } + if err = rows.Err(); err != nil { return }