Lines Matching refs:statement

85 	statement := &Statement{
90 statement.Reset()
91 return statement
95 func (statement *Statement) SetTableName(tableName string) {
96 statement.tableName = tableName
100 func (statement *Statement) GenRawSQL() string {
101 return statement.ReplaceQuote(statement.RawSQL)
105 func (statement *Statement) GenCondSQL(condOrBuilder interface{}) (string, []interface{}, error) {
110 return statement.ReplaceQuote(condSQL), condArgs, nil
114 func (statement *Statement) ReplaceQuote(sql string) string {
115 if sql == "" || statement.dialect.URI().DBType == schemas.MYSQL ||
116 statement.dialect.URI().DBType == schemas.SQLITE {
119 return statement.dialect.Quoter().Replace(sql)
123 func (statement *Statement) SetContextCache(ctxCache contexts.ContextCache) {
124 statement.Context = ctxCache
128 func (statement *Statement) Reset() {
129 statement.RefTable = nil
130 statement.Start = 0
131 statement.LimitN = nil
132 statement.OrderStr = ""
133 statement.UseCascade = true
134 statement.JoinStr = ""
135 statement.joinArgs = make([]interface{}, 0)
136 statement.GroupByStr = ""
137 statement.HavingStr = ""
138 statement.ColumnMap = columnMap{}
139 statement.OmitColumnMap = columnMap{}
140 statement.AltTableName = ""
141 statement.tableName = ""
142 statement.idParam = nil
143 statement.RawSQL = ""
144 statement.RawParams = make([]interface{}, 0)
145 statement.UseCache = true
146 statement.UseAutoTime = true
147 statement.NoAutoCondition = false
148 statement.IsDistinct = false
149 statement.IsForUpdate = false
150 statement.TableAlias = ""
151 statement.SelectStr = ""
152 statement.allUseBool = false
153 statement.useAllCols = false
154 statement.MustColumnMap = make(map[string]bool)
155 statement.NullableMap = make(map[string]bool)
156 statement.CheckVersion = true
157 statement.unscoped = false
158 statement.IncrColumns = exprParams{}
159 statement.DecrColumns = exprParams{}
160 statement.ExprColumns = exprParams{}
161 statement.cond = builder.NewCond()
162 statement.BufferSize = 0
163 statement.Context = nil
164 statement.LastError = nil
168 func (statement *Statement) SetNoAutoCondition(no ...bool) *Statement {
169 statement.NoAutoCondition = true
171 statement.NoAutoCondition = no[0]
173 return statement
177 func (statement *Statement) Alias(alias string) *Statement {
178 statement.TableAlias = alias
179 return statement
183 func (statement *Statement) SQL(query interface{}, args ...interface{}) *Statement {
187 statement.RawSQL, statement.RawParams, err = query.(*builder.Builder).ToSQL()
189 statement.LastError = err
192 statement.RawSQL = query.(string)
193 statement.RawParams = args
195 statement.LastError = ErrUnSupportedSQLType
198 return statement
202 func (statement *Statement) Where(query interface{}, args ...interface{}) *Statement {
203 return statement.And(query, args...)
206 func (statement *Statement) quote(s string) string {
207 return statement.dialect.Quoter().Quote(s)
211 func (statement *Statement) And(query interface{}, args ...interface{}) *Statement {
215 statement.cond = statement.cond.And(cond)
219 cond[statement.quote(k)] = v
221 statement.cond = statement.cond.And(cond)
223 statement.cond = statement.cond.And(qr)
226 statement.cond = statement.cond.And(vv)
230 statement.LastError = ErrConditionType
233 return statement
237 func (statement *Statement) Or(query interface{}, args ...interface{}) *Statement {
241 statement.cond = statement.cond.Or(cond)
245 cond[statement.quote(k)] = v
247 statement.cond = statement.cond.Or(cond)
249 statement.cond = statement.cond.Or(qr)
252 statement.cond = statement.cond.Or(vv)
256 statement.LastError = ErrConditionType
258 return statement
262 func (statement *Statement) In(column string, args ...interface{}) *Statement {
263 in := builder.In(statement.quote(column), args...)
264 statement.cond = statement.cond.And(in)
265 return statement
269 func (statement *Statement) NotIn(column string, args ...interface{}) *Statement {
270 notIn := builder.NotIn(statement.quote(column), args...)
271 statement.cond = statement.cond.And(notIn)
272 return statement
276 func (statement *Statement) SetRefValue(v reflect.Value) error {
278 statement.RefTable, err = statement.tagParser.ParseWithCache(reflect.Indirect(v))
282statement.tableName = dialects.FullTableName(statement.dialect, statement.tagParser.GetTableMapper…
291 func (statement *Statement) SetRefBean(bean interface{}) error {
293 statement.RefTable, err = statement.tagParser.ParseWithCache(rValue(bean))
297statement.tableName = dialects.FullTableName(statement.dialect, statement.tagParser.GetTableMapper…
301 func (statement *Statement) needTableName() bool {
302 return len(statement.JoinStr) > 0
305 func (statement *Statement) colName(col *schemas.Column, tableName string) string {
306 if statement.needTableName() {
308 if len(statement.TableAlias) > 0 {
309 nm = statement.TableAlias
311 return statement.quote(nm) + "." + statement.quote(col.Name)
313 return statement.quote(col.Name)
317 func (statement *Statement) TableName() string {
318 if statement.AltTableName != "" {
319 return statement.AltTableName
322 return statement.tableName
326 func (statement *Statement) Incr(column string, arg ...interface{}) *Statement {
328 statement.IncrColumns.Add(column, arg[0])
330 statement.IncrColumns.Add(column, 1)
332 return statement
336 func (statement *Statement) Decr(column string, arg ...interface{}) *Statement {
338 statement.DecrColumns.Add(column, arg[0])
340 statement.DecrColumns.Add(column, 1)
342 return statement
346 func (statement *Statement) SetExpr(column string, expression interface{}) *Statement {
348 statement.ExprColumns.Add(column, statement.dialect.Quoter().Replace(e))
350 statement.ExprColumns.Add(column, expression)
352 return statement
356 func (statement *Statement) Distinct(columns ...string) *Statement {
357 statement.IsDistinct = true
358 statement.Cols(columns...)
359 return statement
363 func (statement *Statement) ForUpdate() *Statement {
364 statement.IsForUpdate = true
365 return statement
369 func (statement *Statement) Select(str string) *Statement {
370 statement.SelectStr = statement.ReplaceQuote(str)
371 return statement