What do you want to change?
Current state
In current state of the library, using queries with arrays generates code with a dependency to github.com/lib/pq, which is in maintenance mode.
Example from the docs:
func (q *Queries) ListAuthorsByIDs(ctx context.Context, ids []int) ([]Author, error) {
rows, err := q.db.QueryContext(ctx, listAuthors, pq.Array(ids))
It would be great if it was possible to not have pq dependency here.
Implications
This might lead to some misleading situations, example:
The pgx lib, which is used often as a replacement for lib/pq, is possible to use in such way:
db, err := sql.Open("pgx", os.Getenv("DATABASE_URL"))
This means that if you use sqlc in the default database/sql mode with such command, you end up with:
- imported
pq dependency
- but actually you're using
pgx as a driver
Thank you in advance for looking into this issue.
What database engines need to be changed?
PostgreSQL
What programming language backends need to be changed?
Go
What do you want to change?
Current state
In current state of the library, using queries with arrays generates code with a dependency to
github.com/lib/pq, which is in maintenance mode.Example from the docs:
It would be great if it was possible to not have
pqdependency here.Implications
This might lead to some misleading situations, example:
The
pgxlib, which is used often as a replacement forlib/pq, is possible to use in such way:This means that if you use
sqlcin the defaultdatabase/sqlmode with such command, you end up with:pqdependencypgxas a driverThank you in advance for looking into this issue.
What database engines need to be changed?
PostgreSQL
What programming language backends need to be changed?
Go