mirror of
https://github.com/brianc/node-postgres.git
synced 2025-12-08 20:16:25 +00:00
* Add property usePrebuiltEmptyResultObjects to Query constructor which generates pre-shaped result rows * Remove option and test for prebuiltEmptyResultObject * Remove errorneously added newline * Move all logic for prebuilding objects to Result * Move prebuilding to addFields * Use a clone as clone-base --------- Co-authored-by: HZ111 / Dev2 <hz111@wielick.nl>
This commit is contained in:
parent
58865b2c04
commit
b5c5e52aa0
@ -21,6 +21,7 @@ class Result {
|
||||
if (this.rowAsArray) {
|
||||
this.parseRow = this._parseRowAsArray
|
||||
}
|
||||
this._prebuiltEmptyResultObject = null
|
||||
}
|
||||
|
||||
// adds a command complete message
|
||||
@ -60,14 +61,12 @@ class Result {
|
||||
}
|
||||
|
||||
parseRow(rowData) {
|
||||
var row = {}
|
||||
var row = { ... this._prebuiltEmptyResultObject }
|
||||
for (var i = 0, len = rowData.length; i < len; i++) {
|
||||
var rawValue = rowData[i]
|
||||
var field = this.fields[i].name
|
||||
if (rawValue !== null) {
|
||||
row[field] = this._parsers[i](rawValue)
|
||||
} else {
|
||||
row[field] = null
|
||||
}
|
||||
}
|
||||
return row
|
||||
@ -94,6 +93,14 @@ class Result {
|
||||
this._parsers[i] = types.getTypeParser(desc.dataTypeID, desc.format || 'text')
|
||||
}
|
||||
}
|
||||
this._createPrebuiltEmptyResultObject()
|
||||
}
|
||||
_createPrebuiltEmptyResultObject() {
|
||||
var row = {}
|
||||
for (var i = 0; i < this.fields.length; i++) {
|
||||
row[this.fields[i].name] = null
|
||||
}
|
||||
this._prebuiltEmptyResultObject = { ... row }
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user