executeCleanup runs cleanup statements, ignoring errors (best effort). This is used to clean up temp tables after a multi-statement query.
(cleanup []string)
| 891 | return false, nil |
| 892 | } |
| 893 | |
| 894 | // SELECT |
| 895 | ctx, cleanup := c.queryContext() |
| 896 | defer cleanup() |
| 897 | |
| 898 | runQuery := func() (RowSet, error) { |
| 899 | return c.executor.QueryContext(ctx, executedQuery) |
| 900 | } |
| 901 | |
| 902 | rows, err := runQuery() |
| 903 | if err != nil && c.txStatus == txStatusIdle && isDuckLakeTransactionConflict(err) { |
| 904 | ducklakeConflictTotal.Inc() |
| 905 | rows, err = retryOnConflict(runQuery) |
no test coverage detected