@@ -47,26 +47,8 @@ type execRunner interface {
47
47
ExecContext (ctx context.Context , query string , args ... any ) (sql.Result , error )
48
48
}
49
49
50
- type query interface {
51
- ToSql () (string , []interface {}, error )
52
- }
53
-
54
- func mkQuery (q query ) (string , []any , error ) {
55
- sql , args , err := q .ToSql ()
56
- if err != nil {
57
- return "" , nil , err
58
- }
59
-
60
- log .WithFields (log.Fields {
61
- "query" : sql ,
62
- "args" : args ,
63
- }).Tracef ("SQL query generated" )
64
-
65
- return sql , args , nil
66
- }
67
-
68
50
func selectQueryRow (ctx context.Context , db queryRunner , q sq.SelectBuilder ) (sq.RowScanner , error ) {
69
- sql , args , err := mkQuery ( q )
51
+ sql , args , err := q . ToSql ( )
70
52
if err != nil {
71
53
return nil , err
72
54
}
@@ -77,53 +59,98 @@ func selectQueryRow(ctx context.Context, db queryRunner, q sq.SelectBuilder) (sq
77
59
"query" : sql ,
78
60
"args" : args ,
79
61
"duration" : time .Now ().Sub (start ),
80
- }).Tracef ("SQL query executed" )
62
+ }).Debug ("SQL query executed" )
81
63
}()
82
64
83
65
return db .QueryRowContext (ctx , sql , args ... ), nil
84
66
}
85
67
86
68
func selectQuery (ctx context.Context , db queryRunner , q sq.SelectBuilder ) (* sql.Rows , error ) {
87
- sql , args , err := mkQuery ( q )
69
+ sql , args , err := q . ToSql ( )
88
70
if err != nil {
89
71
return nil , err
90
72
}
91
73
74
+ start := time .Now ()
75
+ defer func () {
76
+ log .WithFields (log.Fields {
77
+ "query" : sql ,
78
+ "args" : args ,
79
+ "duration" : time .Now ().Sub (start ),
80
+ }).Debug ("SQL query executed" )
81
+ }()
82
+
92
83
return db .QueryContext (ctx , sql , args ... )
93
84
}
94
85
95
86
func insertQuery (ctx context.Context , db execRunner , q sq.InsertBuilder ) (sql.Result , error ) {
96
- sql , args , err := mkQuery ( q )
87
+ sql , args , err := q . ToSql ( )
97
88
if err != nil {
98
89
return nil , err
99
90
}
100
91
92
+ start := time .Now ()
93
+ defer func () {
94
+ log .WithFields (log.Fields {
95
+ "query" : sql ,
96
+ "args" : args ,
97
+ "duration" : time .Now ().Sub (start ),
98
+ }).Debug ("SQL query executed" )
99
+ }()
100
+
101
101
return db .ExecContext (ctx , sql , args ... )
102
102
}
103
103
104
104
func insertQueryRow (ctx context.Context , db queryRunner , q sq.InsertBuilder ) (sq.RowScanner , error ) {
105
- sql , args , err := mkQuery ( q )
105
+ sql , args , err := q . ToSql ( )
106
106
if err != nil {
107
107
return nil , err
108
108
}
109
109
110
+ start := time .Now ()
111
+ defer func () {
112
+ log .WithFields (log.Fields {
113
+ "query" : sql ,
114
+ "args" : args ,
115
+ "duration" : time .Now ().Sub (start ),
116
+ }).Debug ("SQL query executed" )
117
+ }()
118
+
110
119
return db .QueryRowContext (ctx , sql , args ... ), nil
111
120
}
112
121
113
122
func updateQuery (ctx context.Context , db execRunner , q sq.UpdateBuilder ) (sql.Result , error ) {
114
- sql , args , err := mkQuery ( q )
123
+ sql , args , err := q . ToSql ( )
115
124
if err != nil {
116
125
return nil , err
117
126
}
118
127
128
+ start := time .Now ()
129
+ defer func () {
130
+ log .WithFields (log.Fields {
131
+ "query" : sql ,
132
+ "args" : args ,
133
+ "duration" : time .Now ().Sub (start ),
134
+ }).Debug ("SQL query executed" )
135
+ }()
136
+
119
137
return db .ExecContext (ctx , sql , args ... )
120
138
}
121
139
122
140
func deleteQuery (ctx context.Context , db execRunner , q sq.DeleteBuilder ) (sql.Result , error ) {
123
- sql , args , err := mkQuery ( q )
141
+ sql , args , err := q . ToSql ( )
124
142
if err != nil {
125
143
return nil , err
126
144
}
127
145
146
+ start := time .Now ()
147
+ defer func () {
148
+ log .WithFields (log.Fields {
149
+ "query" : sql ,
150
+ "args" : args ,
151
+ "duration" : time .Now ().Sub (start ),
152
+ }).Debug ("SQL query executed" )
153
+ }()
154
+
128
155
return db .ExecContext (ctx , sql , args ... )
129
156
}
0 commit comments