@@ -197,85 +197,90 @@ function parse_response(code, buffer) {
197
197
break ;
198
198
}
199
199
break ;
200
- case 'E' :
201
- type = "ErrorResponse" ;
202
- args = [ { } ] ;
203
- reader . multicstring ( ) . forEach ( function ( field ) {
204
- args [ 0 ] [ field [ 0 ] ] = field . substr ( 1 ) ;
205
- } ) ;
206
- break ;
207
- case 't' :
208
- type = "ParameterDescription" ,
209
- num_fields = reader . int16 ( ) ;
210
- data = [ ] ;
211
- for ( var i = 0 ; i < num_fields ; i ++ ) {
212
- data . push ( reader . int32 ( ) ) ;
213
- }
214
- args = [ data ] ;
215
- break ;
216
- case 'S' :
217
- type = "ParameterStatus" ;
218
- args = [ reader . cstring ( ) , reader . cstring ( ) ] ;
219
- break ;
220
- case 'K' :
221
- type = "BackendKeyData" ;
222
- args = [ reader . int32 ( ) , reader . int32 ( ) ] ;
223
- break ;
224
- case 'Z' :
225
- type = "ReadyForQuery" ;
226
- args = [ reader . string ( 1 ) ] ;
227
- break ;
228
- case 'T' :
229
- type = "RowDescription" ;
230
- num_fields = reader . int16 ( ) ;
231
- data = [ ] ;
232
- for ( var i = 0 ; i < num_fields ; i += 1 ) {
233
- data . push ( {
234
- field : reader . cstring ( ) ,
235
- table_id : reader . int32 ( ) ,
236
- column_id : reader . int16 ( ) ,
237
- type_id : reader . int32 ( ) ,
238
- type_size : reader . int16 ( ) ,
239
- type_modifier : reader . int32 ( ) ,
240
- format_code : reader . int16 ( )
200
+ case 'E' :
201
+ type = "ErrorResponse" ;
202
+ args = [ { } ] ;
203
+ reader . multicstring ( ) . forEach ( function ( field ) {
204
+ args [ 0 ] [ field [ 0 ] ] = field . substr ( 1 ) ;
241
205
} ) ;
242
- }
243
- args = [ data ] ;
244
- break ;
245
- case 'D' :
246
- type = "DataRow" ;
247
- data = [ ] ;
248
- num_fields = reader . int16 ( ) ;
249
- for ( i = 0 ; i < num_fields ; i += 1 ) {
250
- size = reader . int32 ( ) ;
251
- if ( size === - 1 ) {
252
- data . push ( null ) ;
253
- } else {
254
- data . push ( reader . string ( size ) ) ;
255
- }
256
- }
257
- args = [ data ] ;
258
- break ;
259
- case 'C' :
260
- type = "CommandComplete" ;
261
- args = [ reader . cstring ( ) ] ;
262
- break ;
263
- case 'N' :
264
- type = "NoticeResponse" ;
265
- args = [ { } ] ;
266
- reader . multicstring ( ) . forEach ( function ( field ) {
267
- args [ 0 ] [ field [ 0 ] ] = field . substr ( 1 ) ;
268
- } ) ;
269
- break ;
270
- case '1' :
271
- type = 'ParseComplete' ;
272
- args = [ { } ] ;
273
- break ;
274
- case 'n' :
275
- type = 'NoData' ;
276
- args = [ ] ;
277
- break ;
206
+ break ;
207
+ case 't' :
208
+ type = "ParameterDescription" ,
209
+ num_fields = reader . int16 ( ) ;
210
+ data = [ ] ;
211
+ for ( var i = 0 ; i < num_fields ; i ++ ) {
212
+ data . push ( reader . int32 ( ) ) ;
213
+ }
214
+ args = [ data ] ;
215
+ break ;
216
+ case 'S' :
217
+ type = "ParameterStatus" ;
218
+ args = [ reader . cstring ( ) , reader . cstring ( ) ] ;
219
+ break ;
220
+ case 'K' :
221
+ type = "BackendKeyData" ;
222
+ args = [ reader . int32 ( ) , reader . int32 ( ) ] ;
223
+ break ;
224
+ case 'Z' :
225
+ type = "ReadyForQuery" ;
226
+ args = [ reader . string ( 1 ) ] ;
227
+ break ;
228
+ case 'T' :
229
+ type = "RowDescription" ;
230
+ num_fields = reader . int16 ( ) ;
231
+ data = [ ] ;
232
+ for ( var i = 0 ; i < num_fields ; i += 1 ) {
233
+ data . push ( {
234
+ field : reader . cstring ( ) ,
235
+ table_id : reader . int32 ( ) ,
236
+ column_id : reader . int16 ( ) ,
237
+ type_id : reader . int32 ( ) ,
238
+ type_size : reader . int16 ( ) ,
239
+ type_modifier : reader . int32 ( ) ,
240
+ format_code : reader . int16 ( )
241
+ } ) ;
242
+ }
243
+ args = [ data ] ;
244
+ break ;
245
+ case 'D' :
246
+ type = "DataRow" ;
247
+ data = [ ] ;
248
+ num_fields = reader . int16 ( ) ;
249
+ for ( i = 0 ; i < num_fields ; i += 1 ) {
250
+ size = reader . int32 ( ) ;
251
+ if ( size === - 1 ) {
252
+ data . push ( null ) ;
253
+ } else {
254
+ data . push ( reader . string ( size ) ) ;
255
+ }
256
+ }
257
+ args = [ data ] ;
258
+ break ;
259
+ case 'C' :
260
+ type = "CommandComplete" ;
261
+ args = [ reader . cstring ( ) ] ;
262
+ break ;
263
+ case 'N' :
264
+ type = "NoticeResponse" ;
265
+ args = [ { } ] ;
266
+ reader . multicstring ( ) . forEach ( function ( field ) {
267
+ args [ 0 ] [ field [ 0 ] ] = field . substr ( 1 ) ;
268
+ } ) ;
269
+ break ;
270
+ case '1' :
271
+ type = 'ParseComplete' ;
272
+ args = [ { } ] ;
273
+ break ;
274
+ case 'n' :
275
+ type = 'NoData' ;
276
+ args = [ ] ;
277
+ break ;
278
+ case '2' :
279
+ type = "BindComplete" ;
280
+ args = [ { } ] ;
281
+ break ;
278
282
}
283
+
279
284
280
285
if ( ! type ) {
281
286
sys . debug ( "Unknown response " + code ) ;
0 commit comments