package zdb import ( "github.com/georgysavva/scany/v2/pgxscan" ) func (d *Pool) WSelect(dst any, sql string, args ...any) error { return d.qSelect(d.SrvMaster, dst, sql, args...) } func (d *Pool) WSelectNamed(dst any, sql string, args map[string]any) error { return d.qSelect(d.SrvMaster, dst, d.prepare(sql, args)) } func (d *Pool) WSelectOpts(dst any, opts Opts) error { sql, args := opts.Opts() return d.qSelect(d.SrvMaster, dst, d.prepare(sql, args)) } func (d *Pool) Select(dst any, sql string, args ...any) error { return d.execWrapper(ConnModeSync, dst, func(conn *Conn, dst1 any) error { return d.qSelect(conn, dst1, sql, args...) }) } func (d *Pool) SelectNamed(dst any, sql string, args map[string]any) error { return d.execWrapper(ConnModeSync, dst, func(conn *Conn, dst1 any) error { return d.qSelect(conn, dst1, d.prepare(sql, args)) }) } func (d *Pool) SelectOpts(dst any, opts Opts) error { sql, args := opts.Opts() return d.execWrapper(ConnModeSync, dst, func(conn *Conn, dst1 any) error { return d.qSelect(conn, dst1, d.prepare(sql, args)) }) } func (d *Pool) SelectAsync(dst any, sql string, args ...any) error { return d.execWrapper(ConnModeAsync, dst, func(conn *Conn, dst1 any) error { return d.qSelect(conn, dst1, sql, args...) }) } func (d *Pool) SelectAsyncNamed(dst any, sql string, args map[string]any) error { return d.execWrapper(ConnModeAsync, dst, func(conn *Conn, dst1 any) error { return d.qSelect(conn, dst1, d.prepare(sql, args)) }) } func (d *Pool) SelectAsyncOpts(dst any, opts Opts) error { sql, args := opts.Opts() return d.execWrapper(ConnModeAsync, dst, func(conn *Conn, dst1 any) error { return d.qSelect(conn, dst1, d.prepare(sql, args)) }) } func (d *Pool) qSelect(q *Conn, dst any, sql string, args ...any) error { return pgxscan.Select(d.ctx, q, dst, sql, args...) }