Skip to content

Commit

Permalink
refinements
Browse files Browse the repository at this point in the history
  • Loading branch information
MahdiBM committed Aug 23, 2024
1 parent 2e98065 commit bedc86a
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 12 deletions.
2 changes: 1 addition & 1 deletion Sources/PostgresNIO/New/PSQLRowStream.swift
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ final class PSQLRowStream: @unchecked Sendable {
self.downstreamState = .consumed(.failure(error))
}

return PostgresRowSequence(producer.sequence, stream: self)
return PostgresRowSequence(producer.sequence, rowStream: self)
}

func demand() {
Expand Down
16 changes: 9 additions & 7 deletions Sources/PostgresNIO/New/PostgresRowSequence.swift
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,17 @@ public struct PostgresRowSequence: AsyncSequence, Sendable {
typealias BackingSequence = NIOThrowingAsyncSequenceProducer<DataRow, Error, AdaptiveRowBuffer, PSQLRowStream>

private let backing: BackingSequence
private let stream: PSQLRowStream
private let rowStream: PSQLRowStream
var lookupTable: [String: Int] {
self.stream.lookupTable
self.rowStream.lookupTable
}
var columns: [RowDescription.Column] {
self.stream.rowDescription
self.rowStream.rowDescription
}

init(_ backing: BackingSequence, stream: PSQLRowStream) {
init(_ backing: BackingSequence, rowStream: PSQLRowStream) {
self.backing = backing
self.stream = stream
self.rowStream = rowStream
}

public func makeAsyncIterator() -> AsyncIterator {
Expand Down Expand Up @@ -72,9 +72,11 @@ extension PostgresRowSequence {
return result
}

public func collectWithMetadata() async throws -> (metadata: PostgresQueryMetadata?, rows: [PostgresRow]) {
public func collectWithMetadata() async throws -> (metadata: PostgresQueryMetadata, rows: [PostgresRow]) {
let rows = try await self.collect()
let metadata = PostgresQueryMetadata(string: self.stream.commandTag)
guard let metadata = PostgresQueryMetadata(string: self.rowStream.commandTag) else {
throw PSQLError.invalidCommandTag(self.rowStream.commandTag)
}
return (metadata, rows)
}
}
Expand Down
8 changes: 4 additions & 4 deletions Tests/IntegrationTests/AsyncTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -63,9 +63,9 @@ final class AsyncPostgresConnectionTests: XCTestCase {
XCTAssertEqual(element, counter + 1)
counter += 1
}
XCTAssertEqual(metadata?.command, "SELECT")
XCTAssertEqual(metadata?.oid, nil)
XCTAssertEqual(metadata?.rows, 10000)
XCTAssertEqual(metadata.command, "SELECT")
XCTAssertEqual(metadata.oid, nil)
XCTAssertEqual(metadata.rows, 10000)

XCTAssertEqual(counter, end)
}
Expand Down Expand Up @@ -268,7 +268,7 @@ final class AsyncPostgresConnectionTests: XCTestCase {
)
let result = try await connection.query(insertionQuery, logger: .psqlTest)
let metadata = try await result.collectWithMetadata().metadata
XCTAssertEqual(metadata?.rows, rowsCount)
XCTAssertEqual(metadata.rows, rowsCount)

let dropQuery = PostgresQuery(unsafeSQL: "DROP TABLE table1")
try await connection.query(dropQuery, logger: .psqlTest)
Expand Down

0 comments on commit bedc86a

Please sign in to comment.