24 lines
407 B
Go
24 lines
407 B
Go
|
package sqlite
|
||
|
|
||
|
import "fmt"
|
||
|
|
||
|
func inFilter[T any](column string, paramIndex int, items []T) (string, []any, int) {
|
||
|
args := make([]any, 0, len(items))
|
||
|
filter := fmt.Sprintf("%s in (", column)
|
||
|
|
||
|
for idx, item := range items {
|
||
|
if idx != 0 {
|
||
|
filter += ","
|
||
|
}
|
||
|
|
||
|
filter += fmt.Sprintf("$%d", paramIndex)
|
||
|
paramIndex++
|
||
|
|
||
|
args = append(args, item)
|
||
|
}
|
||
|
|
||
|
filter += ")"
|
||
|
|
||
|
return filter, args, paramIndex
|
||
|
}
|