Skip to content

Commit 91c99b9

Browse files
authored
feat: Improve default names for BETWEEN ? AND ? to have prefixes from_ and to_ (#2366)
Fixes #2277
1 parent 646cb61 commit 91c99b9

File tree

3 files changed

+29
-24
lines changed

3 files changed

+29
-24
lines changed

Diff for: internal/compiler/resolve.go

+11-6
Original file line numberDiff line numberDiff line change
@@ -255,10 +255,6 @@ func (comp *Compiler) resolveCatalogRefs(qc *QueryCatalog, rvs []*ast.RangeVar,
255255
}
256256
}
257257

258-
number := 0
259-
if pr, ok := n.Left.(*ast.ParamRef); ok {
260-
number = pr.Number
261-
}
262258

263259
for _, table := range tables {
264260
schema := table.Schema
@@ -269,10 +265,19 @@ func (comp *Compiler) resolveCatalogRefs(qc *QueryCatalog, rvs []*ast.RangeVar,
269265
if c, ok := typeMap[schema][table.Name][key]; ok {
270266
defaultP := named.NewInferredParam(key, c.IsNotNull)
271267
p, isNamed := params.FetchMerge(ref.ref.Number, defaultP)
268+
var namePrefix string
269+
if !isNamed {
270+
if ref.ref == n.Left {
271+
namePrefix = "from_"
272+
} else if ref.ref == n.Right {
273+
namePrefix = "to_"
274+
}
275+
}
276+
272277
a = append(a, Parameter{
273-
Number: number,
278+
Number: ref.ref.Number,
274279
Column: &Column{
275-
Name: p.Name(),
280+
Name: namePrefix + p.Name(),
276281
DataType: dataType(&c.Type),
277282
NotNull: p.NotNull(),
278283
Unsigned: c.IsUnsigned,

Diff for: internal/endtoend/testdata/between_args/mysql/go/query.sql.go

+9-9
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: internal/endtoend/testdata/between_args/sqlite/go/query.sql.go

+9-9
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)