Skip to content

Commit f1fb176

Browse files
committed
- fix predicate extractor
1 parent cd0fe18 commit f1fb176

3 files changed

Lines changed: 13 additions & 3 deletions

File tree

internal/inference/state.go

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -298,14 +298,24 @@ func (s State) Explicit() State {
298298
}
299299

300300
func (s State) Expand(text string) string {
301+
return s.expand(text, false)
302+
}
303+
304+
func (s State) ExpandPreserveBuiltins(text string) string {
305+
return s.expand(text, true)
306+
}
307+
308+
func (s State) expand(text string, preserveBuiltins bool) string {
301309
expander := data.Map{}
302310
if parameters := s.FilterByKind(state.KindConst); len(parameters) > 0 {
303311
for _, literal := range parameters {
304312
expander[literal.Name] = literal.Value
305313
}
306314
}
307315

308-
text = removeBuilinExpr(text)
316+
if !preserveBuiltins {
317+
text = removeBuilinExpr(text)
318+
}
309319
return expander.ExpandAsText(text)
310320
}
311321

internal/translator/resource.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -859,7 +859,7 @@ func (r *Resource) expandSQL(viewlet *Viewlet) (*sqlx.SQL, error) {
859859
sourceView.Summary = viewlet
860860
}
861861

862-
sourceSQL = viewlet.Resource.State.Expand(sourceSQL)
862+
sourceSQL = viewlet.Resource.State.ExpandPreserveBuiltins(sourceSQL)
863863
templateParameters := sqlState.Parameters()
864864
if strings.Contains(sourceSQL, "$View.ParentJoinOn") {
865865
//TODO adjust parameter value type

internal/translator/service.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ func (s *Service) buildExecutorView(ctx context.Context, resource *Resource, DSQ
194194
}
195195

196196
func (s *Service) translateReaderDSQL(ctx context.Context, resource *Resource, dSQL string) error {
197-
parseSQL := resource.State.Expand(dSQL)
197+
parseSQL := resource.State.ExpandPreserveBuiltins(dSQL)
198198
aQuery, err := sqlparser.ParseQuery(parseSQL, parser.OnVeltyExpression())
199199
if err != nil {
200200
return err

0 commit comments

Comments
 (0)