internal/host/plugin: revert unnecessary method change
This logic was accidentally updated to support pagination when it's no longer used. Revert it back to the original code.
This commit is contained in:
1 parent
b3207d8e1c
commit
db21fbb7c1
1 file changed
+19
-29
@@ -776,7 +776,7 @@ func (r *Repository) DeleteSet(ctx context.Context, projectId string, publicId s
|
||||
return rowsDeleted, nil
|
||||
}
|
||||
|
||||
func (r *Repository) getSets(ctx context.Context, publicId string, catalogId string, opt ...Option) ([]*HostSet, *plugin.Plugin, error) {
|
||||
func (r *Repository) getSets(ctx context.Context, publicId string, catalogId string, opt ...host.Option) ([]*HostSet, *plugin.Plugin, error) {
|
||||
const op = "plugin.(Repository).getSets"
|
||||
if publicId == "" && catalogId == "" {
|
||||
return nil, nil, errors.New(ctx, errors.InvalidParameter, op, "missing search criteria: both host set id and catalog id are empty")
|
||||
@@ -785,44 +785,35 @@ func (r *Repository) getSets(ctx context.Context, publicId string, catalogId str
|
||||
return nil, nil, errors.New(ctx, errors.InvalidParameter, op, "searching for both a host set id and a catalog id is not supported")
|
||||
}
|
||||
|
||||
opts := getOpts(opt...)
|
||||
opts, err := host.GetOpts(opt...)
|
||||
if err != nil {
|
||||
return nil, nil, errors.Wrap(ctx, err, op)
|
||||
}
|
||||
|
||||
limit := r.defaultLimit
|
||||
if opts.withLimit != 0 {
|
||||
if opts.WithLimit != 0 {
|
||||
// non-zero signals an override of the default limit for the repo.
|
||||
limit = opts.withLimit
|
||||
limit = opts.WithLimit
|
||||
}
|
||||
|
||||
var args []any
|
||||
args := make([]any, 0, 1)
|
||||
var where string
|
||||
|
||||
switch {
|
||||
case publicId != "":
|
||||
where, args = "public_id = @public_id", append(args, sql.Named("public_id", publicId))
|
||||
where, args = "public_id = ?", append(args, publicId)
|
||||
default:
|
||||
where, args = "catalog_id = @catalog_id", append(args, sql.Named("catalog_id", catalogId))
|
||||
}
|
||||
// Ordering and pagination are tightly coupled.
|
||||
// We order by update_time ascending so that new
|
||||
// and updated items appear at the end of the pagination.
|
||||
// We need to further order by public_id to distinguish items
|
||||
// with identical update times.
|
||||
withOrder := "update_time asc, public_id asc"
|
||||
if opts.withStartPageAfterItem != nil {
|
||||
// Now that the order is defined, we can use a simple where
|
||||
// clause to only include items updated since the specified
|
||||
// start of the page. We use greater than or equal for the update
|
||||
// time as there may be items with identical update_times. We
|
||||
// then use public_id as a tiebreaker.
|
||||
args = append(args,
|
||||
sql.Named("after_item_update_time", opts.withStartPageAfterItem.GetUpdateTime()),
|
||||
sql.Named("after_item_id", opts.withStartPageAfterItem.GetPublicId()),
|
||||
)
|
||||
where = "(" + where + ") and (update_time > @after_item_update_time or (update_time = @after_item_update_time and public_id > @after_item_id))"
|
||||
where, args = "catalog_id = ?", append(args, catalogId)
|
||||
}
|
||||
|
||||
dbArgs := []db.Option{
|
||||
db.WithLimit(limit),
|
||||
db.WithOrder(withOrder),
|
||||
dbArgs := []db.Option{db.WithLimit(limit)}
|
||||
|
||||
if opts.WithOrderByCreateTime {
|
||||
if opts.Ascending {
|
||||
dbArgs = append(dbArgs, db.WithOrder("create_time asc"))
|
||||
} else {
|
||||
dbArgs = append(dbArgs, db.WithOrder("create_time"))
|
||||
}
|
||||
}
|
||||
|
||||
var aggHostSets []*hostSetAgg
|
||||
@@ -845,7 +836,6 @@ func (r *Repository) getSets(ctx context.Context, publicId string, catalogId str
|
||||
}
|
||||
var plg *plugin.Plugin
|
||||
if plgId != "" {
|
||||
var err error
|
||||
plg, err = r.getPlugin(ctx, plgId)
|
||||
if err != nil {
|
||||
return nil, nil, errors.Wrap(ctx, err, op)
|
||||
|
||||
Reference in new issue
Block a user