From b0e2f677335582c51fd8531761c5e3308890b146 Mon Sep 17 00:00:00 2001 From: Gani Georgiev Date: Sun, 19 Jan 2025 21:04:24 +0200 Subject: [PATCH] fixed multiple comment blocks parsing --- core/view.go | 4 ++-- core/view_test.go | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/core/view.go b/core/view.go index 855e955c..d7db6257 100644 --- a/core/view.go +++ b/core/view.go @@ -440,7 +440,7 @@ func getQueryTableInfo(app App, selectQuery string) ([]*TableInfoRow, error) { var ( joinReplaceRegex = regexp.MustCompile(`(?im)\s+(full\s+outer\s+join|left\s+outer\s+join|right\s+outer\s+join|full\s+join|cross\s+join|inner\s+join|outer\s+join|left\s+join|right\s+join|join)\s+?`) discardReplaceRegex = regexp.MustCompile(`(?im)\s+(where|group\s+by|having|order|limit|with)\s+?`) - commentsReplaceRegex = regexp.MustCompile(`(?m)(\/\*[\s\S]+\*\/)|(--.+$)`) + commentsReplaceRegex = regexp.MustCompile(`(?m)(\/\*[\s\S]*?\*\/)|(--.+$)`) ) type identifier struct { @@ -455,7 +455,7 @@ type identifiersParser struct { func (p *identifiersParser) parse(selectQuery string) error { str := strings.Trim(strings.TrimSpace(selectQuery), ";") - str = commentsReplaceRegex.ReplaceAllString(str, "") + str = commentsReplaceRegex.ReplaceAllString(str, " ") str = joinReplaceRegex.ReplaceAllString(str, " __pb_join__ ") str = discardReplaceRegex.ReplaceAllString(str, " __pb_discard__ ") diff --git a/core/view_test.go b/core/view_test.go index 801ca852..37eb2fcd 100644 --- a/core/view_test.go +++ b/core/view_test.go @@ -249,8 +249,8 @@ func TestCreateViewFields(t *testing.T) { demo1.id, demo1.text, /* multi - line comment */ - demo1.url, demo1.created, demo2.updated from demo1 + * line comment block */ + demo1.url, demo1.created, demo1.updated from/* inline comment block with no spaces between the identifiers */demo1 -- comment before join join demo2 ON ( -- comment inside join