1
0
mirror of https://github.com/pocketbase/pocketbase.git synced 2025-03-04 08:08:02 +02:00

[#2349] fixed view query SELECT DISTINCT parsing

This commit is contained in:
Gani Georgiev 2023-04-24 12:53:27 +03:00
parent a2a170ad82
commit cae3315e46
3 changed files with 22 additions and 1 deletions

View File

@ -1,3 +1,8 @@
## (WIP) v0.15.2
- Fixed view query `SELECT DISTINCT` identifiers parsing ([#2349](https://github.com/pocketbase/pocketbase/discussions/2349#discussioncomment-5706019)).
## v0.15.1
- Trigger the related `Record` model realtime subscription events on [custom model struct](https://pocketbase.io/docs/custom-models/) save ([#2325](https://github.com/pocketbase/pocketbase/discussions/2325)).

View File

@ -462,6 +462,8 @@ func (p *identifiersParser) parse(selectQuery string) error {
skip = false
partType = "select"
activeBuilder = &selectParts
case "distinct":
continue // ignore as it is not important for the identifiers parsing
case "from":
skip = false
partType = "from"
@ -477,7 +479,7 @@ func (p *identifiersParser) parse(selectQuery string) error {
partType = "join"
activeBuilder = &joinParts
case "_discard_":
// do nothing...
// skip following tokens
skip = true
default:
isJoin := partType == "join"

View File

@ -409,6 +409,20 @@ func TestCreateViewSchema(t *testing.T) {
"custom": schema.FieldTypeJson,
},
},
{
"query with distinct and reordered id column",
`select distinct
id as id2,
id,
123 as custom
from demo1
`,
false,
map[string]string{
"id2": schema.FieldTypeRelation,
"custom": schema.FieldTypeJson,
},
},
}
for _, s := range scenarios {