packages feed

beam-core 0.10.1.0 → 0.10.2.0

raw patch · 7 files changed

+38/−11 lines, 7 filesnew-uploaderPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Database.Beam.Backend.SQL.AST: instance Database.Beam.Backend.SQL.SQL92.HasSqlValueSyntax Database.Beam.Backend.SQL.AST.Value Data.ByteString.Internal.ByteString
+ Database.Beam.Backend.SQL.AST: SchemaName :: Text -> SchemaName
+ Database.Beam.Backend.SQL.AST: data SchemaName
+ Database.Beam.Backend.SQL.AST: instance Database.Beam.Backend.SQL.SQL92.HasSqlValueSyntax Database.Beam.Backend.SQL.AST.Value Data.ByteString.Internal.Type.ByteString
+ Database.Beam.Backend.SQL.AST: instance Database.Beam.Backend.SQL.SQL92.IsSql92SchemaNameSyntax Database.Beam.Backend.SQL.AST.SchemaName
+ Database.Beam.Backend.SQL.AST: instance GHC.Classes.Eq Database.Beam.Backend.SQL.AST.SchemaName
+ Database.Beam.Backend.SQL.AST: instance GHC.Classes.Ord Database.Beam.Backend.SQL.AST.SchemaName
+ Database.Beam.Backend.SQL.AST: instance GHC.Show.Show Database.Beam.Backend.SQL.AST.SchemaName
+ Database.Beam.Backend.SQL.Builder: instance Database.Beam.Backend.SQL.SQL92.IsSql92SchemaNameSyntax Database.Beam.Backend.SQL.Builder.SqlSyntaxBuilder
+ Database.Beam.Backend.SQL.Row: instance Database.Beam.Backend.SQL.Row.FromBackendRow be a => Database.Beam.Backend.SQL.Row.FromBackendRow be (Data.Functor.Identity.Identity a)
+ Database.Beam.Backend.SQL.Row: instance Database.Beam.Backend.SQL.Row.FromBackendRow be x => Database.Beam.Backend.SQL.Row.GFromBackendRow be (GHC.Generics.K1 GHC.Generics.R (Database.Beam.Backend.Types.Exposed x)) (GHC.Generics.K1 GHC.Generics.R (Data.Functor.Identity.Identity x))
+ Database.Beam.Backend.SQL.SQL92: class IsSql92SchemaNameSyntax schemaName
+ Database.Beam.Backend.SQL.SQL92: schemaName :: IsSql92SchemaNameSyntax schemaName => Text -> schemaName
- Database.Beam: class Generic a
+ Database.Beam: class () => Generic a
- Database.Beam: class Typeable (a :: k)
+ Database.Beam: class () => Typeable (a :: k)
- Database.Beam: data Identity a
+ Database.Beam: data () => Identity a
- Database.Beam.Backend.Internal.Compat: type PreferExplicitSize implicit explicit = 'Text "The size of " :<>: 'ShowType implicit :<>: 'Text " is machine-dependent. Use an explicitly sized integer such as " :<>: 'ShowType explicit :<>: 'Text " instead."
+ Database.Beam.Backend.Internal.Compat: type PreferExplicitSize implicit explicit = 'Text "The size of " ':<>: 'ShowType implicit ':<>: 'Text " is machine-dependent. Use an explicitly sized integer such as " ':<>: 'ShowType explicit ':<>: 'Text " instead."
- Database.Beam.Schema.Tables: data ( (f :: k -> Type) :*: (g :: k -> Type) ) (p :: k)
+ Database.Beam.Schema.Tables: data () => ( (f :: k -> Type) :*: (g :: k -> Type) ) (p :: k)

Files

