1 package goqu 2 3 var ( 4 // defaultPrepared is controlled by SetDefaultPrepared 5 defaultPrepared bool 6 ) 7 8 type prepared int 9 10 const ( 11 // zero value that defers to defaultPrepared 12 preparedNoPreference prepared = iota 13 14 // explicitly enabled via Prepared(true) on a dataset 15 preparedEnabled 16 17 // explicitly disabled via Prepared(false) on a dataset 18 preparedDisabled 19 ) 20 21 // Bool converts the ternary prepared state into a boolean. If the prepared 22 // state is preparedNoPreference, the value depends on the last value that 23 // SetDefaultPrepared was called with which is false by default. 24 func (p prepared) Bool() bool { 25 if p == preparedNoPreference { 26 return defaultPrepared 27 } else if p == preparedEnabled { 28 return true 29 } 30 31 return false 32 } 33 34 // preparedFromBool converts a bool from e.g. Prepared(true) into a prepared 35 // const. 36 func preparedFromBool(prepared bool) prepared { 37 if prepared { 38 return preparedEnabled 39 } 40 41 return preparedDisabled 42 } 43 44 // SetDefaultPrepared controls the default Prepared state of all datasets. If 45 // set to true, any new dataset will use prepared queries by default. 46 func SetDefaultPrepared(prepared bool) { 47 defaultPrepared = prepared 48 } 49