# HG changeset patch # User Goffi # Date 1619108823 -7200 # Node ID 96059231d58f5f8c2cd5fc932f9cb8b4ad7a004b # Parent 91da42d44ea29bc97c567b06fac4ecb64726673b pgsql: fix RSM before and after subqueries diff -r 91da42d44ea2 -r 96059231d58f sat_pubsub/pgsql_storage.py --- a/sat_pubsub/pgsql_storage.py Thu Apr 22 18:26:12 2021 +0200 +++ b/sat_pubsub/pgsql_storage.py Thu Apr 22 18:27:03 2021 +0200 @@ -1177,8 +1177,11 @@ args.append(item_id) elif rsm.before is not None: if rsm.before != '': - query.append("AND item_id>(SELECT item_id FROM items WHERE item=%s LIMIT 1)") - args.append(rsm.before) + query.append( + "AND item_id>(SELECT item_id FROM items WHERE node_id=%s AND " + "item=%s LIMIT 1)" + ) + args.extend((self.nodeDbId, rsm.before)) if maxItems is not None: # if we have maxItems (i.e. a limit), we need to reverse order # in a first query to get the right items @@ -1187,8 +1190,11 @@ query.append("LIMIT %s) as x") args.append(maxItems) elif rsm.after: - query.append("AND item_id<(SELECT item_id FROM items WHERE item=%s LIMIT 1)") - args.append(rsm.after) + query.append( + "AND item_id<(SELECT item_id FROM items WHERE node_id=%s AND item=%s " + "LIMIT 1)" + ) + args.extend((self.nodeDbId, rsm.after)) query.append(query_order)