ChangeLog.md view
@@ -1,17 +1,24 @@+# 0.10.2.0++## Added features++ * Added support for creating database schemas and associated tables with `createDatabaseSchema`, `createTableWithSchema`, and `existingDatabaseSchema` (#716).+ * Added `FromBackendRow` instance for `Identity` (#717).+ # 0.10.1.0 -# Added features+## Added features   * Allow embedding database types  * Loosen some version bounds  # 0.10.0.0 -# Bug fixes+## Bug fixes   * Make sure lateral join names do not overlap -# Addded features+## Addded features   * Add `runSelectReturningFirst`  * `IN (SELECT ...)` syntax via `inQuery_`
Database/Beam/Backend/SQL/AST.hs view
@@ -464,6 +464,12 @@    groupByExpressions = Grouping +data SchemaName = SchemaName Text+  deriving (Show, Eq, Ord)++instance IsSql92SchemaNameSyntax SchemaName where+  schemaName = SchemaName+ data TableName = TableName (Maybe Text) Text   deriving (Show, Eq, Ord) 
Database/Beam/Backend/SQL/Builder.hs view
@@ -405,6 +405,9 @@                     buildSepBy (byteString ", ") (map buildSql vs) <>                     byteString ")") vss) +instance IsSql92SchemaNameSyntax SqlSyntaxBuilder where+  schemaName = SqlSyntaxBuilder . quoteSql+ instance IsSql92TableNameSyntax SqlSyntaxBuilder where   tableName Nothing t  = SqlSyntaxBuilder $ quoteSql t   tableName (Just s) t = SqlSyntaxBuilder $ quoteSql s <> byteString "." <> quoteSql t
Database/Beam/Backend/SQL/Row.hs view
@@ -102,6 +102,8 @@   valuesNeeded :: Proxy be -> Proxy a -> Int   valuesNeeded _ _ = 1 +deriving instance FromBackendRow be a => FromBackendRow be (Identity a)+ class GFromBackendRow be (exposed :: Type -> Type) rep where   gFromBackendRow :: Proxy exposed -> FromBackendRowM be (rep ())   gValuesNeeded :: Proxy be -> Proxy exposed -> Proxy rep -> Int@@ -115,6 +117,9 @@   gFromBackendRow _ = (:*:) <$> gFromBackendRow (Proxy @aExp) <*> gFromBackendRow (Proxy @bExp)   gValuesNeeded be _ _ = gValuesNeeded be (Proxy @aExp) (Proxy @a) + gValuesNeeded be (Proxy @bExp) (Proxy @b) instance FromBackendRow be x => GFromBackendRow be (K1 R (Exposed x)) (K1 R x) where+  gFromBackendRow _ = K1 <$> fromBackendRow+  gValuesNeeded be _ _ = valuesNeeded be (Proxy @x)+instance FromBackendRow be x => GFromBackendRow be (K1 R (Exposed x))  (K1 R (Identity x)) where   gFromBackendRow _ = K1 <$> fromBackendRow   gValuesNeeded be _ _ = valuesNeeded be (Proxy @x) instance FromBackendRow be (t Identity) => GFromBackendRow be (K1 R (t Exposed)) (K1 R (t Identity)) where
Database/Beam/Backend/SQL/SQL92.hs view
@@ -343,6 +343,10 @@   ascOrdering, descOrdering     :: Sql92OrderingExpressionSyntax ord -> ord +class IsSql92SchemaNameSyntax schemaName where+  schemaName :: Text {-^ Schema name -}+             -> schemaName+ class IsSql92TableNameSyntax tblName where   tableName :: Maybe Text {-^ Schema -}             -> Text {-^ Table name -}
Database/Beam/Schema/Tables.hs view
@@ -187,7 +187,9 @@ -- > db = defaultDbSettings `withDbModification` -- >      dbModification { -- >        -- Change default name "table1" to "Table_1". Change the name of "table1Field1" to "first_name"--- >        table1 = modifyTable (\_ -> "Table_1") (tableModification { table1Field1 = "first_name" }+-- >        table1 = setEntityName "Table_1" <> modifyTableFields tableModification { +-- >            table1Field1 = "first_name" +-- >         } -- >      } withDbModification :: forall db be entity                     . Database be db
beam-core.cabal view
@@ -2,7 +2,7 @@ -- see http://haskell.org/cabal/users-guide/  name:                beam-core-version:             0.10.1.0+version:             0.10.2.0 synopsis:            Type-safe, feature-complete SQL query and manipulation interface for Haskell description:         Beam is a Haskell library for type-safe querying and manipulation of SQL databases.                      Beam is modular and supports various backends. In order to use beam, you will need to use@@ -61,21 +61,21 @@                        Database.Beam.Schema.Lenses    build-depends:       base         >=4.11    && <5.0,-                       aeson        >=0.11    && <2.2,-                       text         >=1.2.2.0 && <2.1,-                       bytestring   >=0.10    && <0.12,+                       aeson        >=0.11    && <2.3,+                       text         >=1.2.2.0 && <2.2,+                       bytestring   >=0.10    && <0.13,                        mtl          >=2.2.1   && <2.4,                        microlens    >=0.4     && <0.5,-                       ghc-prim     >=0.5     && <0.11,+                       ghc-prim     >=0.5     && <0.12,                        free         >=4.12    && <5.3,                        dlist        >=0.7.1.2 && <1.1,                        time         >=1.6     && <1.13,                        hashable     >=1.2.4.0 && <1.5,                        network-uri  >=2.6     && <2.7,-                       containers   >=0.5     && <0.7,+                       containers   >=0.5     && <0.8,                        scientific   >=0.3     && <0.4,                        vector       >=0.11    && <0.14,-                       vector-sized >=0.5     && <1.6,+                       vector-sized >=0.5     && <1.7,                        tagged       >=0.8     && <0.9    Default-language:    Haskell2010