on dev help sign in
Merge pull request #42 from echatav/time

Time

commitc6a4b7c5559132d713c844177903592bd33fd146 authorEitan Chatav <eitan.chatav@gmail.com> dateWed 16 Aug 2017, 17:52 (9 years ago) parent7f34b38c59b6ff
2 files changed+22−4
squeal-postgresql/src/Squeal/PostgreSQL/Binary.hs+2−4 squeal-postgresql/src/Squeal/PostgreSQL/Statement.hs+20
squeal-postgresql/src/Squeal/PostgreSQL/Binary.hs+2−4
@@ -75,11 +75,9 @@ instance ToParam Value 'PGjsonb where toParam = K . Encoding.jsonb_ast
7575
7676class ToColumnParam x (ty :: ColumnType) where
7777 toColumnParam :: x -> K (Maybe Strict.ByteString) ty
78−instance ToParam x pg => ToColumnParam x ('Required ('NotNull pg)) where
78+instance ToParam x pg => ToColumnParam x (optionality ('NotNull pg)) where
7979 toColumnParam = K . Just . Encoding.encodingBytes . unK . toParam @x @pg
80−instance ToParam x pg => ToColumnParam (Maybe x) ('Required ('Null pg)) where
81− toColumnParam = K . fmap (Encoding.encodingBytes . unK . toParam @x @pg)
82−instance ToParam x pg => ToColumnParam (Maybe x) ('Optional (nullity pg)) where
80+instance ToParam x pg => ToColumnParam (Maybe x) (optionality ('Null pg)) where
8381 toColumnParam = K . fmap (Encoding.encodingBytes . unK . toParam @x @pg)
8482
8583class SListI tys => ToParams x (tys :: [ColumnType]) where
squeal-postgresql/src/Squeal/PostgreSQL/Statement.hs+20
@@ -379,6 +379,26 @@ infix 4 <=*
379379(>*) = unsafeBinaryOp ">"
380380infix 4 >*
381381
382+currentDate
383+ :: Expression params tables grouping ('Required (nullity 'PGdate))
384+currentDate = UnsafeExpression "CURRENT_DATE"
385+
386+currentTime
387+ :: Expression params tables grouping ('Required (nullity 'PGtimetz))
388+currentTime = UnsafeExpression "CURRENT_TIME"
389+
390+currentTimestamp
391+ :: Expression params tables grouping ('Required (nullity 'PGtimestamptz))
392+currentTimestamp = UnsafeExpression "CURRENT_TIMESTAMP"
393+
394+localTime
395+ :: Expression params tables grouping ('Required (nullity 'PGtime))
396+localTime = UnsafeExpression "LOCALTIME"
397+
398+localTimestamp
399+ :: Expression params tables grouping ('Required (nullity 'PGtimestamp))
400+localTimestamp = UnsafeExpression "LOCALTIMESTAMP"
401+
382402data SortExpression params tables grouping where
383403 Asc
384404 :: Expression params tables grouping ('Required ('NotNull ty))