-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Analysis and parsing library for SQL queries. -- -- A library for parsing SQL queries into well-typed data structures, and -- producing easily quantifiable analyses from said data structures. -- -- Currently this includes support for Hive, Vertica, and Presto dialects -- of SQL. Parsing for each dialect is provided in their own package, as -- queryparser- dialect @package queryparser @version 0.1.0.1 module Database.Sql.Position data Position Position :: Int64 -> Int64 -> Int64 -> Position [positionLine] :: Position -> Int64 [positionColumn] :: Position -> Int64 [positionOffset] :: Position -> Int64 data Range Range :: Position -> Position -> Range [start] :: Range -> Position [end] :: Range -> Position (?<>) :: Semigroup a => a -> Maybe a -> a infixr 6 ?<> advanceHorizontal :: Int64 -> Position -> Position advanceVertical :: Int64 -> Position -> Position advance :: Text -> Position -> Position instance GHC.Classes.Ord Database.Sql.Position.Range instance GHC.Classes.Eq Database.Sql.Position.Range instance GHC.Show.Show Database.Sql.Position.Range instance Data.Data.Data Database.Sql.Position.Range instance GHC.Generics.Generic Database.Sql.Position.Range instance GHC.Classes.Ord Database.Sql.Position.Position instance GHC.Classes.Eq Database.Sql.Position.Position instance GHC.Show.Show Database.Sql.Position.Position instance Data.Data.Data Database.Sql.Position.Position instance GHC.Generics.Generic Database.Sql.Position.Position instance Data.Semigroup.Semigroup Database.Sql.Position.Range instance Data.Aeson.Types.ToJSON.ToJSON Database.Sql.Position.Range instance Data.Aeson.Types.FromJSON.FromJSON Database.Sql.Position.Range instance Data.Aeson.Types.ToJSON.ToJSON Database.Sql.Position.Position instance Data.Aeson.Types.FromJSON.FromJSON Database.Sql.Position.Position module Database.Sql.Helpers consumeOrderedOptions :: (Stream s m t, Semigroup a) => a -> [ParsecT s u m a] -> ParsecT s u m a consumeUnorderedOptions :: (Stream s m t, Semigroup a) => a -> [ParsecT s u m a] -> ParsecT s u m a eof :: (Stream s m t, Show t, Integral u) => ParsecT s u m Range module Database.Sql.Type.Unused data Unused a Unused :: Unused a instance Data.Traversable.Traversable Database.Sql.Type.Unused.Unused instance Data.Foldable.Foldable Database.Sql.Type.Unused.Unused instance GHC.Base.Functor Database.Sql.Type.Unused.Unused instance GHC.Show.Show (Database.Sql.Type.Unused.Unused a) instance GHC.Classes.Ord (Database.Sql.Type.Unused.Unused a) instance GHC.Classes.Eq (Database.Sql.Type.Unused.Unused a) instance GHC.Generics.Generic (Database.Sql.Type.Unused.Unused a) instance Data.Data.Data a => Data.Data.Data (Database.Sql.Type.Unused.Unused a) instance Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Unused.Unused a) instance Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.Unused.Unused a) instance Test.QuickCheck.Arbitrary.Arbitrary (Database.Sql.Type.Unused.Unused a) module Database.Sql.Type.TableProps data Persistence a Temporary :: a -> Persistence a Persistent :: Persistence a data Externality a External :: a -> Externality a Internal :: Externality a data Existence Exists :: Existence DoesNotExist :: Existence data TableType Table :: TableType View :: TableType instance GHC.Show.Show Database.Sql.Type.TableProps.TableType instance GHC.Classes.Ord Database.Sql.Type.TableProps.TableType instance GHC.Classes.Eq Database.Sql.Type.TableProps.TableType instance Data.Data.Data Database.Sql.Type.TableProps.TableType instance GHC.Generics.Generic Database.Sql.Type.TableProps.TableType instance GHC.Show.Show Database.Sql.Type.TableProps.Existence instance GHC.Classes.Ord Database.Sql.Type.TableProps.Existence instance GHC.Classes.Eq Database.Sql.Type.TableProps.Existence instance Data.Data.Data Database.Sql.Type.TableProps.Existence instance GHC.Generics.Generic Database.Sql.Type.TableProps.Existence instance Data.Traversable.Traversable Database.Sql.Type.TableProps.Externality instance Data.Foldable.Foldable Database.Sql.Type.TableProps.Externality instance GHC.Base.Functor Database.Sql.Type.TableProps.Externality instance GHC.Show.Show a => GHC.Show.Show (Database.Sql.Type.TableProps.Externality a) instance GHC.Classes.Ord a => GHC.Classes.Ord (Database.Sql.Type.TableProps.Externality a) instance GHC.Classes.Eq a => GHC.Classes.Eq (Database.Sql.Type.TableProps.Externality a) instance Data.Data.Data a => Data.Data.Data (Database.Sql.Type.TableProps.Externality a) instance GHC.Generics.Generic (Database.Sql.Type.TableProps.Externality a) instance Data.Traversable.Traversable Database.Sql.Type.TableProps.Persistence instance Data.Foldable.Foldable Database.Sql.Type.TableProps.Persistence instance GHC.Base.Functor Database.Sql.Type.TableProps.Persistence instance GHC.Show.Show a => GHC.Show.Show (Database.Sql.Type.TableProps.Persistence a) instance GHC.Classes.Ord a => GHC.Classes.Ord (Database.Sql.Type.TableProps.Persistence a) instance GHC.Classes.Eq a => GHC.Classes.Eq (Database.Sql.Type.TableProps.Persistence a) instance Data.Data.Data a => Data.Data.Data (Database.Sql.Type.TableProps.Persistence a) instance GHC.Generics.Generic (Database.Sql.Type.TableProps.Persistence a) instance Data.Aeson.Types.ToJSON.ToJSON Database.Sql.Type.TableProps.TableType instance Data.Aeson.Types.FromJSON.FromJSON Database.Sql.Type.TableProps.TableType instance Test.QuickCheck.Arbitrary.Arbitrary Database.Sql.Type.TableProps.TableType instance Data.Aeson.Types.ToJSON.ToJSON Database.Sql.Type.TableProps.Existence instance Data.Aeson.Types.FromJSON.FromJSON Database.Sql.Type.TableProps.Existence instance Data.Aeson.Types.ToJSON.ToJSON a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.TableProps.Externality a) instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.TableProps.Externality a) instance Data.Aeson.Types.ToJSON.ToJSON a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.TableProps.Persistence a) instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.TableProps.Persistence a) instance Test.QuickCheck.Arbitrary.Arbitrary a => Test.QuickCheck.Arbitrary.Arbitrary (Database.Sql.Type.TableProps.Persistence a) module Database.Sql.Type.Names type ConstrainSNames (c :: * -> Constraint) r a = (c a, c (TableRef r a), c (TableName r a), c (CreateTableName r a), c (DropTableName r a), c (SchemaName r a), c (CreateSchemaName r a), c (ColumnRef r a), c (NaturalColumns r a), c (UsingColumn r a), c (StarReferents r a), c (PositionExpr r a), c (ComposedQueryColumns r a)) type ConstrainSASNames (c :: (* -> *) -> Constraint) r = (c (TableRef r), c (TableName r), c (CreateTableName r), c (DropTableName r), c (SchemaName r), c (CreateSchemaName r), c (ColumnRef r), c (NaturalColumns r), c (UsingColumn r), c (StarReferents r), c (PositionExpr r), c (ComposedQueryColumns r)) class Resolution r where { type family TableRef r :: * -> *; type family TableName r :: * -> *; type family CreateTableName r :: * -> *; type family DropTableName r :: * -> *; type family SchemaName r :: * -> *; type family CreateSchemaName r :: * -> *; type family ColumnRef r :: * -> *; type family NaturalColumns r :: * -> *; type family UsingColumn r :: * -> *; type family StarReferents r :: * -> *; type family PositionExpr r :: * -> *; type family ComposedQueryColumns r :: * -> *; } type FQCN = FullyQualifiedColumnName data FullyQualifiedColumnName FullyQualifiedColumnName :: Text -> Text -> Text -> Text -> FullyQualifiedColumnName [fqcnDatabaseName] :: FullyQualifiedColumnName -> Text [fqcnSchemaName] :: FullyQualifiedColumnName -> Text [fqcnTableName] :: FullyQualifiedColumnName -> Text [fqcnColumnName] :: FullyQualifiedColumnName -> Text type FQTN = FullyQualifiedTableName data FullyQualifiedTableName FullyQualifiedTableName :: Text -> Text -> Text -> FullyQualifiedTableName [fqtnDatabaseName] :: FullyQualifiedTableName -> Text [fqtnSchemaName] :: FullyQualifiedTableName -> Text [fqtnTableName] :: FullyQualifiedTableName -> Text qualifyColumnName :: FQTableName a -> UQColumnName b -> FQColumnName () fqcnToFQCN :: FQColumnName a -> FullyQualifiedColumnName fqtnToFQTN :: FQTableName a -> FullyQualifiedTableName data DatabaseName a DatabaseName :: a -> Text -> DatabaseName a data SchemaType NormalSchema :: SchemaType SessionSchema :: SchemaType data QSchemaName f a QSchemaName :: a -> f (DatabaseName a) -> Text -> SchemaType -> QSchemaName f a [schemaNameInfo] :: QSchemaName f a -> a [schemaNameDatabase] :: QSchemaName f a -> f (DatabaseName a) [schemaNameName] :: QSchemaName f a -> Text [schemaNameType] :: QSchemaName f a -> SchemaType type UQSchemaName = QSchemaName No type OQSchemaName = QSchemaName Maybe type FQSchemaName = QSchemaName Identity mkNormalSchema :: Alternative f => Text -> a -> QSchemaName f a arbitraryUnquotedIdentifier :: Gen Text arbitraryQuotedIdentifier :: Gen Text arbitraryIdentifier :: Gen Text -- | Identifiers picked first from (and shrunk to) symbols in type list. -- Used for testing. data Identifier (ids :: [Symbol]) Identifier :: Text -> Identifier class KnownSymbols (xs :: [Symbol]) symbolVals :: KnownSymbols xs => proxy xs -> [String] data QTableName f a QTableName :: a -> f (QSchemaName f a) -> Text -> QTableName f a [tableNameInfo] :: QTableName f a -> a [tableNameSchema] :: QTableName f a -> f (QSchemaName f a) [tableNameName] :: QTableName f a -> Text data No a None :: No a type UQTableName = QTableName No type OQTableName = QTableName Maybe type FQTableName = QTableName Identity newtype TableAliasId TableAliasId :: Integer -> TableAliasId data TableAlias a TableAlias :: a -> Text -> TableAliasId -> TableAlias a tableAliasName :: TableAlias a -> UQTableName a data RNaturalColumns a RNaturalColumns :: [RUsingColumn a] -> RNaturalColumns a data RUsingColumn a RUsingColumn :: (RColumnRef a) -> (RColumnRef a) -> RUsingColumn a data QFunctionName f a QFunctionName :: a -> f (QSchemaName f a) -> Text -> QFunctionName f a [functionNameInfo] :: QFunctionName f a -> a [functionNameSchema] :: QFunctionName f a -> f (QSchemaName f a) [functionNameName] :: QFunctionName f a -> Text type FunctionName = QFunctionName Maybe data QColumnName f a QColumnName :: a -> f (QTableName f a) -> Text -> QColumnName f a [columnNameInfo] :: QColumnName f a -> a [columnNameTable] :: QColumnName f a -> f (QTableName f a) [columnNameName] :: QColumnName f a -> Text type UQColumnName = QColumnName No type OQColumnName = QColumnName Maybe type FQColumnName = QColumnName Identity newtype ColumnAliasId ColumnAliasId :: Integer -> ColumnAliasId data ColumnAlias a ColumnAlias :: a -> Text -> ColumnAliasId -> ColumnAlias a columnAliasName :: ColumnAlias a -> UQColumnName a data RColumnRef a RColumnRef :: (FQColumnName a) -> RColumnRef a RColumnAlias :: (ColumnAlias a) -> RColumnRef a data StructFieldName a StructFieldName :: a -> Text -> StructFieldName a newtype FieldChain FieldChain :: (Map (StructFieldName ()) FieldChain) -> FieldChain data ParamName a ParamName :: a -> Text -> ParamName a instance Data.Traversable.Traversable Database.Sql.Type.Names.ParamName instance Data.Foldable.Foldable Database.Sql.Type.Names.ParamName instance GHC.Base.Functor Database.Sql.Type.Names.ParamName instance GHC.Show.Show a => GHC.Show.Show (Database.Sql.Type.Names.ParamName a) instance GHC.Read.Read a => GHC.Read.Read (Database.Sql.Type.Names.ParamName a) instance GHC.Classes.Ord a => GHC.Classes.Ord (Database.Sql.Type.Names.ParamName a) instance GHC.Classes.Eq a => GHC.Classes.Eq (Database.Sql.Type.Names.ParamName a) instance GHC.Generics.Generic (Database.Sql.Type.Names.ParamName a) instance Data.Data.Data a => Data.Data.Data (Database.Sql.Type.Names.ParamName a) instance GHC.Show.Show Database.Sql.Type.Names.FieldChain instance GHC.Classes.Ord Database.Sql.Type.Names.FieldChain instance GHC.Classes.Eq Database.Sql.Type.Names.FieldChain instance Data.Traversable.Traversable Database.Sql.Type.Names.StructFieldName instance Data.Foldable.Foldable Database.Sql.Type.Names.StructFieldName instance GHC.Base.Functor Database.Sql.Type.Names.StructFieldName instance GHC.Show.Show a => GHC.Show.Show (Database.Sql.Type.Names.StructFieldName a) instance GHC.Classes.Ord a => GHC.Classes.Ord (Database.Sql.Type.Names.StructFieldName a) instance GHC.Classes.Eq a => GHC.Classes.Eq (Database.Sql.Type.Names.StructFieldName a) instance GHC.Generics.Generic (Database.Sql.Type.Names.StructFieldName a) instance Data.Data.Data a => Data.Data.Data (Database.Sql.Type.Names.StructFieldName a) instance Data.Traversable.Traversable Database.Sql.Type.Names.RNaturalColumns instance Data.Foldable.Foldable Database.Sql.Type.Names.RNaturalColumns instance GHC.Base.Functor Database.Sql.Type.Names.RNaturalColumns instance GHC.Classes.Ord a => GHC.Classes.Ord (Database.Sql.Type.Names.RNaturalColumns a) instance GHC.Classes.Eq a => GHC.Classes.Eq (Database.Sql.Type.Names.RNaturalColumns a) instance GHC.Show.Show a => GHC.Show.Show (Database.Sql.Type.Names.RNaturalColumns a) instance GHC.Read.Read a => GHC.Read.Read (Database.Sql.Type.Names.RNaturalColumns a) instance GHC.Generics.Generic (Database.Sql.Type.Names.RNaturalColumns a) instance Data.Data.Data a => Data.Data.Data (Database.Sql.Type.Names.RNaturalColumns a) instance Data.Traversable.Traversable Database.Sql.Type.Names.RUsingColumn instance Data.Foldable.Foldable Database.Sql.Type.Names.RUsingColumn instance GHC.Base.Functor Database.Sql.Type.Names.RUsingColumn instance GHC.Classes.Ord a => GHC.Classes.Ord (Database.Sql.Type.Names.RUsingColumn a) instance GHC.Classes.Eq a => GHC.Classes.Eq (Database.Sql.Type.Names.RUsingColumn a) instance GHC.Show.Show a => GHC.Show.Show (Database.Sql.Type.Names.RUsingColumn a) instance GHC.Read.Read a => GHC.Read.Read (Database.Sql.Type.Names.RUsingColumn a) instance GHC.Generics.Generic (Database.Sql.Type.Names.RUsingColumn a) instance Data.Data.Data a => Data.Data.Data (Database.Sql.Type.Names.RUsingColumn a) instance Data.Traversable.Traversable Database.Sql.Type.Names.RColumnRef instance Data.Foldable.Foldable Database.Sql.Type.Names.RColumnRef instance GHC.Base.Functor Database.Sql.Type.Names.RColumnRef instance GHC.Classes.Ord a => GHC.Classes.Ord (Database.Sql.Type.Names.RColumnRef a) instance GHC.Classes.Eq a => GHC.Classes.Eq (Database.Sql.Type.Names.RColumnRef a) instance GHC.Show.Show a => GHC.Show.Show (Database.Sql.Type.Names.RColumnRef a) instance GHC.Read.Read a => GHC.Read.Read (Database.Sql.Type.Names.RColumnRef a) instance GHC.Generics.Generic (Database.Sql.Type.Names.RColumnRef a) instance Data.Data.Data a => Data.Data.Data (Database.Sql.Type.Names.RColumnRef a) instance Data.Traversable.Traversable Database.Sql.Type.Names.ColumnAlias instance Data.Foldable.Foldable Database.Sql.Type.Names.ColumnAlias instance GHC.Base.Functor Database.Sql.Type.Names.ColumnAlias instance GHC.Classes.Ord a => GHC.Classes.Ord (Database.Sql.Type.Names.ColumnAlias a) instance GHC.Classes.Eq a => GHC.Classes.Eq (Database.Sql.Type.Names.ColumnAlias a) instance GHC.Show.Show a => GHC.Show.Show (Database.Sql.Type.Names.ColumnAlias a) instance GHC.Read.Read a => GHC.Read.Read (Database.Sql.Type.Names.ColumnAlias a) instance GHC.Generics.Generic (Database.Sql.Type.Names.ColumnAlias a) instance Data.Data.Data a => Data.Data.Data (Database.Sql.Type.Names.ColumnAlias a) instance GHC.Classes.Ord Database.Sql.Type.Names.ColumnAliasId instance GHC.Classes.Eq Database.Sql.Type.Names.ColumnAliasId instance GHC.Show.Show Database.Sql.Type.Names.ColumnAliasId instance GHC.Read.Read Database.Sql.Type.Names.ColumnAliasId instance GHC.Generics.Generic Database.Sql.Type.Names.ColumnAliasId instance Data.Data.Data Database.Sql.Type.Names.ColumnAliasId instance Data.Traversable.Traversable f => Data.Traversable.Traversable (Database.Sql.Type.Names.QColumnName f) instance Data.Foldable.Foldable f => Data.Foldable.Foldable (Database.Sql.Type.Names.QColumnName f) instance GHC.Base.Functor f => GHC.Base.Functor (Database.Sql.Type.Names.QColumnName f) instance GHC.Generics.Generic (Database.Sql.Type.Names.QColumnName f a) instance Data.Traversable.Traversable f => Data.Traversable.Traversable (Database.Sql.Type.Names.QFunctionName f) instance Data.Foldable.Foldable f => Data.Foldable.Foldable (Database.Sql.Type.Names.QFunctionName f) instance GHC.Base.Functor f => GHC.Base.Functor (Database.Sql.Type.Names.QFunctionName f) instance GHC.Generics.Generic (Database.Sql.Type.Names.QFunctionName f a) instance Data.Traversable.Traversable Database.Sql.Type.Names.TableAlias instance Data.Foldable.Foldable Database.Sql.Type.Names.TableAlias instance GHC.Base.Functor Database.Sql.Type.Names.TableAlias instance GHC.Classes.Ord a => GHC.Classes.Ord (Database.Sql.Type.Names.TableAlias a) instance GHC.Classes.Eq a => GHC.Classes.Eq (Database.Sql.Type.Names.TableAlias a) instance GHC.Show.Show a => GHC.Show.Show (Database.Sql.Type.Names.TableAlias a) instance GHC.Read.Read a => GHC.Read.Read (Database.Sql.Type.Names.TableAlias a) instance GHC.Generics.Generic (Database.Sql.Type.Names.TableAlias a) instance Data.Data.Data a => Data.Data.Data (Database.Sql.Type.Names.TableAlias a) instance GHC.Classes.Ord Database.Sql.Type.Names.TableAliasId instance GHC.Classes.Eq Database.Sql.Type.Names.TableAliasId instance GHC.Show.Show Database.Sql.Type.Names.TableAliasId instance GHC.Read.Read Database.Sql.Type.Names.TableAliasId instance GHC.Generics.Generic Database.Sql.Type.Names.TableAliasId instance Data.Data.Data Database.Sql.Type.Names.TableAliasId instance Data.Traversable.Traversable Database.Sql.Type.Names.No instance Data.Foldable.Foldable Database.Sql.Type.Names.No instance GHC.Base.Functor Database.Sql.Type.Names.No instance GHC.Classes.Ord (Database.Sql.Type.Names.No a) instance GHC.Read.Read (Database.Sql.Type.Names.No a) instance GHC.Show.Show (Database.Sql.Type.Names.No a) instance GHC.Classes.Eq (Database.Sql.Type.Names.No a) instance GHC.Generics.Generic (Database.Sql.Type.Names.No a) instance Data.Data.Data a => Data.Data.Data (Database.Sql.Type.Names.No a) instance Data.Traversable.Traversable f => Data.Traversable.Traversable (Database.Sql.Type.Names.QTableName f) instance Data.Foldable.Foldable f => Data.Foldable.Foldable (Database.Sql.Type.Names.QTableName f) instance GHC.Base.Functor f => GHC.Base.Functor (Database.Sql.Type.Names.QTableName f) instance GHC.Generics.Generic (Database.Sql.Type.Names.QTableName f a) instance GHC.Classes.Eq (Database.Sql.Type.Names.Identifier ids) instance Data.Traversable.Traversable f => Data.Traversable.Traversable (Database.Sql.Type.Names.QSchemaName f) instance Data.Foldable.Foldable f => Data.Foldable.Foldable (Database.Sql.Type.Names.QSchemaName f) instance GHC.Base.Functor f => GHC.Base.Functor (Database.Sql.Type.Names.QSchemaName f) instance GHC.Generics.Generic (Database.Sql.Type.Names.QSchemaName f a) instance GHC.Classes.Ord Database.Sql.Type.Names.SchemaType instance GHC.Classes.Eq Database.Sql.Type.Names.SchemaType instance GHC.Show.Show Database.Sql.Type.Names.SchemaType instance GHC.Read.Read Database.Sql.Type.Names.SchemaType instance GHC.Generics.Generic Database.Sql.Type.Names.SchemaType instance Data.Data.Data Database.Sql.Type.Names.SchemaType instance Data.Traversable.Traversable Database.Sql.Type.Names.DatabaseName instance Data.Foldable.Foldable Database.Sql.Type.Names.DatabaseName instance GHC.Base.Functor Database.Sql.Type.Names.DatabaseName instance GHC.Classes.Ord a => GHC.Classes.Ord (Database.Sql.Type.Names.DatabaseName a) instance GHC.Classes.Eq a => GHC.Classes.Eq (Database.Sql.Type.Names.DatabaseName a) instance GHC.Show.Show a => GHC.Show.Show (Database.Sql.Type.Names.DatabaseName a) instance GHC.Read.Read a => GHC.Read.Read (Database.Sql.Type.Names.DatabaseName a) instance GHC.Generics.Generic (Database.Sql.Type.Names.DatabaseName a) instance Data.Data.Data a => Data.Data.Data (Database.Sql.Type.Names.DatabaseName a) instance GHC.Show.Show Database.Sql.Type.Names.FullyQualifiedTableName instance GHC.Classes.Ord Database.Sql.Type.Names.FullyQualifiedTableName instance GHC.Classes.Eq Database.Sql.Type.Names.FullyQualifiedTableName instance GHC.Generics.Generic Database.Sql.Type.Names.FullyQualifiedTableName instance Data.Data.Data Database.Sql.Type.Names.FullyQualifiedTableName instance GHC.Show.Show Database.Sql.Type.Names.FullyQualifiedColumnName instance GHC.Classes.Eq Database.Sql.Type.Names.FullyQualifiedColumnName instance GHC.Classes.Ord Database.Sql.Type.Names.FullyQualifiedColumnName instance GHC.Generics.Generic Database.Sql.Type.Names.FullyQualifiedColumnName instance Data.Data.Data Database.Sql.Type.Names.FullyQualifiedColumnName instance (Data.Data.Data (f (Database.Sql.Type.Names.DatabaseName a)), Data.Data.Data a, Data.Typeable.Internal.Typeable f, Data.Typeable.Internal.Typeable a) => Data.Data.Data (Database.Sql.Type.Names.QSchemaName f a) instance (GHC.Classes.Eq a, GHC.Classes.Eq (f (Database.Sql.Type.Names.DatabaseName a))) => GHC.Classes.Eq (Database.Sql.Type.Names.QSchemaName f a) instance (GHC.Classes.Ord a, GHC.Classes.Ord (f (Database.Sql.Type.Names.DatabaseName a))) => GHC.Classes.Ord (Database.Sql.Type.Names.QSchemaName f a) instance (GHC.Read.Read a, GHC.Read.Read (f (Database.Sql.Type.Names.DatabaseName a))) => GHC.Read.Read (Database.Sql.Type.Names.QSchemaName f a) instance (GHC.Show.Show a, GHC.Show.Show (f (Database.Sql.Type.Names.DatabaseName a))) => GHC.Show.Show (Database.Sql.Type.Names.QSchemaName f a) instance (Data.Data.Data a, Data.Data.Data (f (Database.Sql.Type.Names.QSchemaName f a)), Data.Typeable.Internal.Typeable f, Data.Typeable.Internal.Typeable a) => Data.Data.Data (Database.Sql.Type.Names.QTableName f a) instance (GHC.Classes.Eq a, GHC.Classes.Eq (f (Database.Sql.Type.Names.QSchemaName f a))) => GHC.Classes.Eq (Database.Sql.Type.Names.QTableName f a) instance (GHC.Classes.Ord a, GHC.Classes.Ord (f (Database.Sql.Type.Names.QSchemaName f a))) => GHC.Classes.Ord (Database.Sql.Type.Names.QTableName f a) instance (GHC.Read.Read a, GHC.Read.Read (f (Database.Sql.Type.Names.QSchemaName f a))) => GHC.Read.Read (Database.Sql.Type.Names.QTableName f a) instance (GHC.Show.Show a, GHC.Show.Show (f (Database.Sql.Type.Names.QSchemaName f a))) => GHC.Show.Show (Database.Sql.Type.Names.QTableName f a) instance (Data.Data.Data a, Data.Data.Data (f (Database.Sql.Type.Names.QSchemaName f a)), Data.Typeable.Internal.Typeable f, Data.Typeable.Internal.Typeable a) => Data.Data.Data (Database.Sql.Type.Names.QFunctionName f a) instance (GHC.Classes.Eq a, GHC.Classes.Eq (f (Database.Sql.Type.Names.QSchemaName f a))) => GHC.Classes.Eq (Database.Sql.Type.Names.QFunctionName f a) instance (GHC.Classes.Ord a, GHC.Classes.Ord (f (Database.Sql.Type.Names.QSchemaName f a))) => GHC.Classes.Ord (Database.Sql.Type.Names.QFunctionName f a) instance (GHC.Read.Read a, GHC.Read.Read (f (Database.Sql.Type.Names.QSchemaName f a))) => GHC.Read.Read (Database.Sql.Type.Names.QFunctionName f a) instance (GHC.Show.Show a, GHC.Show.Show (f (Database.Sql.Type.Names.QSchemaName f a))) => GHC.Show.Show (Database.Sql.Type.Names.QFunctionName f a) instance (Data.Data.Data (f (Database.Sql.Type.Names.QTableName f a)), Data.Data.Data a, Data.Typeable.Internal.Typeable f, Data.Typeable.Internal.Typeable a) => Data.Data.Data (Database.Sql.Type.Names.QColumnName f a) instance (GHC.Classes.Eq (f (Database.Sql.Type.Names.QTableName f a)), GHC.Classes.Eq a) => GHC.Classes.Eq (Database.Sql.Type.Names.QColumnName f a) instance (GHC.Classes.Ord (f (Database.Sql.Type.Names.QTableName f a)), GHC.Classes.Ord a) => GHC.Classes.Ord (Database.Sql.Type.Names.QColumnName f a) instance (GHC.Read.Read (f (Database.Sql.Type.Names.QTableName f a)), GHC.Read.Read a) => GHC.Read.Read (Database.Sql.Type.Names.QColumnName f a) instance (GHC.Show.Show (f (Database.Sql.Type.Names.QTableName f a)), GHC.Show.Show a) => GHC.Show.Show (Database.Sql.Type.Names.QColumnName f a) instance Test.QuickCheck.Arbitrary.Arbitrary a => Test.QuickCheck.Arbitrary.Arbitrary (Database.Sql.Type.Names.ParamName a) instance Data.Aeson.Types.ToJSON.ToJSON a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Names.ParamName a) instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.Names.ParamName a) instance Data.Semigroup.Semigroup Database.Sql.Type.Names.FieldChain instance Data.Aeson.Types.ToJSON.ToJSON a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Names.StructFieldName a) instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.Names.StructFieldName a) instance Data.Aeson.Types.ToJSON.ToJSON a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Names.RNaturalColumns a) instance Data.Aeson.Types.ToJSON.ToJSON a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Names.RUsingColumn a) instance Data.Aeson.Types.ToJSON.ToJSON a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Names.RColumnRef a) instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.Names.RColumnRef a) instance Data.Aeson.Types.ToJSON.ToJSON a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Names.ColumnAlias a) instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.Names.ColumnAlias a) instance Data.String.IsString (Database.Sql.Type.Names.UQColumnName ()) instance (Test.QuickCheck.Arbitrary.Arbitrary (f (Database.Sql.Type.Names.QTableName f a)), Test.QuickCheck.Arbitrary.Arbitrary a) => Test.QuickCheck.Arbitrary.Arbitrary (Database.Sql.Type.Names.QColumnName f a) instance (Data.Aeson.Types.ToJSON.ToJSON (f (Database.Sql.Type.Names.QTableName f a)), Data.Aeson.Types.ToJSON.ToJSON a) => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Names.QColumnName f a) instance (Data.Aeson.Types.FromJSON.FromJSON (f (Database.Sql.Type.Names.QTableName f a)), Data.Aeson.Types.FromJSON.FromJSON a) => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.Names.QColumnName f a) instance (Test.QuickCheck.Arbitrary.Arbitrary (f (Database.Sql.Type.Names.QSchemaName f a)), Test.QuickCheck.Arbitrary.Arbitrary a, GHC.Classes.Eq (f Database.Sql.Type.Names.SchemaType), GHC.Base.Applicative f) => Test.QuickCheck.Arbitrary.Arbitrary (Database.Sql.Type.Names.QFunctionName f a) instance (Data.Aeson.Types.ToJSON.ToJSON (f (Database.Sql.Type.Names.QSchemaName f a)), Data.Aeson.Types.ToJSON.ToJSON a) => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Names.QFunctionName f a) instance (Data.Aeson.Types.FromJSON.FromJSON (f (Database.Sql.Type.Names.QSchemaName f a)), Data.Aeson.Types.FromJSON.FromJSON a) => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.Names.QFunctionName f a) instance Data.Aeson.Types.ToJSON.ToJSON a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Names.TableAlias a) instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.Names.TableAlias a) instance GHC.Base.Applicative Database.Sql.Type.Names.No instance Test.QuickCheck.Arbitrary.Arbitrary (Database.Sql.Type.Names.No a) instance Data.Hashable.Class.Hashable (Database.Sql.Type.Names.No a) instance Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Names.No a) instance Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.Names.No a) instance GHC.Base.Alternative Database.Sql.Type.Names.No instance Data.Hashable.Class.Hashable (f (Database.Sql.Type.Names.QSchemaName f a)) => Data.Hashable.Class.Hashable (Database.Sql.Type.Names.QTableName f a) instance (Test.QuickCheck.Arbitrary.Arbitrary (f (Database.Sql.Type.Names.QSchemaName f a)), Test.QuickCheck.Arbitrary.Arbitrary a) => Test.QuickCheck.Arbitrary.Arbitrary (Database.Sql.Type.Names.QTableName f a) instance (Data.Aeson.Types.ToJSON.ToJSON (f (Database.Sql.Type.Names.QSchemaName f a)), Data.Aeson.Types.ToJSON.ToJSON a) => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Names.QTableName f a) instance (Data.Aeson.Types.FromJSON.FromJSON (f (Database.Sql.Type.Names.QSchemaName f a)), Data.Aeson.Types.FromJSON.FromJSON a) => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.Names.QTableName f a) instance Database.Sql.Type.Names.KnownSymbols '[] instance (GHC.TypeLits.KnownSymbol x, Database.Sql.Type.Names.KnownSymbols xs) => Database.Sql.Type.Names.KnownSymbols (x : xs) instance Database.Sql.Type.Names.KnownSymbols ids => Test.QuickCheck.Arbitrary.Arbitrary (Database.Sql.Type.Names.Identifier ids) instance Test.QuickCheck.Arbitrary.Arbitrary a => Test.QuickCheck.Arbitrary.Arbitrary (Database.Sql.Type.Names.DatabaseName a) instance (Test.QuickCheck.Arbitrary.Arbitrary (f (Database.Sql.Type.Names.DatabaseName a)), Test.QuickCheck.Arbitrary.Arbitrary a) => Test.QuickCheck.Arbitrary.Arbitrary (Database.Sql.Type.Names.QSchemaName f a) instance Data.Hashable.Class.Hashable (f (Database.Sql.Type.Names.DatabaseName a)) => Data.Hashable.Class.Hashable (Database.Sql.Type.Names.QSchemaName f a) instance (Data.Aeson.Types.ToJSON.ToJSON (f (Database.Sql.Type.Names.DatabaseName a)), Data.Aeson.Types.ToJSON.ToJSON a) => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Names.QSchemaName f a) instance (Data.Aeson.Types.FromJSON.FromJSON (f (Database.Sql.Type.Names.DatabaseName a)), Data.Aeson.Types.FromJSON.FromJSON a) => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.Names.QSchemaName f a) instance Data.Hashable.Class.Hashable Database.Sql.Type.Names.SchemaType instance Data.Aeson.Types.ToJSON.ToJSON Database.Sql.Type.Names.SchemaType instance Data.Aeson.Types.FromJSON.FromJSON Database.Sql.Type.Names.SchemaType instance Data.Hashable.Class.Hashable (Database.Sql.Type.Names.DatabaseName a) instance Data.Aeson.Types.ToJSON.ToJSON a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Names.DatabaseName a) instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.Names.DatabaseName a) module Database.Sql.Type.Query data Query r a QuerySelect :: a -> (Select r a) -> Query r a QueryExcept :: a -> (ComposedQueryColumns r a) -> (Query r a) -> (Query r a) -> Query r a QueryUnion :: a -> Distinct -> (ComposedQueryColumns r a) -> (Query r a) -> (Query r a) -> Query r a QueryIntersect :: a -> (ComposedQueryColumns r a) -> (Query r a) -> (Query r a) -> Query r a QueryWith :: a -> [CTE r a] -> (Query r a) -> Query r a QueryOrder :: a -> [Order r a] -> (Query r a) -> Query r a QueryLimit :: a -> (Limit a) -> (Query r a) -> Query r a QueryOffset :: a -> (Offset a) -> (Query r a) -> Query r a newtype Distinct Distinct :: Bool -> Distinct notDistinct :: Distinct data CTE r a CTE :: a -> TableAlias a -> [ColumnAlias a] -> Query r a -> CTE r a [cteInfo] :: CTE r a -> a [cteAlias] :: CTE r a -> TableAlias a [cteColumns] :: CTE r a -> [ColumnAlias a] [cteQuery] :: CTE r a -> Query r a data Select r a Select :: a -> SelectColumns r a -> Maybe (SelectFrom r a) -> Maybe (SelectWhere r a) -> Maybe (SelectTimeseries r a) -> Maybe (SelectGroup r a) -> Maybe (SelectHaving r a) -> Maybe (SelectNamedWindow r a) -> Distinct -> Select r a [selectInfo] :: Select r a -> a [selectCols] :: Select r a -> SelectColumns r a [selectFrom] :: Select r a -> Maybe (SelectFrom r a) [selectWhere] :: Select r a -> Maybe (SelectWhere r a) [selectTimeseries] :: Select r a -> Maybe (SelectTimeseries r a) [selectGroup] :: Select r a -> Maybe (SelectGroup r a) [selectHaving] :: Select r a -> Maybe (SelectHaving r a) [selectNamedWindow] :: Select r a -> Maybe (SelectNamedWindow r a) [selectDistinct] :: Select r a -> Distinct data SelectColumns r a SelectColumns :: a -> [Selection r a] -> SelectColumns r a [selectColumnsInfo] :: SelectColumns r a -> a [selectColumnsList] :: SelectColumns r a -> [Selection r a] data SelectFrom r a SelectFrom :: a -> [Tablish r a] -> SelectFrom r a data TablishAliases a TablishAliasesNone :: TablishAliases a TablishAliasesT :: (TableAlias a) -> TablishAliases a TablishAliasesTC :: (TableAlias a) -> [ColumnAlias a] -> TablishAliases a data Tablish r a TablishTable :: a -> (TablishAliases a) -> (TableRef r a) -> Tablish r a TablishSubQuery :: a -> (TablishAliases a) -> (Query r a) -> Tablish r a TablishJoin :: a -> (JoinType a) -> (JoinCondition r a) -> (Tablish r a) -> (Tablish r a) -> Tablish r a TablishLateralView :: a -> (LateralView r a) -> (Maybe (Tablish r a)) -> Tablish r a data JoinType a JoinInner :: a -> JoinType a JoinLeft :: a -> JoinType a JoinRight :: a -> JoinType a JoinFull :: a -> JoinType a JoinSemi :: a -> JoinType a data JoinCondition r a JoinNatural :: a -> (NaturalColumns r a) -> JoinCondition r a JoinOn :: (Expr r a) -> JoinCondition r a JoinUsing :: a -> [UsingColumn r a] -> JoinCondition r a data LateralView r a LateralView :: a -> Maybe a -> [Expr r a] -> Bool -> TablishAliases a -> LateralView r a [lateralViewInfo] :: LateralView r a -> a [lateralViewOuter] :: LateralView r a -> Maybe a [lateralViewExprs] :: LateralView r a -> [Expr r a] [lateralViewWithOrdinality] :: LateralView r a -> Bool [lateralViewAliases] :: LateralView r a -> TablishAliases a data SelectWhere r a SelectWhere :: a -> (Expr r a) -> SelectWhere r a data SelectTimeseries r a SelectTimeseries :: a -> ColumnAlias a -> Constant a -> Maybe (Partition r a) -> Expr r a -> SelectTimeseries r a [selectTimeseriesInfo] :: SelectTimeseries r a -> a [selectTimeseriesSliceName] :: SelectTimeseries r a -> ColumnAlias a [selectTimeseriesInterval] :: SelectTimeseries r a -> Constant a [selectTimeseriesPartition] :: SelectTimeseries r a -> Maybe (Partition r a) [selectTimeseriesOrder] :: SelectTimeseries r a -> Expr r a data PositionOrExpr r a PositionOrExprPosition :: a -> Int -> (PositionExpr r a) -> PositionOrExpr r a PositionOrExprExpr :: (Expr r a) -> PositionOrExpr r a data GroupingElement r a GroupingElementExpr :: a -> (PositionOrExpr r a) -> GroupingElement r a GroupingElementSet :: a -> [Expr r a] -> GroupingElement r a data SelectGroup r a SelectGroup :: a -> [GroupingElement r a] -> SelectGroup r a [selectGroupInfo] :: SelectGroup r a -> a [selectGroupGroupingElements] :: SelectGroup r a -> [GroupingElement r a] data SelectHaving r a SelectHaving :: a -> [Expr r a] -> SelectHaving r a data SelectNamedWindow r a SelectNamedWindow :: a -> [NamedWindowExpr r a] -> SelectNamedWindow r a data Order r a Order :: a -> (PositionOrExpr r a) -> (OrderDirection (Maybe a)) -> (NullPosition (Maybe a)) -> Order r a data OrderDirection a OrderAsc :: a -> OrderDirection a OrderDesc :: a -> OrderDirection a data NullPosition a NullsFirst :: a -> NullPosition a NullsLast :: a -> NullPosition a NullsAuto :: a -> NullPosition a data Offset a Offset :: a -> Text -> Offset a data Limit a Limit :: a -> Text -> Limit a data Selection r a SelectStar :: a -> (Maybe (TableRef r a)) -> (StarReferents r a) -> Selection r a SelectExpr :: a -> [ColumnAlias a] -> (Expr r a) -> Selection r a data Constant a -- | nb: Encoding *probably* matches server encoding, but there are ways to -- cram arbitrary byte sequences into strings on both Hive and Vertica. StringConstant :: a -> ByteString -> Constant a NumericConstant :: a -> Text -> Constant a NullConstant :: a -> Constant a BooleanConstant :: a -> Bool -> Constant a TypedConstant :: a -> Text -> (DataType a) -> Constant a ParameterConstant :: a -> Constant a data DataTypeParam a DataTypeParamConstant :: (Constant a) -> DataTypeParam a DataTypeParamType :: (DataType a) -> DataTypeParam a data DataType a PrimitiveDataType :: a -> Text -> [DataTypeParam a] -> DataType a ArrayDataType :: a -> (DataType a) -> DataType a MapDataType :: a -> (DataType a) -> (DataType a) -> DataType a StructDataType :: a -> [(Text, DataType a)] -> DataType a UnionDataType :: a -> [DataType a] -> DataType a data Operator a Operator :: Text -> Operator a data ArrayIndex a ArrayIndex :: a -> Text -> ArrayIndex a data Expr r a BinOpExpr :: a -> (Operator a) -> (Expr r a) -> (Expr r a) -> Expr r a CaseExpr :: a -> [(Expr r a, Expr r a)] -> (Maybe (Expr r a)) -> Expr r a UnOpExpr :: a -> (Operator a) -> (Expr r a) -> Expr r a LikeExpr :: a -> (Operator a) -> (Maybe (Escape r a)) -> (Pattern r a) -> (Expr r a) -> Expr r a ConstantExpr :: a -> (Constant a) -> Expr r a ColumnExpr :: a -> (ColumnRef r a) -> Expr r a InListExpr :: a -> [Expr r a] -> (Expr r a) -> Expr r a InSubqueryExpr :: a -> (Query r a) -> (Expr r a) -> Expr r a BetweenExpr :: a -> (Expr r a) -> (Expr r a) -> (Expr r a) -> Expr r a OverlapsExpr :: a -> (Expr r a, Expr r a) -> (Expr r a, Expr r a) -> Expr r a FunctionExpr :: a -> (FunctionName a) -> Distinct -> [Expr r a] -> [(ParamName a, Expr r a)] -> (Maybe (Filter r a)) -> (Maybe (OverSubExpr r a)) -> Expr r a AtTimeZoneExpr :: a -> (Expr r a) -> (Expr r a) -> Expr r a SubqueryExpr :: a -> (Query r a) -> Expr r a ArrayExpr :: a -> [Expr r a] -> Expr r a ExistsExpr :: a -> (Query r a) -> Expr r a FieldAccessExpr :: a -> (Expr r a) -> (StructFieldName a) -> Expr r a ArrayAccessExpr :: a -> (Expr r a) -> (Expr r a) -> Expr r a TypeCastExpr :: a -> CastFailureAction -> (Expr r a) -> (DataType a) -> Expr r a VariableSubstitutionExpr :: a -> Expr r a data CastFailureAction CastFailureToNull :: CastFailureAction CastFailureError :: CastFailureAction newtype Escape r a Escape :: Expr r a -> Escape r a [escapeExpr] :: Escape r a -> Expr r a newtype Pattern r a Pattern :: Expr r a -> Pattern r a [patternExpr] :: Pattern r a -> Expr r a data Filter r a Filter :: a -> Expr r a -> Filter r a [filterInfo] :: Filter r a -> a [filterExpr] :: Filter r a -> Expr r a data Partition r a PartitionBy :: a -> [Expr r a] -> Partition r a PartitionBest :: a -> Partition r a PartitionNodes :: a -> Partition r a data FrameType a RowFrame :: a -> FrameType a RangeFrame :: a -> FrameType a data FrameBound a Unbounded :: a -> FrameBound a CurrentRow :: a -> FrameBound a Preceding :: a -> (Constant a) -> FrameBound a Following :: a -> (Constant a) -> FrameBound a data Frame a Frame :: a -> FrameType a -> FrameBound a -> Maybe (FrameBound a) -> Frame a [frameInfo] :: Frame a -> a [frameType] :: Frame a -> FrameType a [frameStart] :: Frame a -> FrameBound a [frameEnd] :: Frame a -> Maybe (FrameBound a) data OverSubExpr r a OverWindowExpr :: a -> (WindowExpr r a) -> OverSubExpr r a OverWindowName :: a -> (WindowName a) -> OverSubExpr r a OverPartialWindowExpr :: a -> (PartialWindowExpr r a) -> OverSubExpr r a data WindowExpr r a WindowExpr :: a -> Maybe (Partition r a) -> [Order r a] -> Maybe (Frame a) -> WindowExpr r a [windowExprInfo] :: WindowExpr r a -> a [windowExprPartition] :: WindowExpr r a -> Maybe (Partition r a) [windowExprOrder] :: WindowExpr r a -> [Order r a] [windowExprFrame] :: WindowExpr r a -> Maybe (Frame a) data PartialWindowExpr r a PartialWindowExpr :: a -> WindowName a -> Maybe (Partition r a) -> [Order r a] -> Maybe (Frame a) -> PartialWindowExpr r a [partWindowExprInfo] :: PartialWindowExpr r a -> a [partWindowExprInherit] :: PartialWindowExpr r a -> WindowName a [partWindowExprPartition] :: PartialWindowExpr r a -> Maybe (Partition r a) [partWindowExprOrder] :: PartialWindowExpr r a -> [Order r a] [partWindowExprFrame] :: PartialWindowExpr r a -> Maybe (Frame a) data WindowName a WindowName :: a -> Text -> WindowName a data NamedWindowExpr r a NamedWindowExpr :: a -> (WindowName a) -> (WindowExpr r a) -> NamedWindowExpr r a NamedPartialWindowExpr :: a -> (WindowName a) -> (PartialWindowExpr r a) -> NamedWindowExpr r a arbitraryDate :: Gen Text arbitraryTime :: Gen Text arbitraryTimestamp :: Gen Text arbitraryInterval :: Gen Text arbitraryText :: Gen Text arbitraryByteString :: Gen ByteString shrinkByteString :: ByteString -> [ByteString] scaleDown :: Int -> Gen a -> Gen a instance Data.Traversable.Traversable Database.Sql.Type.Query.WindowName instance Data.Foldable.Foldable Database.Sql.Type.Query.WindowName instance GHC.Base.Functor Database.Sql.Type.Query.WindowName instance GHC.Show.Show a => GHC.Show.Show (Database.Sql.Type.Query.WindowName a) instance GHC.Classes.Ord a => GHC.Classes.Ord (Database.Sql.Type.Query.WindowName a) instance GHC.Classes.Eq a => GHC.Classes.Eq (Database.Sql.Type.Query.WindowName a) instance Data.Data.Data a => Data.Data.Data (Database.Sql.Type.Query.WindowName a) instance GHC.Generics.Generic (Database.Sql.Type.Query.WindowName a) instance Data.Traversable.Traversable Database.Sql.Type.Query.Frame instance Data.Foldable.Foldable Database.Sql.Type.Query.Frame instance GHC.Base.Functor Database.Sql.Type.Query.Frame instance GHC.Show.Show a => GHC.Show.Show (Database.Sql.Type.Query.Frame a) instance GHC.Classes.Ord a => GHC.Classes.Ord (Database.Sql.Type.Query.Frame a) instance GHC.Classes.Eq a => GHC.Classes.Eq (Database.Sql.Type.Query.Frame a) instance Data.Data.Data a => Data.Data.Data (Database.Sql.Type.Query.Frame a) instance GHC.Generics.Generic (Database.Sql.Type.Query.Frame a) instance Data.Traversable.Traversable Database.Sql.Type.Query.FrameBound instance Data.Foldable.Foldable Database.Sql.Type.Query.FrameBound instance GHC.Base.Functor Database.Sql.Type.Query.FrameBound instance GHC.Show.Show a => GHC.Show.Show (Database.Sql.Type.Query.FrameBound a) instance GHC.Classes.Ord a => GHC.Classes.Ord (Database.Sql.Type.Query.FrameBound a) instance GHC.Classes.Eq a => GHC.Classes.Eq (Database.Sql.Type.Query.FrameBound a) instance Data.Data.Data a => Data.Data.Data (Database.Sql.Type.Query.FrameBound a) instance GHC.Generics.Generic (Database.Sql.Type.Query.FrameBound a) instance Data.Traversable.Traversable Database.Sql.Type.Query.FrameType instance Data.Foldable.Foldable Database.Sql.Type.Query.FrameType instance GHC.Base.Functor Database.Sql.Type.Query.FrameType instance GHC.Show.Show a => GHC.Show.Show (Database.Sql.Type.Query.FrameType a) instance GHC.Classes.Ord a => GHC.Classes.Ord (Database.Sql.Type.Query.FrameType a) instance GHC.Classes.Eq a => GHC.Classes.Eq (Database.Sql.Type.Query.FrameType a) instance Data.Data.Data a => Data.Data.Data (Database.Sql.Type.Query.FrameType a) instance GHC.Generics.Generic (Database.Sql.Type.Query.FrameType a) instance Data.Aeson.Types.FromJSON.FromJSON Database.Sql.Type.Query.CastFailureAction instance Data.Aeson.Types.ToJSON.ToJSON Database.Sql.Type.Query.CastFailureAction instance GHC.Show.Show Database.Sql.Type.Query.CastFailureAction instance GHC.Classes.Ord Database.Sql.Type.Query.CastFailureAction instance GHC.Classes.Eq Database.Sql.Type.Query.CastFailureAction instance Data.Data.Data Database.Sql.Type.Query.CastFailureAction instance GHC.Generics.Generic Database.Sql.Type.Query.CastFailureAction instance Data.Traversable.Traversable Database.Sql.Type.Query.ArrayIndex instance Data.Foldable.Foldable Database.Sql.Type.Query.ArrayIndex instance GHC.Base.Functor Database.Sql.Type.Query.ArrayIndex instance GHC.Show.Show a => GHC.Show.Show (Database.Sql.Type.Query.ArrayIndex a) instance GHC.Classes.Ord a => GHC.Classes.Ord (Database.Sql.Type.Query.ArrayIndex a) instance GHC.Classes.Eq a => GHC.Classes.Eq (Database.Sql.Type.Query.ArrayIndex a) instance Data.Data.Data a => Data.Data.Data (Database.Sql.Type.Query.ArrayIndex a) instance GHC.Generics.Generic (Database.Sql.Type.Query.ArrayIndex a) instance Data.Traversable.Traversable Database.Sql.Type.Query.Operator instance Data.Foldable.Foldable Database.Sql.Type.Query.Operator instance GHC.Base.Functor Database.Sql.Type.Query.Operator instance GHC.Show.Show (Database.Sql.Type.Query.Operator a) instance GHC.Classes.Ord (Database.Sql.Type.Query.Operator a) instance GHC.Classes.Eq (Database.Sql.Type.Query.Operator a) instance Data.Data.Data a => Data.Data.Data (Database.Sql.Type.Query.Operator a) instance GHC.Generics.Generic (Database.Sql.Type.Query.Operator a) instance Data.Traversable.Traversable Database.Sql.Type.Query.Constant instance Data.Foldable.Foldable Database.Sql.Type.Query.Constant instance GHC.Base.Functor Database.Sql.Type.Query.Constant instance GHC.Show.Show a => GHC.Show.Show (Database.Sql.Type.Query.Constant a) instance GHC.Classes.Ord a => GHC.Classes.Ord (Database.Sql.Type.Query.Constant a) instance GHC.Classes.Eq a => GHC.Classes.Eq (Database.Sql.Type.Query.Constant a) instance Data.Data.Data a => Data.Data.Data (Database.Sql.Type.Query.Constant a) instance GHC.Generics.Generic (Database.Sql.Type.Query.Constant a) instance Data.Traversable.Traversable Database.Sql.Type.Query.DataTypeParam instance Data.Foldable.Foldable Database.Sql.Type.Query.DataTypeParam instance GHC.Base.Functor Database.Sql.Type.Query.DataTypeParam instance GHC.Show.Show a => GHC.Show.Show (Database.Sql.Type.Query.DataTypeParam a) instance GHC.Classes.Ord a => GHC.Classes.Ord (Database.Sql.Type.Query.DataTypeParam a) instance GHC.Classes.Eq a => GHC.Classes.Eq (Database.Sql.Type.Query.DataTypeParam a) instance Data.Data.Data a => Data.Data.Data (Database.Sql.Type.Query.DataTypeParam a) instance GHC.Generics.Generic (Database.Sql.Type.Query.DataTypeParam a) instance Data.Traversable.Traversable Database.Sql.Type.Query.DataType instance Data.Foldable.Foldable Database.Sql.Type.Query.DataType instance GHC.Base.Functor Database.Sql.Type.Query.DataType instance GHC.Show.Show a => GHC.Show.Show (Database.Sql.Type.Query.DataType a) instance GHC.Classes.Ord a => GHC.Classes.Ord (Database.Sql.Type.Query.DataType a) instance GHC.Classes.Eq a => GHC.Classes.Eq (Database.Sql.Type.Query.DataType a) instance Data.Data.Data a => Data.Data.Data (Database.Sql.Type.Query.DataType a) instance GHC.Generics.Generic (Database.Sql.Type.Query.DataType a) instance Data.Traversable.Traversable Database.Sql.Type.Query.Limit instance Data.Foldable.Foldable Database.Sql.Type.Query.Limit instance GHC.Base.Functor Database.Sql.Type.Query.Limit instance GHC.Show.Show a => GHC.Show.Show (Database.Sql.Type.Query.Limit a) instance GHC.Classes.Ord a => GHC.Classes.Ord (Database.Sql.Type.Query.Limit a) instance GHC.Classes.Eq a => GHC.Classes.Eq (Database.Sql.Type.Query.Limit a) instance Data.Data.Data a => Data.Data.Data (Database.Sql.Type.Query.Limit a) instance GHC.Generics.Generic (Database.Sql.Type.Query.Limit a) instance Data.Traversable.Traversable Database.Sql.Type.Query.Offset instance Data.Foldable.Foldable Database.Sql.Type.Query.Offset instance GHC.Base.Functor Database.Sql.Type.Query.Offset instance GHC.Show.Show a => GHC.Show.Show (Database.Sql.Type.Query.Offset a) instance GHC.Classes.Ord a => GHC.Classes.Ord (Database.Sql.Type.Query.Offset a) instance GHC.Classes.Eq a => GHC.Classes.Eq (Database.Sql.Type.Query.Offset a) instance Data.Data.Data a => Data.Data.Data (Database.Sql.Type.Query.Offset a) instance GHC.Generics.Generic (Database.Sql.Type.Query.Offset a) instance Data.Traversable.Traversable Database.Sql.Type.Query.NullPosition instance Data.Foldable.Foldable Database.Sql.Type.Query.NullPosition instance GHC.Base.Functor Database.Sql.Type.Query.NullPosition instance GHC.Show.Show a => GHC.Show.Show (Database.Sql.Type.Query.NullPosition a) instance GHC.Classes.Ord a => GHC.Classes.Ord (Database.Sql.Type.Query.NullPosition a) instance GHC.Classes.Eq a => GHC.Classes.Eq (Database.Sql.Type.Query.NullPosition a) instance Data.Data.Data a => Data.Data.Data (Database.Sql.Type.Query.NullPosition a) instance GHC.Generics.Generic (Database.Sql.Type.Query.NullPosition a) instance Data.Traversable.Traversable Database.Sql.Type.Query.OrderDirection instance Data.Foldable.Foldable Database.Sql.Type.Query.OrderDirection instance GHC.Base.Functor Database.Sql.Type.Query.OrderDirection instance GHC.Show.Show a => GHC.Show.Show (Database.Sql.Type.Query.OrderDirection a) instance GHC.Classes.Ord a => GHC.Classes.Ord (Database.Sql.Type.Query.OrderDirection a) instance GHC.Classes.Eq a => GHC.Classes.Eq (Database.Sql.Type.Query.OrderDirection a) instance Data.Data.Data a => Data.Data.Data (Database.Sql.Type.Query.OrderDirection a) instance GHC.Generics.Generic (Database.Sql.Type.Query.OrderDirection a) instance Data.Traversable.Traversable Database.Sql.Type.Query.JoinType instance Data.Foldable.Foldable Database.Sql.Type.Query.JoinType instance GHC.Base.Functor Database.Sql.Type.Query.JoinType instance GHC.Show.Show a => GHC.Show.Show (Database.Sql.Type.Query.JoinType a) instance GHC.Classes.Ord a => GHC.Classes.Ord (Database.Sql.Type.Query.JoinType a) instance GHC.Classes.Eq a => GHC.Classes.Eq (Database.Sql.Type.Query.JoinType a) instance Data.Data.Data a => Data.Data.Data (Database.Sql.Type.Query.JoinType a) instance GHC.Generics.Generic (Database.Sql.Type.Query.JoinType a) instance Data.Traversable.Traversable Database.Sql.Type.Query.TablishAliases instance Data.Foldable.Foldable Database.Sql.Type.Query.TablishAliases instance GHC.Base.Functor Database.Sql.Type.Query.TablishAliases instance GHC.Show.Show a => GHC.Show.Show (Database.Sql.Type.Query.TablishAliases a) instance GHC.Classes.Ord a => GHC.Classes.Ord (Database.Sql.Type.Query.TablishAliases a) instance GHC.Classes.Eq a => GHC.Classes.Eq (Database.Sql.Type.Query.TablishAliases a) instance Data.Data.Data a => Data.Data.Data (Database.Sql.Type.Query.TablishAliases a) instance GHC.Generics.Generic (Database.Sql.Type.Query.TablishAliases a) instance GHC.Show.Show Database.Sql.Type.Query.Distinct instance GHC.Classes.Ord Database.Sql.Type.Query.Distinct instance GHC.Classes.Eq Database.Sql.Type.Query.Distinct instance GHC.Generics.Generic Database.Sql.Type.Query.Distinct instance Data.Data.Data Database.Sql.Type.Query.Distinct instance (Database.Sql.Type.Names.ConstrainSNames Data.Data.Data r a, Data.Data.Data r) => Data.Data.Data (Database.Sql.Type.Query.Query r a) instance GHC.Generics.Generic (Database.Sql.Type.Query.Query r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Classes.Eq r a => GHC.Classes.Eq (Database.Sql.Type.Query.Query r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Classes.Ord r a => GHC.Classes.Ord (Database.Sql.Type.Query.Query r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Show.Show r a => GHC.Show.Show (Database.Sql.Type.Query.Query r a) instance Database.Sql.Type.Names.ConstrainSASNames GHC.Base.Functor r => GHC.Base.Functor (Database.Sql.Type.Query.Query r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Foldable.Foldable r => Data.Foldable.Foldable (Database.Sql.Type.Query.Query r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Traversable.Traversable r => Data.Traversable.Traversable (Database.Sql.Type.Query.Query r) instance (Database.Sql.Type.Names.ConstrainSNames Data.Data.Data r a, Data.Data.Data r) => Data.Data.Data (Database.Sql.Type.Query.CTE r a) instance GHC.Generics.Generic (Database.Sql.Type.Query.CTE r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Classes.Eq r a => GHC.Classes.Eq (Database.Sql.Type.Query.CTE r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Classes.Ord r a => GHC.Classes.Ord (Database.Sql.Type.Query.CTE r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Show.Show r a => GHC.Show.Show (Database.Sql.Type.Query.CTE r a) instance Database.Sql.Type.Names.ConstrainSASNames GHC.Base.Functor r => GHC.Base.Functor (Database.Sql.Type.Query.CTE r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Foldable.Foldable r => Data.Foldable.Foldable (Database.Sql.Type.Query.CTE r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Traversable.Traversable r => Data.Traversable.Traversable (Database.Sql.Type.Query.CTE r) instance (Database.Sql.Type.Names.ConstrainSNames Data.Data.Data r a, Data.Data.Data r) => Data.Data.Data (Database.Sql.Type.Query.Select r a) instance GHC.Generics.Generic (Database.Sql.Type.Query.Select r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Classes.Eq r a => GHC.Classes.Eq (Database.Sql.Type.Query.Select r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Classes.Ord r a => GHC.Classes.Ord (Database.Sql.Type.Query.Select r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Show.Show r a => GHC.Show.Show (Database.Sql.Type.Query.Select r a) instance Database.Sql.Type.Names.ConstrainSASNames GHC.Base.Functor r => GHC.Base.Functor (Database.Sql.Type.Query.Select r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Foldable.Foldable r => Data.Foldable.Foldable (Database.Sql.Type.Query.Select r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Traversable.Traversable r => Data.Traversable.Traversable (Database.Sql.Type.Query.Select r) instance (Database.Sql.Type.Names.ConstrainSNames Data.Data.Data r a, Data.Data.Data r) => Data.Data.Data (Database.Sql.Type.Query.SelectColumns r a) instance GHC.Generics.Generic (Database.Sql.Type.Query.SelectColumns r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Classes.Eq r a => GHC.Classes.Eq (Database.Sql.Type.Query.SelectColumns r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Classes.Ord r a => GHC.Classes.Ord (Database.Sql.Type.Query.SelectColumns r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Show.Show r a => GHC.Show.Show (Database.Sql.Type.Query.SelectColumns r a) instance Database.Sql.Type.Names.ConstrainSASNames GHC.Base.Functor r => GHC.Base.Functor (Database.Sql.Type.Query.SelectColumns r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Foldable.Foldable r => Data.Foldable.Foldable (Database.Sql.Type.Query.SelectColumns r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Traversable.Traversable r => Data.Traversable.Traversable (Database.Sql.Type.Query.SelectColumns r) instance (Database.Sql.Type.Names.ConstrainSNames Data.Data.Data r a, Data.Data.Data r) => Data.Data.Data (Database.Sql.Type.Query.SelectFrom r a) instance GHC.Generics.Generic (Database.Sql.Type.Query.SelectFrom r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Classes.Eq r a => GHC.Classes.Eq (Database.Sql.Type.Query.SelectFrom r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Classes.Ord r a => GHC.Classes.Ord (Database.Sql.Type.Query.SelectFrom r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Show.Show r a => GHC.Show.Show (Database.Sql.Type.Query.SelectFrom r a) instance Database.Sql.Type.Names.ConstrainSASNames GHC.Base.Functor r => GHC.Base.Functor (Database.Sql.Type.Query.SelectFrom r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Foldable.Foldable r => Data.Foldable.Foldable (Database.Sql.Type.Query.SelectFrom r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Traversable.Traversable r => Data.Traversable.Traversable (Database.Sql.Type.Query.SelectFrom r) instance (Database.Sql.Type.Names.ConstrainSNames Data.Data.Data r a, Data.Data.Data r) => Data.Data.Data (Database.Sql.Type.Query.Tablish r a) instance GHC.Generics.Generic (Database.Sql.Type.Query.Tablish r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Classes.Eq r a => GHC.Classes.Eq (Database.Sql.Type.Query.Tablish r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Classes.Ord r a => GHC.Classes.Ord (Database.Sql.Type.Query.Tablish r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Show.Show r a => GHC.Show.Show (Database.Sql.Type.Query.Tablish r a) instance Database.Sql.Type.Names.ConstrainSASNames GHC.Base.Functor r => GHC.Base.Functor (Database.Sql.Type.Query.Tablish r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Foldable.Foldable r => Data.Foldable.Foldable (Database.Sql.Type.Query.Tablish r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Traversable.Traversable r => Data.Traversable.Traversable (Database.Sql.Type.Query.Tablish r) instance (Database.Sql.Type.Names.ConstrainSNames Data.Data.Data r a, Data.Data.Data r) => Data.Data.Data (Database.Sql.Type.Query.JoinCondition r a) instance GHC.Generics.Generic (Database.Sql.Type.Query.JoinCondition r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Classes.Eq r a => GHC.Classes.Eq (Database.Sql.Type.Query.JoinCondition r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Classes.Ord r a => GHC.Classes.Ord (Database.Sql.Type.Query.JoinCondition r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Show.Show r a => GHC.Show.Show (Database.Sql.Type.Query.JoinCondition r a) instance Database.Sql.Type.Names.ConstrainSASNames GHC.Base.Functor r => GHC.Base.Functor (Database.Sql.Type.Query.JoinCondition r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Foldable.Foldable r => Data.Foldable.Foldable (Database.Sql.Type.Query.JoinCondition r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Traversable.Traversable r => Data.Traversable.Traversable (Database.Sql.Type.Query.JoinCondition r) instance (Database.Sql.Type.Names.ConstrainSNames Data.Data.Data r a, Data.Data.Data r) => Data.Data.Data (Database.Sql.Type.Query.LateralView r a) instance GHC.Generics.Generic (Database.Sql.Type.Query.LateralView r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Classes.Eq r a => GHC.Classes.Eq (Database.Sql.Type.Query.LateralView r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Classes.Ord r a => GHC.Classes.Ord (Database.Sql.Type.Query.LateralView r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Show.Show r a => GHC.Show.Show (Database.Sql.Type.Query.LateralView r a) instance Database.Sql.Type.Names.ConstrainSASNames GHC.Base.Functor r => GHC.Base.Functor (Database.Sql.Type.Query.LateralView r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Foldable.Foldable r => Data.Foldable.Foldable (Database.Sql.Type.Query.LateralView r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Traversable.Traversable r => Data.Traversable.Traversable (Database.Sql.Type.Query.LateralView r) instance (Database.Sql.Type.Names.ConstrainSNames Data.Data.Data r a, Data.Data.Data r) => Data.Data.Data (Database.Sql.Type.Query.SelectWhere r a) instance GHC.Generics.Generic (Database.Sql.Type.Query.SelectWhere r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Classes.Eq r a => GHC.Classes.Eq (Database.Sql.Type.Query.SelectWhere r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Classes.Ord r a => GHC.Classes.Ord (Database.Sql.Type.Query.SelectWhere r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Show.Show r a => GHC.Show.Show (Database.Sql.Type.Query.SelectWhere r a) instance Database.Sql.Type.Names.ConstrainSASNames GHC.Base.Functor r => GHC.Base.Functor (Database.Sql.Type.Query.SelectWhere r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Foldable.Foldable r => Data.Foldable.Foldable (Database.Sql.Type.Query.SelectWhere r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Traversable.Traversable r => Data.Traversable.Traversable (Database.Sql.Type.Query.SelectWhere r) instance (Database.Sql.Type.Names.ConstrainSNames Data.Data.Data r a, Data.Data.Data r) => Data.Data.Data (Database.Sql.Type.Query.SelectTimeseries r a) instance GHC.Generics.Generic (Database.Sql.Type.Query.SelectTimeseries r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Classes.Eq r a => GHC.Classes.Eq (Database.Sql.Type.Query.SelectTimeseries r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Classes.Ord r a => GHC.Classes.Ord (Database.Sql.Type.Query.SelectTimeseries r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Show.Show r a => GHC.Show.Show (Database.Sql.Type.Query.SelectTimeseries r a) instance Database.Sql.Type.Names.ConstrainSASNames GHC.Base.Functor r => GHC.Base.Functor (Database.Sql.Type.Query.SelectTimeseries r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Foldable.Foldable r => Data.Foldable.Foldable (Database.Sql.Type.Query.SelectTimeseries r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Traversable.Traversable r => Data.Traversable.Traversable (Database.Sql.Type.Query.SelectTimeseries r) instance (Database.Sql.Type.Names.ConstrainSNames Data.Data.Data r a, Data.Data.Data r) => Data.Data.Data (Database.Sql.Type.Query.PositionOrExpr r a) instance GHC.Generics.Generic (Database.Sql.Type.Query.PositionOrExpr r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Classes.Eq r a => GHC.Classes.Eq (Database.Sql.Type.Query.PositionOrExpr r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Classes.Ord r a => GHC.Classes.Ord (Database.Sql.Type.Query.PositionOrExpr r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Show.Show r a => GHC.Show.Show (Database.Sql.Type.Query.PositionOrExpr r a) instance Database.Sql.Type.Names.ConstrainSASNames GHC.Base.Functor r => GHC.Base.Functor (Database.Sql.Type.Query.PositionOrExpr r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Foldable.Foldable r => Data.Foldable.Foldable (Database.Sql.Type.Query.PositionOrExpr r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Traversable.Traversable r => Data.Traversable.Traversable (Database.Sql.Type.Query.PositionOrExpr r) instance (Database.Sql.Type.Names.ConstrainSNames Data.Data.Data r a, Data.Data.Data r) => Data.Data.Data (Database.Sql.Type.Query.GroupingElement r a) instance GHC.Generics.Generic (Database.Sql.Type.Query.GroupingElement r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Classes.Eq r a => GHC.Classes.Eq (Database.Sql.Type.Query.GroupingElement r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Classes.Ord r a => GHC.Classes.Ord (Database.Sql.Type.Query.GroupingElement r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Show.Show r a => GHC.Show.Show (Database.Sql.Type.Query.GroupingElement r a) instance Database.Sql.Type.Names.ConstrainSASNames GHC.Base.Functor r => GHC.Base.Functor (Database.Sql.Type.Query.GroupingElement r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Foldable.Foldable r => Data.Foldable.Foldable (Database.Sql.Type.Query.GroupingElement r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Traversable.Traversable r => Data.Traversable.Traversable (Database.Sql.Type.Query.GroupingElement r) instance (Database.Sql.Type.Names.ConstrainSNames Data.Data.Data r a, Data.Data.Data r) => Data.Data.Data (Database.Sql.Type.Query.SelectGroup r a) instance GHC.Generics.Generic (Database.Sql.Type.Query.SelectGroup r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Classes.Eq r a => GHC.Classes.Eq (Database.Sql.Type.Query.SelectGroup r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Classes.Ord r a => GHC.Classes.Ord (Database.Sql.Type.Query.SelectGroup r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Show.Show r a => GHC.Show.Show (Database.Sql.Type.Query.SelectGroup r a) instance Database.Sql.Type.Names.ConstrainSASNames GHC.Base.Functor r => GHC.Base.Functor (Database.Sql.Type.Query.SelectGroup r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Foldable.Foldable r => Data.Foldable.Foldable (Database.Sql.Type.Query.SelectGroup r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Traversable.Traversable r => Data.Traversable.Traversable (Database.Sql.Type.Query.SelectGroup r) instance (Database.Sql.Type.Names.ConstrainSNames Data.Data.Data r a, Data.Data.Data r) => Data.Data.Data (Database.Sql.Type.Query.SelectHaving r a) instance GHC.Generics.Generic (Database.Sql.Type.Query.SelectHaving r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Classes.Eq r a => GHC.Classes.Eq (Database.Sql.Type.Query.SelectHaving r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Classes.Ord r a => GHC.Classes.Ord (Database.Sql.Type.Query.SelectHaving r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Show.Show r a => GHC.Show.Show (Database.Sql.Type.Query.SelectHaving r a) instance Database.Sql.Type.Names.ConstrainSASNames GHC.Base.Functor r => GHC.Base.Functor (Database.Sql.Type.Query.SelectHaving r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Foldable.Foldable r => Data.Foldable.Foldable (Database.Sql.Type.Query.SelectHaving r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Traversable.Traversable r => Data.Traversable.Traversable (Database.Sql.Type.Query.SelectHaving r) instance (Database.Sql.Type.Names.ConstrainSNames Data.Data.Data r a, Data.Data.Data r) => Data.Data.Data (Database.Sql.Type.Query.SelectNamedWindow r a) instance GHC.Generics.Generic (Database.Sql.Type.Query.SelectNamedWindow r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Classes.Eq r a => GHC.Classes.Eq (Database.Sql.Type.Query.SelectNamedWindow r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Classes.Ord r a => GHC.Classes.Ord (Database.Sql.Type.Query.SelectNamedWindow r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Show.Show r a => GHC.Show.Show (Database.Sql.Type.Query.SelectNamedWindow r a) instance Database.Sql.Type.Names.ConstrainSASNames GHC.Base.Functor r => GHC.Base.Functor (Database.Sql.Type.Query.SelectNamedWindow r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Foldable.Foldable r => Data.Foldable.Foldable (Database.Sql.Type.Query.SelectNamedWindow r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Traversable.Traversable r => Data.Traversable.Traversable (Database.Sql.Type.Query.SelectNamedWindow r) instance (Database.Sql.Type.Names.ConstrainSNames Data.Data.Data r a, Data.Data.Data r) => Data.Data.Data (Database.Sql.Type.Query.Order r a) instance GHC.Generics.Generic (Database.Sql.Type.Query.Order r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Classes.Eq r a => GHC.Classes.Eq (Database.Sql.Type.Query.Order r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Classes.Ord r a => GHC.Classes.Ord (Database.Sql.Type.Query.Order r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Show.Show r a => GHC.Show.Show (Database.Sql.Type.Query.Order r a) instance Database.Sql.Type.Names.ConstrainSASNames GHC.Base.Functor r => GHC.Base.Functor (Database.Sql.Type.Query.Order r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Foldable.Foldable r => Data.Foldable.Foldable (Database.Sql.Type.Query.Order r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Traversable.Traversable r => Data.Traversable.Traversable (Database.Sql.Type.Query.Order r) instance (Database.Sql.Type.Names.ConstrainSNames Data.Data.Data r a, Data.Data.Data r) => Data.Data.Data (Database.Sql.Type.Query.Selection r a) instance GHC.Generics.Generic (Database.Sql.Type.Query.Selection r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Classes.Eq r a => GHC.Classes.Eq (Database.Sql.Type.Query.Selection r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Classes.Ord r a => GHC.Classes.Ord (Database.Sql.Type.Query.Selection r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Show.Show r a => GHC.Show.Show (Database.Sql.Type.Query.Selection r a) instance Database.Sql.Type.Names.ConstrainSASNames GHC.Base.Functor r => GHC.Base.Functor (Database.Sql.Type.Query.Selection r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Foldable.Foldable r => Data.Foldable.Foldable (Database.Sql.Type.Query.Selection r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Traversable.Traversable r => Data.Traversable.Traversable (Database.Sql.Type.Query.Selection r) instance (Database.Sql.Type.Names.ConstrainSNames Data.Data.Data r a, Data.Data.Data r) => Data.Data.Data (Database.Sql.Type.Query.Expr r a) instance GHC.Generics.Generic (Database.Sql.Type.Query.Expr r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Classes.Eq r a => GHC.Classes.Eq (Database.Sql.Type.Query.Expr r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Classes.Ord r a => GHC.Classes.Ord (Database.Sql.Type.Query.Expr r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Show.Show r a => GHC.Show.Show (Database.Sql.Type.Query.Expr r a) instance Database.Sql.Type.Names.ConstrainSASNames GHC.Base.Functor r => GHC.Base.Functor (Database.Sql.Type.Query.Expr r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Foldable.Foldable r => Data.Foldable.Foldable (Database.Sql.Type.Query.Expr r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Traversable.Traversable r => Data.Traversable.Traversable (Database.Sql.Type.Query.Expr r) instance (Database.Sql.Type.Names.ConstrainSNames Data.Data.Data r a, Data.Data.Data r) => Data.Data.Data (Database.Sql.Type.Query.Escape r a) instance GHC.Generics.Generic (Database.Sql.Type.Query.Escape r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Classes.Eq r a => GHC.Classes.Eq (Database.Sql.Type.Query.Escape r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Classes.Ord r a => GHC.Classes.Ord (Database.Sql.Type.Query.Escape r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Show.Show r a => GHC.Show.Show (Database.Sql.Type.Query.Escape r a) instance Database.Sql.Type.Names.ConstrainSASNames GHC.Base.Functor r => GHC.Base.Functor (Database.Sql.Type.Query.Escape r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Foldable.Foldable r => Data.Foldable.Foldable (Database.Sql.Type.Query.Escape r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Traversable.Traversable r => Data.Traversable.Traversable (Database.Sql.Type.Query.Escape r) instance (Database.Sql.Type.Names.ConstrainSNames Data.Data.Data r a, Data.Data.Data r) => Data.Data.Data (Database.Sql.Type.Query.Pattern r a) instance GHC.Generics.Generic (Database.Sql.Type.Query.Pattern r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Classes.Eq r a => GHC.Classes.Eq (Database.Sql.Type.Query.Pattern r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Classes.Ord r a => GHC.Classes.Ord (Database.Sql.Type.Query.Pattern r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Show.Show r a => GHC.Show.Show (Database.Sql.Type.Query.Pattern r a) instance Database.Sql.Type.Names.ConstrainSASNames GHC.Base.Functor r => GHC.Base.Functor (Database.Sql.Type.Query.Pattern r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Foldable.Foldable r => Data.Foldable.Foldable (Database.Sql.Type.Query.Pattern r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Traversable.Traversable r => Data.Traversable.Traversable (Database.Sql.Type.Query.Pattern r) instance (Database.Sql.Type.Names.ConstrainSNames Data.Data.Data r a, Data.Data.Data r) => Data.Data.Data (Database.Sql.Type.Query.Filter r a) instance GHC.Generics.Generic (Database.Sql.Type.Query.Filter r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Classes.Eq r a => GHC.Classes.Eq (Database.Sql.Type.Query.Filter r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Classes.Ord r a => GHC.Classes.Ord (Database.Sql.Type.Query.Filter r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Show.Show r a => GHC.Show.Show (Database.Sql.Type.Query.Filter r a) instance Database.Sql.Type.Names.ConstrainSASNames GHC.Base.Functor r => GHC.Base.Functor (Database.Sql.Type.Query.Filter r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Foldable.Foldable r => Data.Foldable.Foldable (Database.Sql.Type.Query.Filter r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Traversable.Traversable r => Data.Traversable.Traversable (Database.Sql.Type.Query.Filter r) instance (Database.Sql.Type.Names.ConstrainSNames Data.Data.Data r a, Data.Data.Data r) => Data.Data.Data (Database.Sql.Type.Query.Partition r a) instance GHC.Generics.Generic (Database.Sql.Type.Query.Partition r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Classes.Eq r a => GHC.Classes.Eq (Database.Sql.Type.Query.Partition r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Classes.Ord r a => GHC.Classes.Ord (Database.Sql.Type.Query.Partition r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Show.Show r a => GHC.Show.Show (Database.Sql.Type.Query.Partition r a) instance Database.Sql.Type.Names.ConstrainSASNames GHC.Base.Functor r => GHC.Base.Functor (Database.Sql.Type.Query.Partition r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Foldable.Foldable r => Data.Foldable.Foldable (Database.Sql.Type.Query.Partition r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Traversable.Traversable r => Data.Traversable.Traversable (Database.Sql.Type.Query.Partition r) instance (Database.Sql.Type.Names.ConstrainSNames Data.Data.Data r a, Data.Data.Data r) => Data.Data.Data (Database.Sql.Type.Query.OverSubExpr r a) instance GHC.Generics.Generic (Database.Sql.Type.Query.OverSubExpr r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Classes.Eq r a => GHC.Classes.Eq (Database.Sql.Type.Query.OverSubExpr r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Classes.Ord r a => GHC.Classes.Ord (Database.Sql.Type.Query.OverSubExpr r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Show.Show r a => GHC.Show.Show (Database.Sql.Type.Query.OverSubExpr r a) instance Database.Sql.Type.Names.ConstrainSASNames GHC.Base.Functor r => GHC.Base.Functor (Database.Sql.Type.Query.OverSubExpr r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Foldable.Foldable r => Data.Foldable.Foldable (Database.Sql.Type.Query.OverSubExpr r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Traversable.Traversable r => Data.Traversable.Traversable (Database.Sql.Type.Query.OverSubExpr r) instance (Database.Sql.Type.Names.ConstrainSNames Data.Data.Data r a, Data.Data.Data r) => Data.Data.Data (Database.Sql.Type.Query.WindowExpr r a) instance GHC.Generics.Generic (Database.Sql.Type.Query.WindowExpr r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Classes.Eq r a => GHC.Classes.Eq (Database.Sql.Type.Query.WindowExpr r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Classes.Ord r a => GHC.Classes.Ord (Database.Sql.Type.Query.WindowExpr r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Show.Show r a => GHC.Show.Show (Database.Sql.Type.Query.WindowExpr r a) instance Database.Sql.Type.Names.ConstrainSASNames GHC.Base.Functor r => GHC.Base.Functor (Database.Sql.Type.Query.WindowExpr r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Foldable.Foldable r => Data.Foldable.Foldable (Database.Sql.Type.Query.WindowExpr r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Traversable.Traversable r => Data.Traversable.Traversable (Database.Sql.Type.Query.WindowExpr r) instance (Database.Sql.Type.Names.ConstrainSNames Data.Data.Data r a, Data.Data.Data r) => Data.Data.Data (Database.Sql.Type.Query.PartialWindowExpr r a) instance GHC.Generics.Generic (Database.Sql.Type.Query.PartialWindowExpr r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Classes.Eq r a => GHC.Classes.Eq (Database.Sql.Type.Query.PartialWindowExpr r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Classes.Ord r a => GHC.Classes.Ord (Database.Sql.Type.Query.PartialWindowExpr r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Show.Show r a => GHC.Show.Show (Database.Sql.Type.Query.PartialWindowExpr r a) instance Database.Sql.Type.Names.ConstrainSASNames GHC.Base.Functor r => GHC.Base.Functor (Database.Sql.Type.Query.PartialWindowExpr r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Foldable.Foldable r => Data.Foldable.Foldable (Database.Sql.Type.Query.PartialWindowExpr r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Traversable.Traversable r => Data.Traversable.Traversable (Database.Sql.Type.Query.PartialWindowExpr r) instance (Database.Sql.Type.Names.ConstrainSNames Data.Data.Data r a, Data.Data.Data r) => Data.Data.Data (Database.Sql.Type.Query.NamedWindowExpr r a) instance GHC.Generics.Generic (Database.Sql.Type.Query.NamedWindowExpr r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Classes.Eq r a => GHC.Classes.Eq (Database.Sql.Type.Query.NamedWindowExpr r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Classes.Ord r a => GHC.Classes.Ord (Database.Sql.Type.Query.NamedWindowExpr r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Show.Show r a => GHC.Show.Show (Database.Sql.Type.Query.NamedWindowExpr r a) instance Database.Sql.Type.Names.ConstrainSASNames GHC.Base.Functor r => GHC.Base.Functor (Database.Sql.Type.Query.NamedWindowExpr r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Foldable.Foldable r => Data.Foldable.Foldable (Database.Sql.Type.Query.NamedWindowExpr r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Traversable.Traversable r => Data.Traversable.Traversable (Database.Sql.Type.Query.NamedWindowExpr r) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.ToJSON.ToJSON r a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Query.Query r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.ToJSON.ToJSON r a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Query.CTE r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.ToJSON.ToJSON r a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Query.Select r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.ToJSON.ToJSON r a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Query.SelectColumns r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.ToJSON.ToJSON r a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Query.SelectFrom r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.ToJSON.ToJSON r a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Query.SelectWhere r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.ToJSON.ToJSON r a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Query.SelectTimeseries r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.ToJSON.ToJSON r a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Query.PositionOrExpr r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.ToJSON.ToJSON r a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Query.GroupingElement r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.ToJSON.ToJSON r a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Query.SelectGroup r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.ToJSON.ToJSON r a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Query.SelectHaving r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.ToJSON.ToJSON r a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Query.SelectNamedWindow r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.ToJSON.ToJSON r a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Query.Selection r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.ToJSON.ToJSON r a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Query.Expr r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.ToJSON.ToJSON r a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Query.Filter r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.ToJSON.ToJSON r a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Query.OverSubExpr r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.ToJSON.ToJSON r a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Query.WindowExpr r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.ToJSON.ToJSON r a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Query.PartialWindowExpr r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.ToJSON.ToJSON r a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Query.NamedWindowExpr r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.ToJSON.ToJSON r a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Query.Partition r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.ToJSON.ToJSON r a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Query.Order r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.ToJSON.ToJSON r a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Query.JoinCondition r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.ToJSON.ToJSON r a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Query.Tablish r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.ToJSON.ToJSON r a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Query.LateralView r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.FromJSON.FromJSON r a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.Query.Query r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.FromJSON.FromJSON r a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.Query.CTE r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.FromJSON.FromJSON r a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.Query.Selection r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.FromJSON.FromJSON r a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.Query.Expr r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.FromJSON.FromJSON r a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.Query.Filter r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.FromJSON.FromJSON r a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.Query.OverSubExpr r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.FromJSON.FromJSON r a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.Query.WindowExpr r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.FromJSON.FromJSON r a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.Query.PartialWindowExpr r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.FromJSON.FromJSON r a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.Query.NamedWindowExpr r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.FromJSON.FromJSON r a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.Query.Partition r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.FromJSON.FromJSON r a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.Query.Order r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.FromJSON.FromJSON r a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.Query.JoinCondition r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.FromJSON.FromJSON r a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.Query.Tablish r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.FromJSON.FromJSON r a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.Query.LateralView r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.FromJSON.FromJSON r a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.Query.Select r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.FromJSON.FromJSON r a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.Query.SelectColumns r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.FromJSON.FromJSON r a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.Query.SelectFrom r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.FromJSON.FromJSON r a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.Query.SelectWhere r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.FromJSON.FromJSON r a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.Query.SelectTimeseries r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.FromJSON.FromJSON r a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.Query.PositionOrExpr r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.FromJSON.FromJSON r a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.Query.GroupingElement r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.FromJSON.FromJSON r a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.Query.SelectGroup r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.FromJSON.FromJSON r a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.Query.SelectHaving r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.FromJSON.FromJSON r a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.Query.SelectNamedWindow r a) instance (Test.QuickCheck.Arbitrary.Arbitrary (Database.Sql.Type.Names.PositionExpr r a), Test.QuickCheck.Arbitrary.Arbitrary a) => Test.QuickCheck.Arbitrary.Arbitrary (Database.Sql.Type.Query.Partition r a) instance (Test.QuickCheck.Arbitrary.Arbitrary (Database.Sql.Type.Names.PositionExpr r a), Test.QuickCheck.Arbitrary.Arbitrary a) => Test.QuickCheck.Arbitrary.Arbitrary (Database.Sql.Type.Query.PositionOrExpr r a) instance (Test.QuickCheck.Arbitrary.Arbitrary (Database.Sql.Type.Names.PositionExpr r a), Test.QuickCheck.Arbitrary.Arbitrary a) => Test.QuickCheck.Arbitrary.Arbitrary (Database.Sql.Type.Query.Order r a) instance (Test.QuickCheck.Arbitrary.Arbitrary (Database.Sql.Type.Names.PositionExpr r a), Test.QuickCheck.Arbitrary.Arbitrary a) => Test.QuickCheck.Arbitrary.Arbitrary (Database.Sql.Type.Query.OverSubExpr r a) instance (Test.QuickCheck.Arbitrary.Arbitrary (Database.Sql.Type.Names.PositionExpr r a), Test.QuickCheck.Arbitrary.Arbitrary a) => Test.QuickCheck.Arbitrary.Arbitrary (Database.Sql.Type.Query.WindowExpr r a) instance (Test.QuickCheck.Arbitrary.Arbitrary (Database.Sql.Type.Names.PositionExpr r a), Test.QuickCheck.Arbitrary.Arbitrary a) => Test.QuickCheck.Arbitrary.Arbitrary (Database.Sql.Type.Query.PartialWindowExpr r a) instance (Test.QuickCheck.Arbitrary.Arbitrary (Database.Sql.Type.Names.PositionExpr r a), Test.QuickCheck.Arbitrary.Arbitrary a) => Test.QuickCheck.Arbitrary.Arbitrary (Database.Sql.Type.Query.Filter r a) instance (Test.QuickCheck.Arbitrary.Arbitrary (Database.Sql.Type.Names.PositionExpr r a), Test.QuickCheck.Arbitrary.Arbitrary a) => Test.QuickCheck.Arbitrary.Arbitrary (Database.Sql.Type.Query.Expr r a) instance Data.Aeson.Types.ToJSON.ToJSON a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Query.WindowName a) instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.Query.WindowName a) instance Test.QuickCheck.Arbitrary.Arbitrary a => Test.QuickCheck.Arbitrary.Arbitrary (Database.Sql.Type.Query.WindowName a) instance Data.Aeson.Types.ToJSON.ToJSON a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Query.Frame a) instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.Query.Frame a) instance Test.QuickCheck.Arbitrary.Arbitrary a => Test.QuickCheck.Arbitrary.Arbitrary (Database.Sql.Type.Query.Frame a) instance Data.Aeson.Types.ToJSON.ToJSON a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Query.FrameBound a) instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.Query.FrameBound a) instance Test.QuickCheck.Arbitrary.Arbitrary a => Test.QuickCheck.Arbitrary.Arbitrary (Database.Sql.Type.Query.FrameBound a) instance Data.Aeson.Types.ToJSON.ToJSON a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Query.FrameType a) instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.Query.FrameType a) instance Test.QuickCheck.Arbitrary.Arbitrary a => Test.QuickCheck.Arbitrary.Arbitrary (Database.Sql.Type.Query.FrameType a) instance Data.Aeson.Types.ToJSON.ToJSON a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Query.ArrayIndex a) instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.Query.ArrayIndex a) instance Data.String.IsString (Database.Sql.Type.Query.Operator a) instance Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Query.Operator a) instance Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.Query.Operator a) instance Data.Aeson.Types.ToJSON.ToJSON a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Query.Constant a) instance Data.Aeson.Types.ToJSON.ToJSON a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Query.DataTypeParam a) instance Data.Aeson.Types.ToJSON.ToJSON a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Query.DataType a) instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.Query.Constant a) instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.Query.DataTypeParam a) instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.Query.DataType a) instance Test.QuickCheck.Arbitrary.Arbitrary a => Test.QuickCheck.Arbitrary.Arbitrary (Database.Sql.Type.Query.Constant a) instance Data.Aeson.Types.ToJSON.ToJSON a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Query.Limit a) instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.Query.Limit a) instance Data.Aeson.Types.ToJSON.ToJSON a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Query.Offset a) instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.Query.Offset a) instance Data.Aeson.Types.ToJSON.ToJSON a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Query.NullPosition a) instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.Query.NullPosition a) instance Test.QuickCheck.Arbitrary.Arbitrary a => Test.QuickCheck.Arbitrary.Arbitrary (Database.Sql.Type.Query.NullPosition a) instance Data.Aeson.Types.ToJSON.ToJSON a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Query.OrderDirection a) instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.Query.OrderDirection a) instance Test.QuickCheck.Arbitrary.Arbitrary a => Test.QuickCheck.Arbitrary.Arbitrary (Database.Sql.Type.Query.OrderDirection a) instance Data.Aeson.Types.ToJSON.ToJSON a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Query.JoinType a) instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.Query.JoinType a) instance Data.Aeson.Types.ToJSON.ToJSON a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Query.TablishAliases a) instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.Query.TablishAliases a) instance Data.Aeson.Types.ToJSON.ToJSON Database.Sql.Type.Query.Distinct instance Data.Aeson.Types.FromJSON.FromJSON Database.Sql.Type.Query.Distinct instance Test.QuickCheck.Arbitrary.Arbitrary Database.Sql.Type.Query.Distinct module Database.Sql.Type.Scope -- | A ColumnSet records the table-bindings (if any) of columns. -- -- Can be used to represent columns that are in ambient scope, which can -- be referenced, based on arcane and dialect specific rules. The fst -- component will be Nothing for collections of column aliases bound in a -- containing select statement (which thus have no corresponding -- Tablish), or for subqueries/lateral views with no table alias. -- -- Can also be used to represent "what stars expand into". type ColumnSet a = [(Maybe (RTableRef a), [RColumnRef a])] data Bindings a Bindings :: [(TableAlias a, [RColumnRef a])] -> ColumnSet a -> Bindings a [boundCTEs] :: Bindings a -> [(TableAlias a, [RColumnRef a])] [boundColumns] :: Bindings a -> ColumnSet a emptyBindings :: Bindings a data SelectScope a SelectScope :: (forall r m. MonadReader (ResolverInfo a) m => m r -> m r) -> (forall r m. MonadReader (ResolverInfo a) m => m r -> m r) -> (forall r m. MonadReader (ResolverInfo a) m => m r -> m r) -> (forall r m. MonadReader (ResolverInfo a) m => m r -> m r) -> (forall r m. MonadReader (ResolverInfo a) m => m r -> m r) -> SelectScope a [bindForHaving] :: SelectScope a -> forall r m. MonadReader (ResolverInfo a) m => m r -> m r [bindForWhere] :: SelectScope a -> forall r m. MonadReader (ResolverInfo a) m => m r -> m r [bindForOrder] :: SelectScope a -> forall r m. MonadReader (ResolverInfo a) m => m r -> m r [bindForGroup] :: SelectScope a -> forall r m. MonadReader (ResolverInfo a) m => m r -> m r [bindForNamedWindow] :: SelectScope a -> forall r m. MonadReader (ResolverInfo a) m => m r -> m r type FromColumns a = ColumnSet a type SelectionAliases a = [RColumnRef a] data ResolverInfo a ResolverInfo :: Catalog -> (forall x. (x -> x) -> (x -> x)) -> Bindings a -> (FromColumns a -> SelectionAliases a -> SelectScope a) -> Bool -> ResolverInfo a [catalog] :: ResolverInfo a -> Catalog [onCTECollision] :: ResolverInfo a -> forall x. (x -> x) -> (x -> x) [bindings] :: ResolverInfo a -> Bindings a [selectScope] :: ResolverInfo a -> FromColumns a -> SelectionAliases a -> SelectScope a [lcolumnsAreVisibleInLateralViews] :: ResolverInfo a -> Bool mapBindings :: (Bindings a -> Bindings a) -> ResolverInfo a -> ResolverInfo a bindColumns :: MonadReader (ResolverInfo a) m => ColumnSet a -> m r -> m r bindFromColumns :: MonadReader (ResolverInfo a) m => FromColumns a -> m r -> m r bindAliasedColumns :: MonadReader (ResolverInfo a) m => SelectionAliases a -> m r -> m r bindBothColumns :: MonadReader (ResolverInfo a) m => FromColumns a -> SelectionAliases a -> m r -> m r data RawNames data ResolvedNames newtype StarColumnNames a StarColumnNames :: [RColumnRef a] -> StarColumnNames a newtype ColumnAliasList a ColumnAliasList :: [ColumnAlias a] -> ColumnAliasList a type Resolver r a = StateT Integer (ReaderT (ResolverInfo a) (CatalogObjectResolver a)) (r a) data SchemaMember SchemaMember :: TableType -> Persistence () -> [UQColumnName ()] -> Maybe (Query ResolvedNames ()) -> SchemaMember [tableType] :: SchemaMember -> TableType [persistence] :: SchemaMember -> Persistence () [columnsList] :: SchemaMember -> [UQColumnName ()] [viewQuery] :: SchemaMember -> Maybe (Query ResolvedNames ()) persistentTable :: [UQColumnName ()] -> SchemaMember type SchemaMap = HashMap (UQTableName ()) SchemaMember type DatabaseMap = HashMap (UQSchemaName ()) SchemaMap type CatalogMap = HashMap (DatabaseName ()) DatabaseMap type Path = [UQSchemaName ()] type CurrentDatabase = DatabaseName () data Catalog Catalog :: (forall a. OQSchemaName a -> CatalogObjectResolver a (FQSchemaName a)) -> (forall a. OQTableName a -> CatalogObjectResolver a (RTableName a)) -> (DatabaseName () -> Existence) -> (UQSchemaName () -> Existence) -> (UQTableName () -> Existence) -> (forall a. [(TableAlias a, [RColumnRef a])] -> OQTableName a -> CatalogObjectResolver a (WithColumns RTableRef a)) -> (forall a. OQSchemaName a -> CatalogObjectResolver a (RCreateSchemaName a)) -> (forall a. OQTableName a -> CatalogObjectResolver a (RCreateTableName a)) -> (forall a. [(Maybe (RTableRef a), [RColumnRef a])] -> OQColumnName a -> CatalogObjectResolver a (RColumnRef a)) -> (forall a. (CatalogMap -> (CatalogMap, a)) -> (Catalog, a)) -> !CatalogMap -> (Path -> Catalog) -> (CurrentDatabase -> Catalog) -> Catalog [catalogResolveSchemaName] :: Catalog -> forall a. OQSchemaName a -> CatalogObjectResolver a (FQSchemaName a) [catalogResolveTableName] :: Catalog -> forall a. OQTableName a -> CatalogObjectResolver a (RTableName a) [catalogHasDatabase] :: Catalog -> DatabaseName () -> Existence [catalogHasSchema] :: Catalog -> UQSchemaName () -> Existence [catalogHasTable] :: Catalog -> UQTableName () -> Existence -- | nb DoesNotExist does not imply that we can't resolve to this name -- (defaulting) [catalogResolveTableRef] :: Catalog -> forall a. [(TableAlias a, [RColumnRef a])] -> OQTableName a -> CatalogObjectResolver a (WithColumns RTableRef a) [catalogResolveCreateSchemaName] :: Catalog -> forall a. OQSchemaName a -> CatalogObjectResolver a (RCreateSchemaName a) [catalogResolveCreateTableName] :: Catalog -> forall a. OQTableName a -> CatalogObjectResolver a (RCreateTableName a) [catalogResolveColumnName] :: Catalog -> forall a. [(Maybe (RTableRef a), [RColumnRef a])] -> OQColumnName a -> CatalogObjectResolver a (RColumnRef a) [overCatalogMap] :: Catalog -> forall a. (CatalogMap -> (CatalogMap, a)) -> (Catalog, a) [catalogMap] :: Catalog -> !CatalogMap [catalogWithPath] :: Catalog -> Path -> Catalog [catalogWithDatabase] :: Catalog -> CurrentDatabase -> Catalog type CatalogObjectResolver a = (ExceptT (ResolutionError a) (Writer [Either (ResolutionError a) (ResolutionSuccess a)])) data ResolutionError a MissingDatabase :: (DatabaseName a) -> ResolutionError a MissingSchema :: (OQSchemaName a) -> ResolutionError a MissingTable :: (OQTableName a) -> ResolutionError a AmbiguousTable :: (OQTableName a) -> ResolutionError a MissingColumn :: (OQColumnName a) -> ResolutionError a AmbiguousColumn :: (OQColumnName a) -> ResolutionError a UnintroducedTable :: (OQTableName a) -> ResolutionError a UnexpectedTable :: (FQTableName a) -> ResolutionError a UnexpectedSchema :: (FQSchemaName a) -> ResolutionError a BadPositionalReference :: a -> Int -> ResolutionError a data ResolutionSuccess a TableNameResolved :: (OQTableName a) -> (RTableName a) -> ResolutionSuccess a TableNameDefaulted :: (OQTableName a) -> (RTableName a) -> ResolutionSuccess a CreateTableNameResolved :: (OQTableName a) -> (RCreateTableName a) -> ResolutionSuccess a CreateSchemaNameResolved :: (OQSchemaName a) -> (RCreateSchemaName a) -> ResolutionSuccess a TableRefResolved :: (OQTableName a) -> (RTableRef a) -> ResolutionSuccess a TableRefDefaulted :: (OQTableName a) -> (RTableRef a) -> ResolutionSuccess a ColumnRefResolved :: (OQColumnName a) -> (RColumnRef a) -> ResolutionSuccess a ColumnRefDefaulted :: (OQColumnName a) -> (RColumnRef a) -> ResolutionSuccess a isGuess :: ResolutionSuccess a -> Bool isCertain :: ResolutionSuccess a -> Bool data WithColumns r a WithColumns :: r a -> ColumnSet a -> WithColumns r a [withColumnsValue] :: WithColumns r a -> r a [withColumnsColumns] :: WithColumns r a -> ColumnSet a data WithColumnsAndOrders r a WithColumnsAndOrders :: (r a) -> (ColumnSet a) -> [Order ResolvedNames a] -> WithColumnsAndOrders r a data RTableRef a RTableRef :: (FQTableName a) -> SchemaMember -> RTableRef a RTableAlias :: (TableAlias a) -> RTableRef a resolvedTableHasName :: QTableName f a -> RTableRef a -> Bool resolvedTableHasSchema :: QSchemaName f a -> RTableRef a -> Bool resolvedTableHasDatabase :: DatabaseName a -> RTableRef a -> Bool data RTableName a RTableName :: (FQTableName a) -> SchemaMember -> RTableName a data RDropTableName a RDropExistingTableName :: (FQTableName a) -> SchemaMember -> RDropTableName a RDropMissingTableName :: (OQTableName a) -> RDropTableName a data RCreateTableName a RCreateTableName :: (FQTableName a) -> Existence -> RCreateTableName a data RCreateSchemaName a RCreateSchemaName :: (FQSchemaName a) -> Existence -> RCreateSchemaName a shrinkHashMap :: (Eq k, Hashable k) => forall v. HashMap k v -> [HashMap k v] instance GHC.Base.Functor Database.Sql.Type.Scope.ResolutionSuccess instance GHC.Show.Show a => GHC.Show.Show (Database.Sql.Type.Scope.ResolutionSuccess a) instance GHC.Classes.Eq a => GHC.Classes.Eq (Database.Sql.Type.Scope.ResolutionSuccess a) instance Data.Traversable.Traversable Database.Sql.Type.Scope.RCreateSchemaName instance Data.Foldable.Foldable Database.Sql.Type.Scope.RCreateSchemaName instance GHC.Base.Functor Database.Sql.Type.Scope.RCreateSchemaName instance GHC.Show.Show a => GHC.Show.Show (Database.Sql.Type.Scope.RCreateSchemaName a) instance GHC.Classes.Ord a => GHC.Classes.Ord (Database.Sql.Type.Scope.RCreateSchemaName a) instance GHC.Classes.Eq a => GHC.Classes.Eq (Database.Sql.Type.Scope.RCreateSchemaName a) instance Data.Data.Data a => Data.Data.Data (Database.Sql.Type.Scope.RCreateSchemaName a) instance GHC.Generics.Generic (Database.Sql.Type.Scope.RCreateSchemaName a) instance Data.Traversable.Traversable Database.Sql.Type.Scope.RCreateTableName instance Data.Foldable.Foldable Database.Sql.Type.Scope.RCreateTableName instance GHC.Base.Functor Database.Sql.Type.Scope.RCreateTableName instance GHC.Show.Show a => GHC.Show.Show (Database.Sql.Type.Scope.RCreateTableName a) instance GHC.Classes.Ord a => GHC.Classes.Ord (Database.Sql.Type.Scope.RCreateTableName a) instance GHC.Classes.Eq a => GHC.Classes.Eq (Database.Sql.Type.Scope.RCreateTableName a) instance Data.Data.Data a => Data.Data.Data (Database.Sql.Type.Scope.RCreateTableName a) instance GHC.Generics.Generic (Database.Sql.Type.Scope.RCreateTableName a) instance Data.Traversable.Traversable Database.Sql.Type.Scope.RDropTableName instance Data.Foldable.Foldable Database.Sql.Type.Scope.RDropTableName instance GHC.Base.Functor Database.Sql.Type.Scope.RDropTableName instance GHC.Show.Show a => GHC.Show.Show (Database.Sql.Type.Scope.RDropTableName a) instance GHC.Classes.Ord a => GHC.Classes.Ord (Database.Sql.Type.Scope.RDropTableName a) instance GHC.Classes.Eq a => GHC.Classes.Eq (Database.Sql.Type.Scope.RDropTableName a) instance Data.Data.Data a => Data.Data.Data (Database.Sql.Type.Scope.RDropTableName a) instance GHC.Generics.Generic (Database.Sql.Type.Scope.RDropTableName a) instance Data.Traversable.Traversable Database.Sql.Type.Scope.RTableName instance Data.Foldable.Foldable Database.Sql.Type.Scope.RTableName instance GHC.Base.Functor Database.Sql.Type.Scope.RTableName instance GHC.Show.Show a => GHC.Show.Show (Database.Sql.Type.Scope.RTableName a) instance GHC.Classes.Ord a => GHC.Classes.Ord (Database.Sql.Type.Scope.RTableName a) instance GHC.Classes.Eq a => GHC.Classes.Eq (Database.Sql.Type.Scope.RTableName a) instance Data.Data.Data a => Data.Data.Data (Database.Sql.Type.Scope.RTableName a) instance GHC.Generics.Generic (Database.Sql.Type.Scope.RTableName a) instance Data.Traversable.Traversable Database.Sql.Type.Scope.RTableRef instance Data.Foldable.Foldable Database.Sql.Type.Scope.RTableRef instance GHC.Base.Functor Database.Sql.Type.Scope.RTableRef instance GHC.Classes.Ord a => GHC.Classes.Ord (Database.Sql.Type.Scope.RTableRef a) instance GHC.Classes.Eq a => GHC.Classes.Eq (Database.Sql.Type.Scope.RTableRef a) instance GHC.Show.Show a => GHC.Show.Show (Database.Sql.Type.Scope.RTableRef a) instance Data.Data.Data a => Data.Data.Data (Database.Sql.Type.Scope.RTableRef a) instance GHC.Generics.Generic (Database.Sql.Type.Scope.RTableRef a) instance GHC.Base.Functor Database.Sql.Type.Scope.ResolutionError instance GHC.Show.Show a => GHC.Show.Show (Database.Sql.Type.Scope.ResolutionError a) instance GHC.Classes.Eq a => GHC.Classes.Eq (Database.Sql.Type.Scope.ResolutionError a) instance GHC.Show.Show Database.Sql.Type.Scope.SchemaMember instance GHC.Classes.Ord Database.Sql.Type.Scope.SchemaMember instance GHC.Classes.Eq Database.Sql.Type.Scope.SchemaMember instance Data.Data.Data Database.Sql.Type.Scope.SchemaMember instance GHC.Generics.Generic Database.Sql.Type.Scope.SchemaMember instance GHC.Base.Functor Database.Sql.Type.Scope.ColumnAliasList instance GHC.Show.Show a => GHC.Show.Show (Database.Sql.Type.Scope.ColumnAliasList a) instance GHC.Classes.Ord a => GHC.Classes.Ord (Database.Sql.Type.Scope.ColumnAliasList a) instance GHC.Classes.Eq a => GHC.Classes.Eq (Database.Sql.Type.Scope.ColumnAliasList a) instance Data.Data.Data a => Data.Data.Data (Database.Sql.Type.Scope.ColumnAliasList a) instance GHC.Generics.Generic (Database.Sql.Type.Scope.ColumnAliasList a) instance GHC.Base.Functor Database.Sql.Type.Scope.StarColumnNames instance GHC.Show.Show a => GHC.Show.Show (Database.Sql.Type.Scope.StarColumnNames a) instance GHC.Classes.Ord a => GHC.Classes.Ord (Database.Sql.Type.Scope.StarColumnNames a) instance GHC.Classes.Eq a => GHC.Classes.Eq (Database.Sql.Type.Scope.StarColumnNames a) instance Data.Data.Data a => Data.Data.Data (Database.Sql.Type.Scope.StarColumnNames a) instance GHC.Generics.Generic (Database.Sql.Type.Scope.StarColumnNames a) instance Data.Data.Data Database.Sql.Type.Scope.RawNames instance Data.Data.Data Database.Sql.Type.Scope.ResolvedNames instance GHC.Classes.Eq Database.Sql.Type.Scope.Catalog instance GHC.Show.Show Database.Sql.Type.Scope.Catalog instance Database.Sql.Type.Names.Resolution Database.Sql.Type.Scope.ResolvedNames instance Data.Aeson.Types.ToJSON.ToJSON a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Scope.RCreateSchemaName a) instance Data.Aeson.Types.ToJSON.ToJSON a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Scope.RCreateTableName a) instance Data.Aeson.Types.ToJSON.ToJSON a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Scope.RDropTableName a) instance Data.Aeson.Types.ToJSON.ToJSON a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Scope.RTableName a) instance Data.Aeson.Types.ToJSON.ToJSON a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Scope.RTableRef a) instance Test.QuickCheck.Arbitrary.Arbitrary Database.Sql.Type.Scope.CatalogMap instance Test.QuickCheck.Arbitrary.Arbitrary Database.Sql.Type.Scope.DatabaseMap instance Test.QuickCheck.Arbitrary.Arbitrary Database.Sql.Type.Scope.SchemaMap instance Test.QuickCheck.Arbitrary.Arbitrary Database.Sql.Type.Scope.SchemaMember instance Data.Aeson.Types.ToJSON.ToJSON a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Scope.ColumnAliasList a) instance Data.Aeson.Types.ToJSON.ToJSON a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Scope.StarColumnNames a) instance Database.Sql.Type.Names.Resolution Database.Sql.Type.Scope.RawNames module Database.Sql.Type.Schema overWithColumns :: (r a -> s a) -> WithColumns r a -> WithColumns s a resolvedColumnHasName :: QColumnName f a -> RColumnRef a -> Bool makeCatalog :: CatalogMap -> Path -> CurrentDatabase -> Catalog defaultSchemaMember :: SchemaMember unknownDatabase :: a -> DatabaseName a unknownSchema :: a -> FQSchemaName a unknownTable :: a -> FQTableName a makeDefaultingCatalog :: CatalogMap -> Path -> CurrentDatabase -> Catalog module Database.Sql.Type type ConstrainSDialectParts (c :: * -> Constraint) d r a = (c a, c (DialectCreateTableExtra d r a), c (DialectColumnDefinitionExtra d a)) type ConstrainSASDialectParts (c :: (* -> *) -> Constraint) d r = (c (DialectCreateTableExtra d r), c (DialectColumnDefinitionExtra d)) type ConstrainSAll (c :: * -> Constraint) d r a = (ConstrainSNames c r a, ConstrainSDialectParts c d r a) type ConstrainSASAll (c :: (* -> *) -> Constraint) d r = (ConstrainSASNames c r, ConstrainSASDialectParts c d r) class Dialect d where { type family DialectCreateTableExtra d r :: * -> *; type family DialectColumnDefinitionExtra d :: * -> *; type DialectCreateTableExtra d r = Unused; type DialectColumnDefinitionExtra d = Unused; } shouldCTEsShadowTables :: Dialect d => Proxy d -> Bool areLcolumnsVisibleInLateralViews :: Dialect d => Proxy d -> Bool getSelectScope :: forall a. Dialect d => Proxy d -> FromColumns a -> SelectionAliases a -> SelectScope a resolveCreateTableExtra :: Dialect d => Proxy d -> DialectCreateTableExtra d RawNames a -> Resolver (DialectCreateTableExtra d ResolvedNames) a data Unparsed a Unparsed :: a -> Unparsed a data Statement d r a QueryStmt :: (Query r a) -> Statement d r a InsertStmt :: (Insert r a) -> Statement d r a UpdateStmt :: (Update r a) -> Statement d r a DeleteStmt :: (Delete r a) -> Statement d r a TruncateStmt :: (Truncate r a) -> Statement d r a CreateTableStmt :: (CreateTable d r a) -> Statement d r a AlterTableStmt :: (AlterTable r a) -> Statement d r a DropTableStmt :: (DropTable r a) -> Statement d r a CreateViewStmt :: (CreateView r a) -> Statement d r a DropViewStmt :: (DropView r a) -> Statement d r a CreateSchemaStmt :: (CreateSchema r a) -> Statement d r a GrantStmt :: (Grant a) -> Statement d r a RevokeStmt :: (Revoke a) -> Statement d r a BeginStmt :: a -> Statement d r a CommitStmt :: a -> Statement d r a RollbackStmt :: a -> Statement d r a ExplainStmt :: a -> (Statement d r a) -> Statement d r a EmptyStmt :: a -> Statement d r a data Insert r a Insert :: a -> InsertBehavior a -> TableName r a -> Maybe (NonEmpty (ColumnRef r a)) -> InsertValues r a -> Insert r a [insertInfo] :: Insert r a -> a [insertBehavior] :: Insert r a -> InsertBehavior a [insertTable] :: Insert r a -> TableName r a [insertColumns] :: Insert r a -> Maybe (NonEmpty (ColumnRef r a)) [insertValues] :: Insert r a -> InsertValues r a type TablePartition = () data InsertBehavior a InsertOverwrite :: a -> InsertBehavior a InsertAppend :: a -> InsertBehavior a InsertOverwritePartition :: a -> TablePartition -> InsertBehavior a InsertAppendPartition :: a -> TablePartition -> InsertBehavior a data InsertValues r a InsertExprValues :: a -> (NonEmpty (NonEmpty (DefaultExpr r a))) -> InsertValues r a InsertSelectValues :: (Query r a) -> InsertValues r a InsertDefaultValues :: a -> InsertValues r a InsertDataFromFile :: a -> ByteString -> InsertValues r a data DefaultExpr r a DefaultValue :: a -> DefaultExpr r a ExprValue :: (Expr r a) -> DefaultExpr r a data Update r a Update :: a -> TableName r a -> Maybe (TableAlias a) -> NonEmpty (ColumnRef r a, DefaultExpr r a) -> Maybe (Tablish r a) -> Maybe (Expr r a) -> Update r a [updateInfo] :: Update r a -> a [updateTable] :: Update r a -> TableName r a [updateAlias] :: Update r a -> Maybe (TableAlias a) [updateSetExprs] :: Update r a -> NonEmpty (ColumnRef r a, DefaultExpr r a) [updateFrom] :: Update r a -> Maybe (Tablish r a) [updateWhere] :: Update r a -> Maybe (Expr r a) data Delete r a Delete :: a -> (TableName r a) -> (Maybe (Expr r a)) -> Delete r a data Truncate r a Truncate :: a -> (TableName r a) -> Truncate r a data CreateTable d r a CreateTable :: a -> Persistence a -> Externality a -> Maybe a -> CreateTableName r a -> TableDefinition d r a -> Maybe (DialectCreateTableExtra d r a) -> CreateTable d r a [createTableInfo] :: CreateTable d r a -> a [createTablePersistence] :: CreateTable d r a -> Persistence a [createTableExternality] :: CreateTable d r a -> Externality a [createTableIfNotExists] :: CreateTable d r a -> Maybe a [createTableName] :: CreateTable d r a -> CreateTableName r a [createTableDefinition] :: CreateTable d r a -> TableDefinition d r a [createTableExtra] :: CreateTable d r a -> Maybe (DialectCreateTableExtra d r a) data AlterTable r a AlterTableRenameTable :: a -> (TableName r a) -> (TableName r a) -> AlterTable r a AlterTableRenameColumn :: a -> (TableName r a) -> (UQColumnName a) -> (UQColumnName a) -> AlterTable r a AlterTableAddColumns :: a -> (TableName r a) -> (NonEmpty (UQColumnName a)) -> AlterTable r a data DropTable r a DropTable :: a -> Maybe a -> NonEmpty (DropTableName r a) -> DropTable r a [dropTableInfo] :: DropTable r a -> a [dropTableIfExists] :: DropTable r a -> Maybe a [dropTableNames] :: DropTable r a -> NonEmpty (DropTableName r a) data CreateView r a CreateView :: a -> Persistence a -> Maybe a -> Maybe (NonEmpty (UQColumnName a)) -> CreateTableName r a -> Query r a -> CreateView r a [createViewInfo] :: CreateView r a -> a [createViewPersistence] :: CreateView r a -> Persistence a [createViewIfNotExists] :: CreateView r a -> Maybe a [createViewColumns] :: CreateView r a -> Maybe (NonEmpty (UQColumnName a)) [createViewName] :: CreateView r a -> CreateTableName r a [createViewQuery] :: CreateView r a -> Query r a data DropView r a DropView :: a -> Maybe a -> DropTableName r a -> DropView r a [dropViewInfo] :: DropView r a -> a [dropViewIfExists] :: DropView r a -> Maybe a [dropViewName] :: DropView r a -> DropTableName r a data CreateSchema r a CreateSchema :: a -> Maybe a -> CreateSchemaName r a -> CreateSchema r a [createSchemaInfo] :: CreateSchema r a -> a [createSchemaIfNotExists] :: CreateSchema r a -> Maybe a [createSchemaName] :: CreateSchema r a -> CreateSchemaName r a data Grant a Grant :: a -> Grant a data Revoke a Revoke :: a -> Revoke a data TableDefinition d r a TableColumns :: a -> (NonEmpty (ColumnOrConstraint d r a)) -> TableDefinition d r a TableLike :: a -> (TableName r a) -> TableDefinition d r a TableAs :: a -> (Maybe (NonEmpty (UQColumnName a))) -> (Query r a) -> TableDefinition d r a TableNoColumnInfo :: a -> TableDefinition d r a -- | ColumnOrConstraint Column definition or *table level* constraint -- Column-level constraints are carried with the column data ColumnOrConstraint d r a ColumnOrConstraintColumn :: (ColumnDefinition d r a) -> ColumnOrConstraint d r a ColumnOrConstraintConstraint :: (ConstraintDefinition a) -> ColumnOrConstraint d r a data ColumnDefinition d r a ColumnDefinition :: a -> UQColumnName a -> DataType a -> Maybe (NullConstraint a) -> Maybe (Expr r a) -> Maybe (DialectColumnDefinitionExtra d a) -> ColumnDefinition d r a [columnDefinitionInfo] :: ColumnDefinition d r a -> a [columnDefinitionName] :: ColumnDefinition d r a -> UQColumnName a [columnDefinitionType] :: ColumnDefinition d r a -> DataType a [columnDefinitionNull] :: ColumnDefinition d r a -> Maybe (NullConstraint a) [columnDefinitionDefault] :: ColumnDefinition d r a -> Maybe (Expr r a) [columnDefinitionExtra] :: ColumnDefinition d r a -> Maybe (DialectColumnDefinitionExtra d a) data NullConstraint a Nullable :: a -> NullConstraint a NotNull :: a -> NullConstraint a data ConstraintDefinition a ConstraintDefinition :: a -> ConstraintDefinition a [constraintDefinitionInfo] :: ConstraintDefinition a -> a instance Data.Traversable.Traversable Database.Sql.Type.ConstraintDefinition instance Data.Foldable.Foldable Database.Sql.Type.ConstraintDefinition instance GHC.Base.Functor Database.Sql.Type.ConstraintDefinition instance GHC.Show.Show a => GHC.Show.Show (Database.Sql.Type.ConstraintDefinition a) instance GHC.Classes.Eq a => GHC.Classes.Eq (Database.Sql.Type.ConstraintDefinition a) instance Data.Data.Data a => Data.Data.Data (Database.Sql.Type.ConstraintDefinition a) instance GHC.Generics.Generic (Database.Sql.Type.ConstraintDefinition a) instance Data.Traversable.Traversable Database.Sql.Type.NullConstraint instance Data.Foldable.Foldable Database.Sql.Type.NullConstraint instance GHC.Base.Functor Database.Sql.Type.NullConstraint instance GHC.Show.Show a => GHC.Show.Show (Database.Sql.Type.NullConstraint a) instance GHC.Classes.Eq a => GHC.Classes.Eq (Database.Sql.Type.NullConstraint a) instance Data.Data.Data a => Data.Data.Data (Database.Sql.Type.NullConstraint a) instance GHC.Generics.Generic (Database.Sql.Type.NullConstraint a) instance Data.Traversable.Traversable Database.Sql.Type.Revoke instance Data.Foldable.Foldable Database.Sql.Type.Revoke instance GHC.Base.Functor Database.Sql.Type.Revoke instance GHC.Show.Show a => GHC.Show.Show (Database.Sql.Type.Revoke a) instance GHC.Classes.Eq a => GHC.Classes.Eq (Database.Sql.Type.Revoke a) instance Data.Data.Data a => Data.Data.Data (Database.Sql.Type.Revoke a) instance GHC.Generics.Generic (Database.Sql.Type.Revoke a) instance Data.Traversable.Traversable Database.Sql.Type.Grant instance Data.Foldable.Foldable Database.Sql.Type.Grant instance GHC.Base.Functor Database.Sql.Type.Grant instance GHC.Show.Show a => GHC.Show.Show (Database.Sql.Type.Grant a) instance GHC.Classes.Eq a => GHC.Classes.Eq (Database.Sql.Type.Grant a) instance Data.Data.Data a => Data.Data.Data (Database.Sql.Type.Grant a) instance GHC.Generics.Generic (Database.Sql.Type.Grant a) instance Data.Traversable.Traversable Database.Sql.Type.InsertBehavior instance Data.Foldable.Foldable Database.Sql.Type.InsertBehavior instance GHC.Base.Functor Database.Sql.Type.InsertBehavior instance GHC.Show.Show a => GHC.Show.Show (Database.Sql.Type.InsertBehavior a) instance GHC.Classes.Eq a => GHC.Classes.Eq (Database.Sql.Type.InsertBehavior a) instance Data.Data.Data a => Data.Data.Data (Database.Sql.Type.InsertBehavior a) instance GHC.Generics.Generic (Database.Sql.Type.InsertBehavior a) instance GHC.Classes.Eq a => GHC.Classes.Eq (Database.Sql.Type.Unparsed a) instance GHC.Show.Show a => GHC.Show.Show (Database.Sql.Type.Unparsed a) instance (Database.Sql.Type.ConstrainSAll Data.Data.Data d r a, Data.Data.Data d, Data.Data.Data r) => Data.Data.Data (Database.Sql.Type.Statement d r a) instance GHC.Generics.Generic (Database.Sql.Type.Statement d r a) instance Database.Sql.Type.ConstrainSAll GHC.Classes.Eq d r a => GHC.Classes.Eq (Database.Sql.Type.Statement d r a) instance Database.Sql.Type.ConstrainSAll GHC.Show.Show d r a => GHC.Show.Show (Database.Sql.Type.Statement d r a) instance Database.Sql.Type.ConstrainSASAll GHC.Base.Functor d r => GHC.Base.Functor (Database.Sql.Type.Statement d r) instance Database.Sql.Type.ConstrainSASAll Data.Foldable.Foldable d r => Data.Foldable.Foldable (Database.Sql.Type.Statement d r) instance Database.Sql.Type.ConstrainSASAll Data.Traversable.Traversable d r => Data.Traversable.Traversable (Database.Sql.Type.Statement d r) instance (Database.Sql.Type.Names.ConstrainSNames Data.Data.Data r a, Data.Data.Data r) => Data.Data.Data (Database.Sql.Type.Insert r a) instance GHC.Generics.Generic (Database.Sql.Type.Insert r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Classes.Eq r a => GHC.Classes.Eq (Database.Sql.Type.Insert r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Show.Show r a => GHC.Show.Show (Database.Sql.Type.Insert r a) instance Database.Sql.Type.Names.ConstrainSASNames GHC.Base.Functor r => GHC.Base.Functor (Database.Sql.Type.Insert r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Foldable.Foldable r => Data.Foldable.Foldable (Database.Sql.Type.Insert r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Traversable.Traversable r => Data.Traversable.Traversable (Database.Sql.Type.Insert r) instance (Database.Sql.Type.Names.ConstrainSNames Data.Data.Data r a, Data.Data.Data r) => Data.Data.Data (Database.Sql.Type.InsertValues r a) instance GHC.Generics.Generic (Database.Sql.Type.InsertValues r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Classes.Eq r a => GHC.Classes.Eq (Database.Sql.Type.InsertValues r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Show.Show r a => GHC.Show.Show (Database.Sql.Type.InsertValues r a) instance Database.Sql.Type.Names.ConstrainSASNames GHC.Base.Functor r => GHC.Base.Functor (Database.Sql.Type.InsertValues r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Foldable.Foldable r => Data.Foldable.Foldable (Database.Sql.Type.InsertValues r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Traversable.Traversable r => Data.Traversable.Traversable (Database.Sql.Type.InsertValues r) instance (Database.Sql.Type.Names.ConstrainSNames Data.Data.Data r a, Data.Data.Data r) => Data.Data.Data (Database.Sql.Type.DefaultExpr r a) instance GHC.Generics.Generic (Database.Sql.Type.DefaultExpr r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Classes.Eq r a => GHC.Classes.Eq (Database.Sql.Type.DefaultExpr r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Show.Show r a => GHC.Show.Show (Database.Sql.Type.DefaultExpr r a) instance Database.Sql.Type.Names.ConstrainSASNames GHC.Base.Functor r => GHC.Base.Functor (Database.Sql.Type.DefaultExpr r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Foldable.Foldable r => Data.Foldable.Foldable (Database.Sql.Type.DefaultExpr r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Traversable.Traversable r => Data.Traversable.Traversable (Database.Sql.Type.DefaultExpr r) instance (Database.Sql.Type.Names.ConstrainSNames Data.Data.Data r a, Data.Data.Data r) => Data.Data.Data (Database.Sql.Type.Update r a) instance GHC.Generics.Generic (Database.Sql.Type.Update r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Classes.Eq r a => GHC.Classes.Eq (Database.Sql.Type.Update r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Show.Show r a => GHC.Show.Show (Database.Sql.Type.Update r a) instance Database.Sql.Type.Names.ConstrainSASNames GHC.Base.Functor r => GHC.Base.Functor (Database.Sql.Type.Update r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Foldable.Foldable r => Data.Foldable.Foldable (Database.Sql.Type.Update r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Traversable.Traversable r => Data.Traversable.Traversable (Database.Sql.Type.Update r) instance (Database.Sql.Type.Names.ConstrainSNames Data.Data.Data r a, Data.Data.Data r) => Data.Data.Data (Database.Sql.Type.Delete r a) instance GHC.Generics.Generic (Database.Sql.Type.Delete r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Classes.Eq r a => GHC.Classes.Eq (Database.Sql.Type.Delete r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Show.Show r a => GHC.Show.Show (Database.Sql.Type.Delete r a) instance Database.Sql.Type.Names.ConstrainSASNames GHC.Base.Functor r => GHC.Base.Functor (Database.Sql.Type.Delete r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Foldable.Foldable r => Data.Foldable.Foldable (Database.Sql.Type.Delete r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Traversable.Traversable r => Data.Traversable.Traversable (Database.Sql.Type.Delete r) instance (Database.Sql.Type.Names.ConstrainSNames Data.Data.Data r a, Data.Data.Data r) => Data.Data.Data (Database.Sql.Type.Truncate r a) instance GHC.Generics.Generic (Database.Sql.Type.Truncate r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Classes.Eq r a => GHC.Classes.Eq (Database.Sql.Type.Truncate r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Show.Show r a => GHC.Show.Show (Database.Sql.Type.Truncate r a) instance Database.Sql.Type.Names.ConstrainSASNames GHC.Base.Functor r => GHC.Base.Functor (Database.Sql.Type.Truncate r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Foldable.Foldable r => Data.Foldable.Foldable (Database.Sql.Type.Truncate r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Traversable.Traversable r => Data.Traversable.Traversable (Database.Sql.Type.Truncate r) instance (Database.Sql.Type.ConstrainSAll Data.Data.Data d r a, Data.Data.Data d, Data.Data.Data r) => Data.Data.Data (Database.Sql.Type.CreateTable d r a) instance GHC.Generics.Generic (Database.Sql.Type.CreateTable d r a) instance Database.Sql.Type.ConstrainSAll GHC.Classes.Eq d r a => GHC.Classes.Eq (Database.Sql.Type.CreateTable d r a) instance Database.Sql.Type.ConstrainSAll GHC.Show.Show d r a => GHC.Show.Show (Database.Sql.Type.CreateTable d r a) instance Database.Sql.Type.ConstrainSASAll GHC.Base.Functor d r => GHC.Base.Functor (Database.Sql.Type.CreateTable d r) instance Database.Sql.Type.ConstrainSASAll Data.Foldable.Foldable d r => Data.Foldable.Foldable (Database.Sql.Type.CreateTable d r) instance Database.Sql.Type.ConstrainSASAll Data.Traversable.Traversable d r => Data.Traversable.Traversable (Database.Sql.Type.CreateTable d r) instance (Database.Sql.Type.Names.ConstrainSNames Data.Data.Data r a, Data.Data.Data r) => Data.Data.Data (Database.Sql.Type.AlterTable r a) instance GHC.Generics.Generic (Database.Sql.Type.AlterTable r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Classes.Eq r a => GHC.Classes.Eq (Database.Sql.Type.AlterTable r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Show.Show r a => GHC.Show.Show (Database.Sql.Type.AlterTable r a) instance Database.Sql.Type.Names.ConstrainSASNames GHC.Base.Functor r => GHC.Base.Functor (Database.Sql.Type.AlterTable r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Foldable.Foldable r => Data.Foldable.Foldable (Database.Sql.Type.AlterTable r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Traversable.Traversable r => Data.Traversable.Traversable (Database.Sql.Type.AlterTable r) instance (Database.Sql.Type.Names.ConstrainSNames Data.Data.Data r a, Data.Data.Data r) => Data.Data.Data (Database.Sql.Type.DropTable r a) instance GHC.Generics.Generic (Database.Sql.Type.DropTable r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Classes.Eq r a => GHC.Classes.Eq (Database.Sql.Type.DropTable r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Show.Show r a => GHC.Show.Show (Database.Sql.Type.DropTable r a) instance Database.Sql.Type.Names.ConstrainSASNames GHC.Base.Functor r => GHC.Base.Functor (Database.Sql.Type.DropTable r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Foldable.Foldable r => Data.Foldable.Foldable (Database.Sql.Type.DropTable r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Traversable.Traversable r => Data.Traversable.Traversable (Database.Sql.Type.DropTable r) instance (Database.Sql.Type.Names.ConstrainSNames Data.Data.Data r a, Data.Data.Data r) => Data.Data.Data (Database.Sql.Type.CreateView r a) instance GHC.Generics.Generic (Database.Sql.Type.CreateView r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Classes.Eq r a => GHC.Classes.Eq (Database.Sql.Type.CreateView r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Show.Show r a => GHC.Show.Show (Database.Sql.Type.CreateView r a) instance Database.Sql.Type.Names.ConstrainSASNames GHC.Base.Functor r => GHC.Base.Functor (Database.Sql.Type.CreateView r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Foldable.Foldable r => Data.Foldable.Foldable (Database.Sql.Type.CreateView r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Traversable.Traversable r => Data.Traversable.Traversable (Database.Sql.Type.CreateView r) instance (Database.Sql.Type.Names.ConstrainSNames Data.Data.Data r a, Data.Data.Data r) => Data.Data.Data (Database.Sql.Type.DropView r a) instance GHC.Generics.Generic (Database.Sql.Type.DropView r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Classes.Eq r a => GHC.Classes.Eq (Database.Sql.Type.DropView r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Show.Show r a => GHC.Show.Show (Database.Sql.Type.DropView r a) instance Database.Sql.Type.Names.ConstrainSASNames GHC.Base.Functor r => GHC.Base.Functor (Database.Sql.Type.DropView r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Foldable.Foldable r => Data.Foldable.Foldable (Database.Sql.Type.DropView r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Traversable.Traversable r => Data.Traversable.Traversable (Database.Sql.Type.DropView r) instance (Database.Sql.Type.Names.ConstrainSNames Data.Data.Data r a, Data.Data.Data r) => Data.Data.Data (Database.Sql.Type.CreateSchema r a) instance GHC.Generics.Generic (Database.Sql.Type.CreateSchema r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Classes.Eq r a => GHC.Classes.Eq (Database.Sql.Type.CreateSchema r a) instance Database.Sql.Type.Names.ConstrainSNames GHC.Show.Show r a => GHC.Show.Show (Database.Sql.Type.CreateSchema r a) instance Database.Sql.Type.Names.ConstrainSASNames GHC.Base.Functor r => GHC.Base.Functor (Database.Sql.Type.CreateSchema r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Foldable.Foldable r => Data.Foldable.Foldable (Database.Sql.Type.CreateSchema r) instance Database.Sql.Type.Names.ConstrainSASNames Data.Traversable.Traversable r => Data.Traversable.Traversable (Database.Sql.Type.CreateSchema r) instance (Database.Sql.Type.ConstrainSAll Data.Data.Data d r a, Data.Data.Data d, Data.Data.Data r) => Data.Data.Data (Database.Sql.Type.TableDefinition d r a) instance GHC.Generics.Generic (Database.Sql.Type.TableDefinition d r a) instance Database.Sql.Type.ConstrainSAll GHC.Classes.Eq d r a => GHC.Classes.Eq (Database.Sql.Type.TableDefinition d r a) instance Database.Sql.Type.ConstrainSAll GHC.Show.Show d r a => GHC.Show.Show (Database.Sql.Type.TableDefinition d r a) instance Database.Sql.Type.ConstrainSASAll GHC.Base.Functor d r => GHC.Base.Functor (Database.Sql.Type.TableDefinition d r) instance Database.Sql.Type.ConstrainSASAll Data.Foldable.Foldable d r => Data.Foldable.Foldable (Database.Sql.Type.TableDefinition d r) instance Database.Sql.Type.ConstrainSASAll Data.Traversable.Traversable d r => Data.Traversable.Traversable (Database.Sql.Type.TableDefinition d r) instance (Database.Sql.Type.ConstrainSAll Data.Data.Data d r a, Data.Data.Data d, Data.Data.Data r) => Data.Data.Data (Database.Sql.Type.ColumnOrConstraint d r a) instance GHC.Generics.Generic (Database.Sql.Type.ColumnOrConstraint d r a) instance Database.Sql.Type.ConstrainSAll GHC.Classes.Eq d r a => GHC.Classes.Eq (Database.Sql.Type.ColumnOrConstraint d r a) instance Database.Sql.Type.ConstrainSAll GHC.Show.Show d r a => GHC.Show.Show (Database.Sql.Type.ColumnOrConstraint d r a) instance Database.Sql.Type.ConstrainSASAll GHC.Base.Functor d r => GHC.Base.Functor (Database.Sql.Type.ColumnOrConstraint d r) instance Database.Sql.Type.ConstrainSASAll Data.Foldable.Foldable d r => Data.Foldable.Foldable (Database.Sql.Type.ColumnOrConstraint d r) instance Database.Sql.Type.ConstrainSASAll Data.Traversable.Traversable d r => Data.Traversable.Traversable (Database.Sql.Type.ColumnOrConstraint d r) instance (Database.Sql.Type.ConstrainSAll Data.Data.Data d r a, Data.Data.Data d, Data.Data.Data r) => Data.Data.Data (Database.Sql.Type.ColumnDefinition d r a) instance GHC.Generics.Generic (Database.Sql.Type.ColumnDefinition d r a) instance Database.Sql.Type.ConstrainSAll GHC.Classes.Eq d r a => GHC.Classes.Eq (Database.Sql.Type.ColumnDefinition d r a) instance Database.Sql.Type.ConstrainSAll GHC.Show.Show d r a => GHC.Show.Show (Database.Sql.Type.ColumnDefinition d r a) instance Database.Sql.Type.ConstrainSASAll GHC.Base.Functor d r => GHC.Base.Functor (Database.Sql.Type.ColumnDefinition d r) instance Database.Sql.Type.ConstrainSASAll Data.Foldable.Foldable d r => Data.Foldable.Foldable (Database.Sql.Type.ColumnDefinition d r) instance Database.Sql.Type.ConstrainSASAll Data.Traversable.Traversable d r => Data.Traversable.Traversable (Database.Sql.Type.ColumnDefinition d r) instance Database.Sql.Type.ConstrainSAll Data.Aeson.Types.ToJSON.ToJSON d r a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Statement d r a) instance Database.Sql.Type.ConstrainSAll Data.Aeson.Types.FromJSON.FromJSON d r a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.Statement d r a) instance Database.Sql.Type.ConstrainSAll Data.Aeson.Types.ToJSON.ToJSON d r a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.CreateTable d r a) instance Database.Sql.Type.ConstrainSAll Data.Aeson.Types.FromJSON.FromJSON d r a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.CreateTable d r a) instance Database.Sql.Type.ConstrainSAll Data.Aeson.Types.ToJSON.ToJSON d r a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.TableDefinition d r a) instance Database.Sql.Type.ConstrainSAll Data.Aeson.Types.FromJSON.FromJSON d r a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.TableDefinition d r a) instance Database.Sql.Type.ConstrainSAll Data.Aeson.Types.ToJSON.ToJSON d r a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.ColumnOrConstraint d r a) instance Database.Sql.Type.ConstrainSAll Data.Aeson.Types.FromJSON.FromJSON d r a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.ColumnOrConstraint d r a) instance Data.Aeson.Types.ToJSON.ToJSON a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.ConstraintDefinition a) instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.ConstraintDefinition a) instance Database.Sql.Type.ConstrainSAll Data.Aeson.Types.ToJSON.ToJSON d r a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.ColumnDefinition d r a) instance Database.Sql.Type.ConstrainSAll Data.Aeson.Types.FromJSON.FromJSON d r a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.ColumnDefinition d r a) instance Data.Aeson.Types.ToJSON.ToJSON a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.NullConstraint a) instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.NullConstraint a) instance Data.Aeson.Types.ToJSON.ToJSON a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Revoke a) instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.Revoke a) instance Data.Aeson.Types.ToJSON.ToJSON a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Grant a) instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.Grant a) instance (Data.Aeson.Types.ToJSON.ToJSON a, Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Names.CreateSchemaName r a)) => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.CreateSchema r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.FromJSON.FromJSON r a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.CreateSchema r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.ToJSON.ToJSON r a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.DropView r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.FromJSON.FromJSON r a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.DropView r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.ToJSON.ToJSON r a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.CreateView r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.FromJSON.FromJSON r a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.CreateView r a) instance (Data.Aeson.Types.ToJSON.ToJSON a, Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Names.DropTableName r a)) => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.DropTable r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.FromJSON.FromJSON r a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.DropTable r a) instance (Data.Aeson.Types.ToJSON.ToJSON a, Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Names.TableName r a)) => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.AlterTable r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.FromJSON.FromJSON r a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.AlterTable r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.ToJSON.ToJSON r a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Truncate r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.FromJSON.FromJSON r a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.Truncate r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.ToJSON.ToJSON r a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Delete r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.FromJSON.FromJSON r a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.Delete r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.ToJSON.ToJSON r a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Update r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.FromJSON.FromJSON r a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.Update r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.ToJSON.ToJSON r a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.Insert r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.FromJSON.FromJSON r a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.Insert r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.ToJSON.ToJSON r a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.InsertValues r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.FromJSON.FromJSON r a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.InsertValues r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.ToJSON.ToJSON r a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.DefaultExpr r a) instance Database.Sql.Type.Names.ConstrainSNames Data.Aeson.Types.FromJSON.FromJSON r a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.DefaultExpr r a) instance Data.Aeson.Types.ToJSON.ToJSON a => Data.Aeson.Types.ToJSON.ToJSON (Database.Sql.Type.InsertBehavior a) instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Database.Sql.Type.InsertBehavior a) instance Test.QuickCheck.Arbitrary.Arbitrary a => Test.QuickCheck.Arbitrary.Arbitrary (Database.Sql.Type.InsertBehavior a) module Database.Sql.Util.Tables data UsageMode ReadData :: UsageMode ReadMeta :: UsageMode WriteData :: UsageMode WriteMeta :: UsageMode Unknown :: UsageMode data TableUse TableUse :: UsageMode -> FullyQualifiedTableName -> TableUse getTables :: HasTables q => q -> Set FullyQualifiedTableName getUsages :: HasTables q => q -> Set TableUse class HasTables q goTables :: HasTables q => q -> ReaderT UsageMode (Writer (Set TableUse)) () emitTable :: (MonadWriter (Set TableUse) m, MonadReader UsageMode m) => FQTableName a -> m () data Open Open :: Range -> RangeNumber -> Open [openRange] :: Open -> Range [openNumber] :: Open -> RangeNumber data Close Close :: Range -> RangeNumber -> Close [closeRange] :: Close -> Range [closeNumber] :: Close -> RangeNumber class Positioned a position :: Positioned a => a -> Position newtype RangeNumber RangeNumber :: Integer -> RangeNumber newtype NodeNumber NodeNumber :: Integer -> NodeNumber getRanges :: Query RawNames Range -> (Query RawNames NodeNumber, Set Open, Set Close, Map NodeNumber RangeNumber) spliceMarkers :: Monoid a => (Open -> a) -> (Close -> a) -> (Text -> a) -> Set Open -> Set Close -> Text -> a instance GHC.Show.Show Database.Sql.Util.Tables.NodeNumber instance GHC.Classes.Ord Database.Sql.Util.Tables.NodeNumber instance GHC.Classes.Eq Database.Sql.Util.Tables.NodeNumber instance GHC.Show.Show Database.Sql.Util.Tables.Open instance GHC.Classes.Eq Database.Sql.Util.Tables.Open instance GHC.Show.Show Database.Sql.Util.Tables.Close instance GHC.Classes.Eq Database.Sql.Util.Tables.Close instance GHC.Show.Show Database.Sql.Util.Tables.RangeNumber instance GHC.Classes.Ord Database.Sql.Util.Tables.RangeNumber instance GHC.Classes.Eq Database.Sql.Util.Tables.RangeNumber instance GHC.Classes.Ord Database.Sql.Util.Tables.TableUse instance GHC.Classes.Eq Database.Sql.Util.Tables.TableUse instance GHC.Show.Show Database.Sql.Util.Tables.TableUse instance GHC.Classes.Ord Database.Sql.Util.Tables.UsageMode instance GHC.Classes.Eq Database.Sql.Util.Tables.UsageMode instance GHC.Show.Show Database.Sql.Util.Tables.UsageMode instance GHC.Classes.Ord Database.Sql.Util.Tables.Open instance Database.Sql.Util.Tables.Positioned Database.Sql.Util.Tables.Open instance GHC.Classes.Ord Database.Sql.Util.Tables.Close instance Database.Sql.Util.Tables.Positioned Database.Sql.Util.Tables.Close instance Database.Sql.Util.Tables.HasTables (Database.Sql.Type.Statement d Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Tables.HasTables (Database.Sql.Type.Query.Query Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Tables.HasTables (Database.Sql.Type.Query.Select Database.Sql.Type.Scope.ResolvedNames a) instance (Database.Sql.Util.Tables.HasTables a, Database.Sql.Util.Tables.HasTables b) => Database.Sql.Util.Tables.HasTables (a, b) instance Database.Sql.Util.Tables.HasTables (Database.Sql.Type.Names.RColumnRef a) instance Database.Sql.Util.Tables.HasTables (Database.Sql.Type.Names.FQTableName a) instance Database.Sql.Util.Tables.HasTables (Database.Sql.Type.Scope.RTableName a) instance Database.Sql.Util.Tables.HasTables (Database.Sql.Type.Query.SelectColumns Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Tables.HasTables (Database.Sql.Type.Query.SelectFrom Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Tables.HasTables (Database.Sql.Type.Query.SelectWhere Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Tables.HasTables (Database.Sql.Type.Query.SelectTimeseries Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Tables.HasTables (Database.Sql.Type.Query.PositionOrExpr Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Tables.HasTables (Database.Sql.Type.Query.GroupingElement Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Tables.HasTables (Database.Sql.Type.Query.SelectGroup Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Tables.HasTables (Database.Sql.Type.Query.SelectHaving Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Tables.HasTables (Database.Sql.Type.Query.SelectNamedWindow Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Tables.HasTables (Database.Sql.Type.Query.NamedWindowExpr Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Tables.HasTables (Database.Sql.Type.Query.WindowExpr Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Tables.HasTables (Database.Sql.Type.Query.PartialWindowExpr Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Tables.HasTables (Database.Sql.Type.Query.Selection Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Tables.HasTables (Database.Sql.Type.Insert Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Tables.HasTables (Database.Sql.Type.InsertValues Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Tables.HasTables (Database.Sql.Type.DefaultExpr Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Tables.HasTables a => Database.Sql.Util.Tables.HasTables (Data.List.NonEmpty.NonEmpty a) instance Database.Sql.Util.Tables.HasTables a => Database.Sql.Util.Tables.HasTables (GHC.Base.Maybe a) instance Database.Sql.Util.Tables.HasTables (Database.Sql.Type.Update Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Tables.HasTables (Database.Sql.Type.Delete Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Tables.HasTables (Database.Sql.Type.CreateTable d Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Tables.HasTables (Database.Sql.Type.TableDefinition d Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Tables.HasTables (Database.Sql.Type.ColumnOrConstraint d Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Tables.HasTables (Database.Sql.Type.ColumnDefinition d Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Tables.HasTables (Database.Sql.Type.Truncate Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Tables.HasTables (Database.Sql.Type.AlterTable Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Tables.HasTables (Database.Sql.Type.DropTable Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Tables.HasTables (Database.Sql.Type.CreateView Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Tables.HasTables (Database.Sql.Type.DropView Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Tables.HasTables (Database.Sql.Type.Query.Tablish Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Tables.HasTables (Database.Sql.Type.Query.Expr Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Tables.HasTables (Database.Sql.Type.Query.Filter Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Tables.HasTables (Database.Sql.Type.Query.OverSubExpr Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Tables.HasTables (Database.Sql.Type.Query.Partition Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Tables.HasTables (Database.Sql.Type.Query.Order Database.Sql.Type.Scope.ResolvedNames a) module Database.Sql.Util.Scope runResolverWarn :: Dialect d => Resolver r a -> Proxy d -> Catalog -> (Either (ResolutionError a) (r a), [Either (ResolutionError a) (ResolutionSuccess a)]) runResolverWError :: Dialect d => Resolver r a -> Proxy d -> Catalog -> Either [ResolutionError a] ((r a), [ResolutionSuccess a]) runResolverNoWarn :: Dialect d => Resolver r a -> Proxy d -> Catalog -> Either (ResolutionError a) (r a) data WithColumns r a WithColumns :: r a -> ColumnSet a -> WithColumns r a [withColumnsValue] :: WithColumns r a -> r a [withColumnsColumns] :: WithColumns r a -> ColumnSet a queryColumnNames :: Query ResolvedNames a -> [RColumnRef a] resolveStatement :: Dialect d => Statement d RawNames a -> Resolver (Statement d ResolvedNames) a resolveQuery :: Query RawNames a -> Resolver (Query ResolvedNames) a resolveQueryWithColumns :: Query RawNames a -> Resolver (WithColumns (Query ResolvedNames)) a resolveSelectAndOrders :: Select RawNames a -> [Order RawNames a] -> Resolver (WithColumnsAndOrders (Select ResolvedNames)) a resolveCTE :: CTE RawNames a -> Resolver (CTE ResolvedNames) a resolveInsert :: Insert RawNames a -> Resolver (Insert ResolvedNames) a resolveInsertValues :: InsertValues RawNames a -> Resolver (InsertValues ResolvedNames) a resolveDefaultExpr :: DefaultExpr RawNames a -> Resolver (DefaultExpr ResolvedNames) a resolveDelete :: forall a. Delete RawNames a -> Resolver (Delete ResolvedNames) a resolveTruncate :: Truncate RawNames a -> Resolver (Truncate ResolvedNames) a resolveCreateTable :: forall d a. (Dialect d) => CreateTable d RawNames a -> Resolver (CreateTable d ResolvedNames) a resolveTableDefinition :: FQTableName a -> TableDefinition d RawNames a -> Resolver (WithColumns (TableDefinition d ResolvedNames)) a resolveColumnOrConstraint :: ColumnOrConstraint d RawNames a -> Resolver (ColumnOrConstraint d ResolvedNames) a resolveColumnDefinition :: ColumnDefinition d RawNames a -> Resolver (ColumnDefinition d ResolvedNames) a resolveAlterTable :: AlterTable RawNames a -> Resolver (AlterTable ResolvedNames) a resolveDropTable :: DropTable RawNames a -> Resolver (DropTable ResolvedNames) a resolveSelectColumns :: ColumnSet a -> SelectColumns RawNames a -> Resolver (SelectColumns ResolvedNames) a resolvedTableHasName :: QTableName f a -> RTableRef a -> Bool resolvedTableHasSchema :: QSchemaName f a -> RTableRef a -> Bool resolveSelection :: ColumnSet a -> Selection RawNames a -> Resolver (Selection ResolvedNames) a resolveExpr :: Expr RawNames a -> Resolver (Expr ResolvedNames) a resolveTableName :: OQTableName a -> Resolver RTableName a resolveDropTableName :: DropTableName RawNames a -> Resolver (DropTableName ResolvedNames) a resolveCreateSchemaName :: CreateSchemaName RawNames a -> Maybe a -> Resolver (CreateSchemaName ResolvedNames) a resolveSchemaName :: SchemaName RawNames a -> Resolver (SchemaName ResolvedNames) a resolveTableRef :: OQTableName a -> Resolver (WithColumns RTableRef) a resolveColumnName :: forall a. OQColumnName a -> Resolver (RColumnRef) a resolvePartition :: Partition RawNames a -> Resolver (Partition ResolvedNames) a resolveSelectFrom :: SelectFrom RawNames a -> Resolver (WithColumns (SelectFrom ResolvedNames)) a resolveTablish :: forall a. Tablish RawNames a -> Resolver (WithColumns (Tablish ResolvedNames)) a resolveJoinCondition :: JoinCondition RawNames a -> ColumnSet a -> ColumnSet a -> Resolver (JoinCondition ResolvedNames) a resolveSelectWhere :: SelectWhere RawNames a -> Resolver (SelectWhere ResolvedNames) a resolveSelectTimeseries :: SelectTimeseries RawNames a -> Resolver (SelectTimeseries ResolvedNames) a resolveSelectGroup :: [Expr ResolvedNames a] -> SelectGroup RawNames a -> Resolver (SelectGroup ResolvedNames) a resolveSelectHaving :: SelectHaving RawNames a -> Resolver (SelectHaving ResolvedNames) a resolveOrder :: [Expr ResolvedNames a] -> Order RawNames a -> Resolver (Order ResolvedNames) a selectionNames :: Selection ResolvedNames a -> [RColumnRef a] mkTableSchemaMember :: [UQColumnName ()] -> SchemaMember module Database.Sql.Util.Eval data RecordSet e RecordSet :: [RColumnRef ()] -> EvalRow e [EvalValue e] -> RecordSet e [recordSetLabels] :: RecordSet e -> [RColumnRef ()] [recordSetItems] :: RecordSet e -> EvalRow e [EvalValue e] data EvalContext e EvalContext :: Map TableAliasId (RecordSet e) -> (RTableName Range -> Maybe (RecordSet e)) -> Map (RColumnRef ()) (EvalValue e) -> EvalContext e [evalAliasMap] :: EvalContext e -> Map TableAliasId (RecordSet e) [evalFromTable] :: EvalContext e -> RTableName Range -> Maybe (RecordSet e) [evalRow] :: EvalContext e -> Map (RColumnRef ()) (EvalValue e) data ContextType ExprContext :: ContextType TableContext :: ContextType exprToTable :: Evaluation e => EvalT e 'ExprContext (EvalMonad e) a -> Map (RColumnRef ()) (EvalValue e) -> EvalT e 'TableContext (EvalMonad e) a tableToExpr :: Evaluation e => EvalT e 'TableContext (EvalMonad e) a -> EvalT e 'ExprContext (EvalMonad e) a newtype EvalT e (t :: ContextType) m a EvalT :: (ReaderT (EvalContext e) (ExceptT String m) a) -> EvalT e m a type Eval e t = EvalT e t Identity runEval :: Evaluation e => Eval e t a -> (RTableName Range -> Maybe (RecordSet e)) -> Either String a runEvalT :: Evaluation e => EvalT e t m a -> (RTableName Range -> Maybe (RecordSet e)) -> m (Either String a) class Evaluate e q where { type family EvalResult e q :: *; } eval :: Evaluate e q => Proxy e -> q -> EvalResult e q introduceAlias :: Evaluation e => Proxy e -> TableAlias () -> RecordSet e -> EvalT e 'TableContext (EvalMonad e) a -> EvalT e 'TableContext (EvalMonad e) a makeRecordSet :: (Evaluation e, Foldable (EvalRow e)) => Proxy e -> [RColumnRef ()] -> EvalRow e [EvalValue e] -> RecordSet e emptyRecordSet :: Evaluation e => Proxy e -> RecordSet e class (Monad (EvalRow e), Monad (EvalMonad e), Traversable (EvalRow e)) => Evaluation e where { type family EvalValue e :: *; type family EvalRow e :: * -> *; type family EvalMonad e :: * -> *; } addItems :: Evaluation e => Proxy e -> EvalRow e [EvalValue e] -> EvalRow e [EvalValue e] -> EvalT e 'TableContext (EvalMonad e) (EvalRow e [EvalValue e]) removeItems :: Evaluation e => Proxy e -> EvalRow e [EvalValue e] -> EvalRow e [EvalValue e] -> EvalT e 'TableContext (EvalMonad e) (EvalRow e [EvalValue e]) unionItems :: Evaluation e => Proxy e -> EvalRow e [EvalValue e] -> EvalRow e [EvalValue e] -> EvalT e 'TableContext (EvalMonad e) (EvalRow e [EvalValue e]) intersectItems :: Evaluation e => Proxy e -> EvalRow e [EvalValue e] -> EvalRow e [EvalValue e] -> EvalT e 'TableContext (EvalMonad e) (EvalRow e [EvalValue e]) distinctItems :: Evaluation e => Proxy e -> EvalRow e [EvalValue e] -> EvalRow e [EvalValue e] offsetItems :: Evaluation e => Proxy e -> Int -> RecordSet e -> RecordSet e limitItems :: Evaluation e => Proxy e -> Int -> RecordSet e -> RecordSet e filterBy :: Evaluation e => Expr ResolvedNames Range -> RecordSet e -> EvalT e 'TableContext (EvalMonad e) (RecordSet e) inList :: Evaluation e => EvalValue e -> [EvalValue e] -> EvalT e 'ExprContext (EvalMonad e) (EvalValue e) inSubquery :: Evaluation e => EvalValue e -> EvalRow e [EvalValue e] -> EvalT e 'ExprContext (EvalMonad e) (EvalValue e) existsSubquery :: Evaluation e => EvalRow e [EvalValue e] -> EvalT e 'ExprContext (EvalMonad e) (EvalValue e) atTimeZone :: Evaluation e => EvalValue e -> EvalValue e -> EvalT e 'ExprContext (EvalMonad e) (EvalValue e) handleConstant :: Evaluation e => Proxy e -> Constant a -> EvalT e 'ExprContext (EvalMonad e) (EvalValue e) handleCases :: Evaluation e => Proxy e -> [(Expr ResolvedNames Range, Expr ResolvedNames Range)] -> Maybe (Expr ResolvedNames Range) -> EvalT e 'ExprContext (EvalMonad e) (EvalValue e) handleFunction :: Evaluation e => Proxy e -> FunctionName Range -> Distinct -> [Expr ResolvedNames Range] -> [(ParamName Range, Expr ResolvedNames Range)] -> Maybe (Filter ResolvedNames Range) -> Maybe (OverSubExpr ResolvedNames Range) -> EvalT e 'ExprContext (EvalMonad e) (EvalValue e) handleGroups :: Evaluation e => [RColumnRef ()] -> EvalRow e ([EvalValue e], EvalRow e [EvalValue e]) -> EvalRow e (RecordSet e) handleLike :: Evaluation e => Proxy e -> Operator a -> Maybe (Escape ResolvedNames Range) -> Pattern ResolvedNames Range -> Expr ResolvedNames Range -> EvalT e 'ExprContext (EvalMonad e) (EvalValue e) handleOrder :: Evaluation e => Proxy e -> [Order ResolvedNames Range] -> RecordSet e -> EvalT e 'TableContext (EvalMonad e) (RecordSet e) handleSubquery :: Evaluation e => EvalRow e [EvalValue e] -> EvalT e 'ExprContext (EvalMonad e) (EvalValue e) handleJoin :: Evaluation e => Proxy e -> JoinType a -> JoinCondition ResolvedNames Range -> RecordSet e -> RecordSet e -> EvalT e 'TableContext (EvalMonad e) (RecordSet e) handleStructField :: Evaluation e => Expr ResolvedNames Range -> StructFieldName a -> EvalT e 'ExprContext (EvalMonad e) (EvalValue e) handleTypeCast :: Evaluation e => CastFailureAction -> Expr ResolvedNames Range -> DataType a -> EvalT e 'ExprContext (EvalMonad e) (EvalValue e) binop :: Evaluation e => Proxy e -> Text -> Maybe (EvalValue e -> EvalValue e -> EvalT e 'ExprContext (EvalMonad e) (EvalValue e)) unop :: Evaluation e => Proxy e -> Text -> Maybe (EvalValue e -> EvalT e 'ExprContext (EvalMonad e) (EvalValue e)) appendRecordSets :: Evaluation e => Proxy e -> NonEmpty (RecordSet e) -> EvalT e 'TableContext (EvalMonad e) (RecordSet e) makeRowMap :: [RColumnRef ()] -> [a] -> Map (RColumnRef ()) a -- | SelectColumns tells us how to map from the records provided by the -- FROM to (unfiltered, &c) records provided by our select. -- Evaluating it gives us that function. data Direction a Ascending :: a -> Direction a Descending :: a -> Direction a instance GHC.Classes.Eq a => GHC.Classes.Eq (Database.Sql.Util.Eval.Direction a) instance Control.Monad.State.Class.MonadState s m => Control.Monad.State.Class.MonadState s (Database.Sql.Util.Eval.EvalT e t m) instance Control.Monad.Writer.Class.MonadWriter w m => Control.Monad.Writer.Class.MonadWriter w (Database.Sql.Util.Eval.EvalT e t m) instance GHC.Base.Monad m => Control.Monad.Error.Class.MonadError GHC.Base.String (Database.Sql.Util.Eval.EvalT e t m) instance GHC.Base.Monad m => Control.Monad.Reader.Class.MonadReader (Database.Sql.Util.Eval.EvalContext e) (Database.Sql.Util.Eval.EvalT e t m) instance GHC.Base.Monad m => GHC.Base.Monad (Database.Sql.Util.Eval.EvalT e t m) instance GHC.Base.Monad m => GHC.Base.Applicative (Database.Sql.Util.Eval.EvalT e t m) instance GHC.Base.Functor m => GHC.Base.Functor (Database.Sql.Util.Eval.EvalT e t m) instance GHC.Classes.Ord a => GHC.Classes.Ord (Database.Sql.Util.Eval.Direction a) instance Database.Sql.Util.Eval.Evaluation e => Database.Sql.Util.Eval.Evaluate e (Database.Sql.Type.Query.Query Database.Sql.Type.Scope.ResolvedNames Database.Sql.Position.Range) instance Database.Sql.Util.Eval.Evaluation e => Database.Sql.Util.Eval.Evaluate e (Database.Sql.Type.Query.Select Database.Sql.Type.Scope.ResolvedNames Database.Sql.Position.Range) instance Database.Sql.Util.Eval.Evaluation e => Database.Sql.Util.Eval.Evaluate e (Database.Sql.Type.Query.SelectFrom Database.Sql.Type.Scope.ResolvedNames Database.Sql.Position.Range) instance Database.Sql.Util.Eval.Evaluation e => Database.Sql.Util.Eval.Evaluate e (Database.Sql.Type.Query.Tablish Database.Sql.Type.Scope.ResolvedNames Database.Sql.Position.Range) instance Database.Sql.Util.Eval.Evaluation e => Database.Sql.Util.Eval.Evaluate e (Database.Sql.Type.Query.JoinCondition Database.Sql.Type.Scope.ResolvedNames Database.Sql.Position.Range) instance Database.Sql.Util.Eval.Evaluation e => Database.Sql.Util.Eval.Evaluate e (Database.Sql.Type.Query.SelectColumns Database.Sql.Type.Scope.ResolvedNames Database.Sql.Position.Range) instance Database.Sql.Util.Eval.Evaluation e => Database.Sql.Util.Eval.Evaluate e (Database.Sql.Type.Query.SelectWhere Database.Sql.Type.Scope.ResolvedNames Database.Sql.Position.Range) instance Database.Sql.Util.Eval.Evaluation e => Database.Sql.Util.Eval.Evaluate e (Database.Sql.Type.Query.SelectGroup Database.Sql.Type.Scope.ResolvedNames Database.Sql.Position.Range) instance Database.Sql.Util.Eval.Evaluation e => Database.Sql.Util.Eval.Evaluate e (Database.Sql.Type.Query.SelectHaving Database.Sql.Type.Scope.ResolvedNames Database.Sql.Position.Range) instance Database.Sql.Util.Eval.Evaluation e => Database.Sql.Util.Eval.Evaluate e (Database.Sql.Type.Query.SelectTimeseries Database.Sql.Type.Scope.ResolvedNames Database.Sql.Position.Range) instance Database.Sql.Util.Eval.Evaluation e => Database.Sql.Util.Eval.Evaluate e (Database.Sql.Type.Query.Limit a) instance Database.Sql.Util.Eval.Evaluation e => Database.Sql.Util.Eval.Evaluate e (Database.Sql.Type.Query.Offset a) instance Database.Sql.Util.Eval.Evaluation e => Database.Sql.Util.Eval.Evaluate e (Database.Sql.Type.Query.Selection Database.Sql.Type.Scope.ResolvedNames Database.Sql.Position.Range) instance Database.Sql.Util.Eval.Evaluation e => Database.Sql.Util.Eval.Evaluate e (Database.Sql.Type.Query.Expr Database.Sql.Type.Scope.ResolvedNames Database.Sql.Position.Range) instance Database.Sql.Util.Eval.Evaluation e => Database.Sql.Util.Eval.Evaluate e (Database.Sql.Type.Query.Constant a) module Database.Sql.Util.Eval.Concrete data Concrete data SqlValue SqlInt :: Integer -> SqlValue SqlStr :: ByteString -> SqlValue SqlBool :: Bool -> SqlValue SqlStruct :: (Map (StructFieldName ()) SqlValue) -> SqlValue SqlNull :: SqlValue -- | truthy tells us whether our Haskell code should consider a SqlValue -- "true", mostly for the purpose of filtering. It should not be used to -- construct a SqlValue, as it does not handle NULL correctly for that -- purpose. truthy :: SqlValue -> Bool extendWithNulls :: [a] -> [SqlValue] -> [SqlValue] instance GHC.Show.Show Database.Sql.Util.Eval.Concrete.SqlValue instance GHC.Classes.Ord Database.Sql.Util.Eval.Concrete.SqlValue instance GHC.Classes.Eq Database.Sql.Util.Eval.Concrete.SqlValue instance GHC.Classes.Eq (Database.Sql.Util.Eval.RecordSet Database.Sql.Util.Eval.Concrete.Concrete) instance GHC.Show.Show (Database.Sql.Util.Eval.RecordSet Database.Sql.Util.Eval.Concrete.Concrete) instance Database.Sql.Util.Eval.Evaluation Database.Sql.Util.Eval.Concrete.Concrete module Database.Sql.Util.Schema data SchemaChange AddColumn :: (FQColumnName ()) -> SchemaChange DropColumn :: (FQColumnName ()) -> SchemaChange CreateTable :: (FQTableName ()) -> SchemaMember -> SchemaChange DropTable :: (FQTableName ()) -> SchemaChange CreateView :: (FQTableName ()) -> SchemaMember -> SchemaChange DropView :: (FQTableName ()) -> SchemaChange CreateSchema :: (FQSchemaName ()) -> SchemaMap -> SchemaChange DropSchema :: (FQSchemaName ()) -> SchemaChange CreateDatabase :: (DatabaseName ()) -> DatabaseMap -> SchemaChange UsePath :: [UQSchemaName ()] -> SchemaChange data SchemaChangeError DatabaseMissing :: (DatabaseName ()) -> SchemaChangeError SchemaMissing :: (FQSchemaName ()) -> SchemaChangeError TableMissing :: (FQTableName ()) -> SchemaChangeError ColumnMissing :: (FQColumnName ()) -> SchemaChangeError DatabaseCollision :: (DatabaseName ()) -> SchemaChangeError SchemaCollision :: (FQSchemaName ()) -> SchemaChangeError TableCollision :: (FQTableName ()) -> SchemaChangeError ColumnCollision :: (FQColumnName ()) -> SchemaChangeError UnsupportedColumnChange :: (FQTableName ()) -> SchemaChangeError applySchemaChange :: SchemaChange -> Catalog -> (Catalog, [SchemaChangeError]) class HasSchemaChange q getSchemaChange :: HasSchemaChange q => q -> [SchemaChange] toUQCN :: RColumnRef a -> UQColumnName () instance GHC.Show.Show Database.Sql.Util.Schema.SchemaChangeError instance GHC.Classes.Eq Database.Sql.Util.Schema.SchemaChangeError instance Database.Sql.Util.Schema.HasSchemaChange (Database.Sql.Type.Statement d Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Schema.HasSchemaChange (Database.Sql.Type.AlterTable Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Schema.HasSchemaChange (Database.Sql.Type.Scope.ResolutionError a) instance Database.Sql.Util.Schema.HasSchemaChange (Database.Sql.Type.Scope.ResolutionSuccess a) module Database.Sql.Util.Lineage.Table -- | TableLineage is a set of descendants, each with an associated set of -- ancestors. Ancestors, for each descendant table, should contain a -- superset of all proximate tables that could have had an impact on the -- contents of the descendant following execution of the statement. type TableLineage = Map FQTN (Set FQTN) class HasTableLineage q getTableLineage :: HasTableLineage q => q -> TableLineage mkFQTN :: FQTableName a -> FullyQualifiedTableName emptyLineage :: FullyQualifiedTableName -> TableLineage squashTableLineage :: TableLineage -> TableLineage -> TableLineage tableLineage :: Statement d ResolvedNames a -> TableLineage instance Database.Sql.Util.Lineage.Table.HasTableLineage (Database.Sql.Type.Statement d Database.Sql.Type.Scope.ResolvedNames a) module Database.Sql.Util.Joins class HasJoins q getJoins :: HasJoins q => q -> Set Join type JoinsResult = Set Join instance Database.Sql.Util.Joins.HasJoins (Database.Sql.Type.Statement d Database.Sql.Type.Scope.ResolvedNames a) instance GHC.Base.Monoid Database.Sql.Util.Joins.Result module Database.Sql.Util.Columns type Clause = Text type ColumnAccess = (FQCN, Clause) class HasColumns q goColumns :: HasColumns q => q -> Observer getColumns :: HasColumns q => q -> Set ColumnAccess bindClause :: MonadReader Clause m => Clause -> m r -> m r clauseObservation :: RColumnRef a -> Clause -> Observation instance Database.Sql.Util.Columns.HasColumns a => Database.Sql.Util.Columns.HasColumns (Data.List.NonEmpty.NonEmpty a) instance Database.Sql.Util.Columns.HasColumns a => Database.Sql.Util.Columns.HasColumns (GHC.Base.Maybe a) instance Database.Sql.Util.Columns.HasColumns (Database.Sql.Type.Statement d Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Columns.HasColumns (Database.Sql.Type.Query.Query Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Columns.HasColumns (Database.Sql.Type.Query.CTE Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Columns.HasColumns (Database.Sql.Type.Insert Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Columns.HasColumns (Database.Sql.Type.InsertValues Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Columns.HasColumns (Database.Sql.Type.DefaultExpr Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Columns.HasColumns (Database.Sql.Type.Update Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Columns.HasColumns (Database.Sql.Type.Delete Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Columns.HasColumns (Database.Sql.Type.CreateTable d Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Columns.HasColumns (Database.Sql.Type.TableDefinition d Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Columns.HasColumns (Database.Sql.Type.ColumnOrConstraint d Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Columns.HasColumns (Database.Sql.Type.ColumnDefinition d Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Columns.HasColumns (Database.Sql.Type.AlterTable Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Columns.HasColumns (Database.Sql.Type.CreateView Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Columns.HasColumns (Database.Sql.Type.Query.Select Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Columns.HasColumns (Database.Sql.Type.Query.SelectColumns Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Columns.HasColumns (Database.Sql.Type.Query.SelectFrom Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Columns.HasColumns (Database.Sql.Type.Query.SelectWhere Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Columns.HasColumns (Database.Sql.Type.Query.SelectTimeseries Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Columns.HasColumns (Database.Sql.Type.Query.Partition Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Columns.HasColumns (Database.Sql.Type.Query.SelectHaving Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Columns.HasColumns (Database.Sql.Type.Query.SelectNamedWindow Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Columns.HasColumns (Database.Sql.Type.Query.Selection Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Columns.HasColumns (Database.Sql.Type.Scope.StarColumnNames a) instance Database.Sql.Util.Columns.HasColumns (Database.Sql.Type.Names.RColumnRef a) instance Database.Sql.Util.Columns.HasColumns (Database.Sql.Type.Query.Tablish Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Columns.HasColumns (Database.Sql.Type.Query.LateralView Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Columns.HasColumns (Database.Sql.Type.Query.JoinCondition Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Columns.HasColumns (Database.Sql.Type.Names.RNaturalColumns a) instance Database.Sql.Util.Columns.HasColumns (Database.Sql.Type.Names.RUsingColumn a) instance Database.Sql.Util.Columns.HasColumns (Database.Sql.Type.Query.NamedWindowExpr Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Columns.HasColumns (Database.Sql.Type.Query.WindowExpr Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Columns.HasColumns (Database.Sql.Type.Query.PartialWindowExpr Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Columns.HasColumns (Database.Sql.Type.Query.Expr Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Columns.HasColumns (Database.Sql.Type.Query.Escape Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Columns.HasColumns (Database.Sql.Type.Query.Pattern Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Columns.HasColumns (Database.Sql.Type.Query.Filter Database.Sql.Type.Scope.ResolvedNames a) instance Database.Sql.Util.Columns.HasColumns (Database.Sql.Type.Query.OverSubExpr Database.Sql.Type.Scope.ResolvedNames a) module Database.Sql.Pretty renderPretty :: Pretty a => a -> String class Pretty a pretty :: Pretty a => a -> Doc dot :: Doc instance Database.Sql.Pretty.Pretty (Database.Sql.Type.Names.DatabaseName a) instance Data.Foldable.Foldable f => Database.Sql.Pretty.Pretty (Database.Sql.Type.Names.QSchemaName f a) instance Data.Foldable.Foldable f => Database.Sql.Pretty.Pretty (Database.Sql.Type.Names.QTableName f a) instance Data.Foldable.Foldable f => Database.Sql.Pretty.Pretty (Database.Sql.Type.Names.QColumnName f a) module Database.Sql.Info class HasInfo a where { type family Info a; } getInfo :: HasInfo a => a -> Info a instance Database.Sql.Info.HasInfo (Database.Sql.Type.Statement d r a) instance Database.Sql.Info.HasInfo (Database.Sql.Type.CreateTable d r a) instance Database.Sql.Info.HasInfo (Database.Sql.Type.AlterTable r a) instance Database.Sql.Info.HasInfo (Database.Sql.Type.TableDefinition d r a) instance Database.Sql.Info.HasInfo (Database.Sql.Type.Insert r a) instance Database.Sql.Info.HasInfo (Database.Sql.Type.InsertValues r a) instance Database.Sql.Info.HasInfo (Database.Sql.Type.Update r a) instance Database.Sql.Info.HasInfo (Database.Sql.Type.Delete r a) instance Database.Sql.Info.HasInfo (Database.Sql.Type.Truncate r a) instance Database.Sql.Info.HasInfo (Database.Sql.Type.DropTable r a) instance Database.Sql.Info.HasInfo (Database.Sql.Type.CreateView r a) instance Database.Sql.Info.HasInfo (Database.Sql.Type.DropView r a) instance Database.Sql.Info.HasInfo (Database.Sql.Type.CreateSchema r a) instance Database.Sql.Info.HasInfo (Database.Sql.Type.Grant a) instance Database.Sql.Info.HasInfo (Database.Sql.Type.Revoke a) instance Database.Sql.Info.HasInfo (Database.Sql.Type.Query.Query r a) instance Database.Sql.Info.HasInfo (Database.Sql.Type.Names.DatabaseName a) instance (Data.Foldable.Foldable f, GHC.Base.Functor f, Data.Semigroup.Semigroup a) => Database.Sql.Info.HasInfo (Database.Sql.Type.Names.QSchemaName f a) instance (Data.Foldable.Foldable f, GHC.Base.Functor f, Data.Semigroup.Semigroup a) => Database.Sql.Info.HasInfo (Database.Sql.Type.Names.QTableName f a) instance Database.Sql.Info.HasInfo (Database.Sql.Type.Names.TableAlias a) instance Data.Semigroup.Semigroup a => Database.Sql.Info.HasInfo (Database.Sql.Type.Scope.RTableRef a) instance Data.Semigroup.Semigroup a => Database.Sql.Info.HasInfo (Database.Sql.Type.Scope.RTableName a) instance (Data.Foldable.Foldable f, GHC.Base.Functor f, Data.Semigroup.Semigroup a) => Database.Sql.Info.HasInfo (Database.Sql.Type.Names.QFunctionName f a) instance (Data.Foldable.Foldable f, GHC.Base.Functor f, Data.Semigroup.Semigroup a) => Database.Sql.Info.HasInfo (Database.Sql.Type.Names.QColumnName f a) instance Database.Sql.Info.HasInfo (Database.Sql.Type.Names.ColumnAlias a) instance Data.Semigroup.Semigroup a => Database.Sql.Info.HasInfo (Database.Sql.Type.Names.RColumnRef a) instance Database.Sql.Info.HasInfo (Database.Sql.Type.Names.ParamName a) instance Database.Sql.Info.HasInfo (Database.Sql.Type.DefaultExpr r a) instance Database.Sql.Info.HasInfo (Database.Sql.Type.Query.Expr r a) instance Database.Sql.Info.HasInfo (Database.Sql.Type.Query.Filter r a) instance Database.Sql.Info.HasInfo (Database.Sql.Type.Query.NamedWindowExpr r a) instance Database.Sql.Info.HasInfo (Database.Sql.Type.Query.OverSubExpr r a) instance Database.Sql.Info.HasInfo (Database.Sql.Type.Query.WindowExpr r a) instance Database.Sql.Info.HasInfo (Database.Sql.Type.Query.PartialWindowExpr r a) instance Database.Sql.Info.HasInfo (Database.Sql.Type.Query.Partition r a) instance Database.Sql.Info.HasInfo (Database.Sql.Type.Query.Order r a) instance Database.Sql.Info.HasInfo (Database.Sql.Type.Query.WindowName a) instance Database.Sql.Info.HasInfo (Database.Sql.Type.Names.StructFieldName a) instance Database.Sql.Info.HasInfo (Database.Sql.Type.Query.ArrayIndex a) instance Database.Sql.Info.HasInfo (Database.Sql.Type.Query.DataType a) instance Database.Sql.Info.HasInfo (Database.Sql.Type.Query.DataTypeParam a) instance Database.Sql.Info.HasInfo (Database.Sql.Type.Query.Select r a) instance Database.Sql.Info.HasInfo (Database.Sql.Type.Query.SelectColumns r a) instance Database.Sql.Info.HasInfo (Database.Sql.Type.Query.SelectFrom r a) instance Database.Sql.Info.HasInfo (Database.Sql.Type.Query.SelectWhere r a) instance Database.Sql.Info.HasInfo (Database.Sql.Type.Query.SelectTimeseries r a) instance Database.Sql.Info.HasInfo (Database.Sql.Type.Query.PositionOrExpr r a) instance Database.Sql.Info.HasInfo (Database.Sql.Type.Query.GroupingElement r a) instance Database.Sql.Info.HasInfo (Database.Sql.Type.Query.SelectGroup r a) instance Database.Sql.Info.HasInfo (Database.Sql.Type.Query.SelectHaving r a) instance Database.Sql.Info.HasInfo (Database.Sql.Type.Query.SelectNamedWindow r a) instance Database.Sql.Info.HasInfo (Database.Sql.Type.Query.FrameType a) instance Database.Sql.Info.HasInfo (Database.Sql.Type.Query.FrameBound a) instance Database.Sql.Info.HasInfo (Database.Sql.Type.Query.Frame a) instance Database.Sql.Info.HasInfo (Database.Sql.Type.Query.Constant a) instance Database.Sql.Info.HasInfo (Database.Sql.Type.Query.JoinCondition r a) instance Database.Sql.Info.HasInfo (Database.Sql.Type.Query.JoinType a) instance Database.Sql.Info.HasInfo (Database.Sql.Type.Query.Tablish r a) instance Database.Sql.Info.HasInfo (Database.Sql.Type.Query.Selection r a) instance Database.Sql.Info.HasInfo (Database.Sql.Type.Query.OrderDirection a) instance Database.Sql.Info.HasInfo (Database.Sql.Type.Query.NullPosition a) instance Database.Sql.Info.HasInfo (Database.Sql.Type.Query.Offset a) instance Database.Sql.Info.HasInfo (Database.Sql.Type.Query.Limit a) instance Database.Sql.Info.HasInfo (Database.Sql.Type.Query.Escape r a) instance Database.Sql.Info.HasInfo (Database.Sql.Type.Query.Pattern r a) module Database.Sql.Util.Lineage.ColumnPlus -- | ColumnLineagePlus is a set of descendants, each with an associated set -- of ancestors. Descendents may be a column (representing values in that -- column) or a table (representing row-count). -- -- Ancestors are the same, but that ancestor columns may be further -- specialized by field path. -- -- Tracking impacts on row-count is necessary because row-count can have -- impacts on data without any columns being involved. For a clear -- example, consider `CREATE TABLE foo AS SELECT COUNT(1) FROM BAR;` -- -- It also gives us something coherent to speak about with respect to -- EXISTS - the value depends on the row count of the subquery. -- -- N.b. While it looks like we're talking about "tables", this is *not* -- the same thing as table-level lineage. Changes to values in existing -- rows does not impact row count. Following an UPDATE, if we ask "has -- this table changed, such that we need to rerun things downstream?", -- the answer is clearly yes. If we ask "has the row-count of this table -- changed, such that we need to rerun things that depend only on -- row-count?" the answer is clearly not. type ColumnLineagePlus = Map (Either FQTN FQCN) ColumnPlusSet class HasColumnLineage q getColumnLineage :: HasColumnLineage q => q -> (RecordSet ColumnLineage, ColumnLineagePlus) emptyLineage :: [FQColumnName ()] -> ColumnLineagePlus data ColumnLineage data ColumnPlusSet ColumnPlusSet :: Map FQCN (Map FieldChain (Set Range)) -> Map FQTN (Set Range) -> ColumnPlusSet [columnPlusColumns] :: ColumnPlusSet -> Map FQCN (Map FieldChain (Set Range)) [columnPlusTables] :: ColumnPlusSet -> Map FQTN (Set Range) emptyColumnPlusSet :: ColumnPlusSet singleColumnSet :: Range -> FullyQualifiedColumnName -> ColumnPlusSet singleTableSet :: Range -> FullyQualifiedTableName -> ColumnPlusSet mergeLineages :: Writer ColumnPlusSet [ColumnPlusSet] -> Writer ColumnPlusSet [ColumnPlusSet] -> EvalT ColumnLineage 'TableContext Identity (Writer ColumnPlusSet [ColumnPlusSet]) ancestorsForTableName :: RTableName Range -> Maybe (RecordSet ColumnLineage) truncateTableLineage :: FQTableName a -> [FQColumnName ()] -> ColumnLineagePlus evalDefaultExpr :: DefaultExpr ResolvedNames Range -> EvalResult ColumnLineage (Expr ResolvedNames Range) returnNothing :: ColumnLineagePlus -> (RecordSet ColumnLineage, ColumnLineagePlus) columnLineage :: Statement d ResolvedNames Range -> (RecordSet ColumnLineage, ColumnLineagePlus) instance GHC.Show.Show Database.Sql.Util.Lineage.ColumnPlus.ColumnPlusSet instance GHC.Classes.Eq Database.Sql.Util.Lineage.ColumnPlus.ColumnPlusSet instance Database.Sql.Util.Lineage.ColumnPlus.HasColumnLineage (Database.Sql.Type.Statement d Database.Sql.Type.Scope.ResolvedNames Database.Sql.Position.Range) instance Data.Semigroup.Semigroup Database.Sql.Util.Lineage.ColumnPlus.ColumnPlusSet instance GHC.Base.Monoid Database.Sql.Util.Lineage.ColumnPlus.ColumnPlusSet instance Database.Sql.Util.Eval.Evaluation Database.Sql.Util.Lineage.ColumnPlus.ColumnLineage