]> source.dussan.org Git - gitea.git/commitdiff
Increase maximum SQLite variables count to 32766 (#11696)
authorCirno the Strongest <1447794+CirnoT@users.noreply.github.com>
Fri, 5 Jun 2020 23:57:25 +0000 (01:57 +0200)
committerGitHub <noreply@github.com>
Fri, 5 Jun 2020 23:57:25 +0000 (19:57 -0400)
per https://www.sqlite.org/limits.html

Co-authored-by: techknowlogick <techknowlogick@gitea.io>
Makefile
models/issue.go

index 0d2a7e333ab449176705e5e0f746e6a2c2ba449a..002f0318cf3d004db68a9ea6b127da395e836614 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -33,6 +33,9 @@ MIN_NODE_VERSION := 010013000
 ifeq ($(HAS_GO), GO)
        GOPATH ?= $(shell $(GO) env GOPATH)
        export PATH := $(GOPATH)/bin:$(PATH)
+
+       CGO_EXTRA_CFLAGS := -DSQLITE_MAX_VARIABLE_NUMBER=32766
+       CGO_CFLAGS ?= $(shell $(GO) env CGO_CFLAGS) $(CGO_EXTRA_CFLAGS)
 endif
 
 
@@ -499,7 +502,7 @@ check: test
 
 .PHONY: install $(TAGS_PREREQ)
 install: $(wildcard *.go)
-       $(GO) install -v -tags '$(TAGS)' -ldflags '-s -w $(LDFLAGS)'
+       CGO_CFLAGS="$(CGO_CFLAGS)" $(GO) install -v -tags '$(TAGS)' -ldflags '-s -w $(LDFLAGS)'
 
 .PHONY: build
 build: frontend backend
@@ -515,7 +518,7 @@ generate: $(TAGS_PREREQ)
        CC= GOOS= GOARCH= $(GO) generate -mod=vendor -tags '$(TAGS)' $(GO_PACKAGES)
 
 $(EXECUTABLE): $(GO_SOURCES) $(TAGS_PREREQ)
-       $(GO) build -mod=vendor $(GOFLAGS) $(EXTRA_GOFLAGS) -tags '$(TAGS)' -ldflags '-s -w $(LDFLAGS)' -o $@
+       CGO_CFLAGS="$(CGO_CFLAGS)" $(GO) build -mod=vendor $(GOFLAGS) $(EXTRA_GOFLAGS) -tags '$(TAGS)' -ldflags '-s -w $(LDFLAGS)' -o $@
 
 .PHONY: release
 release: frontend generate release-windows release-linux release-darwin release-copy release-compress release-sources release-check
@@ -528,7 +531,7 @@ release-windows: | $(DIST_DIRS)
        @hash xgo > /dev/null 2>&1; if [ $$? -ne 0 ]; then \
                $(GO) get -u src.techknowlogick.com/xgo; \
        fi
-       GO111MODULE=off xgo -go $(XGO_VERSION) -dest $(DIST)/binaries -tags 'netgo osusergo $(TAGS)' -ldflags '-linkmode external -extldflags "-static" $(LDFLAGS)' -targets 'windows/*' -out gitea-$(VERSION) .
+       CGO_CFLAGS="$(CGO_CFLAGS)" GO111MODULE=off xgo -go $(XGO_VERSION) -dest $(DIST)/binaries -tags 'netgo osusergo $(TAGS)' -ldflags '-linkmode external -extldflags "-static" $(LDFLAGS)' -targets 'windows/*' -out gitea-$(VERSION) .
 ifeq ($(CI),drone)
        cp /build/* $(DIST)/binaries
 endif
@@ -538,7 +541,7 @@ release-linux: | $(DIST_DIRS)
        @hash xgo > /dev/null 2>&1; if [ $$? -ne 0 ]; then \
                $(GO) get -u src.techknowlogick.com/xgo; \
        fi
-       GO111MODULE=off xgo -go $(XGO_VERSION) -dest $(DIST)/binaries -tags 'netgo osusergo $(TAGS)' -ldflags '-linkmode external -extldflags "-static" $(LDFLAGS)' -targets 'linux/amd64,linux/386,linux/arm-5,linux/arm-6,linux/arm64,linux/mips64le,linux/mips,linux/mipsle' -out gitea-$(VERSION) .
+       CGO_CFLAGS="$(CGO_CFLAGS)" GO111MODULE=off xgo -go $(XGO_VERSION) -dest $(DIST)/binaries -tags 'netgo osusergo $(TAGS)' -ldflags '-linkmode external -extldflags "-static" $(LDFLAGS)' -targets 'linux/amd64,linux/386,linux/arm-5,linux/arm-6,linux/arm64,linux/mips64le,linux/mips,linux/mipsle' -out gitea-$(VERSION) .
 ifeq ($(CI),drone)
        cp /build/* $(DIST)/binaries
 endif
@@ -548,7 +551,7 @@ release-darwin: | $(DIST_DIRS)
        @hash xgo > /dev/null 2>&1; if [ $$? -ne 0 ]; then \
                $(GO) get -u src.techknowlogick.com/xgo; \
        fi
-       GO111MODULE=off xgo -go $(XGO_VERSION) -dest $(DIST)/binaries -tags 'netgo osusergo $(TAGS)' -ldflags '$(LDFLAGS)' -targets 'darwin/*' -out gitea-$(VERSION) .
+       CGO_CFLAGS="$(CGO_CFLAGS)" GO111MODULE=off xgo -go $(XGO_VERSION) -dest $(DIST)/binaries -tags 'netgo osusergo $(TAGS)' -ldflags '$(LDFLAGS)' -targets 'darwin/*' -out gitea-$(VERSION) .
 ifeq ($(CI),drone)
        cp /build/* $(DIST)/binaries
 endif
index 82f6c926ee7736cef0fa585194d64c782fd8cbe7..1a4de26b3a5d98a4d0bcc173744f1b9df80de9c9 100644 (file)
@@ -76,7 +76,6 @@ var (
 const issueTasksRegexpStr = `(^\s*[-*]\s\[[\sxX]\]\s.)|(\n\s*[-*]\s\[[\sxX]\]\s.)`
 const issueTasksDoneRegexpStr = `(^\s*[-*]\s\[[xX]\]\s.)|(\n\s*[-*]\s\[[xX]\]\s.)`
 const issueMaxDupIndexAttempts = 3
-const maxIssueIDs = 950
 
 func init() {
        issueTasksPat = regexp.MustCompile(issueTasksRegexpStr)
@@ -1114,9 +1113,6 @@ func (opts *IssuesOptions) setupSession(sess *xorm.Session) {
        }
 
        if len(opts.IssueIDs) > 0 {
-               if len(opts.IssueIDs) > maxIssueIDs {
-                       opts.IssueIDs = opts.IssueIDs[:maxIssueIDs]
-               }
                sess.In("issue.id", opts.IssueIDs)
        }
 
@@ -1360,9 +1356,6 @@ func getIssueStatsChunk(opts *IssueStatsOptions, issueIDs []int64) (*IssueStats,
                        Where("issue.repo_id = ?", opts.RepoID)
 
                if len(opts.IssueIDs) > 0 {
-                       if len(opts.IssueIDs) > maxIssueIDs {
-                               opts.IssueIDs = opts.IssueIDs[:maxIssueIDs]
-                       }
                        sess.In("issue.id", opts.IssueIDs)
                }
 
@@ -1446,9 +1439,6 @@ func GetUserIssueStats(opts UserIssueStatsOptions) (*IssueStats, error) {
                cond = cond.And(builder.In("issue.repo_id", opts.RepoIDs))
        }
        if len(opts.IssueIDs) > 0 {
-               if len(opts.IssueIDs) > maxIssueIDs {
-                       opts.IssueIDs = opts.IssueIDs[:maxIssueIDs]
-               }
                cond = cond.And(builder.In("issue.id", opts.IssueIDs))
        }