@@ -131,9 +131,12 @@ public struct PostgresCopyFromFormat: Sendable {
131
131
///
132
132
/// An empty `columns` array signifies that no columns should be specified in the query and that all columns will be
133
133
/// copied by the caller.
134
+ ///
135
+ /// - Important: The table and column names are inserted into the `COPY FROM` query as passed and might thus be
136
+ /// susceptible to SQL injection. Ensure no untrusted data is contained in these strings.
134
137
private func buildCopyFromQuery(
135
- table: StaticString ,
136
- columns: [ StaticString ] = [ ] ,
138
+ table: String ,
139
+ columns: [ String ] = [ ] ,
137
140
format: PostgresCopyFromFormat
138
141
) -> PostgresQuery {
139
142
var query = """
@@ -173,11 +176,11 @@ extension PostgresConnection {
173
176
/// Throw an error from the closure to fail the data transfer. The error thrown by the closure will be rethrown
174
177
/// by the `copyFrom` function.
175
178
///
176
- /// - Note : The table and column names are inserted into the SQL query verbatim. They are forced to be compile-time
177
- /// specified to avoid runtime SQL injection attacks .
179
+ /// - Important : The table and column names are inserted into the `COPY FROM` query as passed and might thus be
180
+ /// susceptible to SQL injection. Ensure no untrusted data is contained in these strings .
178
181
public func copyFrom(
179
- table: StaticString ,
180
- columns: [ StaticString ] = [ ] ,
182
+ table: String ,
183
+ columns: [ String ] = [ ] ,
181
184
format: PostgresCopyFromFormat = . text( . init( ) ) ,
182
185
logger: Logger ,
183
186
isolation: isolated ( any Actor ) ? = #isolation,
0 commit comments