@@ -39,6 +39,17 @@ var twoRowBuf = buffers.rowDescription([
39
39
} ,
40
40
] )
41
41
42
+ var rowWithBigOids = {
43
+ name : 'bigoid' ,
44
+ tableID : 3000000001 ,
45
+ attributeNumber : 2 ,
46
+ dataTypeID : 3000000003 ,
47
+ dataTypeSize : 4 ,
48
+ typeModifier : 5 ,
49
+ formatCode : 0 ,
50
+ }
51
+ var bigOidDescBuff = buffers . rowDescription ( [ rowWithBigOids ] )
52
+
42
53
var emptyRowFieldBuf = new BufferList ( ) . addInt16 ( 0 ) . join ( true , 'D' )
43
54
44
55
var emptyRowFieldBuf = buffers . dataRow ( [ ] )
@@ -132,6 +143,22 @@ var expectedTwoRowMessage = {
132
143
} ,
133
144
] ,
134
145
}
146
+ var expectedBigOidMessage = {
147
+ name : 'rowDescription' ,
148
+ length : 31 ,
149
+ fieldCount : 1 ,
150
+ fields : [
151
+ {
152
+ name : 'bigoid' ,
153
+ tableID : 3000000001 ,
154
+ columnID : 2 ,
155
+ dataTypeID : 3000000003 ,
156
+ dataTypeSize : 4 ,
157
+ dataTypeModifier : 5 ,
158
+ format : 'text' ,
159
+ } ,
160
+ ] ,
161
+ }
135
162
136
163
var emptyParameterDescriptionBuffer = new BufferList ( )
137
164
. addInt16 ( 0 ) // number of parameters
@@ -163,7 +190,7 @@ var expectedTwoParameterMessage = {
163
190
}
164
191
165
192
var testForMessage = function ( buffer : Buffer , expectedMessage : any ) {
166
- it ( 'recieves and parses ' + expectedMessage . name , async ( ) => {
193
+ it ( 'receives and parses ' + expectedMessage . name , async ( ) => {
167
194
const messages = await parseBuffers ( [ buffer ] )
168
195
const [ lastMessage ] = messages
169
196
@@ -261,6 +288,7 @@ describe('PgPacketStream', function () {
261
288
testForMessage ( emptyRowDescriptionBuffer , expectedEmptyRowDescriptionMessage )
262
289
testForMessage ( oneRowDescBuff , expectedOneRowMessage )
263
290
testForMessage ( twoRowBuf , expectedTwoRowMessage )
291
+ testForMessage ( bigOidDescBuff , expectedBigOidMessage )
264
292
} )
265
293
266
294
describe ( 'parameterDescription messages' , function ( ) {
@@ -459,12 +487,12 @@ describe('PgPacketStream', function () {
459
487
assert . equal ( message . fields [ 4 ] , '!' )
460
488
} )
461
489
462
- var testMessageRecievedAfterSpiltAt = async function ( split : number ) {
490
+ var testMessageReceivedAfterSplitAt = async function ( split : number ) {
463
491
var firstBuffer = Buffer . alloc ( fullBuffer . length - split )
464
492
var secondBuffer = Buffer . alloc ( fullBuffer . length - firstBuffer . length )
465
493
fullBuffer . copy ( firstBuffer , 0 , 0 )
466
494
fullBuffer . copy ( secondBuffer , 0 , firstBuffer . length )
467
- const messages = await parseBuffers ( [ fullBuffer ] )
495
+ const messages = await parseBuffers ( [ firstBuffer , secondBuffer ] )
468
496
const message = messages [ 0 ] as any
469
497
assert . equal ( message . fields . length , 5 )
470
498
assert . equal ( message . fields [ 0 ] , null )
@@ -475,17 +503,19 @@ describe('PgPacketStream', function () {
475
503
}
476
504
477
505
it ( 'parses when split in the middle' , function ( ) {
478
- testMessageRecievedAfterSpiltAt ( 6 )
506
+ return testMessageReceivedAfterSplitAt ( 6 )
479
507
} )
480
508
481
509
it ( 'parses when split at end' , function ( ) {
482
- testMessageRecievedAfterSpiltAt ( 2 )
510
+ return testMessageReceivedAfterSplitAt ( 2 )
483
511
} )
484
512
485
513
it ( 'parses when split at beginning' , function ( ) {
486
- testMessageRecievedAfterSpiltAt ( fullBuffer . length - 2 )
487
- testMessageRecievedAfterSpiltAt ( fullBuffer . length - 1 )
488
- testMessageRecievedAfterSpiltAt ( fullBuffer . length - 5 )
514
+ return Promise . all ( [
515
+ testMessageReceivedAfterSplitAt ( fullBuffer . length - 2 ) ,
516
+ testMessageReceivedAfterSplitAt ( fullBuffer . length - 1 ) ,
517
+ testMessageReceivedAfterSplitAt ( fullBuffer . length - 5 ) ,
518
+ ] )
489
519
} )
490
520
} )
491
521
@@ -512,7 +542,7 @@ describe('PgPacketStream', function () {
512
542
} )
513
543
}
514
544
// sanity check
515
- it ( 'recieves both messages when packet is not split' , async function ( ) {
545
+ it ( 'receives both messages when packet is not split' , async function ( ) {
516
546
const messages = await parseBuffers ( [ fullBuffer ] )
517
547
verifyMessages ( messages )
518
548
} )
@@ -526,7 +556,7 @@ describe('PgPacketStream', function () {
526
556
verifyMessages ( messages )
527
557
}
528
558
529
- describe ( 'recieves both messages when packet is split' , function ( ) {
559
+ describe ( 'receives both messages when packet is split' , function ( ) {
530
560
it ( 'in the middle' , function ( ) {
531
561
return splitAndVerifyTwoMessages ( 11 )
532
562
} )
0 commit comments