From 025b1f833b66ab6f6c089fccaaa2326c878cc84d Mon Sep 17 00:00:00 2001 From: Jeff Foster Date: Sun, 19 Jul 2015 09:01:55 +0100 Subject: [PATCH 1/3] fix all the hlint warnings --- .../SqlServer/Definitions/Certificate.hs | 5 +---- .../SqlServer/Definitions/DataTypes.hs | 21 ++++++++++--------- .../SqlServer/Definitions/FullTextCatalog.hs | 4 ++-- .../SqlServer/Definitions/Function.hs | 8 +++---- src/Database/SqlServer/Definitions/Login.hs | 4 ++-- .../SqlServer/Definitions/MessageType.hs | 2 +- src/Database/SqlServer/Definitions/Queue.hs | 2 +- .../SqlServer/Definitions/Sequence.hs | 16 +++++++------- src/Database/SqlServer/Definitions/User.hs | 4 ++-- 9 files changed, 32 insertions(+), 34 deletions(-) diff --git a/src/Database/SqlServer/Definitions/Certificate.hs b/src/Database/SqlServer/Definitions/Certificate.hs index 2eadaa2..1760754 100644 --- a/src/Database/SqlServer/Definitions/Certificate.hs +++ b/src/Database/SqlServer/Definitions/Certificate.hs @@ -1,6 +1,3 @@ -{-# LANGUAGE DeriveGeneric #-} -{-# LANGUAGE TemplateHaskell #-} - module Database.SqlServer.Definitions.Certificate where import Database.SqlServer.Definitions.Identifiers @@ -43,7 +40,7 @@ instance Arbitrary Certificate where str <- elements [Just (addDays x eDay), Nothing] ep <- arbitrary sub <- arbitrary - return $ Certificate { + return Certificate { certificateName = name , activeForBeginDialog = afbd , startDate = str diff --git a/src/Database/SqlServer/Definitions/DataTypes.hs b/src/Database/SqlServer/Definitions/DataTypes.hs index 52ee75b..5b8fe6b 100644 --- a/src/Database/SqlServer/Definitions/DataTypes.hs +++ b/src/Database/SqlServer/Definitions/DataTypes.hs @@ -192,12 +192,16 @@ instance Arbitrary SQLDate where data SQLDateTime = SQLDateTime UTCTime +dateBetween :: Integer -> Integer -> Gen Day +dateBetween startYear endYear = do + y <- choose (startYear,endYear) + m <- choose (1,12) + d <- choose (1,31) + return (fromGregorian y m d) + instance Arbitrary SQLDateTime where arbitrary = do - y <- choose (1753,9999) - m <- choose (1,12) - d <- choose (1,31) - let day = fromGregorian y m d + day <- dateBetween 1753 9999 datetime <- choose (0,86400) return (SQLDateTime (UTCTime day (secondsToDiffTime datetime))) @@ -205,10 +209,7 @@ data SQLSmallDateTime = SQLSmallDateTime UTCTime instance Arbitrary SQLSmallDateTime where arbitrary = do - y <- choose (1900,2078) - m <- choose (1,12) - d <- choose (1,31) - let day = fromGregorian y m d + day <- dateBetween 1900 2078 datetime <- choose (0,86400) return (SQLSmallDateTime (UTCTime day (secondsToDiffTime datetime))) @@ -275,7 +276,7 @@ data SQLVariant = SQLVariantInt Int instance Arbitrary SQLVariant where arbitrary = do x <- arbitrary - y <- elements [\y -> SQLVariantString (show y), \y -> SQLVariantInt y] + y <- elements [SQLVariantString . show, SQLVariantInt] return $ y x data SQLXml = SQLXml String @@ -468,7 +469,7 @@ renderValue (BigInt _ v) = Just $ (text . show) v renderValue (Int _ v) = Just $ (text . show) v renderValue (TinyInt _ v) = Just $ (text . show) v renderValue (SmallInt _ v) = Just $ (text . show) v -renderValue (Bit _ b) = Just $ maybe (text "NULL") (\x -> if x then int 1 else int 0) b +renderValue (Bit _ b) = Just $ maybe (text "NULL") (\x -> int (if x then 1 else 0)) b renderValue (SmallMoney _ s) = Just $ text (divideBy10000 $ fromIntegral s) renderValue (Money _ s) = Just $ text (divideBy10000 $ fromIntegral s) renderValue (Date _ d) = Just $ renderSQLDate d diff --git a/src/Database/SqlServer/Definitions/FullTextCatalog.hs b/src/Database/SqlServer/Definitions/FullTextCatalog.hs index a98920a..0af7ec5 100644 --- a/src/Database/SqlServer/Definitions/FullTextCatalog.hs +++ b/src/Database/SqlServer/Definitions/FullTextCatalog.hs @@ -22,7 +22,7 @@ data FullTextCatalog = FullTextCatalog derive makeArbitrary ''FullTextCatalog renderFileGroup :: RegularIdentifier -> Doc -renderFileGroup n = text "ON FILEGROUP" <+> (renderRegularIdentifier n) +renderFileGroup n = text "ON FILEGROUP" <+> renderRegularIdentifier n renderOptions :: Bool -> Doc renderOptions True = text "WITH ACCENT_SENSITIVITY = ON" @@ -33,5 +33,5 @@ instance Entity FullTextCatalog where renderRegularIdentifier (catalogName ftc) $+$ maybe empty renderFileGroup (filegroup ftc) $+$ maybe empty renderOptions (accentSensitive ftc) $+$ - if (asDefault ftc) then text "AS DEFAULT" else empty $+$ + if asDefault ftc then text "AS DEFAULT" else empty $+$ text "GO\n" diff --git a/src/Database/SqlServer/Definitions/Function.hs b/src/Database/SqlServer/Definitions/Function.hs index dc6a05e..9f5f872 100644 --- a/src/Database/SqlServer/Definitions/Function.hs +++ b/src/Database/SqlServer/Definitions/Function.hs @@ -40,8 +40,8 @@ renderFunctionOptions f | not (areThereAnyOptionsSet f) = empty | otherwise = text "WITH" <+> vcat (punctuate comma - (filter (/= empty) [ if (encryption f) then (text "ENCRYPTION") else empty - , if (schemaBinding f) then (text "SCHEMABINDING") else empty + (filter (/= empty) [ if encryption f then text "ENCRYPTION" else empty + , if schemaBinding f then text "SCHEMABINDING" else empty , maybe empty renderNullOption (nullOption f) ])) newtype InputType = InputType Type @@ -67,7 +67,7 @@ derive makeArbitrary ''Parameter newtype ReturnType = ReturnType Type instance Arbitrary ReturnType where - arbitrary = liftM ReturnType $ arbitrary `suchThat` (liftM isJust renderValue) + arbitrary = liftM ReturnType $ arbitrary `suchThat` liftM isJust renderValue renderReturnType :: ReturnType -> Doc renderReturnType (ReturnType t) = renderDataType t @@ -93,7 +93,7 @@ derive makeArbitrary ''Function instance Entity Function where toDoc (ScalarFunctionC f) = text "CREATE FUNCTION" <+> renderRegularIdentifier (scalarFunctionName f) <+> - (parens $ hcat (punctuate comma (map renderParameter (parameters f)))) $+$ + parens (hcat (punctuate comma (map renderParameter (parameters f)))) $+$ text "RETURNS" <+> renderReturnType (returnType f) $+$ renderFunctionOptions (functionOption f) $+$ text "AS" $+$ diff --git a/src/Database/SqlServer/Definitions/Login.hs b/src/Database/SqlServer/Definitions/Login.hs index 77ccd1a..a4b500d 100644 --- a/src/Database/SqlServer/Definitions/Login.hs +++ b/src/Database/SqlServer/Definitions/Login.hs @@ -21,14 +21,14 @@ derive makeArbitrary ''Login renderPassword :: RegularIdentifier -> Doc renderPassword s = text "WITH PASSWORD = " <> - (quotes (renderRegularIdentifier s)) + quotes (renderRegularIdentifier s) renderMustChange :: Bool -> Doc renderMustChange False = empty renderMustChange True = text "MUST_CHANGE" <> comma <> text "CHECK_EXPIRATION=ON" instance Entity Login where - toDoc a = text "CREATE LOGIN" <+> (renderRegularIdentifier (loginName a)) $+$ + toDoc a = text "CREATE LOGIN" <+> renderRegularIdentifier (loginName a) $+$ renderPassword (password a) <+> renderMustChange (mustChange a) diff --git a/src/Database/SqlServer/Definitions/MessageType.hs b/src/Database/SqlServer/Definitions/MessageType.hs index 9feac3e..bc1aa9f 100644 --- a/src/Database/SqlServer/Definitions/MessageType.hs +++ b/src/Database/SqlServer/Definitions/MessageType.hs @@ -43,7 +43,7 @@ renderValidation WellFormedXml = text "VALIDATION = WELL_FORMED_XML" instance Entity MessageType where toDoc m = maybe empty renderPreRequisites (authorization m) $+$ - text "CREATE MESSAGE TYPE" <+> (renderRegularIdentifier (messageTypeName m)) $+$ + text "CREATE MESSAGE TYPE" <+> renderRegularIdentifier (messageTypeName m) $+$ maybe empty renderAuthorization (authorization m) $+$ maybe empty renderValidation (validation m) diff --git a/src/Database/SqlServer/Definitions/Queue.hs b/src/Database/SqlServer/Definitions/Queue.hs index 50df3db..7afd4eb 100644 --- a/src/Database/SqlServer/Definitions/Queue.hs +++ b/src/Database/SqlServer/Definitions/Queue.hs @@ -90,7 +90,7 @@ renderActivation a = text "ACTIVATION(" <+> instance Entity Queue where toDoc q = maybe empty renderProc (activation q) $+$ - text "CREATE QUEUE" <+> (renderRegularIdentifier (queueName q)) <+> options $+$ text "GO" + text "CREATE QUEUE" <+> renderRegularIdentifier (queueName q) <+> options $+$ text "GO" where options | not $ anySpecified q = empty diff --git a/src/Database/SqlServer/Definitions/Sequence.hs b/src/Database/SqlServer/Definitions/Sequence.hs index e49c018..387ec48 100644 --- a/src/Database/SqlServer/Definitions/Sequence.hs +++ b/src/Database/SqlServer/Definitions/Sequence.hs @@ -86,7 +86,7 @@ arbitraryValue (Just TinyInt) = boundedMaybeInt (0,255) arbitraryValue (Just SmallInt) = boundedMaybeInt (- 32768,32767) arbitraryValue (Just Int) = boundedMaybeInt (- 2147483648,214748367) arbitraryValue (Just BigInt) = boundedMaybeInt (- 9223372036854775808,9223372036854775807) -arbitraryValue _ = oneof [liftM Just $ arbitrary,return Nothing] +arbitraryValue _ = oneof [liftM Just arbitrary,return Nothing] arbitraryCacheValue :: Gen (Maybe Integer) arbitraryCacheValue = frequency [(50,liftM Just $ choose (1,500)), (50,return Nothing)] @@ -123,12 +123,12 @@ validIncrementBy' x min' max' incr' = maybe True (\incr -> abs incr <= dif diff = abs (max'' - min'') validMinimum :: Maybe NumericType -> Maybe Integer -> Bool -validMinimum x y = case (numericBounds x) of +validMinimum x y = case numericBounds x of Nothing -> True Just (_,max') -> maybe True (< max') y validMaximum :: Maybe NumericType -> Maybe Integer -> Bool -validMaximum x y = case (numericBounds x) of +validMaximum x y = case numericBounds x of Nothing -> True Just (min',_) -> maybe True (> min') y @@ -136,16 +136,16 @@ instance Arbitrary Sequence where arbitrary = do nm <- arbitrary dataType <- arbitrary - minV <- arbitraryValue dataType `suchThat` (validMinimum dataType) - maxV <- arbitraryValue dataType `suchThat` (\x -> greaterThanMin minV x && validMaximum dataType x) - start <- arbitraryValue dataType `suchThat` (\x -> greaterThanMin minV x && lessThanMax maxV x) - increment <- arbitraryValue dataType `suchThat` (validIncrementBy dataType minV maxV) + minV <- arbitraryValue dataType `suchThat` validMinimum dataType + maxV <- arbitraryValue dataType `suchThat` \x -> greaterThanMin minV x && validMaximum dataType x + start <- arbitraryValue dataType `suchThat` \x -> greaterThanMin minV x && lessThanMax maxV x + increment <- arbitraryValue dataType `suchThat` validIncrementBy dataType minV maxV cyc <- arbitrary hasMinValue <- elements [Just, const Nothing] hasMaxValue <- elements [Just, const Nothing] hasChcValue <- elements [Just, const Nothing] chc <- arbitraryCacheValue - return $ Sequence { + return Sequence { sequenceName = nm , sequenceType = dataType , startWith = start diff --git a/src/Database/SqlServer/Definitions/User.hs b/src/Database/SqlServer/Definitions/User.hs index 64b0930..a864b03 100644 --- a/src/Database/SqlServer/Definitions/User.hs +++ b/src/Database/SqlServer/Definitions/User.hs @@ -66,11 +66,11 @@ data Role = Role derive makeArbitrary ''Role renderAuthorization :: User -> Doc -renderAuthorization ud = text "AUTHORIZATION" <+> (renderUserName ud) +renderAuthorization ud = text "AUTHORIZATION" <+> renderUserName ud instance Entity Role where toDoc rd = maybe empty toDoc (authorization rd) $+$ text "GO" $+$ - text "CREATE ROLE" <+> (renderRegularIdentifier $ roleName rd) <+> + text "CREATE ROLE" <+> renderRegularIdentifier (roleName rd) <+> maybe empty renderAuthorization (authorization rd) instance Show Role where From 87878b42c83959b1825b791d7f2a92a908baa5c5 Mon Sep 17 00:00:00 2001 From: Jeff Foster Date: Sun, 19 Jul 2015 09:12:11 +0100 Subject: [PATCH 2/3] start to tidy up imports --- src/Database/SqlServer/Definitions/DataTypes.hs | 17 ++++++++++++++++- src/Database/SqlServer/Definitions/Table.hs | 17 ++++++----------- 2 files changed, 22 insertions(+), 12 deletions(-) diff --git a/src/Database/SqlServer/Definitions/DataTypes.hs b/src/Database/SqlServer/Definitions/DataTypes.hs index 5b8fe6b..8acb294 100644 --- a/src/Database/SqlServer/Definitions/DataTypes.hs +++ b/src/Database/SqlServer/Definitions/DataTypes.hs @@ -1,7 +1,22 @@ {-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE TemplateHaskell #-} -module Database.SqlServer.Definitions.DataTypes where +module Database.SqlServer.Definitions.DataTypes + ( + Type + , renderDataType + , collation + , renderSparse + , storageOptions + , rowGuidOptions + , storageSize + , renderRowGuidConstraint + , isRowGuidCol + , nullOptions + , renderNullConstraint + , isTimestamp + , renderValue + ) where import Database.SqlServer.Definitions.Collations (Collation) import Database.SqlServer.Definitions.Identifiers (ArbUUID(..)) diff --git a/src/Database/SqlServer/Definitions/Table.hs b/src/Database/SqlServer/Definitions/Table.hs index 4ea7cb1..8131c62 100644 --- a/src/Database/SqlServer/Definitions/Table.hs +++ b/src/Database/SqlServer/Definitions/Table.hs @@ -5,7 +5,7 @@ module Database.SqlServer.Definitions.Table where import Database.SqlServer.Definitions.Identifiers (RegularIdentifier, renderRegularIdentifier) import Database.SqlServer.Definitions.DataTypes ( - Type(..), + Type, renderDataType, collation, renderSparse, @@ -15,7 +15,7 @@ import Database.SqlServer.Definitions.DataTypes ( storageSize, renderRowGuidConstraint, rowGuidOptions, - isRowGuidCol + isTimestamp ) import Database.SqlServer.Definitions.Collations (renderCollation) @@ -41,19 +41,14 @@ data Table = Table } columnConstraintsSatisfied :: [ColumnDefinition] -> Bool -columnConstraintsSatisfied xs = length (filter isTimeStamp xs) <= 1 && +columnConstraintsSatisfied xs = length (filter columnIsTimestamp xs) <= 1 && totalColumnSizeBytes <= 8060 && - length (filter oneGuidCol xs) <= 1 + length (filter (rowGuidOptions . dataType) xs) <= 1 where totalColumnSizeBits = (length xs * 8) + 32 + sum (map (storageSize . dataType) xs) totalColumnSizeBytes = totalColumnSizeBits `div` 8 + (if totalColumnSizeBits `rem` 8 /= 0 then 8 else 0) - isTimeStamp c = case dataType c of - (Timestamp _) -> True - _ -> False - oneGuidCol c = case dataType c of - (UniqueIdentifier s _) -> maybe False isRowGuidCol s -- TODO eliminate this - _ -> False - + columnIsTimestamp = isTimestamp . dataType + instance Arbitrary Table where arbitrary = do cols <- arbitrary From db7592053e5d6232f78fa4df0a6195e91fcd37f8 Mon Sep 17 00:00:00 2001 From: Jeff Foster Date: Sun, 19 Jul 2015 09:31:33 +0100 Subject: [PATCH 3/3] explicit export lists find bugs --- src/Database/SqlServer/Definitions/Certificate.hs | 6 +++++- src/Database/SqlServer/Definitions/Collations.hs | 6 +++++- src/Database/SqlServer/Definitions/Credential.hs | 5 ++++- src/Database/SqlServer/Definitions/DataTypes.hs | 6 +----- src/Database/SqlServer/Definitions/Entity.hs | 6 +++++- .../SqlServer/Definitions/FullTextCatalog.hs | 5 ++++- .../SqlServer/Definitions/FullTextStopList.hs | 5 ++++- src/Database/SqlServer/Definitions/Function.hs | 6 ++++-- src/Database/SqlServer/Definitions/Identifiers.hs | 10 +++++++++- src/Database/SqlServer/Definitions/MessageType.hs | 5 ++++- src/Database/SqlServer/Definitions/Procedure.hs | 7 ++++++- src/Database/SqlServer/Definitions/Sequence.hs | 7 +++++-- src/Database/SqlServer/Definitions/Table.hs | 5 ++++- src/Database/SqlServer/Definitions/User.hs | 12 +++++++++--- 14 files changed, 69 insertions(+), 22 deletions(-) diff --git a/src/Database/SqlServer/Definitions/Certificate.hs b/src/Database/SqlServer/Definitions/Certificate.hs index 1760754..1d723a6 100644 --- a/src/Database/SqlServer/Definitions/Certificate.hs +++ b/src/Database/SqlServer/Definitions/Certificate.hs @@ -1,4 +1,8 @@ -module Database.SqlServer.Definitions.Certificate where +module Database.SqlServer.Definitions.Certificate + ( + Certificate + , certificateName + ) where import Database.SqlServer.Definitions.Identifiers import Database.SqlServer.Definitions.Entity diff --git a/src/Database/SqlServer/Definitions/Collations.hs b/src/Database/SqlServer/Definitions/Collations.hs index 2fc738d..8d25094 100644 --- a/src/Database/SqlServer/Definitions/Collations.hs +++ b/src/Database/SqlServer/Definitions/Collations.hs @@ -1,4 +1,8 @@ -module Database.SqlServer.Definitions.Collations where +module Database.SqlServer.Definitions.Collations + ( + Collation + , renderCollation + ) where import Test.QuickCheck import Text.PrettyPrint diff --git a/src/Database/SqlServer/Definitions/Credential.hs b/src/Database/SqlServer/Definitions/Credential.hs index 052cb70..8b3db20 100644 --- a/src/Database/SqlServer/Definitions/Credential.hs +++ b/src/Database/SqlServer/Definitions/Credential.hs @@ -2,7 +2,10 @@ {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE GADTs #-} -module Database.SqlServer.Definitions.Credential where +module Database.SqlServer.Definitions.Credential + ( + Credential + ) where import Database.SqlServer.Definitions.Identifiers hiding (unwrap) import Database.SqlServer.Definitions.Entity diff --git a/src/Database/SqlServer/Definitions/DataTypes.hs b/src/Database/SqlServer/Definitions/DataTypes.hs index 8acb294..3b7d99a 100644 --- a/src/Database/SqlServer/Definitions/DataTypes.hs +++ b/src/Database/SqlServer/Definitions/DataTypes.hs @@ -19,7 +19,7 @@ module Database.SqlServer.Definitions.DataTypes ) where import Database.SqlServer.Definitions.Collations (Collation) -import Database.SqlServer.Definitions.Identifiers (ArbUUID(..)) +import Database.SqlServer.Definitions.Identifiers (ArbUUID) import Text.PrettyPrint @@ -86,10 +86,6 @@ data VarBinaryStorage = SizedRange Range | MaxNoFileStream | MaxFileStream -renderFileStream :: VarBinaryStorage -> Doc -renderFileStream MaxFileStream = text "FILESTREAM" -renderFileStream _ = empty - renderVarBinaryStorage :: VarBinaryStorage -> Doc renderVarBinaryStorage (SizedRange r) = renderRange r renderVarBinaryStorage MaxFileStream = text "(max)" diff --git a/src/Database/SqlServer/Definitions/Entity.hs b/src/Database/SqlServer/Definitions/Entity.hs index 98c79ed..9884353 100644 --- a/src/Database/SqlServer/Definitions/Entity.hs +++ b/src/Database/SqlServer/Definitions/Entity.hs @@ -1,4 +1,8 @@ -module Database.SqlServer.Definitions.Entity where +module Database.SqlServer.Definitions.Entity + ( + Entity, + toDoc + ) where import Text.PrettyPrint diff --git a/src/Database/SqlServer/Definitions/FullTextCatalog.hs b/src/Database/SqlServer/Definitions/FullTextCatalog.hs index 0af7ec5..b05af94 100644 --- a/src/Database/SqlServer/Definitions/FullTextCatalog.hs +++ b/src/Database/SqlServer/Definitions/FullTextCatalog.hs @@ -1,7 +1,10 @@ {-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE TemplateHaskell #-} -module Database.SqlServer.Definitions.FullTextCatalog where +module Database.SqlServer.Definitions.FullTextCatalog + ( + FullTextCatalog + ) where import Database.SqlServer.Definitions.Identifiers import Database.SqlServer.Definitions.Entity diff --git a/src/Database/SqlServer/Definitions/FullTextStopList.hs b/src/Database/SqlServer/Definitions/FullTextStopList.hs index 9df56af..cfc3ea4 100644 --- a/src/Database/SqlServer/Definitions/FullTextStopList.hs +++ b/src/Database/SqlServer/Definitions/FullTextStopList.hs @@ -1,4 +1,7 @@ -module Database.SqlServer.Definitions.FullTextStopList where +module Database.SqlServer.Definitions.FullTextStopList + ( + FullTextStopList + ) where import Database.SqlServer.Definitions.Identifiers import Database.SqlServer.Definitions.Entity diff --git a/src/Database/SqlServer/Definitions/Function.hs b/src/Database/SqlServer/Definitions/Function.hs index 9f5f872..eb89634 100644 --- a/src/Database/SqlServer/Definitions/Function.hs +++ b/src/Database/SqlServer/Definitions/Function.hs @@ -2,7 +2,10 @@ {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE GADTs #-} -module Database.SqlServer.Definitions.Function where +module Database.SqlServer.Definitions.Function + ( + Function + ) where import Database.SqlServer.Definitions.Identifiers hiding (unwrap) import Database.SqlServer.Definitions.DataTypes @@ -81,7 +84,6 @@ data ScalarFunction = ScalarFunction scalarFunctionName :: RegularIdentifier , parameters :: [Parameter] , returnType :: ReturnType - , functionBody :: String , functionOption :: FunctionOption } diff --git a/src/Database/SqlServer/Definitions/Identifiers.hs b/src/Database/SqlServer/Definitions/Identifiers.hs index 631ffce..024a9b5 100644 --- a/src/Database/SqlServer/Definitions/Identifiers.hs +++ b/src/Database/SqlServer/Definitions/Identifiers.hs @@ -2,7 +2,15 @@ {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE GADTs #-} -module Database.SqlServer.Definitions.Identifiers where +module Database.SqlServer.Definitions.Identifiers + ( + RegularIdentifier + , ArbUUID + , ParameterIdentifier + , renderRegularIdentifier + , renderParameterIdentifier + , unwrap + ) where import Data.DeriveTH import Test.QuickCheck diff --git a/src/Database/SqlServer/Definitions/MessageType.hs b/src/Database/SqlServer/Definitions/MessageType.hs index bc1aa9f..02d6993 100644 --- a/src/Database/SqlServer/Definitions/MessageType.hs +++ b/src/Database/SqlServer/Definitions/MessageType.hs @@ -2,7 +2,10 @@ {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE GADTs #-} -module Database.SqlServer.Definitions.MessageType where +module Database.SqlServer.Definitions.MessageType + ( + MessageType + ) where import Database.SqlServer.Definitions.Identifiers hiding (unwrap) import Database.SqlServer.Definitions.User (User,Role,roleName,renderUserName) diff --git a/src/Database/SqlServer/Definitions/Procedure.hs b/src/Database/SqlServer/Definitions/Procedure.hs index 118235e..32df237 100644 --- a/src/Database/SqlServer/Definitions/Procedure.hs +++ b/src/Database/SqlServer/Definitions/Procedure.hs @@ -2,7 +2,12 @@ {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE GADTs #-} -module Database.SqlServer.Definitions.Procedure where +module Database.SqlServer.Definitions.Procedure + ( + Procedure, + parameters, + procedureName + ) where import Database.SqlServer.Definitions.Identifiers hiding (unwrap) import Database.SqlServer.Definitions.DataTypes diff --git a/src/Database/SqlServer/Definitions/Sequence.hs b/src/Database/SqlServer/Definitions/Sequence.hs index 387ec48..207a311 100644 --- a/src/Database/SqlServer/Definitions/Sequence.hs +++ b/src/Database/SqlServer/Definitions/Sequence.hs @@ -2,11 +2,14 @@ {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE GADTs #-} -module Database.SqlServer.Definitions.Sequence where +module Database.SqlServer.Definitions.Sequence + ( + Sequence + ) where import Prelude hiding (cycle) -import Database.SqlServer.Definitions.Identifiers (RegularIdentifier(..), renderRegularIdentifier) +import Database.SqlServer.Definitions.Identifiers (RegularIdentifier, renderRegularIdentifier) import Database.SqlServer.Definitions.Entity import Text.PrettyPrint diff --git a/src/Database/SqlServer/Definitions/Table.hs b/src/Database/SqlServer/Definitions/Table.hs index 8131c62..147f287 100644 --- a/src/Database/SqlServer/Definitions/Table.hs +++ b/src/Database/SqlServer/Definitions/Table.hs @@ -1,7 +1,10 @@ {-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE TemplateHaskell #-} -module Database.SqlServer.Definitions.Table where +module Database.SqlServer.Definitions.Table + ( + Table + ) where import Database.SqlServer.Definitions.Identifiers (RegularIdentifier, renderRegularIdentifier) import Database.SqlServer.Definitions.DataTypes ( diff --git a/src/Database/SqlServer/Definitions/User.hs b/src/Database/SqlServer/Definitions/User.hs index a864b03..fff016d 100644 --- a/src/Database/SqlServer/Definitions/User.hs +++ b/src/Database/SqlServer/Definitions/User.hs @@ -1,7 +1,13 @@ {-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE TemplateHaskell #-} -module Database.SqlServer.Definitions.User where +module Database.SqlServer.Definitions.User + ( + User + , Role + , renderUserName + , roleName + ) where import Database.SqlServer.Definitions.Identifiers import Database.SqlServer.Definitions.Entity @@ -16,8 +22,8 @@ data ForFrom = For | From -- TODO asymmetric key data User = CreateUserWithoutLogin RegularIdentifier - | CreateUserWithCertificate RegularIdentifier ForFrom Certificate - | CreateUserWithLogin RegularIdentifier ForFrom Login + | CreateUserWithCertificate RegularIdentifier ForFrom Certificate + | CreateUserWithLogin RegularIdentifier ForFrom Login derive makeArbitrary ''ForFrom