File tree Expand file tree Collapse file tree 2 files changed +14
-17
lines changed Expand file tree Collapse file tree 2 files changed +14
-17
lines changed Original file line number Diff line number Diff line change @@ -31,7 +31,6 @@ class Query extends EventEmitter {
31
31
this . isPreparedStatement = false
32
32
this . _canceledDueToError = false
33
33
this . _promise = null
34
- this . _prebuiltEmptyResultObject = null
35
34
}
36
35
37
36
requiresPreparation ( ) {
@@ -65,7 +64,6 @@ class Query extends EventEmitter {
65
64
}
66
65
this . _result = new Result ( this . _rowMode , this . types )
67
66
this . _results . push ( this . _result )
68
- this . _prebuiltEmptyResultObject = null
69
67
}
70
68
}
71
69
@@ -85,12 +83,8 @@ class Query extends EventEmitter {
85
83
return
86
84
}
87
85
88
- if ( ! this . _prebuiltEmptyResultObject ) {
89
- this . _createPrebuiltEmptyResultObject ( )
90
- }
91
-
92
86
try {
93
- row = this . _result . parseRow ( msg . fields , { ... this . _prebuiltEmptyResultObject } )
87
+ row = this . _result . parseRow ( msg . fields )
94
88
} catch ( err ) {
95
89
this . _canceledDueToError = err
96
90
return
@@ -242,13 +236,6 @@ class Query extends EventEmitter {
242
236
handleCopyData ( msg , connection ) {
243
237
// noop
244
238
}
245
- _createPrebuiltEmptyResultObject ( ) {
246
- var row = { } ;
247
- for ( var i = 0 ; i < this . _result . fields . length ; i ++ ) {
248
- row [ this . _result . fields [ i ] . name ] = null
249
- }
250
- this . _prebuiltEmptyResultObject = row
251
- }
252
239
}
253
240
254
241
module . exports = Query
Original file line number Diff line number Diff line change @@ -21,6 +21,7 @@ class Result {
21
21
if ( this . rowAsArray ) {
22
22
this . parseRow = this . _parseRowAsArray
23
23
}
24
+ this . _prebuiltEmptyResultObject = null
24
25
}
25
26
26
27
// adds a command complete message
@@ -59,14 +60,16 @@ class Result {
59
60
return row
60
61
}
61
62
62
- parseRow ( rowData , row = { } ) {
63
+ parseRow ( rowData ) {
64
+ if ( ! this . _prebuiltEmptyResultObject ) {
65
+ this . _createPrebuiltEmptyResultObject ( )
66
+ }
67
+ var row = { ... this . _prebuiltEmptyResultObject }
63
68
for ( var i = 0 , len = rowData . length ; i < len ; i ++ ) {
64
69
var rawValue = rowData [ i ]
65
70
var field = this . fields [ i ] . name
66
71
if ( rawValue !== null ) {
67
72
row [ field ] = this . _parsers [ i ] ( rawValue )
68
- } else {
69
- row [ field ] = null
70
73
}
71
74
}
72
75
return row
@@ -94,6 +97,13 @@ class Result {
94
97
}
95
98
}
96
99
}
100
+ _createPrebuiltEmptyResultObject ( ) {
101
+ var row = { } ;
102
+ for ( var i = 0 ; i < this . fields . length ; i ++ ) {
103
+ row [ this . fields [ i ] . name ] = null
104
+ }
105
+ this . _prebuiltEmptyResultObject = row
106
+ }
97
107
}
98
108
99
109
module . exports = Result
You can’t perform that action at this time.
0 commit comments