-
-
Notifications
You must be signed in to change notification settings - Fork 58
Expand file tree
/
Copy pathsql_query.go
More file actions
37 lines (30 loc) · 700 Bytes
/
sql_query.go
File metadata and controls
37 lines (30 loc) · 700 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package rel
import "strings"
// SQLQuery allows querying using native query supported by database.
type SQLQuery struct {
Statement string
Values []any
}
// Build Raw Query.
func (sq SQLQuery) Build(query *Query) {
query.SQLQuery = sq
}
func (sq SQLQuery) String() string {
var builder strings.Builder
builder.WriteString("rel.SQL(\"")
builder.WriteString(sq.Statement)
builder.WriteString("\"")
if len(sq.Values) != 0 {
builder.WriteString(", ")
builder.WriteString(fmtAnys(sq.Values))
}
builder.WriteString(")")
return builder.String()
}
// SQL Query.
func SQL(statement string, values ...any) SQLQuery {
return SQLQuery{
Statement: statement,
Values: values,
}
}