@@ -5,7 +5,7 @@ extension PostgresDatabase {
55 let name = " nio-postgres- \( UUID ( ) . uuidString) "
66 let prepare = PrepareQueryRequest ( query, as: name)
77 return self . send ( prepare, logger: self . logger) . map { ( ) -> ( PreparedQuery ) in
8- let prepared = PreparedQuery ( database: self , name: name, rowDescription: prepare. rowLookupTable! )
8+ let prepared = PreparedQuery ( database: self , name: name, rowDescription: prepare. rowLookupTable)
99 return prepared
1010 }
1111 }
@@ -25,9 +25,9 @@ extension PostgresDatabase {
2525public struct PreparedQuery {
2626 let database : PostgresDatabase
2727 let name : String
28- let rowLookupTable : PostgresRow . LookupTable
28+ let rowLookupTable : PostgresRow . LookupTable ?
2929
30- init ( database: PostgresDatabase , name: String , rowDescription: PostgresRow . LookupTable ) {
30+ init ( database: PostgresDatabase , name: String , rowDescription: PostgresRow . LookupTable ? ) {
3131 self . database = database
3232 self . name = name
3333 self . rowLookupTable = rowDescription
@@ -74,6 +74,8 @@ private final class PrepareQueryRequest: PostgresRequest {
7474 resultFormat: self . resultFormatCodes
7575 )
7676 return [ ]
77+ case . noData:
78+ return [ ]
7779 case . parseComplete, . parameterDescription:
7880 return [ ]
7981 case . readyForQuery:
@@ -125,7 +127,10 @@ private final class ExecutePreparedQuery: PostgresRequest {
125127 return [ ]
126128 case . dataRow:
127129 let data = try PostgresMessage . DataRow ( message: message)
128- let row = PostgresRow ( dataRow: data, lookupTable: query. rowLookupTable)
130+ guard let rowLookupTable = query. rowLookupTable else {
131+ fatalError ( " row lookup was requested but never set " )
132+ }
133+ let row = PostgresRow ( dataRow: data, lookupTable: rowLookupTable)
129134 try onRow ( row)
130135 return [ ]
131136 case . noData:
0 commit comments