File tree Expand file tree Collapse file tree 3 files changed +28
-10
lines changed
Sources/PostgresNIO/Connection Expand file tree Collapse file tree 3 files changed +28
-10
lines changed Original file line number Diff line number Diff line change @@ -65,16 +65,16 @@ private final class PostgresParameterizedQuery: PostgresRequest {
65
65
case . parseComplete:
66
66
return [ ]
67
67
case . parameterDescription:
68
- // let params = try PostgresMessage.ParameterDescription(message: message)
69
- // if params.dataTypes.count != binds.count {
70
- // self.logger!.warning("Expected parameters count (\(params.dataTypes.count)) does not equal binds count (\(binds.count))")
71
- // } else {
72
- // for (i, item) in zip(params.dataTypes, binds).enumerated() {
73
- // if item.0 != item.1.type {
74
- // self.logger!.warning("bind $\(i + 1) type (\(item.1.type)) does not match expected parameter type (\(item.0))")
75
- // }
76
- // }
77
- // }
68
+ let params = try PostgresMessage . ParameterDescription ( message: message)
69
+ if params. dataTypes. count != self . binds. count {
70
+ self . logger!. warning ( " Expected parameters count ( \( params. dataTypes. count) ) does not equal binds count ( \( binds. count) ) " )
71
+ } else {
72
+ for (i, item) in zip ( params. dataTypes, self . binds) . enumerated ( ) {
73
+ if item. 0 != item. 1 . type {
74
+ self . logger!. warning ( " bind $ \( i + 1 ) type ( \( item. 1 . type) ) does not match expected parameter type ( \( item. 0 ) ) " )
75
+ }
76
+ }
77
+ }
78
78
return [ ]
79
79
case . commandComplete:
80
80
return [ ]
Original file line number Diff line number Diff line change @@ -556,6 +556,23 @@ final class NIOPostgresTests: XCTestCase {
556
556
XCTAssertEqual ( rows [ 0 ] . column ( " languages " ) ? . array ( of: String . self) , [ " en " ] )
557
557
XCTAssertEqual ( rows [ 0 ] . column ( " currencies " ) ? . array ( of: String . self) , [ " USD " , " DKK " ] )
558
558
}
559
+
560
+ func testBindDate( ) throws {
561
+ // https://github.com/vapor/postgres-nio/issues/53
562
+ let date = Date ( timeIntervalSince1970: 1571425782 )
563
+ let query = """
564
+ SELECT $1::json as " date "
565
+ """
566
+ let conn = try PostgresConnection . test ( on: eventLoop) . wait ( )
567
+ defer { try ! conn. close ( ) . wait ( ) }
568
+ do {
569
+ _ = try conn. query ( query, [ . init( date: date) ] ) . wait ( )
570
+ XCTFail ( " should have failed " )
571
+ } catch PostgresError . server( let error) {
572
+ XCTAssertEqual ( error. fields [ . routine] , " report_invalid_encoding " )
573
+ }
574
+
575
+ }
559
576
560
577
// MARK: Performance
561
578
Original file line number Diff line number Diff line change @@ -7,6 +7,7 @@ extension NIOPostgresTests {
7
7
// to regenerate.
8
8
static let __allTests__NIOPostgresTests = [
9
9
( " testAverageLengthNumeric " , testAverageLengthNumeric) ,
10
+ ( " testBindDate " , testBindDate) ,
10
11
( " testBindInteger " , testBindInteger) ,
11
12
( " testBoolSerialize " , testBoolSerialize) ,
12
13
( " testBytesSerialize " , testBytesSerialize) ,
You can’t perform that action at this time.
0 commit comments