Skip to content

Discussion: Do we need the bucket argument? #34

Closed
@thomastaylor312

Description

@thomastaylor312

Most of the interfaces in this repo have a bucket argument that is passed to most functions. This seemed a little odd to me as most keyvalue clients I've used don't require this. They generally connect to a specific bucket when opening their connection and then all operations are against that bucket. Manually passing the bucket name on every call feels a little clunky, so before we finalize the interface, I wanted to see if we could get away without using it.

My guess at the original reason for having it was to support connecting to multiple DBs/buckets, which is totally valid as you don't want to have vendor specific connection strings inside of code (kinda defeats the purpose of a generic interface). If this is the case, there are two questions that fall out of this:

  • How common is the use case of connecting to two entirely different DBs/buckets? Is that something we should even support in a "generic" interface like this one?
  • Is there any way we could still get this functionality without overly complicating the interface?

Curious on what people think here

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions