edgedb-py reports a computed field error, when actually it's a duplicate
- Vorherrschende Sprache
- Python
- Sterne
- 415
- Forks
- 50
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
**Describe the bug**
I had a duplicate field in a query:
```
update PackageVersion
filter .id = $id
set {
pkg := $package_id ?? .pkg,
display_name := $display_name ?? .display_name,
version_string := $version_string ?? .version_string,
icon := $icon_id ?? .icon,
display_name := $display_name ?? .display_name,
description := $description ?? .description,
};
```
when I run `edgedb-py` I get the following error message:
```
File "edgedb\protocol\protocol.pyx", line 322, in _parse
edgedb.errors.QueryError: modification of computed property 'display_name' of object type 'default::PackageVersion' is prohibited
┌─ query:8:5
│
8 │ display_name := $display_name ?? .display_name,
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ error
```
**Expected behavior**
I would hope to have an error indicating that the query is trying to `SET` the same field twice, the name of the field, and the line that's setting it for the second time.
**Versions (please complete the following information):**
- OS: Windows
- EdgeDB version: 5.2
- EdgeDB CLI version: 5.1.0+fdf5320
- `edgedb-python` version: 1.9.0
- Python version: 3.11.4
**Additional context**
Thanks for your great work on edgedb!
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Rechercherichtung
Der Traceback verweist auf edgedb\protocol\protocol.pyx in Zeile 322; beginne damit nachzuverfolgen, wie der Abfragefehler und der Quellspan dort geparst werden. Reproduziere die Abfrage mit dem doppelten SET-Feld aus dem Bericht und vergleiche den gemeldeten Fehler mit der erwarteten Diagnose für ein doppeltes Feld. Erledigt ist die Aufgabe, wenn das doppelte Feld und die zweite Zeile, in der es gesetzt wird, identifiziert sind.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- databases
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100