Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rename PSQLFrontendMessage to PostgresFrontendMessage #239

Merged
merged 2 commits into from
Mar 2, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Sources/PostgresNIO/New/BufferedMessageEncoder.swift
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ struct BufferedMessageEncoder {
self.encoder = encoder
}

mutating func encode(_ message: PSQLFrontendMessage) {
mutating func encode(_ message: PostgresFrontendMessage) {
switch self.state {
case .flushed:
self.state = .writable
Expand Down
2 changes: 1 addition & 1 deletion Sources/PostgresNIO/New/Extensions/ByteBuffer+PSQL.swift
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ internal extension ByteBuffer {
self.writeInteger(messageID.rawValue)
}

mutating func psqlWriteFrontendMessageID(_ messageID: PSQLFrontendMessage.ID) {
mutating func psqlWriteFrontendMessageID(_ messageID: PostgresFrontendMessage.ID) {
self.writeInteger(messageID.rawValue)
}

Expand Down
2 changes: 1 addition & 1 deletion Sources/PostgresNIO/New/Messages/Bind.swift
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import NIOCore

extension PSQLFrontendMessage {
extension PostgresFrontendMessage {

struct Bind: PSQLMessagePayloadEncodable, Equatable {
/// The name of the destination portal (an empty string selects the unnamed portal).
Expand Down
2 changes: 1 addition & 1 deletion Sources/PostgresNIO/New/Messages/Cancel.swift
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import NIOCore

extension PSQLFrontendMessage {
extension PostgresFrontendMessage {

struct Cancel: PSQLMessagePayloadEncodable, Equatable {
/// The cancel request code. The value is chosen to contain 1234 in the most significant 16 bits,
Expand Down
2 changes: 1 addition & 1 deletion Sources/PostgresNIO/New/Messages/Close.swift
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import NIOCore

extension PSQLFrontendMessage {
extension PostgresFrontendMessage {

enum Close: PSQLMessagePayloadEncodable, Equatable {
case preparedStatement(String)
Expand Down
2 changes: 1 addition & 1 deletion Sources/PostgresNIO/New/Messages/Describe.swift
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import NIOCore

extension PSQLFrontendMessage {
extension PostgresFrontendMessage {

enum Describe: PSQLMessagePayloadEncodable, Equatable {

Expand Down
2 changes: 1 addition & 1 deletion Sources/PostgresNIO/New/Messages/Execute.swift
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import NIOCore

extension PSQLFrontendMessage {
extension PostgresFrontendMessage {

struct Execute: PSQLMessagePayloadEncodable, Equatable {
/// The name of the portal to execute (an empty string selects the unnamed portal).
Expand Down
2 changes: 1 addition & 1 deletion Sources/PostgresNIO/New/Messages/Parse.swift
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import NIOCore

extension PSQLFrontendMessage {
extension PostgresFrontendMessage {

struct Parse: PSQLMessagePayloadEncodable, Equatable {
/// The name of the destination prepared statement (an empty string selects the unnamed prepared statement).
Expand Down
2 changes: 1 addition & 1 deletion Sources/PostgresNIO/New/Messages/Password.swift
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import NIOCore

extension PSQLFrontendMessage {
extension PostgresFrontendMessage {

struct Password: PSQLMessagePayloadEncodable, Equatable {
let value: String
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import NIOCore

extension PSQLFrontendMessage {
extension PostgresFrontendMessage {

struct SASLInitialResponse: PSQLMessagePayloadEncodable, Equatable {

Expand Down
2 changes: 1 addition & 1 deletion Sources/PostgresNIO/New/Messages/SASLResponse.swift
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import NIOCore

extension PSQLFrontendMessage {
extension PostgresFrontendMessage {

struct SASLResponse: PSQLMessagePayloadEncodable, Equatable {

Expand Down
2 changes: 1 addition & 1 deletion Sources/PostgresNIO/New/Messages/SSLRequest.swift
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import NIOCore

extension PSQLFrontendMessage {
extension PostgresFrontendMessage {
/// A message asking the PostgreSQL server if TLS is supported
/// For more info, see https://www.postgresql.org/docs/10/static/protocol-flow.html#id-1.10.5.7.11
struct SSLRequest: PSQLMessagePayloadEncodable, Equatable {
Expand Down
2 changes: 1 addition & 1 deletion Sources/PostgresNIO/New/Messages/Startup.swift
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import NIOCore

extension PSQLFrontendMessage {
extension PostgresFrontendMessage {
struct Startup: PSQLMessagePayloadEncodable, Equatable {

/// Creates a `Startup` with "3.0" as the protocol version.
Expand Down
12 changes: 6 additions & 6 deletions Sources/PostgresNIO/New/PSQLChannelHandler.swift
Original file line number Diff line number Diff line change
Expand Up @@ -398,7 +398,7 @@ final class PSQLChannelHandler: ChannelDuplexHandler {
context: ChannelHandlerContext)
{
precondition(self.rowStream == nil, "Expected to not have an open stream at this point")
let parse = PSQLFrontendMessage.Parse(
let parse = PostgresFrontendMessage.Parse(
preparedStatementName: statementName,
query: query,
parameters: [])
Expand All @@ -413,7 +413,7 @@ final class PSQLChannelHandler: ChannelDuplexHandler {
executeStatement: PSQLExecuteStatement,
context: ChannelHandlerContext
) {
let bind = PSQLFrontendMessage.Bind(
let bind = PostgresFrontendMessage.Bind(
portalName: "",
preparedStatementName: executeStatement.name,
bind: executeStatement.binds)
Expand All @@ -430,11 +430,11 @@ final class PSQLChannelHandler: ChannelDuplexHandler {
{
precondition(self.rowStream == nil, "Expected to not have an open stream at this point")
let unnamedStatementName = ""
let parse = PSQLFrontendMessage.Parse(
let parse = PostgresFrontendMessage.Parse(
preparedStatementName: unnamedStatementName,
query: query.sql,
parameters: query.binds.metadata.map(\.dataType))
let bind = PSQLFrontendMessage.Bind(
let bind = PostgresFrontendMessage.Bind(
portalName: "",
preparedStatementName: unnamedStatementName,
bind: query.binds)
Expand Down Expand Up @@ -528,8 +528,8 @@ extension PSQLConnection.Configuration.Authentication {
}

extension AuthContext {
func toStartupParameters() -> PSQLFrontendMessage.Startup.Parameters {
PSQLFrontendMessage.Startup.Parameters(
func toStartupParameters() -> PostgresFrontendMessage.Startup.Parameters {
PostgresFrontendMessage.Startup.Parameters(
user: self.username,
database: self.database,
options: nil,
Expand Down
6 changes: 3 additions & 3 deletions Sources/PostgresNIO/New/PSQLFrontendMessageEncoder.swift
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@

struct PSQLFrontendMessageEncoder: MessageToByteEncoder {
typealias OutboundIn = PSQLFrontendMessage
typealias OutboundIn = PostgresFrontendMessage

init() {}

func encode(data message: PSQLFrontendMessage, out buffer: inout ByteBuffer) {
func encode(data message: PostgresFrontendMessage, out buffer: inout ByteBuffer) {
switch message {
case .bind(let bind):
buffer.writeInteger(message.id.rawValue)
Expand Down Expand Up @@ -63,7 +63,7 @@ struct PSQLFrontendMessageEncoder: MessageToByteEncoder {
}

private func encode<Payload: PSQLMessagePayloadEncodable>(
messageID: PSQLFrontendMessage.ID,
messageID: PostgresFrontendMessage.ID,
payload: Payload,
into buffer: inout ByteBuffer)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import NIOCore
///
/// All messages are defined in the official Postgres Documentation in the section
/// [Frontend/Backend Protocol – Message Formats](https://www.postgresql.org/docs/13/protocol-message-formats.html)
enum PSQLFrontendMessage: Equatable {
enum PostgresFrontendMessage: Equatable {
case bind(Bind)
case cancel(Cancel)
case close(Close)
Expand Down Expand Up @@ -92,7 +92,7 @@ enum PSQLFrontendMessage: Equatable {
}
}

extension PSQLFrontendMessage {
extension PostgresFrontendMessage {

var id: ID {
switch self {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
@testable import PostgresNIO

struct PSQLFrontendMessageDecoder: NIOSingleStepByteToMessageDecoder {
typealias InboundOut = PSQLFrontendMessage
typealias InboundOut = PostgresFrontendMessage

private(set) var isInStartup: Bool

init() {
self.isInStartup = true
}

mutating func decode(buffer: inout ByteBuffer) throws -> PSQLFrontendMessage? {
mutating func decode(buffer: inout ByteBuffer) throws -> PostgresFrontendMessage? {
// make sure we have at least one byte to read
guard buffer.readableBytes > 0 else {
return nil
Expand Down Expand Up @@ -58,14 +58,14 @@ struct PSQLFrontendMessageDecoder: NIOSingleStepByteToMessageDecoder {
}
}

let parameters = PSQLFrontendMessage.Startup.Parameters(
let parameters = PostgresFrontendMessage.Startup.Parameters(
user: user!,
database: database,
options: options,
replication: .false
)

let startup = PSQLFrontendMessage.Startup(
let startup = PostgresFrontendMessage.Startup(
protocolVersion: 0x00_03_00_00,
parameters: parameters
)
Expand Down Expand Up @@ -95,7 +95,7 @@ struct PSQLFrontendMessageDecoder: NIOSingleStepByteToMessageDecoder {
}

// 2. make sure we have a known message identifier
guard let messageID = PSQLFrontendMessage.ID(rawValue: idByte) else {
guard let messageID = PostgresFrontendMessage.ID(rawValue: idByte) else {
throw PSQLDecodingError.unknownMessageIDReceived(messageID: idByte, messageBytes: completeMessageBuffer)
}

Expand All @@ -106,22 +106,22 @@ struct PSQLFrontendMessageDecoder: NIOSingleStepByteToMessageDecoder {
// move reader index forward by five bytes
slice.moveReaderIndex(forwardBy: 5)

return try PSQLFrontendMessage.decode(from: &slice, for: messageID)
return try PostgresFrontendMessage.decode(from: &slice, for: messageID)
} catch let error as PSQLPartialDecodingError {
throw PSQLDecodingError.withPartialError(error, messageID: messageID.rawValue, messageBytes: completeMessageBuffer)
} catch {
preconditionFailure("Expected to only see `PartialDecodingError`s here.")
}
}

mutating func decodeLast(buffer: inout ByteBuffer, seenEOF: Bool) throws -> PSQLFrontendMessage? {
mutating func decodeLast(buffer: inout ByteBuffer, seenEOF: Bool) throws -> PostgresFrontendMessage? {
try self.decode(buffer: &buffer)
}
}

extension PSQLFrontendMessage {
extension PostgresFrontendMessage {

static func decode(from buffer: inout ByteBuffer, for messageID: ID) throws -> PSQLFrontendMessage {
static func decode(from buffer: inout ByteBuffer, for messageID: ID) throws -> PostgresFrontendMessage {
switch messageID {
case .bind:
preconditionFailure("TODO: Unimplemented")
Expand Down
6 changes: 3 additions & 3 deletions Tests/PostgresNIOTests/New/Messages/BindTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,12 @@ class BindTests: XCTestCase {
XCTAssertNoThrow(try bindings.append("Hello", context: .default))
XCTAssertNoThrow(try bindings.append("World", context: .default))
var byteBuffer = ByteBuffer()
let bind = PSQLFrontendMessage.Bind(portalName: "", preparedStatementName: "", bind: bindings)
let message = PSQLFrontendMessage.bind(bind)
let bind = PostgresFrontendMessage.Bind(portalName: "", preparedStatementName: "", bind: bindings)
let message = PostgresFrontendMessage.bind(bind)
encoder.encode(data: message, out: &byteBuffer)

XCTAssertEqual(byteBuffer.readableBytes, 37)
XCTAssertEqual(PSQLFrontendMessage.ID.bind.rawValue, byteBuffer.readInteger(as: UInt8.self))
XCTAssertEqual(PostgresFrontendMessage.ID.bind.rawValue, byteBuffer.readInteger(as: UInt8.self))
XCTAssertEqual(byteBuffer.readInteger(as: Int32.self), 36)
XCTAssertEqual("", byteBuffer.readNullTerminatedString())
XCTAssertEqual("", byteBuffer.readNullTerminatedString())
Expand Down
4 changes: 2 additions & 2 deletions Tests/PostgresNIOTests/New/Messages/CancelTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ class CancelTests: XCTestCase {
func testEncodeCancel() {
let encoder = PSQLFrontendMessageEncoder()
var byteBuffer = ByteBuffer()
let cancel = PSQLFrontendMessage.Cancel(processID: 1234, secretKey: 4567)
let message = PSQLFrontendMessage.cancel(cancel)
let cancel = PostgresFrontendMessage.Cancel(processID: 1234, secretKey: 4567)
let message = PostgresFrontendMessage.cancel(cancel)
encoder.encode(data: message, out: &byteBuffer)

XCTAssertEqual(byteBuffer.readableBytes, 16)
Expand Down
8 changes: 4 additions & 4 deletions Tests/PostgresNIOTests/New/Messages/CloseTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@ class CloseTests: XCTestCase {
func testEncodeClosePortal() {
let encoder = PSQLFrontendMessageEncoder()
var byteBuffer = ByteBuffer()
let message = PSQLFrontendMessage.close(.portal("Hello"))
let message = PostgresFrontendMessage.close(.portal("Hello"))
encoder.encode(data: message, out: &byteBuffer)

XCTAssertEqual(byteBuffer.readableBytes, 12)
XCTAssertEqual(PSQLFrontendMessage.ID.close.rawValue, byteBuffer.readInteger(as: UInt8.self))
XCTAssertEqual(PostgresFrontendMessage.ID.close.rawValue, byteBuffer.readInteger(as: UInt8.self))
XCTAssertEqual(11, byteBuffer.readInteger(as: Int32.self))
XCTAssertEqual(UInt8(ascii: "P"), byteBuffer.readInteger(as: UInt8.self))
XCTAssertEqual("Hello", byteBuffer.readNullTerminatedString())
Expand All @@ -21,11 +21,11 @@ class CloseTests: XCTestCase {
func testEncodeCloseUnnamedStatement() {
let encoder = PSQLFrontendMessageEncoder()
var byteBuffer = ByteBuffer()
let message = PSQLFrontendMessage.close(.preparedStatement(""))
let message = PostgresFrontendMessage.close(.preparedStatement(""))
encoder.encode(data: message, out: &byteBuffer)

XCTAssertEqual(byteBuffer.readableBytes, 7)
XCTAssertEqual(PSQLFrontendMessage.ID.close.rawValue, byteBuffer.readInteger(as: UInt8.self))
XCTAssertEqual(PostgresFrontendMessage.ID.close.rawValue, byteBuffer.readInteger(as: UInt8.self))
XCTAssertEqual(6, byteBuffer.readInteger(as: Int32.self))
XCTAssertEqual(UInt8(ascii: "S"), byteBuffer.readInteger(as: UInt8.self))
XCTAssertEqual("", byteBuffer.readNullTerminatedString())
Expand Down
8 changes: 4 additions & 4 deletions Tests/PostgresNIOTests/New/Messages/DescribeTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@ class DescribeTests: XCTestCase {
func testEncodeDescribePortal() {
let encoder = PSQLFrontendMessageEncoder()
var byteBuffer = ByteBuffer()
let message = PSQLFrontendMessage.describe(.portal("Hello"))
let message = PostgresFrontendMessage.describe(.portal("Hello"))
encoder.encode(data: message, out: &byteBuffer)

XCTAssertEqual(byteBuffer.readableBytes, 12)
XCTAssertEqual(PSQLFrontendMessage.ID.describe.rawValue, byteBuffer.readInteger(as: UInt8.self))
XCTAssertEqual(PostgresFrontendMessage.ID.describe.rawValue, byteBuffer.readInteger(as: UInt8.self))
XCTAssertEqual(11, byteBuffer.readInteger(as: Int32.self))
XCTAssertEqual(UInt8(ascii: "P"), byteBuffer.readInteger(as: UInt8.self))
XCTAssertEqual("Hello", byteBuffer.readNullTerminatedString())
Expand All @@ -21,11 +21,11 @@ class DescribeTests: XCTestCase {
func testEncodeDescribeUnnamedStatement() {
let encoder = PSQLFrontendMessageEncoder()
var byteBuffer = ByteBuffer()
let message = PSQLFrontendMessage.describe(.preparedStatement(""))
let message = PostgresFrontendMessage.describe(.preparedStatement(""))
encoder.encode(data: message, out: &byteBuffer)

XCTAssertEqual(byteBuffer.readableBytes, 7)
XCTAssertEqual(PSQLFrontendMessage.ID.describe.rawValue, byteBuffer.readInteger(as: UInt8.self))
XCTAssertEqual(PostgresFrontendMessage.ID.describe.rawValue, byteBuffer.readInteger(as: UInt8.self))
XCTAssertEqual(6, byteBuffer.readInteger(as: Int32.self))
XCTAssertEqual(UInt8(ascii: "S"), byteBuffer.readInteger(as: UInt8.self))
XCTAssertEqual("", byteBuffer.readNullTerminatedString())
Expand Down
4 changes: 2 additions & 2 deletions Tests/PostgresNIOTests/New/Messages/ExecuteTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@ class ExecuteTests: XCTestCase {
func testEncodeExecute() {
let encoder = PSQLFrontendMessageEncoder()
var byteBuffer = ByteBuffer()
let message = PSQLFrontendMessage.execute(.init(portalName: "", maxNumberOfRows: 0))
let message = PostgresFrontendMessage.execute(.init(portalName: "", maxNumberOfRows: 0))
encoder.encode(data: message, out: &byteBuffer)

XCTAssertEqual(byteBuffer.readableBytes, 10) // 1 (id) + 4 (length) + 1 (empty null terminated string) + 4 (count)
XCTAssertEqual(PSQLFrontendMessage.ID.execute.rawValue, byteBuffer.readInteger(as: UInt8.self))
XCTAssertEqual(PostgresFrontendMessage.ID.execute.rawValue, byteBuffer.readInteger(as: UInt8.self))
XCTAssertEqual(9, byteBuffer.readInteger(as: Int32.self)) // length
XCTAssertEqual("", byteBuffer.readNullTerminatedString())
XCTAssertEqual(0, byteBuffer.readInteger(as: Int32.self))
Expand Down
6 changes: 3 additions & 3 deletions Tests/PostgresNIOTests/New/Messages/ParseTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@ class ParseTests: XCTestCase {
func testEncode() {
let encoder = PSQLFrontendMessageEncoder()
var byteBuffer = ByteBuffer()
let parse = PSQLFrontendMessage.Parse(
let parse = PostgresFrontendMessage.Parse(
preparedStatementName: "test",
query: "SELECT version()",
parameters: [.bool, .int8, .bytea, .varchar, .text, .uuid, .json, .jsonbArray])
let message = PSQLFrontendMessage.parse(parse)
let message = PostgresFrontendMessage.parse(parse)
encoder.encode(data: message, out: &byteBuffer)

let length: Int = 1 + 4 + (parse.preparedStatementName.count + 1) + (parse.query.count + 1) + 2 + parse.parameters.count * 4
Expand All @@ -22,7 +22,7 @@ class ParseTests: XCTestCase {
// + 1 query ()

XCTAssertEqual(byteBuffer.readableBytes, length)
XCTAssertEqual(byteBuffer.readInteger(as: UInt8.self), PSQLFrontendMessage.ID.parse.rawValue)
XCTAssertEqual(byteBuffer.readInteger(as: UInt8.self), PostgresFrontendMessage.ID.parse.rawValue)
XCTAssertEqual(byteBuffer.readInteger(as: Int32.self), Int32(length - 1))
XCTAssertEqual(byteBuffer.readNullTerminatedString(), parse.preparedStatementName)
XCTAssertEqual(byteBuffer.readNullTerminatedString(), parse.query)
Expand Down
4 changes: 2 additions & 2 deletions Tests/PostgresNIOTests/New/Messages/PasswordTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,13 @@ class PasswordTests: XCTestCase {
let encoder = PSQLFrontendMessageEncoder()
var byteBuffer = ByteBuffer()
// md522d085ed8dc3377968dc1c1a40519a2a = "abc123" with salt 1, 2, 3, 4
let message = PSQLFrontendMessage.password(.init(value: "md522d085ed8dc3377968dc1c1a40519a2a"))
let message = PostgresFrontendMessage.password(.init(value: "md522d085ed8dc3377968dc1c1a40519a2a"))
encoder.encode(data: message, out: &byteBuffer)

let expectedLength = 41 // 1 (id) + 4 (length) + 35 (string) + 1 (null termination)

XCTAssertEqual(byteBuffer.readableBytes, expectedLength)
XCTAssertEqual(byteBuffer.readInteger(as: UInt8.self), PSQLFrontendMessage.ID.password.rawValue)
XCTAssertEqual(byteBuffer.readInteger(as: UInt8.self), PostgresFrontendMessage.ID.password.rawValue)
XCTAssertEqual(byteBuffer.readInteger(as: Int32.self), Int32(expectedLength - 1)) // length
XCTAssertEqual(byteBuffer.readNullTerminatedString(), "md522d085ed8dc3377968dc1c1a40519a2a")
}
Expand Down
Loading