stash/vendor/github.com/doug-martin/goqu/v9/prepared.go

49 lines
1.1 KiB
Go

package goqu
var (
// defaultPrepared is controlled by SetDefaultPrepared
defaultPrepared bool
)
type prepared int
const (
// zero value that defers to defaultPrepared
preparedNoPreference prepared = iota
// explicitly enabled via Prepared(true) on a dataset
preparedEnabled
// explicitly disabled via Prepared(false) on a dataset
preparedDisabled
)
// Bool converts the ternary prepared state into a boolean. If the prepared
// state is preparedNoPreference, the value depends on the last value that
// SetDefaultPrepared was called with which is false by default.
func (p prepared) Bool() bool {
if p == preparedNoPreference {
return defaultPrepared
} else if p == preparedEnabled {
return true
}
return false
}
// preparedFromBool converts a bool from e.g. Prepared(true) into a prepared
// const.
func preparedFromBool(prepared bool) prepared {
if prepared {
return preparedEnabled
}
return preparedDisabled
}
// SetDefaultPrepared controls the default Prepared state of all datasets. If
// set to true, any new dataset will use prepared queries by default.
func SetDefaultPrepared(prepared bool) {
defaultPrepared = prepared
}