on master help sign in
implement hlint suggestions
commitfd319630f605c9af897ab11175e6612307b268ae authorAgentM <agentm@themactionfaction.com> dateSat 26 Dec 2020, 02:13 (6 years ago) parentf843252
10 files changed+44−94
project-m36.cabal+17−64 src/lib/ProjectM36/Client.hs+5−6 src/lib/ProjectM36/DataFrame.hs+1−1 src/lib/ProjectM36/IsomorphicSchema.hs+1−1 src/lib/ProjectM36/Serialise/Base.hs+1−1 src/lib/ProjectM36/Serialise/IsomorphicSchema.hs+1−1 src/lib/ProjectM36/Server.hs+1−1 src/lib/ProjectM36/Server/EntryPoints.hs+15−17 src/lib/ProjectM36/Server/RemoteCallTypes.hs+1−1 src/lib/ProjectM36/TransactionGraph.hs+1−1
project-m36.cabal+17−64
@@ -214,8 +214,8 @@ Executable project-m36-server
214214 Build-Depends: ghc >= 8.2 && < 8.11
215215 Build-Depends: base,
216216 ghc-paths,
217− project-m36,
218217 transformers,
218+ project-m36,
219219 temporary,
220220 data-interval,
221221 deepseq,
@@ -319,48 +319,33 @@ Test-Suite test-relation-import-csv
319319 main-is: test/Relation/Import/CSV.hs
320320
321321Test-Suite test-tutoriald-import-tutoriald
322− Default-Language: Haskell2010
323− Default-Extensions: OverloadedStrings
322+ import: commontest
324323 type: exitcode-stdio-1.0
325324 main-is: test/TutorialD/Interpreter/Import/TutorialD.hs
326− Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, vector-binary-instances, time, hashable-time, bytestring, uuid, stm, deepseq, deepseq-generics,parallel, cassava, attoparsec, gnuplot, directory, temporary, haskeline, megaparsec, text, base64-bytestring, data-interval, filepath, stm-containers, project-m36, random, MonadRandom, semigroups, parser-combinators
327325 Other-Modules: TutorialD.Interpreter.Base, TutorialD.Interpreter.Import.Base, TutorialD.Interpreter.Import.TutorialD, TutorialD.Interpreter.RelationalExpr, TutorialD.Interpreter.Types, TutorialD.Interpreter.DatabaseContextExpr, TutorialD.Interpreter.Import.BasicExamples
328− GHC-Options: -Wall -threaded
329− Hs-Source-Dirs: ., ./src/bin
326+
330327
331328Test-Suite test-relation-export-csv
332− Default-Language: Haskell2010
333− Default-Extensions: OverloadedStrings
329+ import: commontest
334330 type: exitcode-stdio-1.0
335331 main-is: test/Relation/Export/CSV.hs
336− Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, vector-binary-instances, time, hashable-time, bytestring, uuid, stm, deepseq, deepseq-generics,parallel, cassava, attoparsec, gnuplot, directory, temporary, haskeline, megaparsec, text, base64-bytestring, data-interval, filepath, stm-containers, project-m36
337− GHC-Options: -Wall -threaded
338332
339333Test-Suite test-transactiongraph-merge
340− Default-Language: Haskell2010
341− Default-Extensions: OverloadedStrings
334+ import: commontest
342335 type: exitcode-stdio-1.0
343336 main-is: test/TransactionGraph/Merge.hs
344− Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, vector-binary-instances, time, hashable-time, bytestring, uuid, stm, deepseq, deepseq-generics,parallel, cassava, attoparsec, gnuplot, directory, temporary, haskeline, megaparsec, text, base64-bytestring, data-interval, filepath, template-haskell, transformers, aeson, conduit, either, path-pieces, http-api-data, stm-containers, list-t, project-m36
345− GHC-Options: -Wall -threaded
337+
346338
347339benchmark bench
348− Default-Language: Haskell2010
349− Default-Extensions: OverloadedStrings
340+ import: commontest
350341 type: exitcode-stdio-1.0
351342 main-is: benchmark/Relation.hs
352− Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, vector-binary-instances, time, hashable-time, bytestring, uuid, stm, deepseq, deepseq-generics,parallel, cassava, attoparsec, gnuplot, directory, temporary, haskeline, megaparsec, text, base64-bytestring, data-interval, filepath, criterion, stm-containers, project-m36
353− GHC-Options: -Wall -rtsopts -threaded
354− Hs-Source-Dirs: ./src/bin
355343
356344Test-Suite test-server
357− Default-Language: Haskell2010
358− Default-Extensions: OverloadedStrings
345+ import: commontest
359346 type: exitcode-stdio-1.0
360347 main-is: test/Server/Main.hs
361− Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, vector-binary-instances, time, hashable-time, bytestring, network-transport-tcp, uuid, stm, deepseq, deepseq-generics,parallel, cassava, attoparsec, gnuplot, directory, temporary, haskeline, megaparsec, text, base64-bytestring, data-interval, filepath, transformers, stm-containers, list-t, project-m36, network-transport, semigroups
362− HS-Source-Dirs: ., ./src/bin
363− GHC-Options: -Wall -threaded
348+
364349
365350Executable Example-SimpleClient
366351 Default-Language: Haskell2010
@@ -408,14 +393,10 @@ Executable Example-DerivingCustomTupleable
408393 GHC-Options: -Wall -threaded
409394
410395Test-Suite test-scripts
411− Default-Language: Haskell2010
412− Default-Extensions: OverloadedStrings
396+ import: commontest
413397 type: exitcode-stdio-1.0
414398 main-is: test/scripts.hs
415− Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, vector-binary-instances, time, hashable-time, bytestring, network-transport-tcp, uuid, stm, deepseq, deepseq-generics,parallel, cassava, attoparsec, gnuplot, directory, temporary, haskeline, megaparsec, text, base64-bytestring, data-interval, filepath, transformers, stm-containers, list-t, project-m36, random, MonadRandom, semigroups, parser-combinators
416399 Other-Modules: TutorialD.Interpreter.Base, TutorialD.Interpreter.DatabaseContextExpr, TutorialD.Interpreter.Import.Base, TutorialD.Interpreter.Import.TutorialD, TutorialD.Interpreter.RelationalExpr, TutorialD.Interpreter.Types, TutorialD.Interpreter.Import.BasicExamples
417− GHC-Options: -Wall -threaded
418− Hs-Source-Dirs: ., ./src/bin
419400
420401Executable project-m36-websocket-server
421402 Default-Language: Haskell2010
@@ -427,70 +408,42 @@ Executable project-m36-websocket-server
427408 Default-Extensions: OverloadedStrings
428409
429410Test-Suite test-websocket-server
430− Default-Language: Haskell2010
411+ import: commontest
431412 type: exitcode-stdio-1.0
432413 main-is: test/Server/WebSocket.hs
433− Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, vector-binary-instances, time, hashable-time, bytestring, uuid, stm, deepseq, deepseq-generics,parallel, cassava, attoparsec, gnuplot, directory, temporary, haskeline, megaparsec, text, base64-bytestring, data-interval, filepath, transformers, stm-containers, list-t, websockets, optparse-applicative, network, aeson, project-m36, random, MonadRandom, network-transport-tcp, semigroups, parser-combinators
434414 Other-Modules: TutorialD.Interpreter.Export.Base, TutorialD.Interpreter.Export.CSV, TutorialD.Interpreter.Import.BasicExamples, TutorialD.Interpreter.Import.CSV, TutorialD.Interpreter.InformationOperator, TutorialD.Interpreter.RODatabaseContextOperator, TutorialD.Interpreter.TransactionGraphOperator, ProjectM36.Client.Json, ProjectM36.Server.RemoteCallTypes.Json, ProjectM36.Server.WebSocket, TutorialD.Interpreter, TutorialD.Interpreter.Base, TutorialD.Interpreter.DatabaseContextExpr, TutorialD.Interpreter.Import.Base, TutorialD.Interpreter.Import.TutorialD, TutorialD.Interpreter.RelationalExpr, TutorialD.Interpreter.Types, TutorialD.Interpreter.DatabaseContextIOOperator, TutorialD.Interpreter.TransGraphRelationalOperator, TutorialD.Interpreter.SchemaOperator
435− Default-Extensions: OverloadedStrings
436− GHC-Options: -Wall -threaded
437− Hs-Source-Dirs: ./src/bin, .
438415
439416Test-Suite test-isomorphic-schemas
440− Default-Language: Haskell2010
417+ import: commontest
441418 type: exitcode-stdio-1.0
442419 main-is: test/IsomorphicSchema.hs
443− Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, vector-binary-instances, time, hashable-time, bytestring, uuid, stm, deepseq, deepseq-generics,parallel, cassava, attoparsec, gnuplot, directory, temporary, haskeline, megaparsec, text, base64-bytestring, data-interval, filepath, transformers, stm-containers, list-t, websockets, optparse-applicative, network, aeson, project-m36
444− Default-Extensions: OverloadedStrings
445− GHC-Options: -Wall -threaded
446− Hs-Source-Dirs: ./src/bin, .
447420
448421Test-Suite test-atomable
449− Default-Language: Haskell2010
422+ import: commontest
450423 type: exitcode-stdio-1.0
451424 main-is: test/Relation/Atomable.hs
452− Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, vector-binary-instances, time, hashable-time, bytestring, uuid, stm, deepseq, deepseq-generics,parallel, cassava, attoparsec, gnuplot, directory, temporary, haskeline, megaparsec, text, base64-bytestring, data-interval, filepath, transformers, stm-containers, list-t, websockets, optparse-applicative, network, aeson, project-m36, random, MonadRandom, semigroups, parser-combinators, winery
453425 Other-Modules: TutorialD.Interpreter, TutorialD.Interpreter.Base, TutorialD.Interpreter.DatabaseContextExpr, TutorialD.Interpreter.DatabaseContextIOOperator, TutorialD.Interpreter.Export.Base, TutorialD.Interpreter.Export.CSV, TutorialD.Interpreter.Import.Base, TutorialD.Interpreter.Import.BasicExamples, TutorialD.Interpreter.Import.CSV, TutorialD.Interpreter.Import.TutorialD, TutorialD.Interpreter.InformationOperator, TutorialD.Interpreter.RODatabaseContextOperator, TutorialD.Interpreter.RelationalExpr, TutorialD.Interpreter.SchemaOperator, TutorialD.Interpreter.TestBase, TutorialD.Interpreter.TransGraphRelationalOperator, TutorialD.Interpreter.TransactionGraphOperator, TutorialD.Interpreter.Types
454− Default-Extensions: OverloadedStrings
455− GHC-Options: -Wall -threaded
456− Hs-Source-Dirs: ./src/bin, ., test/
457426
458427Test-Suite test-multiprocess-access
459− Default-Language: Haskell2010
428+ import: commontest
460429 type: exitcode-stdio-1.0
461430 main-is: test/MultiProcessDatabaseAccess.hs
462− Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, vector-binary-instances, time, hashable-time, bytestring, uuid, stm, deepseq, deepseq-generics,parallel, cassava, attoparsec, gnuplot, directory, temporary, haskeline, megaparsec, text, base64-bytestring, data-interval, filepath, transformers, stm-containers, list-t, websockets, optparse-applicative, network, aeson, project-m36, random, MonadRandom
463− Default-Extensions: OverloadedStrings
464− GHC-Options: -Wall -threaded
465− Hs-Source-Dirs: ./src/bin, ., test/
466431
467432Test-Suite test-transactiongraph-automerge
468− Default-Language: Haskell2010
433+ import: commontest
469434 type: exitcode-stdio-1.0
470435 main-is: test/TransactionGraph/Automerge.hs
471− Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, vector-binary-instances, time, hashable-time, bytestring, uuid, stm, deepseq, deepseq-generics,parallel, cassava, attoparsec, gnuplot, directory, temporary, haskeline, megaparsec, text, base64-bytestring, data-interval, filepath, transformers, stm-containers, list-t, websockets, optparse-applicative, network, aeson, project-m36, random, MonadRandom, semigroups, parser-combinators
472436 Other-Modules: TutorialD.Interpreter, TutorialD.Interpreter.Base, TutorialD.Interpreter.DatabaseContextExpr, TutorialD.Interpreter.DatabaseContextIOOperator, TutorialD.Interpreter.Export.Base, TutorialD.Interpreter.Export.CSV, TutorialD.Interpreter.Import.Base, TutorialD.Interpreter.Import.BasicExamples, TutorialD.Interpreter.Import.CSV, TutorialD.Interpreter.Import.TutorialD, TutorialD.Interpreter.InformationOperator, TutorialD.Interpreter.RODatabaseContextOperator, TutorialD.Interpreter.RelationalExpr, TutorialD.Interpreter.SchemaOperator, TutorialD.Interpreter.TestBase, TutorialD.Interpreter.TransGraphRelationalOperator, TutorialD.Interpreter.TransactionGraphOperator, TutorialD.Interpreter.Types
473− Default-Extensions: OverloadedStrings
474− GHC-Options: -Wall -threaded
475− Hs-Source-Dirs: ./src/bin, ., test/
476437
477438Test-Suite test-tupleable
478− Default-Language: Haskell2010
439+ import: commontest
479440 type: exitcode-stdio-1.0
480441 main-is: test/Relation/Tupleable.hs
481− Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, vector-binary-instances, time, hashable-time, bytestring, uuid, stm, deepseq, deepseq-generics,parallel, cassava, attoparsec, gnuplot, directory, temporary, haskeline, megaparsec, text, base64-bytestring, data-interval, filepath, transformers, stm-containers, list-t, websockets, optparse-applicative, network, aeson, project-m36, random, MonadRandom, semigroups
482− Default-Extensions: OverloadedStrings
483− GHC-Options: -Wall -threaded
484− Hs-Source-Dirs: ./src/bin, ., test/
485442
486443Test-Suite test-client-simple
487− Default-Language: Haskell2010
444+ import: commontest
488445 Main-Is: test/Client/Simple.hs
489446 type: exitcode-stdio-1.0
490− Build-Depends: base, HUnit, Cabal, containers, hashable, unordered-containers, mtl, vector, vector-binary-instances, time, hashable-time, bytestring, uuid, stm, deepseq, deepseq-generics,parallel, cassava, attoparsec, gnuplot, directory, temporary, haskeline, megaparsec, text, base64-bytestring, data-interval, filepath, transformers, stm-containers, list-t, websockets, optparse-applicative, network, aeson, project-m36, random, MonadRandom, semigroups
491− Default-Extensions: OverloadedStrings
492− GHC-Options: -Wall -threaded
493− Hs-Source-Dirs: ./src/bin, ., test/
494447
495448-- test for file handle leaks
496449Executable handles
src/lib/ProjectM36/Client.hs+5−6
@@ -1,4 +1,4 @@
1−{-# LANGUAGE DeriveAnyClass, DeriveGeneric, ScopedTypeVariables, MonoLocalBinds, DerivingVia, GeneralizedNewtypeDeriving, PackageImports #-}
1+{-# LANGUAGE DeriveGeneric, ScopedTypeVariables, MonoLocalBinds, DerivingVia #-}
22{-|
33Module: ProjectM36.Client
44
@@ -192,7 +192,7 @@ data ConnectionInfo = InProcessConnectionInfo PersistenceStrategy NotificationCa
192192type EvaluatedNotifications = M.Map NotificationName EvaluatedNotification
193193
194194-- | Used for callbacks from the server when monitored changes have been made.
195−data NotificationMessage = NotificationMessage EvaluatedNotifications
195+newtype NotificationMessage = NotificationMessage EvaluatedNotifications
196196 deriving (Eq, Show, Generic)
197197 deriving Serialise via WineryVariant NotificationMessage
198198
@@ -226,7 +226,7 @@ defaultRemoteConnectionInfo =
226226defaultServerHostname :: Hostname
227227defaultServerHostname = "localhost"
228228
229−data RemoteConnectionConf = RemoteConnectionConf RPC.Connection
229+newtype RemoteConnectionConf = RemoteConnectionConf RPC.Connection
230230
231231data Connection = InProcessConnection InProcessConnectionConf |
232232 RemoteConnection RemoteConnectionConf
@@ -290,8 +290,7 @@ connectProjectM36 (RemoteConnectionInfo dbName hostName servicePort notification
290290 notificationHandlers =
291291 [RPC.ClientAsyncRequestHandler $
292292 \(NotificationMessage notifications') ->
293− forM_ (M.toList notifications') (\(notName, notInfo) ->
294− notificationCallback notName notInfo)
293+ forM_ (M.toList notifications') (uncurry notificationCallback)
295294 ]
296295-- TODO missing async callback
297296 conn <- RPC.connect notificationHandlers (hostAddressToTuple addr) port
@@ -403,7 +402,7 @@ close (InProcessConnection conf) = do
403402 Nothing -> pure ()
404403 Just (lockFileH, _) -> closeLockFile lockFileH
405404
406−close (RemoteConnection (RemoteConnectionConf conn)) = do
405+close (RemoteConnection (RemoteConnectionConf conn)) =
407406 RPC.close conn
408407
409408--used only by the server EntryPoints
src/lib/ProjectM36/DataFrame.hs+1−1
@@ -1,4 +1,4 @@
1−{-# LANGUAGE DeriveGeneric, DeriveAnyClass, DerivingVia #-}
1+{-# LANGUAGE DeriveGeneric, DerivingVia #-}
22{- A dataframe is a strongly-typed, ordered list of named tuples. A dataframe differs from a relation in that its tuples are ordered.-}
33module ProjectM36.DataFrame where
44import ProjectM36.Base
src/lib/ProjectM36/IsomorphicSchema.hs+1−1
@@ -1,4 +1,4 @@
1−{-# LANGUAGE DeriveGeneric, DeriveAnyClass, LambdaCase, DerivingVia #-}
1+{-# LANGUAGE DeriveGeneric, LambdaCase, DerivingVia #-}
22module ProjectM36.IsomorphicSchema where
33import ProjectM36.Base
44import ProjectM36.Error
src/lib/ProjectM36/Serialise/Base.hs+1−1
@@ -1,4 +1,4 @@
1−{-# LANGUAGE StandaloneDeriving, DerivingVia, TypeApplications, TypeSynonymInstances, ScopedTypeVariables, GeneralizedNewtypeDeriving #-}
1+{-# LANGUAGE StandaloneDeriving, DerivingVia, TypeApplications, TypeSynonymInstances, ScopedTypeVariables #-}
22{-# OPTIONS_GHC -fno-warn-orphans #-}
33--Serialise instances for ProjectM36.Base data types- orphan instance city
44module ProjectM36.Serialise.Base where
src/lib/ProjectM36/Serialise/IsomorphicSchema.hs+1−1
@@ -1,4 +1,4 @@
1−{-# LANGUAGE StandaloneDeriving, DerivingVia, TypeApplications, TypeSynonymInstances, ScopedTypeVariables, GeneralizedNewtypeDeriving #-}
1+{-# LANGUAGE StandaloneDeriving, DerivingVia, TypeSynonymInstances, ScopedTypeVariables #-}
22{-# OPTIONS_GHC -fno-warn-orphans #-}
33module ProjectM36.Serialise.IsomorphicSchema where
44import Codec.Winery
src/lib/ProjectM36/Server.hs+1−1
@@ -1,4 +1,4 @@
1−{-# LANGUAGE ScopedTypeVariables, TypeApplications #-}
1+{-# LANGUAGE ScopedTypeVariables #-}
22module ProjectM36.Server where
33
44import ProjectM36.Client
src/lib/ProjectM36/Server/EntryPoints.hs+15−17
@@ -13,10 +13,8 @@ import Control.Exception
1313timeoutOrDie :: Maybe Timeout -> IO a -> IO (Maybe a)
1414timeoutOrDie mMicros act =
1515 case mMicros of
16− Nothing -> do
17− ret <- act
18− pure (Just ret)
19− Just micros -> do
16+ Nothing -> Just <$> act
17+ Just micros ->
2018 timeout (fromIntegral micros) act
2119
2220timeoutRelErr :: Maybe Timeout -> IO (Either RelationalError a) -> IO (Either RelationalError a)
@@ -53,7 +51,7 @@ handleLogin dbName conn lockSock = do
5351 pure True
5452
5553handleExecuteGraphExpr :: Maybe Timeout -> SessionId -> Connection -> TransactionGraphOperator -> IO (Either RelationalError ())
56−handleExecuteGraphExpr ti sessionId conn graphExpr = do
54+handleExecuteGraphExpr ti sessionId conn graphExpr =
5755 timeoutRelErr ti (executeGraphExpr sessionId conn graphExpr)
5856
5957handleExecuteTransGraphRelationalExpr :: Maybe Timeout -> SessionId -> Connection -> TransGraphRelationalExpr -> IO (Either RelationalError Relation)
@@ -65,11 +63,11 @@ handleExecuteTypeForRelationalExpr ti sessionId conn relExpr =
6563 timeoutRelErr ti (typeForRelationalExpr sessionId conn relExpr)
6664
6765handleRetrieveInclusionDependencies :: Maybe Timeout -> SessionId -> Connection -> IO (Either RelationalError (Map IncDepName InclusionDependency))
68−handleRetrieveInclusionDependencies ti sessionId conn = do
66+handleRetrieveInclusionDependencies ti sessionId conn =
6967 timeoutRelErr ti (inclusionDependencies sessionId conn)
7068
7169handleRetrievePlanForDatabaseContextExpr :: Maybe Timeout -> SessionId -> Connection -> DatabaseContextExpr -> IO (Either RelationalError GraphRefDatabaseContextExpr)
72−handleRetrievePlanForDatabaseContextExpr ti sessionId conn dbExpr = do
70+handleRetrievePlanForDatabaseContextExpr ti sessionId conn dbExpr =
7371 timeoutRelErr ti (planForDatabaseContextExpr sessionId conn dbExpr)
7472
7573handleRetrieveTransactionGraph :: Maybe Timeout -> SessionId -> Connection -> IO (Either RelationalError Relation)
@@ -89,16 +87,16 @@ handleCreateSessionAtHead ti conn headn =
8987 timeoutRelErr ti (createSessionAtHead conn headn)
9088
9189handleCloseSession :: SessionId -> Connection -> IO ()
92−handleCloseSession sessionId conn =
93− closeSession sessionId conn
90+handleCloseSession =
91+ closeSession
9492
9593handleRetrieveAtomTypesAsRelation :: Maybe Timeout -> SessionId -> Connection -> IO (Either RelationalError Relation)
96−handleRetrieveAtomTypesAsRelation ti sessionId conn = do
94+handleRetrieveAtomTypesAsRelation ti sessionId conn =
9795 timeoutRelErr ti (atomTypesAsRelation sessionId conn)
9896
9997-- | Returns a relation which lists the names of relvars in the current session as well as its types.
10098handleRetrieveRelationVariableSummary :: Maybe Timeout -> SessionId -> Connection -> IO (Either RelationalError Relation)
101−handleRetrieveRelationVariableSummary ti sessionId conn = do
99+handleRetrieveRelationVariableSummary ti sessionId conn =
102100 timeoutRelErr ti (relationVariablesAsRelation sessionId conn)
103101
104102handleRetrieveAtomFunctionSummary :: Maybe Timeout -> SessionId -> Connection -> IO (Either RelationalError Relation)
@@ -110,11 +108,11 @@ handleRetrieveDatabaseContextFunctionSummary ti sessionId conn =
110108 timeoutRelErr ti (databaseContextFunctionsAsRelation sessionId conn)
111109
112110handleRetrieveCurrentSchemaName :: Maybe Timeout -> SessionId -> Connection -> IO (Either RelationalError SchemaName)
113−handleRetrieveCurrentSchemaName ti sessionId conn = do
111+handleRetrieveCurrentSchemaName ti sessionId conn =
114112 timeoutRelErr ti (currentSchemaName sessionId conn)
115113
116114handleExecuteSchemaExpr :: Maybe Timeout -> SessionId -> Connection -> SchemaExpr -> IO (Either RelationalError ())
117−handleExecuteSchemaExpr ti sessionId conn schemaExpr = do
115+handleExecuteSchemaExpr ti sessionId conn schemaExpr =
118116 timeoutRelErr ti (executeSchemaExpr sessionId conn schemaExpr)
119117
120118handleLogout :: Maybe Timeout -> Connection -> IO Bool
@@ -128,17 +126,17 @@ handleTestTimeout ti _ _ = do
128126 pure True
129127
130128handleRetrieveSessionIsDirty :: Maybe Timeout -> SessionId -> Connection -> IO (Either RelationalError Bool)
131−handleRetrieveSessionIsDirty ti sessionId conn = do
129+handleRetrieveSessionIsDirty ti sessionId conn =
132130 timeoutRelErr ti (disconnectedTransactionIsDirty sessionId conn)
133131
134132handleExecuteAutoMergeToHead :: Maybe Timeout -> SessionId -> Connection -> MergeStrategy -> HeadName -> IO (Either RelationalError ())
135−handleExecuteAutoMergeToHead ti sessionId conn strat headName' = do
133+handleExecuteAutoMergeToHead ti sessionId conn strat headName' =
136134 timeoutRelErr ti (autoMergeToHead sessionId conn strat headName')
137135
138136handleRetrieveTypeConstructorMapping :: Maybe Timeout -> SessionId -> Connection -> IO (Either RelationalError TypeConstructorMapping)
139−handleRetrieveTypeConstructorMapping ti sessionId conn = do
137+handleRetrieveTypeConstructorMapping ti sessionId conn =
140138 timeoutRelErr ti (C.typeConstructorMapping sessionId conn)
141139
142140handleValidateMerkleHashes :: Maybe Timeout -> SessionId -> Connection -> IO (Either RelationalError ())
143−handleValidateMerkleHashes ti sessionId conn = do
141+handleValidateMerkleHashes ti sessionId conn =
144142 timeoutRelErr ti (C.validateMerkleHashes sessionId conn)
src/lib/ProjectM36/Server/RemoteCallTypes.hs+1−1
@@ -1,4 +1,4 @@
1−{-# LANGUAGE DeriveAnyClass, DeriveGeneric, DerivingVia, DerivingStrategies, DeriveGeneric, CPP #-}
1+{-# LANGUAGE DeriveGeneric, DerivingVia, CPP #-}
22module ProjectM36.Server.RemoteCallTypes where
33import ProjectM36.Base
44import ProjectM36.IsomorphicSchema
src/lib/ProjectM36/TransactionGraph.hs+1−1
@@ -1,4 +1,4 @@
1−{-# LANGUAGE DeriveAnyClass, DeriveGeneric, CPP, FlexibleContexts, DerivingVia #-}
1+{-# LANGUAGE DeriveGeneric, CPP, FlexibleContexts, DerivingVia #-}
22module ProjectM36.TransactionGraph where
33import ProjectM36.Base
44import ProjectM36.Error