pglite
pglite copied to clipboard
`PGlite.exec()` returns result objects with misplaced `affectedRows`
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
{
"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;"
}
[
{
"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
}
]