electric-sql / electric-sql/pglite
`PGlite.exec()` returns result objects with misplaced `affectedRows`
- Dominant language
- TypeScript
- Stars
- 16k
- Forks
- 442
- Avg merge
- 20h 19m
- Merged PRs (30d)
- 7
Description
The return results of `PGlite.exec()` misplace `affectedRows`.
Here's an example of a query whose results show `affectedRows`:
- missing from INSERTs
- only present on last SELECT
- as a total for the whole transaction on the last SELECT result
```json
{
"query": "SELECT k,v FROM lww WHERE k = 0; INSERT INTO lww (k,v) VALUES (1,'0') ON CONFLICT (k) DO UPDATE SET v = lww.v || ' ' || '0'; INSERT INTO lww (k,v) VALUES (2,'0') ON CONFLICT (k) DO UPDATE SET v = lww.v || ' ' || '0'; SELECT k,v FROM lww WHERE k = 1; SELECT k,v FROM lww WHERE k = 2; INSERT INTO lww (k,v) VALUES (3,'0') ON CONFLICT (k) DO UPDATE SET v = lww.v || ' ' || '0'; SELECT k,v FROM lww WHERE k = 3;"
}
```
```json
[
{
"rows": [],
"fields": [
{
"name": "k",
"dataTypeID": 23
},
{
"name": "v",
"dataTypeID": 25
}
]
},
{
"rows": [],
"fields": []
},
{
"rows": [],
"fields": []
},
{
"rows": [
{
"k": 1,
"v": "0 0"
}
],
"fields": [
{
"name": "k",
"dataTypeID": 23
},
{
"name": "v",
"dataTypeID": 25
}
]
},
{
"rows": [
{
"k": 2,
"v": "0 0 0 0"
}
],
"fields": [
{
"name": "k",
"dataTypeID": 23
},
{
"name": "v",
"dataTypeID": 25
}
]
},
{
"rows": [],
"fields": []
},
{
"rows": [
{
"k": 3,
"v": "0"
}
],
"fields": [
{
"name": "k",
"dataTypeID": 23
},
{
"name": "v",
"dataTypeID": 25
}
],
"affectedRows": 3
}
]
```
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.