awslabs / awslabs/rds-data-api-client-library-java

Collection of DTOs as input parameters

Open
#11 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
21
Forks
5
PR merge metrics
No merged PRs in 30d

Description

Hi Team,

The library supports var args to pass multiple objects:
```
var account1 = new Account(1, "John");
var account2 = new Account(2, "Mary");
client.forSql("INSERT INTO accounts(accountId, name) VALUES(:accountId, :name)")
.withParamSets(account1, account2)
.execute();
```

If we need to pass Collection we have to call toArray():
```
List accounts = List.of(new Account(1, "John"), new Account(2, "Mary")....);
client.forSql("INSERT INTO accounts(accountId, name) VALUES(:accountId, :name)")
.withParamSets(accounts.toArray())
.execute();
```

Batch saving quite often is used with a list of objects and it would help to avoid extra call toArray().

Could you please add overloaded withParamSets method or a new method to pass java.util.Collection, for instance:
```
List accounts = List.of(new Account(1, "John"), new Account(2, "Mary")....);
client.forSql("INSERT INTO accounts(accountId, name) VALUES(:accountId, :name)")
.withParamCollection(accounts)
.execute();
```

Thank you.

Contributor guide

Open the contributing guide

Research direction

Start by locating the withParamSets entry point and its existing varargs handling. Review its callers and tests, then support java.util.Collection input while preserving the current varargs behavior; done means a collection can be passed directly for batch execution.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
database
Issue type
Feature
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.