github.com/aacfactory/fns-contrib/databases/sql@v1.2.84/dac/exist.go (about) 1 package dac 2 3 import ( 4 "github.com/aacfactory/errors" 5 "github.com/aacfactory/fns-contrib/databases/sql" 6 "github.com/aacfactory/fns-contrib/databases/sql/dac/conditions" 7 "github.com/aacfactory/fns-contrib/databases/sql/dac/specifications" 8 "github.com/aacfactory/fns/context" 9 ) 10 11 func Exist[T Table](ctx context.Context, cond conditions.Condition) (has bool, err error) { 12 _, query, arguments, buildErr := specifications.BuildExist[T](ctx, specifications.Condition{Condition: cond}) 13 if buildErr != nil { 14 err = errors.Warning("sql: exist failed").WithCause(buildErr) 15 return 16 } 17 18 rows, queryErr := sql.Query(ctx, query, arguments...) 19 if queryErr != nil { 20 err = errors.Warning("sql: exist failed").WithCause(queryErr) 21 return 22 } 23 has = rows.Next() 24 _ = rows.Close() 25 return 26 }