{- |
Module      : Model.ServerExceptions
Description : Here are exceptions for debugging.
License     : IPS
Maintainer  : jasonsychau@live.ca
Stability   : provisional
-}
module Model.ServerExceptions where

import Control.Exception


data QueryException = SyntaxException |
                      ParseFragmentException |
                      EmptyQueryException |
                      InvalidObjectException |
                      InvalidScalarException |
                      InvalidObjectScalarFieldException |
                      InvalidObjectSubFieldException |
                      NullArgumentException |
                      CreatingSqlQueryObjectFieldsException |
                      CreatingSqlQueryObjectsException |
                      EOFDataProcessingException |
                      RelationshipConfigurationException |
                      FailedObjectEqualityException |
                      DuplicateRootObjectsException |
                      ImportSchemaException |
                      ImportSchemaServerNameException |
                      ImportSchemaPseudonymsException |
                      ImportSchemaScalarFieldsException |
                      ImportSchemaObjectFieldsException |
                      ImportSchemaDatabaseTablesException |
                      ImportSchemaDatabaseRelationshipsException |
                      ImportSchemaChildrenException |
                      MissingVariableValueException |
                      InvalidVariableNameException |
                      MismatchedVariableTypeException |
                      InvalidVariableTypeException |
                      ReadVariablesException |
                      VariablesSyntaxException |
                      InvalidArgumentException
  deriving Show

instance Exception QueryException