geldata / geldata/gel-python

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

Aperta
#492 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Python
Stelle
415
Fork
50
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

**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!

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Il traceback punta a edgedb\protocol\protocol.pyx alla riga 322; inizia tracciando come vengono analizzati lì l’errore della query e l’intervallo sorgente. Riproduci la query con il campo SET duplicato riportata nel report e confronta l’errore segnalato con la diagnostica prevista per il campo duplicato. L’attività è completata quando vengono identificati il campo duplicato e la seconda riga che lo imposta.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
python
Ambito
databases
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.