@@ -25,11 +25,12 @@ extension PostgreSQLConnection {
25
25
let parse = PostgreSQLParseRequest (
26
26
statementName: " " ,
27
27
query: string,
28
- parameterTypes: parameters. map { . type ( forData : $0 ) }
28
+ parameterTypes: parameters. map { $0 . type }
29
29
)
30
30
let describe = PostgreSQLDescribeRequest ( type: . statement, name: " " )
31
31
var currentRow : PostgreSQLRowDescription ?
32
32
var currentParameters : PostgreSQLParameterDescription ?
33
+
33
34
return send ( [
34
35
. parse( parse) , . describe( describe) , . sync
35
36
] ) { message in
@@ -41,18 +42,16 @@ extension PostgreSQLConnection {
41
42
default : fatalError ( " Unexpected message during PostgreSQLParseRequest: \( message) " )
42
43
}
43
44
} . flatMap ( to: Void . self) {
44
- let parameterDataTypes = currentParameters? . dataTypes ?? [ ] // no parameters
45
- let resultDataTypes = currentRow? . fields. map { $0. dataType } ?? [ ] // nil currentRow means no resutls
45
+ // let parameterDataTypes = currentParameters?.dataTypes ?? [] // no parameters
46
+ // let resultDataTypes = currentRow?.fields.map { $0.dataType } ?? [] // nil currentRow means no resutls
46
47
47
48
// cache so we don't compute twice
48
- let _parameterFormats = parameterDataTypes. map { $0. preferredFormat }
49
- let _resultFormats = resultDataTypes. map { $0. preferredFormat }
50
- let bind = try PostgreSQLBindRequest (
49
+ let bind = PostgreSQLBindRequest (
51
50
portalName: " " ,
52
51
statementName: " " ,
53
- parameterFormatCodes: _parameterFormats ,
54
- parameters: parameters. enumerated ( ) . map { try . make ( data: $0. 1 , format : _parameterFormats [ $0 . 0 ] ) } ,
55
- resultFormatCodes: _resultFormats
52
+ parameterFormatCodes: parameters . map { $0 . format } ,
53
+ parameters: parameters. map { . init ( data: $0. data ) } ,
54
+ resultFormatCodes: [ . text ]
56
55
)
57
56
let execute = PostgreSQLExecuteRequest (
58
57
portalName: " " ,
@@ -65,7 +64,7 @@ extension PostgreSQLConnection {
65
64
case . bindComplete: break
66
65
case . dataRow( let data) :
67
66
let row = currentRow !! " Unexpected PostgreSQLDataRow without preceding PostgreSQLRowDescription. "
68
- let parsed = try row. parse ( data: data, formats : _resultFormats )
67
+ let parsed = try row. parse ( data: data)
69
68
onRow ( parsed)
70
69
case . close: break
71
70
case . noData: break
@@ -78,24 +77,25 @@ extension PostgreSQLConnection {
78
77
79
78
/// MARK: Codable
80
79
81
- extension PostgreSQLConnection {
82
- /// Sends a parameterized PostgreSQL query command, collecting the parsed results.
83
- public func query(
84
- _ string: String ,
85
- encoding parameters: [ Encodable ]
86
- ) throws -> Future < [ [ String : PostgreSQLData ] ] > {
87
- let parameters = try parameters. map { try PostgreSQLDataEncoder ( ) . encode ( $0) }
88
- return try query ( string, parameters)
89
- }
80
+ //extension PostgreSQLConnection {
81
+ // /// Sends a parameterized PostgreSQL query command, collecting the parsed results.
82
+ // public func query(
83
+ // _ string: String,
84
+ // encoding parameters: [Encodable]
85
+ // ) throws -> Future<[[String: PostgreSQLData]]> {
86
+ // let parameters = try parameters.map { try PostgreSQLDataEncoder().encode($0) }
87
+ // return try query(string, parameters)
88
+ // }
89
+ //
90
+ // /// Sends a parameterized PostgreSQL query command, returning the parsed results to
91
+ // /// the supplied closure.
92
+ // public func query(
93
+ // _ string: String,
94
+ // encoding parameters: [Encodable],
95
+ // onRow: @escaping ([String: PostgreSQLData]) -> ()
96
+ // ) throws -> Future<Void> {
97
+ // let parameters = try parameters.map { try PostgreSQLDataEncoder().encode($0) }
98
+ // return try query(string, parameters, onRow: onRow)
99
+ // }
100
+ //}
90
101
91
- /// Sends a parameterized PostgreSQL query command, returning the parsed results to
92
- /// the supplied closure.
93
- public func query(
94
- _ string: String ,
95
- encoding parameters: [ Encodable ] ,
96
- onRow: @escaping ( [ String : PostgreSQLData ] ) -> ( )
97
- ) throws -> Future < Void > {
98
- let parameters = try parameters. map { try PostgreSQLDataEncoder ( ) . encode ( $0) }
99
- return try query ( string, parameters, onRow: onRow)
100
- }
101
- }
0 commit comments