Merge pull request #1929 from josmo/remove_size_limit

Remove size limit
This commit is contained in:
Brad Rydzewski 2017-02-23 11:14:20 +11:00 committed by GitHub
commit f9770b04f2
3 changed files with 12 additions and 8 deletions

View file

@ -28,7 +28,7 @@ func (db *datastore) GetRepoListOf(listof []*model.RepoLite) ([]*model.Repo, err
)
switch meddler.Default {
case meddler.PostgreSQL:
stmt, args = toListPosgres(listof)
stmt, args = toListPostgres(listof)
default:
stmt, args = toList(listof)
}

View file

@ -35,7 +35,7 @@ func (db *datastore) GetUserFeed(listof []*model.RepoLite) ([]*model.Feed, error
)
switch meddler.Default {
case meddler.PostgreSQL:
stmt, args = toListPosgres(listof)
stmt, args = toListPostgres(listof)
default:
stmt, args = toList(listof)
}
@ -55,7 +55,7 @@ func (db *datastore) GetUserFeedLatest(listof []*model.RepoLite) ([]*model.Feed,
)
switch meddler.Default {
case meddler.PostgreSQL:
stmt, args = toListPosgres(listof)
stmt, args = toListPostgres(listof)
default:
stmt, args = toList(listof)
}

View file

@ -40,9 +40,13 @@ func rebind(query string) string {
// to a sql IN statment.
func toList(listof []*model.RepoLite) (string, []interface{}) {
var size = len(listof)
if size > 999 {
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)
@ -55,11 +59,11 @@ func toList(listof []*model.RepoLite) (string, []interface{}) {
// helper function that converts a simple repository list
// to a sql IN statement compatible with postgres.
func toListPosgres(listof []*model.RepoLite) (string, []interface{}) {
func toListPostgres(listof []*model.RepoLite) (string, []interface{}) {
var size = len(listof)
if size > 999 {
size = 999
listof = listof[:999]
if size > 15000 {
size = 15000
listof = listof[:15000]
}
var qs = make([]string, size, size)
var in = make([]interface{}, size, size)