func()

in internal/dal/workflow.go [108:128]


func (w *workflowDALImpl) SelectInstances(ctx context.Context, param *model.QueryParam) ([]model.WorkflowInstance,
	int, error) {
	var r []model.WorkflowInstance
	db := workflowDB.WithContext(ctx).Where("workflow_status != ?", constants.InvalidStatus).
		Where("workflow_id = ?", param.WorkflowID)
	if param.Size > maxSize {
		param.Size = maxSize
	}
	if param.Page == 0 {
		param.Page = 1
	}
	var count int64
	db = db.Limit(param.Size).Offset(param.Size * (param.Page - 1)).Order("update_time DESC")
	if err := db.Find(&r).Limit(-1).Offset(-1).Count(&count).Error; err != nil {
		if err == gorm.ErrRecordNotFound {
			return nil, 0, nil
		}
		return nil, 0, err
	}
	return r, int(count), nil
}