Skip to content

Commit af56ee8

Browse files
authored
Merge pull request #263 from carlosms/fix-260
Fix corner case in query addLimit
2 parents 1938226 + 89a936d commit af56ee8

File tree

2 files changed

+14
-2
lines changed

2 files changed

+14
-2
lines changed

server/handler/query.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,7 @@ func addLimit(query string, limit int) (string, bool) {
203203

204204
noComments := noCommentsRegexp.ReplaceAllLiteralString(query, "")
205205

206-
query = strings.TrimRight(strings.TrimSpace(noComments), ";")
206+
query = strings.TrimSpace(strings.TrimRight(strings.TrimSpace(noComments), ";"))
207207
upperQuery := strings.ToUpper(query)
208208

209209
if strings.HasPrefix(upperQuery, "SELECT") {

server/handler/query_test.go

+13-1
Original file line numberDiff line numberDiff line change
@@ -42,15 +42,27 @@ func (suite *QuerySuite) TestAddLimit() {
4242
SELECT * FROM repositories
4343
`, "SELECT * FROM repositories LIMIT 100"},
4444
{" SELECT * FROM repositories ", "SELECT * FROM repositories LIMIT 100"},
45-
{" SELECT * FROM repositories ; ", "SELECT * FROM repositories LIMIT 100"},
45+
{" SELECT * FROM repositories ; ", "SELECT * FROM repositories LIMIT 100"},
46+
{` SELECT * FROM repositories
47+
; `, "SELECT * FROM repositories LIMIT 100"},
4648
{"/* comment */ SELECT * FROM repositories", "SELECT * FROM repositories LIMIT 100"},
4749
{"SELECT * FROM repositories /* comment */", "SELECT * FROM repositories LIMIT 100"},
4850
{"SELECT * FROM repositories; /* comment */", "SELECT * FROM repositories LIMIT 100"},
4951
{`/* comment
5052
multiline */ SELECT * FROM repositories; /* comment
5153
multiline */`, "SELECT * FROM repositories LIMIT 100"},
5254
{"select * from repositories limit 1", "select * from repositories limit 1"},
55+
{"select * from repositories limit 1;", "select * from repositories limit 1"},
56+
{"select * from repositories limit 1 ;", "select * from repositories limit 1"},
57+
{`select * from repositories limit 1
58+
;`, "select * from repositories limit 1"},
59+
{`select * from repositories limit 1
60+
; `, "select * from repositories limit 1"},
5361
{"select * from repositories limit 900", "select * from repositories LIMIT 100"},
62+
{"select * from repositories limit 900;", "select * from repositories LIMIT 100"},
63+
{"select * from repositories limit 900 ; ", "select * from repositories LIMIT 100"},
64+
{`select * from repositories limit 900
65+
; `, "select * from repositories LIMIT 100"},
5466
{"select * from repositories limit qwe", "select * from repositories limit qwe LIMIT 100"},
5567
}
5668

0 commit comments

Comments
 (0)