func (s Statement) Args() []interface{} {
	args := make([]interface{}, 0)
	appendArgs(&args, s.selects...)
	appendArgs(&args, s.froms...)
	appendArgs(&args, s.joins...)
	appendArgs(&args, s.wheres...)
	appendArgs(&args, s.groups...)
	appendArgs(&args, s.havings...)
	appendArgs(&args, s.orders...)
	appendArgs(&args, s.limit)
	return args
}
Args returns positional arguments in the order they will appear in the SQL.
package sqlc
import (
	"fmt"
	"strings"
)
type component struct {
	partial string
	args    []interface{}
}
type Statement struct {
	PostgreSQL bool
	selects    []component
	froms      []component
	joins      []component
	wheres     []component
	groups     []component
	havings    []component
	orders     []component
	limit      component
}
func (s Statement) Select(partial string, args ...interface{}) Statement {
	s.selects = append(s.selects, component{partial, args})
	return s
}
func (s Statement) From(partial string, args ...interface{}) Statement {
	s.froms = append(s.froms, component{partial, args})
	return s
}
func (s Statement) Join(partial string, args ...interface{}) Statement {
	s.joins = append(s.joins, component{partial, args})
	return s
}
func (s Statement) Where(partial string, args ...interface{}) Statement {
	s.wheres = append(s.wheres, component{"(" + partial + ")", args})
	return s
}
func (s Statement) Having(partial string, args ...interface{}) Statement {
	s.havings = append(s.havings, component{"(" + partial + ")", args})
	return s
}
func (s Statement) Group(partial string, args ...interface{}) Statement {
	s.groups = append(s.groups, component{partial, args})
	return s
}
func (s Statement) Order(partial string, args ...interface{}) Statement {
	s.orders = append(s.orders, component{partial, args})
	return s
}
func (s Statement) Limit(partial string, args ...interface{}) Statement {
	s.limit = component{partial, args}
	return s
}