packages feed

hpqtypes-extras 1.17.0.0 → 1.17.0.1

raw patch · 4 files changed

+32/−14 lines, 4 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

Files

CHANGELOG.md view
@@ -1,3 +1,6 @@+# hpqtypes-extras-1.17.0.1 (2025-03-27)+* Fix validation of NOT NULL domains with PostgreSQL >= 17.+ # hpqtypes-extras-1.17.0.0 (2025-03-12) * Grouped some parameters of `migrateDatabase` and `checkDatabase` into a   `DatabaseDefinitions` record type.
hpqtypes-extras.cabal view
@@ -1,6 +1,6 @@ cabal-version:       3.0 name:                hpqtypes-extras-version:             1.17.0.0+version:             1.17.0.1 synopsis:            Extra utilities for hpqtypes library description:         The following extras for hpqtypes library:                      .@@ -47,6 +47,9 @@                     , UndecidableInstances                     , ViewPatterns   ghc-options: -Werror=prepositive-qualified-module++  if impl(ghc >= 9.8)+    ghc-options: -Wno-x-partial  library   import: common-stanza
src/Database/PostgreSQL/PQTypes/Checks.hs view
@@ -312,15 +312,16 @@     sqlResult "t1.typdefault" -- default value     sqlResult       "ARRAY(SELECT c.conname::text FROM pg_catalog.pg_constraint c \-      \WHERE c.contypid = t1.oid ORDER by c.oid)" -- constraint names+      \WHERE c.contype = 'c' AND c.contypid = t1.oid \+      \ORDER by c.oid)" -- constraint names     sqlResult       "ARRAY(SELECT regexp_replace(pg_get_constraintdef(c.oid, true), '\       \CHECK \\((.*)\\)', '\\1') FROM pg_catalog.pg_constraint c \-      \WHERE c.contypid = t1.oid \+      \WHERE c.contype = 'c' AND c.contypid = t1.oid \       \ORDER by c.oid)" -- constraint definitions     sqlResult       "ARRAY(SELECT c.convalidated FROM pg_catalog.pg_constraint c \-      \WHERE c.contypid = t1.oid \+      \WHERE c.contype = 'c' AND c.contypid = t1.oid \       \ORDER by c.oid)" -- are constraints validated?     sqlWhereEq "t1.typname" $ unRawSQL $ domName def   mdom <- fetchMaybe $
test/Main.hs view
@@ -16,15 +16,7 @@ import Data.Monoid.Utils import Database.PostgreSQL.PQTypes import Database.PostgreSQL.PQTypes.Checks-import Database.PostgreSQL.PQTypes.Model.ColumnType-import Database.PostgreSQL.PQTypes.Model.CompositeType-import Database.PostgreSQL.PQTypes.Model.EnumType-import Database.PostgreSQL.PQTypes.Model.ForeignKey-import Database.PostgreSQL.PQTypes.Model.Index-import Database.PostgreSQL.PQTypes.Model.Migration-import Database.PostgreSQL.PQTypes.Model.PrimaryKey-import Database.PostgreSQL.PQTypes.Model.Table-import Database.PostgreSQL.PQTypes.Model.Trigger+import Database.PostgreSQL.PQTypes.Model import Database.PostgreSQL.PQTypes.SQL.Builder import Log import Log.Backend.StandardOutput@@ -2406,7 +2398,26 @@  tableDefsWithPgCrypto :: [Table] -> DatabaseDefinitions tableDefsWithPgCrypto tables =-  emptyDbDefinitions {dbTables = tables, dbExtensions = ["pgcrypto"]}+  emptyDbDefinitions+    { dbTables = tables+    , dbExtensions = ["pgcrypto"]+    , dbDomains = [testDomainColor]+    }+  where+    testDomainColor =+      Domain+        { domName = "test_domain_color"+        , domType = TextT+        , domNullable = False+        , domDefault = Nothing+        , domChecks =+            mkChecks+              [ tblCheck+                  { chkName = "test_domain_color"+                  , chkCondition = "VALUE ~ '^#[0-9a-f]{6}$'::text"+                  }+              ]+        }  main :: IO () main = do