QueryConn queries a SQL statement in a given connection.
(ctx context.Context, conn *sql.Conn, statement string, queryContext db.QueryContext)
| 150 | |
| 151 | // QueryConn queries a SQL statement in a given connection. |
| 152 | func (*Driver) QueryConn(ctx context.Context, conn *sql.Conn, statement string, queryContext db.QueryContext) ([]*v1pb.QueryResult, error) { |
| 153 | startTime := time.Now() |
| 154 | rows, err := conn.QueryContext(ctx, statement) |
| 155 | if err != nil { |
| 156 | return nil, err |
| 157 | } |
| 158 | defer rows.Close() |
| 159 | |
| 160 | result, err := util.RowsToQueryResult(rows, util.MakeCommonValueByTypeName, util.ConvertCommonValue, queryContext.MaximumSQLResultSize) |
| 161 | if err != nil { |
| 162 | // nolint |
| 163 | return []*v1pb.QueryResult{ |
| 164 | { |
| 165 | Error: err.Error(), |
| 166 | }, |
| 167 | }, nil |
| 168 | } |
| 169 | if err := rows.Err(); err != nil { |
| 170 | return nil, err |
| 171 | } |
| 172 | result.Latency = durationpb.New(time.Since(startTime)) |
| 173 | result.Statement = statement |
| 174 | result.RowsCount = int64(len(result.Rows)) |
| 175 | return []*v1pb.QueryResult{result}, nil |
| 176 | } |
nothing calls this directly
no test coverage detected