From e10d5122ee68f935af37f1020d8ad3d53f677eca Mon Sep 17 00:00:00 2001 From: Prabhjot Singh Sethi Date: Fri, 6 Jun 2025 09:42:01 +0000 Subject: [PATCH] enable fetching count based on the filter provided Signed-off-by: Prabhjot Singh Sethi --- table/generic.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/table/generic.go b/table/generic.go index ee88145..c1c550a 100644 --- a/table/generic.go +++ b/table/generic.go @@ -206,6 +206,15 @@ func (t *Table[K, E]) FindMany(ctx context.Context, filter any) ([]*E, error) { return data, nil } +// Count retrieves count of entries matching the provided filter. +// Returns count of entries and error if none found or if the table is not initialized. +func (t *Table[K, E]) Count(ctx context.Context, filter any) (int64, error) { + if t.col == nil { + return 0, errors.Wrapf(errors.InvalidArgument, "Table not initialized") + } + return t.col.Count(ctx, filter) +} + // DeleteByFilter deletes entries matching the provided filter. // Returns number of entries deleted and error if any func (t *Table[K, E]) DeleteByFilter(ctx context.Context, filter any) (int64, error) {