QueryParser wrong for a case of JOIN

Description

{"WHERE":["AND",["=",[".machines.Type"],"machine"],["OR",["=",[".machines.Disabled"],false],[".machines.Disabled"]]],"WHAT":[[".machines.Id"],["AS",[".machines.Label"],"Label2"],[".machines.ModelId"],["AS",[".models.Label2"],"ModelLabel"]],"FROM":[{"AS":"machines"},{"AS":"models","ON":["=",[".models.Id"],[".machines.ModelId"]],"JOIN":"LEFT OUTER"}]}

is translated to

SELECT fl_result(fl_value(machines.body, 'Id')), fl_result(fl_value(machines.body, 'Label')) AS Label2, fl_result(fl_value(machines.body, 'ModelId')), fl_result(Label2) AS ModelLabel FROM kv_default AS machines LEFT OUTER JOIN kv_default AS models ON (fl_value(models.body, 'Id') = fl_value(machines.body, 'ModelId')) WHERE fl_value(machines.body, 'Type') = 'machine' AND (fl_value(machines.body, 'Disabled') = fl_bool(0) OR fl_value(machines.body, 'Disabled'))

and it ought to be

SELECT fl_result(fl_value(machines.body, 'Id')), fl_result(fl_value(machines.body, 'Label')) AS Label2, fl_result(fl_value(machines.body, 'ModelId')), fl_result(models.body, 'Label2') AS ModelLabel FROM kv_default AS machines LEFT OUTER JOIN kv_default AS models ON (fl_value(models.body, 'Id') = fl_value(machines.body, 'ModelId')) WHERE fl_value(machines.body, 'Type') = 'machine' AND (fl_value(machines.body, 'Disabled') = fl_bool(0) OR fl_value(machines.body, 'Disabled'))

Activity

Show:

CB robot September 2, 2022 at 8:51 PM

Build couchbase-lite-log-3.1.0-172 contains couchbase-lite-core commit 61c3201 with commit message:
: do not apply the rule of result alias if the property is explicitly led by the database alias. (#1509)

CB robot September 2, 2022 at 7:40 PM

Build couchbase-lite-cblite-3.1.0-162 contains couchbase-lite-core commit 61c3201 with commit message:
: do not apply the rule of result alias if the property is explicitly led by the database alias. (#1509)

CB robot August 12, 2022 at 6:58 PM

Build couchbase-lite-c-3.1.0-144 contains couchbase-lite-core commit 61c3201 with commit message:
: do not apply the rule of result alias if the property is explicitly led by the database alias. (#1509)

CB robot August 6, 2022 at 8:01 AM

Build couchbase-lite-net-3.1.0-84 contains couchbase-lite-core commit 61c3201 with commit message:
: do not apply the rule of result alias if the property is explicitly led by the database alias. (#1509)

CB robot August 5, 2022 at 6:22 PM

Build couchbase-lite-ios-3.1.0-206 contains couchbase-lite-core commit 61c3201 with commit message:
: do not apply the rule of result alias if the property is explicitly led by the database alias. (#1509)

Fixed
Pinned fields
Click on the next to a field label to start pinning.

Details

Assignee

Reporter

Story Points

Components

Sprint

Fix versions

Affects versions

Priority

Instabug

Open Instabug

PagerDuty

Sentry

Zendesk Support

Created April 21, 2022 at 4:33 PM
Updated August 31, 2024 at 10:55 AM
Resolved July 8, 2022 at 12:28 AM
Instabug