diff --git a/store/datastore/utils.go b/store/datastore/utils.go index 79153f760..0a0ce27db 100644 --- a/store/datastore/utils.go +++ b/store/datastore/utils.go @@ -40,6 +40,14 @@ func rebind(query string) string { // to a sql IN statment. func toList(listof []*model.RepoLite) (string, []interface{}) { var size = len(listof) + switch { + case meddler.Default == meddler.SQLite && size > 999: + size = 999 + listof = listof[:999] + case size > 15000: + size = 15000 + listof = listof[:15000] + } var qs = make([]string, size, size) var in = make([]interface{}, size, size) for i, repo := range listof { @@ -53,6 +61,14 @@ func toList(listof []*model.RepoLite) (string, []interface{}) { // to a sql IN statement compatible with postgres. func toListPostgres(listof []*model.RepoLite) (string, []interface{}) { var size = len(listof) + switch { + case meddler.Default == meddler.SQLite && size > 999: + size = 999 + listof = listof[:999] + case size > 15000: + size = 15000 + listof = listof[:15000] + } var qs = make([]string, size, size) var in = make([]interface{}, size, size) for i, repo := range listof {