geldata / geldata/gel-python

edgedb-py reports a computed field error, when actually it's a duplicate

Offen
#492 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
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

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.