this repo has no description
9
fork

Configure Feed

Select the types of activity you want to include in your feed.

add query builder for delete statements

Signed-off-by: oppiliappan <me@oppi.li>

oppiliappan ce31f4a0 2136ba4a

+52
+52
query.go
··· 262 262 263 263 return sql.String(), args, nil 264 264 } 265 + 265 266 func (s select_) MustBuild() (string, []any) { 266 267 sql, args, err := s.Build() 267 268 if err != nil { ··· 269 270 } 270 271 return sql, args 271 272 } 273 + 274 + type delete_ struct { 275 + from string 276 + where *Expr 277 + } 278 + 279 + func Delete() delete_ { 280 + return delete_{} 281 + } 282 + 283 + type DeleteOpt func(s *delete_) 284 + 285 + func (s delete_) From(table string) delete_ { 286 + s.from = table 287 + return s 288 + } 289 + 290 + func (s delete_) Where(expr Expr) delete_ { 291 + s.where = &expr 292 + return s 293 + } 294 + 295 + func (s delete_) Build() (string, []any, error) { 296 + var sql strings.Builder 297 + var args []any 298 + 299 + sql.WriteString("DELETE ") 300 + 301 + if s.from == "" { 302 + return "", nil, fmt.Errorf("FROM clause is required") 303 + } 304 + sql.WriteString(" FROM ") 305 + sql.WriteString(s.from) 306 + 307 + if s.where != nil { 308 + sql.WriteString(" WHERE ") 309 + sql.WriteString(s.where.String()) 310 + 311 + args = s.where.Binds() 312 + } 313 + 314 + return sql.String(), args, nil 315 + } 316 + 317 + func (s delete_) MustBuild() (string, []any) { 318 + sql, args, err := s.Build() 319 + if err != nil { 320 + panic(err) 321 + } 322 + return sql, args 323 + }