Skip to content

Commit afe159c

Browse files
authored
Log SQL of queries in when log �level set to debug mode (#180)
* Log the SQL for any execute statements * Enable logging for create and delete enums as well
1 parent a4522d4 commit afe159c

File tree

1 file changed

+13
-4
lines changed

1 file changed

+13
-4
lines changed

Sources/FluentPostgresDriver/FluentPostgresDatabase.swift

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ extension _FluentPostgresDatabase: Database {
2424
default: break
2525
}
2626
let (sql, binds) = self.serialize(expression)
27+
self.logger.debug("\(sql) \(binds)")
2728
do {
2829
return try self.query(sql, binds.map { try self.encoder.encode($0) }) {
2930
onOutput($0.databaseOutput(using: self.decoder))
@@ -37,6 +38,7 @@ extension _FluentPostgresDatabase: Database {
3738
let expression = SQLSchemaConverter(delegate: PostgresConverterDelegate())
3839
.convert(schema)
3940
let (sql, binds) = self.serialize(expression)
41+
self.logger.debug("\(sql) \(binds)")
4042
do {
4143
return try self.query(sql, binds.map { try self.encoder.encode($0) }) {
4244
fatalError("unexpected row: \($0)")
@@ -53,6 +55,7 @@ extension _FluentPostgresDatabase: Database {
5355
for c in e.createCases {
5456
_ = builder.value(c)
5557
}
58+
self.logger.debug("\(builder.query)")
5659
return builder.run()
5760
case .update:
5861
if !e.deleteCases.isEmpty {
@@ -65,9 +68,12 @@ extension _FluentPostgresDatabase: Database {
6568
for create in e.createCases {
6669
_ = builder.add(value: create)
6770
}
71+
self.logger.debug("\(builder.query)")
6872
return builder.run()
6973
case .delete:
70-
return self.sql().drop(enum: e.name).run()
74+
let builder = self.sql().drop(enum: e.name)
75+
self.logger.debug("\(builder.query)")
76+
return builder.run()
7177
}
7278
}
7379

@@ -76,7 +82,8 @@ extension _FluentPostgresDatabase: Database {
7682
return closure(self)
7783
}
7884
return self.database.withConnection { conn in
79-
conn.simpleQuery("BEGIN").flatMap { _ in
85+
self.logger.debug("BEGIN")
86+
return conn.simpleQuery("BEGIN").flatMap { _ in
8087
let db = _FluentPostgresDatabase(
8188
database: conn,
8289
context: self.context,
@@ -85,11 +92,13 @@ extension _FluentPostgresDatabase: Database {
8592
inTransaction: true
8693
)
8794
return closure(db).flatMap { result in
88-
conn.simpleQuery("COMMIT").map { _ in
95+
self.logger.debug("COMMIT")
96+
return conn.simpleQuery("COMMIT").map { _ in
8997
result
9098
}
9199
}.flatMapError { error in
92-
conn.simpleQuery("ROLLBACK").flatMapThrowing { _ in
100+
self.logger.debug("ROLLBACK")
101+
return conn.simpleQuery("ROLLBACK").flatMapThrowing { _ in
93102
throw error
94103
}
95104
}

0 commit comments

Comments
 (0)