8d697eda5b
Add Delete/DeleteAffected, context-aware CRUD helpers, WithTx, ContainsCol, and queryReturning deduplication for returning statements. Co-authored-by: Cursor <cursoragent@cursor.com>
31 lines
596 B
Go
31 lines
596 B
Go
package dbx
|
|
|
|
import (
|
|
"slices"
|
|
|
|
"github.com/go-jet/jet/v2/mysql"
|
|
)
|
|
|
|
// ContainsCol reports whether cols contains col.
|
|
func ContainsCol(cols ColumnList, col Column) bool {
|
|
return slices.Contains(cols, col)
|
|
}
|
|
|
|
// NormalCols processes a list of columns and strips out any that implement any of
|
|
// ColumnTimestamp, ColumnTime, or ColumnDate.
|
|
func NormalCols(cols ...Column) ColumnList {
|
|
res := make(ColumnList, 0)
|
|
|
|
for _, col := range cols {
|
|
switch col.(type) {
|
|
case mysql.ColumnTimestamp,
|
|
mysql.ColumnTime,
|
|
mysql.ColumnDate:
|
|
default:
|
|
res = append(res, col)
|
|
}
|
|
}
|
|
|
|
return res
|
|
}
|