Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| bb6a45732f | |||
| 2551e07b3e |
@@ -76,8 +76,18 @@ func generate(scheamPath, outDir string) error {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
sb.WriteString(")")
|
||||
|
||||
sb.WriteString(`
|
||||
func DerivedTable(tblName string, fromQry pgm.Query) pgm.Table {
|
||||
t := pgm.Table{
|
||||
Name: tblName,
|
||||
DerivedTable: fromQry,
|
||||
}
|
||||
return t
|
||||
}`)
|
||||
|
||||
// Format code before saving
|
||||
code, err := formatGoCode(sb.String())
|
||||
if err != nil {
|
||||
|
||||
10
pgm_field.go
10
pgm_field.go
@@ -131,6 +131,16 @@ func (f Field) IsNotNull() Conditioner {
|
||||
return &Cond{Field: col, op: " IS NOT NULL", len: len(col) + 12}
|
||||
}
|
||||
|
||||
// DateTrunc will truncate date or timestamp to specified level of precision
|
||||
//
|
||||
// Level values:
|
||||
// - microseconds, milliseconds, second, minute, hour
|
||||
// - day, week (Monday start), month, quarter, year
|
||||
// - decade, century, millennium
|
||||
func (f Field) DateTrunc(level, as string) Field {
|
||||
return Field("DATE_TRUNC('" + level + "', " + f.String() + ") AS " + as)
|
||||
}
|
||||
|
||||
// EqualFold will use LOWER(column_name) = LOWER(val) for comparision
|
||||
func (f Field) EqFold(val string) Conditioner {
|
||||
col := f.String()
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
package db
|
||||
|
||||
import "code.patial.tech/go/pgm"
|
||||
|
||||
func DerivedTable(tblName string, fromQry pgm.Query) pgm.Table {
|
||||
t := pgm.Table{
|
||||
Name: tblName,
|
||||
DerivedTable: fromQry,
|
||||
}
|
||||
return t
|
||||
}
|
||||
@@ -12,3 +12,11 @@ var (
|
||||
Comment = pgm.Table{Name: "comments", FieldCount: 5}
|
||||
Employee = pgm.Table{Name: "employees", FieldCount: 5}
|
||||
)
|
||||
|
||||
func DerivedTable(tblName string, fromQry pgm.Query) pgm.Table {
|
||||
t := pgm.Table{
|
||||
Name: tblName,
|
||||
DerivedTable: fromQry,
|
||||
}
|
||||
return t
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user