From 81cf6980723b01c5f0eedf6c7ac03144122e833a Mon Sep 17 00:00:00 2001 From: Ankit Patial Date: Tue, 29 Jul 2025 21:45:32 +0530 Subject: [PATCH] added in few field wraping functions --- pgm.go | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/pgm.go b/pgm.go index b1f7fb1..b8e08db 100644 --- a/pgm.go +++ b/pgm.go @@ -49,6 +49,31 @@ func (f Field) Avg() Field { return Field("AVG(" + f.String() + ")") } +func (f Field) Sum() Field { + return Field("SUM(" + f.String() + ")") +} + +func (f Field) Max() Field { + return Field("MAX(" + f.String() + ")") +} + +func (f Field) Min() Field { + return Field("Min(" + f.String() + ")") +} + +func (f Field) Lower() Field { + return Field("LOWER(" + f.String() + ")") +} + +func (f Field) Upper() Field { + return Field("UPPER(" + f.String() + ")") +} + +func (f Field) Trim() Field { + return Field("TRIM(" + f.String() + ")") +} + +// Eq is equal func (f Field) Eq(val any) Conditioner { col := f.String() return &Cond{Field: col, Val: val, op: " = $", len: len(col) + 5} @@ -70,11 +95,21 @@ func (f Field) Gt(val any) Conditioner { return &Cond{Field: col, Val: val, op: " > $", len: len(col) + 5} } +func (f Field) Lt(val any) Conditioner { + col := f.String() + return &Cond{Field: col, Val: val, op: " < $", len: len(col) + 5} +} + func (f Field) Gte(val any) Conditioner { col := f.String() return &Cond{Field: col, Val: val, op: " >= $", len: len(col) + 5} } +func (f Field) Lte(val any) Conditioner { + col := f.String() + return &Cond{Field: col, Val: val, op: " <= $", len: len(col) + 5} +} + func (f Field) Like(val string) Conditioner { col := f.String() return &Cond{Field: col, Val: val, op: " LIKE $", len: len(f.String()) + 5}