Skip to main content

Repository.CommandOptions

Repository.CommandOptions is the base options shape shared by every Repository method — every other Repository.*Options interface (CreateOptions, FindOptions, FindManyOptions, UpdateOptions, DeleteOptions, ...) extends it. See Repositories for the full guide.

namespace Repository {
interface CommandOptions {
connection?: SqbConnection;
prettyPrint?: boolean;
comment?:
| string
| string[]
| { comment: string; dialect?: string[] }
| { comment: string; dialect?: string[] }[];
optimizerHint?:
| string
| string[]
| TableName.OptimizerHint
| TableName.OptimizerHint[];
}
}
OptionTypeDescription
connectionSqbConnectionRun this call on a specific connection instead of acquiring one from the pool (e.g. inside a transaction).
prettyPrintbooleanFormat the generated SQL for readability (useful when logging).
commentstring | string[] | { comment: string; dialect?: string[] } | { comment: string; dialect?: string[] }[]SQL comment(s) appended to the generated statement — the object form restricts a comment to specific dialects.
optimizerHintstring | string[] | TableName.OptimizerHint | TableName.OptimizerHint[]Dialect-specific optimizer hints applied to the query's TableName (TableName.OptimizerHint is exported by @sqb/builder).

Extended by

Every method-specific options interface builds on CommandOptions, adding a projection and/or filter/params pair (from two small, unexported helper interfaces internal to repository.class.ts) as needed:

InterfaceAddsUsed by
CreateOptionsprojection?: string | string[]create()
CountOptionsfilter?, params?count()
ExistsOptionsfilter?, params?exists() / existsOne()
DeleteOptionsfilter?, params?delete()
DeleteManyOptionsfilter?, params?deleteMany()
FindOptionsprojection?, filter?, params?findById()
FindOneOptionsFindOptions + sort?: string[], offset?: numberfindOne()
FindManyOptionsFindOneOptions + limit?, distinct?, maxEagerFetch?, maxSubQueries?, onTransformRow? — see Repository.FindManyOptionsfindMany()
UpdateOptionsprojection?, filter?, params?update()
UpdateOnlyOptionsfilter?, params?updateOnly()
UpdateManyOptionsfilter?, params?updateMany()

filter/params follow the same syntax throughout — see Repositories → Filters; projection follows Repositories → Projection.