Skip to content

Commit ffa8b35

Browse files
authored
support parameter status messages in query / simpleQuery (vapor#116)
1 parent 711b726 commit ffa8b35

File tree

4 files changed

+14
-1
lines changed

4 files changed

+14
-1
lines changed

Sources/PostgresNIO/Message/PostgresMessage+ParameterStatus.swift

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import NIO
22

33
extension PostgresMessage {
4-
public struct ParameterStatus: CustomStringConvertible {
4+
public struct ParameterStatus: PostgresMessageType, CustomStringConvertible {
55
/// Parses an instance of this message type from a byte buffer.
66
public static func parse(from buffer: inout ByteBuffer) throws -> ParameterStatus {
77
guard let parameter = buffer.readNullTerminatedString() else {

Sources/PostgresNIO/PostgresDatabase+Query.swift

+2
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,8 @@ private final class PostgresParameterizedQuery: PostgresRequest {
174174
return []
175175
case .readyForQuery:
176176
return nil
177+
case .parameterStatus:
178+
return []
177179
default: throw PostgresError.protocol("Unexpected message during query: \(message)")
178180
}
179181
}

Sources/PostgresNIO/PostgresDatabase+SimpleQuery.swift

+2
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,8 @@ private final class PostgresSimpleQuery: PostgresRequest {
5656
return []
5757
case .notificationResponse:
5858
return []
59+
case .parameterStatus:
60+
return []
5961
default:
6062
throw PostgresError.protocol("Unexpected message during simple query: \(message)")
6163
}

Tests/PostgresNIOTests/PostgresNIOTests.swift

+9
Original file line numberDiff line numberDiff line change
@@ -928,6 +928,15 @@ final class PostgresNIOTests: XCTestCase {
928928
let res = try conn.query(#"SELECT '{"foo", "bar", "baz"}'::VARCHAR[] as foo"#).wait()
929929
XCTAssertEqual(res[0].column("foo")?.array(of: String.self), ["foo", "bar", "baz"])
930930
}
931+
932+
// https://github.com/vapor/postgres-nio/issues/115
933+
func testSetTimeZone() throws {
934+
let conn = try PostgresConnection.test(on: eventLoop).wait()
935+
defer { try! conn.close().wait() }
936+
937+
_ = try conn.simpleQuery("SET TIME ZONE INTERVAL '+5:45' HOUR TO MINUTE").wait()
938+
_ = try conn.query("SET TIME ZONE INTERVAL '+5:45' HOUR TO MINUTE").wait()
939+
}
931940
}
932941

933942
func env(_ name: String) -> String? {

0 commit comments

Comments
 (0)